/* Pages intérieures Atelier Kitsa */
.subpage { background: var(--paper); }
.subpage main { display: block; background: var(--paper); }
.subpage main > section { position: relative; z-index: 2; }
.subpage .site-header { color: var(--paper); }
.subpage .site-header.scrolled,
.subpage.menu-open .site-header { color: var(--ink); }
.subpage .site-header.scrolled .brand-logo,
.subpage.menu-open .site-header .brand-logo { filter: invert(1); }
.subpage.light-header .site-header { color: var(--ink); background: rgba(244,239,227,.94); border-bottom-color: var(--line); backdrop-filter: blur(14px); }
.subpage.light-header .site-header .brand-logo { filter: invert(1); }
.subpage .site-footer { position: relative; inset: auto; z-index: 2; height: 88px; color:var(--ink); background:var(--paper-deep); }
.subpage .site-footer .footer-bottom { color:rgba(24,20,17,.62); }

.page-hero {
  height: 70svh;
  min-height: 540px;
  padding: 132px clamp(24px, 5vw, 84px) 54px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  color: var(--paper);
  background: #421a09;
}
.page-hero-media { position: absolute; inset: 0; z-index: -2; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(16,10,7,.2),rgba(16,10,7,.68)); }
.page-hero-copy { width: min(1120px, 92vw); }
.page-hero-copy .eyebrow { color: rgba(244,239,227,.7); }
.page-title { max-width: 1050px; margin: 0; font: 400 clamp(2.9rem, 5.6vw, 6.5rem)/.94 "Manrope",sans-serif; letter-spacing: -.065em; }
.page-hero-lead { max-width: 560px; margin: 34px 0 0 auto; color: rgba(244,239,227,.76); font-size: 16px; line-height: 1.65; }
.page-index { display: none; }

.inner-section { padding: clamp(90px, 11vw, 168px) clamp(20px, 5vw, 84px); }
.inner-section-dark { color: var(--ink); background: var(--paper); }
.inner-section-soft { background: var(--paper-deep); }
.legal-page { max-width: 1120px; margin: 0 auto; }
.legal-content { max-width: 700px; margin-top: 64px; display: grid; gap: 44px; }
.legal-content h2 { margin: 0 0 12px; font: 500 clamp(1.35rem, 2vw, 1.8rem)/1.1 "Manrope", sans-serif; letter-spacing: -.04em; }
.legal-content p { margin: 0; color: var(--muted); line-height: 1.65; }
.legal-content a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.inner-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.55fr); gap: clamp(40px,8vw,140px); align-items: end; margin-bottom: clamp(54px,8vw,110px); }
.inner-heading h2 { max-width: 850px; }
.inner-heading p { margin: 0; color: var(--muted); line-height: 1.65; }
.inner-section-dark .inner-heading p { color: var(--muted); }
.inner-section-dark .display em { color: var(--ink); }

.work-filters { display:flex; flex-wrap:wrap; gap:8px; margin:calc(clamp(54px,8vw,110px) * -.55) 0 clamp(42px,6vw,76px); }
.work-filter { padding:11px 16px; border:1px solid var(--line); color:var(--ink); background:transparent; font:500 13px/1 "DM Sans",sans-serif; cursor:pointer; transition:color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.work-filter.is-active { color:var(--paper); background:var(--ink); border-color:var(--ink); }
.work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(42px,6vw,84px) clamp(14px,2vw,30px); }
.work-card { color: inherit; }
.work-card[hidden] { display:none; }
.work-media { height: auto; aspect-ratio: 1; overflow: hidden; background: #2d211d; }
.work-zoom { width:100%; height:100%; transition:transform 850ms var(--ease-out); will-change:transform; }
.work-media img { width: 100%; height: 112%; object-fit: cover; transform: translateY(-6%); }
.work-meta { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.work-meta strong { font: 400 clamp(1.3rem,2vw,2rem)/1.1 "Manrope",sans-serif; letter-spacing: -.04em; }
.work-meta small { color: var(--muted); font-size: 13px; }
.work-meta .round-icon { width: 42px; height: 42px; grid-row: 1 / span 2; grid-column: 2; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: color 220ms ease, background 220ms ease; }
@media (hover:hover) and (pointer:fine) {
  .work-card:hover .work-zoom { transform:scale(1.09); }
  .work-card:hover .round-icon { color: var(--paper); background: var(--ink); }
}

.editorial-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(44px,8vw,140px); align-items: start; }
.editorial-sticky { position: sticky; top: 100px; }
.editorial-sticky img { width: 100%; max-height: calc(100svh - 130px); object-fit: cover; }
.editorial-copy { padding-top: 4vh; }
.editorial-copy .display { font-size: clamp(2.5rem,4.6vw,5.8rem); }
.editorial-copy > p { max-width: 640px; margin: 36px 0 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.value-list { margin-top: 70px; border-top: 1px solid var(--line); }
.value-item { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.value-item > span { color: var(--muted); font-size: 12px; }
.value-item h3 { margin: 0 0 10px; font: 400 clamp(1.35rem,2.1vw,2.1rem)/1.1 "Manrope",sans-serif; letter-spacing: -.04em; }
.value-item p { margin: 0; color: var(--muted); line-height: 1.6; }

.atelier-values { padding:0; background:var(--paper); }
.atelier-values-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; }
.atelier-values-visual { position:sticky; top:0; height:100svh; overflow:hidden; background:#d7c8b7; }
.atelier-values-visual img { width:100%; height:100%; display:block; object-fit:cover; }
.atelier-values-copy { padding:clamp(96px,10vw,160px) clamp(28px,5vw,84px) clamp(80px,9vw,140px); }
.atelier-values-copy .display { font-size:clamp(2.5rem,4.6vw,5.8rem); }
.atelier-values-copy > p { max-width:640px; margin:36px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }
.atelier-values .value-list { margin-top:clamp(60px,7vw,100px); }
.atelier-values .value-item { min-height:38svh; align-items:center; padding:5vh 0; }
.atelier-values .value-item h3 { font-size:clamp(1.6rem,2.3vw,2.7rem); }
html.has-atelier-pin .atelier-values-visual { position:relative; top:auto; }

.method-list { counter-reset: method; border-top: 1px solid var(--line); }
.method-row { counter-increment: method; display: grid; grid-template-columns: 70px minmax(240px,.7fr) minmax(280px,1fr); gap: clamp(22px,5vw,86px); padding: clamp(34px,5vw,70px) 0; border-bottom: 1px solid var(--line); align-items: start; }
.method-row::before { content: "0" counter(method); color: var(--muted); font-size: 13px; }
.method-row h3 { margin: 0; font: 400 clamp(2rem,3.5vw,4.2rem)/.95 "Manrope",sans-serif; letter-spacing: -.06em; }
.method-row p { max-width: 560px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }

.approach-steps { padding:0; background:var(--paper); }
.approach-steps-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; }
.approach-steps-copy { padding:clamp(96px,10vw,160px) clamp(28px,5vw,84px) clamp(80px,9vw,140px); }
.approach-steps-copy .inner-heading { display:block; margin-bottom:clamp(60px,8vw,110px); }
.approach-steps-copy .inner-heading p { max-width:560px; margin-top:30px; }
.approach-steps .method-row { min-height:clamp(260px,40svh,390px); grid-template-columns:54px minmax(0,1fr); gap:20px; align-content:center; padding:clamp(34px,4vh,48px) 0; }
.approach-steps .method-row h3,
.approach-steps .method-row p { grid-column:2; }
.approach-steps .method-row h3 { font-size:clamp(2rem,3.1vw,3.8rem); }
.approach-steps .method-row p { margin-top:18px; }
.approach-steps-sticky { position:sticky; top:0; height:100svh; overflow:hidden; background:#d7c8b7; }
.approach-steps-sticky img { width:100%; height:100%; display:block; object-fit:cover; }
html.has-approach-pin .approach-steps-sticky { position:relative; top:auto; }

.split-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 90svh; }
.split-feature-media { overflow: hidden; }
.split-feature-media img { width: 100%; height: 100%; object-fit: cover; }
.split-feature-copy { padding: clamp(70px,9vw,150px) clamp(24px,7vw,120px); display: flex; flex-direction: column; justify-content: center; }
.split-feature-copy p:not(.eyebrow) { margin: 34px 0; color: var(--muted); line-height: 1.7; }

.contact-band { padding: clamp(90px,11vw,170px) clamp(20px,5vw,84px); color: var(--paper); background:#421a09; text-align:center; }
.contact-band h2 { max-width: 900px; margin: 0 auto 38px; font:400 clamp(2.8rem,5.4vw,6.6rem)/.94 "Manrope",sans-serif; letter-spacing:-.065em; }
.contact-band .cta-primary { color:#421a09; background:var(--paper); border-color:var(--paper); }

.contact-page-grid { min-height: 0; padding-top: 140px; padding-bottom: clamp(40px,5vw,64px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(50px,9vw,150px); align-items:start; }
.contact-page-intro { position:sticky; top:110px; }
.contact-page-intro .display { font-size:clamp(2.7rem,4.3vw,5.2rem); }
.contact-page-intro > p { max-width:520px; margin:36px 0; color:var(--muted); line-height:1.7; }
.contact-page-form { padding: 20px 0 0; }

.project-hero { padding-bottom: 36px; }
.project-hero .page-title { max-width: 900px; }
.project-facts { display:flex; flex-wrap:wrap; gap:28px 54px; margin-top:42px; padding-top:22px; border-top:1px solid rgba(244,239,227,.3); }
.project-story-copy h3 { margin: 0 0 8px; font: 500 1.25rem/1.2 "Manrope", sans-serif; letter-spacing: -.03em; color: var(--ink); }
.project-story-copy p { margin: 0 0 32px; color: var(--muted); line-height: 1.65; }
.project-story-copy .cta { margin-top: 12px; }
.project-facts span { display:flex; flex-direction:column; gap:5px; color:rgba(244,239,227,.62); font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.project-facts strong { color:var(--paper); font-size:15px; letter-spacing:0; text-transform:none; }
.project-story { display:grid; grid-template-columns:minmax(260px,.55fr) minmax(0,1.1fr); gap:clamp(50px,10vw,170px); }
.project-story h2 { position:sticky; top:110px; align-self:start; }
.project-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:32px 14px; padding:0 clamp(18px,5vw,72px) clamp(90px,10vw,150px); background:var(--paper); }
.project-gallery figure { margin:0; min-width:0; }
.project-gallery img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.project-gallery .project-view-photo:first-child { grid-column:1/-1; width:100%; aspect-ratio:16/9; }
.project-gallery figcaption { padding-top:12px; color:var(--muted); font-size:14px; line-height:1.5; }
.project-gallery .project-view-plan { grid-column:1/-1; width:min(100%,960px); justify-self:center; }
.project-facts span[hidden] { display:none; }

.related-projects { padding:clamp(84px,10vw,150px) clamp(18px,5vw,72px); background:var(--paper-deep); }
.related-projects-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:48px; }
.related-projects-heading h2 { margin:0; font:400 clamp(2.5rem,4.8vw,5.5rem)/.94 "Manrope",sans-serif; letter-spacing:-.06em; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.related-card-media { height:min(34vw,480px); overflow:hidden; }
.related-card-media img { width:100%; height:110%; object-fit:cover; }
.product-related .related-card-zoom { width:100%; height:100%; transition:transform 680ms cubic-bezier(.22,1,.36,1); will-change:transform; }
.related-card-meta { display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); }
.related-card-meta strong { font:500 16px/1.3 "Manrope",sans-serif; }
.related-card-meta small { color:var(--muted); }
.hover-slot { display:block; height:1.25em; overflow:hidden; line-height:1.25; }
.hover-slot-track { display:flex; flex-direction:column; transition:transform 240ms var(--ease-out); }
.hover-slot-track > span { display:block; height:1.25em; white-space:nowrap; }
@media (hover:hover) and (pointer:fine) {
  .product-related .related-card:hover .related-card-zoom { transform:scale(1.09); }
  .related-card:hover .hover-slot-track,
  .work-card:hover .hover-slot-track { transform:translateY(-50%); }
}
.product-related .related-card:focus-visible .related-card-zoom { transform:scale(1.09); }

.product-hero { min-height:70svh; padding:120px clamp(20px,5vw,84px) 48px; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,8vw,140px); align-items:center; background:var(--paper); }
.product-hero-copy .display { font-size:clamp(2.8rem,4.7vw,5.8rem); }
.product-hero-copy > p:not(.eyebrow) { max-width:520px; margin:32px 0; color:var(--muted); line-height:1.7; }
.product-hero-media { height:min(58vh,690px); overflow:hidden; }
.product-hero-media img { width:100%; height:100%; object-fit:cover; }
.product-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.product-detail { padding:32px clamp(18px,3vw,42px); border-right:1px solid var(--line); }
.product-detail:last-child { border-right:0; }
.product-detail span { color:var(--muted); font-size:12px; }
.product-detail h3 { margin:18px 0 10px; font:400 clamp(1.4rem,2vw,2.1rem)/1.1 "Manrope",sans-serif; letter-spacing:-.04em; }
.product-detail p { margin:0; color:var(--muted); line-height:1.6; }

@media (max-width: 860px) {
  .subpage .site-footer { height:auto; min-height:82px; padding:22px 18px; transform:none; }
  .page-hero { height: 70svh; min-height: 540px; padding: 104px 18px 30px; }
  .page-title { font-size: clamp(2.5rem,11.5vw,4.2rem); }
  .page-hero-lead { margin: 28px 0 0; font-size:15px; }
  .page-index { display:none; }
  .inner-section { padding: 82px 18px; }
  .inner-heading { grid-template-columns:1fr; gap:26px; margin-bottom:52px; }
  .work-filters { margin:-22px 0 36px; gap:6px; }
  .work-filter { padding:9px 12px; font-size:12px; }
  .work-grid { grid-template-columns:1fr 1fr; gap:34px 10px; }
  .work-media { height:auto; aspect-ratio:1; }
  .work-meta { padding:12px 0; }
  .work-meta strong { font-size:16px; }
  .work-meta small { font-size:11px; }
  .work-meta .round-icon { width:32px; height:32px; }
  .hover-slot { height:auto; overflow:visible; white-space:normal; }
  .hover-slot-track { display:block; transform:none; }
  .hover-slot-track > span { height:auto; white-space:normal; }
  .hover-slot-track > span[aria-hidden="true"] { display:none; }
  .editorial-grid { grid-template-columns:1fr; gap:46px; }
  .editorial-sticky { position:relative; top:auto; }
  .editorial-sticky img { height:48svh; }
  .editorial-copy { padding-top:0; }
  .value-list { margin-top:44px; }
  .value-item { padding:22px 0; }
  .atelier-values-layout { grid-template-columns:1fr; }
  .atelier-values-visual { position:relative; top:auto; height:52svh; }
  .atelier-values-copy { padding:72px 18px 58px; }
  .atelier-values-copy .display { font-size:clamp(2.3rem,10vw,3.7rem); }
  .atelier-values .value-list { margin-top:48px; }
  .atelier-values .value-item { min-height:0; padding:26px 0; }
  .atelier-values .value-item h3 { font-size:clamp(1.5rem,7vw,2.1rem); }
  .method-row { grid-template-columns:44px 1fr; gap:16px; padding:32px 0; }
  .method-row p { grid-column:2; font-size:15px; }
  .method-row h3 { font-size:clamp(1.75rem,8vw,2.5rem); }
  .approach-steps-layout { grid-template-columns:1fr; }
  .approach-steps-copy { padding:82px 18px 52px; }
  .approach-steps-copy .inner-heading { margin-bottom:52px; }
  .approach-steps .method-row { min-height:0; padding:26px 0; }
  .approach-steps .method-row h3 { font-size:clamp(1.75rem,8vw,2.5rem); }
  .approach-steps-sticky { position:relative; top:auto; height:56svh; }
  .split-feature { grid-template-columns:1fr; min-height:0; }
  .split-feature-media { height:48svh; }
  .split-feature-copy { padding:72px 18px 82px; }
  .contact-band { padding:88px 18px; }
  .contact-page-grid { min-height:0; padding-top:110px; padding-bottom:30px; grid-template-columns:1fr; gap:30px; }
  .contact-page-intro { position:relative; top:auto; }
  .contact-page-form { padding:0; }
  .project-facts { gap:20px 32px; }
  .project-story { grid-template-columns:1fr; gap:30px; }
  .project-story h2 { position:relative; top:auto; }
  .project-story-copy p { font-size:16px; }
  .project-gallery { grid-template-columns:1fr; gap:8px; padding:0 8px 76px; }
  .project-gallery { row-gap:28px; }
  .project-gallery figure { height:auto; }
  .related-projects-heading { align-items:flex-start; flex-direction:column; margin-bottom:34px; }
  .related-grid { grid-template-columns:repeat(3,minmax(190px,1fr)); gap:8px; overflow-x:auto; }
  .related-card-media { height:240px; }
  .related-card-meta { align-items:flex-start; flex-direction:column; gap:4px; }
  .product-hero { min-height:0; padding:110px 18px 54px; grid-template-columns:1fr; gap:42px; }
  .product-hero-copy .display { font-size:clamp(2.45rem,11vw,3.8rem); }
  .product-hero-media { height:48svh; }
  .product-details { grid-template-columns:1fr; }
  .product-detail { border-right:0; border-bottom:1px solid var(--line); }
}
