/* Franklyn K: day and night theme, shared by every converted page.
   1. Tokens   2. Grounds   3. Base   4. Components   5. Page furniture
   Change a value in the tokens, never in a component. Fonts come from /css/fonts.css. */

/* ========== 1. TOKENS ========== */
:root{
  /* palette */
  --c-black:#0A0908; --c-coal:#151210; --c-ash:#1E1A16; --c-umber:#1E1812;
  --c-bark:#3B2D23; --c-bark-up:#463628;
  --c-cream:#F1EBE0; --c-paper:#FAF6EE; --c-sand:#D8C8AE; --c-sand-up:#E2D4BE;
  --c-ivory:#F5F0E8; --c-gold:#C9A96E; --c-gold-pale:#E3CC9F;
  /* layout */
  --gutter:clamp(24px,5.5vw,80px);
  --corner:clamp(30px,4.8vw,70px);
  --bar:72px;
  --overlap:40px;
  --wrap:1280px;
  --wrap-narrow:1040px;
  --pad-y:clamp(80px,10vw,144px);
  --gap-card:1rem;
  --gap-col:clamp(2rem,5vw,4.5rem);
  --logo-bar:42px;
  /* type */
  --fs-body:17px;
  --fs-label:13px;
  --fs-label-sm:12px;
  --fs-nav:11.5px;
  --fs-small:.95rem;
  --lh-small:1.55;
  --fs-title:1.5rem;
  --lh-title:1.15;
  --fs-display:clamp(40px,6.2vw,88px);
  --fs-essay:clamp(1.7rem,2.6vw,2.4rem);
  --fs-page:clamp(2.6rem,5.5vw,5rem);
  --fs-prose:1.15rem;
  --track-label:.14em;
  --track-nav:.2em;
  /* motion and depth */
  --ease:cubic-bezier(.22,.61,.36,1);
  --t-mode:.45s;
  --t-hover:.4s;
  --t-reveal:.5s;
  --t-link:.3s;
  --t-zoom:1.2s;
  --lift:-4px;
  --zoom:1.03;
  --shadow-soft:0 18px 40px -32px rgba(30,24,18,.32);
}

/* ========== 2. GROUNDS: each one sets its ink, gold and logo for the chapter it paints ========== */
html[data-mode=nuit] .g-base,html[data-mode=nuit] .g-panel,html[data-mode=nuit] .g-warm,html[data-mode=jour] .g-invert,.g-photo{--gold:var(--c-gold);--logo-light:none;--logo-dark:block;--press:brightness(0) invert(1)}
html[data-mode=jour] .g-base,html[data-mode=jour] .g-panel,html[data-mode=jour] .g-warm,html[data-mode=nuit] .g-invert{--gold:#7A5F33;--num:rgba(122,95,51,.85);--logo-light:block;--logo-dark:none;--press:brightness(0);--ink:var(--c-umber);--soft:rgba(30,24,18,.76);--faint:rgba(30,24,18,.7);--line:rgba(110,92,66,.28)}
html[data-mode=nuit] .g-base,html[data-mode=jour] .g-invert,.g-photo{--ground:var(--c-black);--panel:var(--c-coal);--ink:var(--c-ivory);--soft:rgba(245,240,232,.72);--faint:rgba(245,240,232,.66);--num:rgba(201,169,110,.6);--line:rgba(201,169,110,.2)}
html[data-mode=jour] .g-invert{--ground:var(--c-coal);--panel:var(--c-ash)}
html[data-mode=nuit] .g-panel{--ground:var(--c-coal);--panel:var(--c-ash);--ink:#EDE6DA;--soft:rgba(237,230,218,.72);--faint:rgba(237,230,218,.66);--num:rgba(201,169,110,.6);--line:rgba(237,230,218,.16)}
html[data-mode=nuit] .g-warm{--ground:var(--c-bark);--panel:var(--c-bark-up);--ink:#EDE6DA;--soft:rgba(237,230,218,.78);--faint:rgba(237,230,218,.72);--num:rgba(201,169,110,.66);--line:rgba(237,230,218,.22)}
html[data-mode=jour] .g-base,html[data-mode=nuit] .g-invert{--ground:var(--c-cream);--panel:var(--c-paper)}
html[data-mode=jour] .g-panel{--ground:var(--c-paper);--panel:var(--c-cream)}
html[data-mode=jour] .g-warm{--ground:var(--c-sand);--panel:var(--c-sand-up);--gold:#5A4326;--num:rgba(90,67,38,.85);--soft:rgba(30,24,18,.8);--faint:rgba(30,24,18,.76);--line:rgba(58,42,26,.3)}

/* the cookie banner keeps its own values on pages not converted yet; here it follows the mode */
html[data-mode=jour] #fk-consent{background:var(--c-paper);color:var(--c-umber);border-top-color:rgba(110,92,66,.28)}
html[data-mode=jour] #fk-consent p{color:rgba(30,24,18,.76)}
html[data-mode=jour] #fk-consent a{color:#7A5F33;border-bottom-color:rgba(122,95,51,.5)}
html[data-mode=jour] #fk-consent button{border-color:#7A5F33}
html[data-mode=jour] #fk-consent .fk-accept{background:#7A5F33;color:var(--c-paper)}
html[data-mode=jour] #fk-consent .fk-accept:hover{background:var(--c-umber);border-color:var(--c-umber)}
html[data-mode=jour] #fk-consent .fk-refuse{color:#7A5F33}
html[data-mode=nuit]{--scrim:rgba(10,9,8,.85)}
html[data-mode=jour]{--scrim:rgba(30,24,18,.55)}

/* ========== 3. BASE ========== */
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden;scrollbar-width:none;-webkit-text-size-adjust:100%;touch-action:manipulation}
/* below 16px, iPhone zooms the page on focus and stays zoomed: pinch stays free, this zoom does not happen */
@media(pointer:coarse){input,textarea,select{font-size:16px}}
html::-webkit-scrollbar{display:none}
html[data-mode=nuit] body{background:var(--c-black)}
html[data-mode=jour] body{background:var(--c-cream)}
body{font-family:var(--sans);font-size:var(--fs-body);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background var(--t-mode) ease}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--gold,var(--c-gold));outline-offset:3px}
.logo-on-light{display:var(--logo-light)}
.logo-on-dark{display:var(--logo-dark)}

/* ========== 4. COMPONENTS ========== */
/* --- type --- */
.label,.link-arrow,.svc-price,.planners b,.planners i{font-family:var(--sans);font-weight:500;font-size:var(--fs-label);letter-spacing:var(--track-label);text-transform:uppercase}
.label,.link-arrow,.svc-price,.planners b{color:var(--gold)}
.pillar .label,.word .label,.offer-body .label,.essay .label,.press .label,.svc-price,.planners b,.planners i,.offer-body .link-arrow{font-size:var(--fs-label-sm)}
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1;letter-spacing:-.005em;font-size:var(--fs-display)}
.display em{text-transform:none}
.display em,.page-head h1 em,.press-section__title em,.hero h1 em,.lede-text em,.about-text h2 em,.essay h2 em{font-style:italic;color:var(--gold)}
.link-arrow{display:inline-flex;align-items:center;gap:1rem;min-height:44px;transition:gap var(--t-hover) var(--ease)}
.link-arrow:hover{gap:1.5rem}
.link-arrow i{display:block;width:34px;height:1px;background:currentColor}
.just,.faq-answer-inner,.prose p,.press-card__description{text-align:justify;hyphens:auto}
/* card titles and card text, one definition */
.pillar h3,.pillar h4,.offer-body h3,.svc h3,.step h3,.ledger h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-title);line-height:var(--lh-title)}
.pillar p:not(.label),.offer-body p:not(.label),.ledger li{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}

/* --- reveal: opacity only --- */
.reveal{opacity:0;transform:none;transition:opacity var(--t-reveal) linear}
.reveal.v,.reveal.visible{opacity:1;transform:none}

/* --- chapters that slide over one another --- */
.ch{position:sticky;background:var(--ground);color:var(--ink);clip-path:inset(0 round var(--corner) var(--corner) 0 0);transition:background var(--t-mode) ease,color var(--t-mode) ease}
.ch.first{clip-path:none}
.pad{padding:var(--pad-y) var(--gutter) calc(var(--pad-y) + var(--overlap))}
.wrap{max-width:var(--wrap);margin:0 auto}
.head{text-align:center;margin-bottom:clamp(44px,6vw,80px)}
.head .label{margin-bottom:24px}
.head-link{display:flex;justify-content:center;margin-top:18px}
.head-sub{max-width:620px;margin:1.4rem auto 0;color:var(--soft)}

/* --- cards: one surface, one lift, one zoom --- */
.pillar,.offer,.essay,.word{background:var(--panel);transition:transform var(--t-hover) var(--ease),background var(--t-mode) ease}
.pillar,.offer,.essay{box-shadow:0 1px 0 var(--line),var(--shadow-soft)}
.word{box-shadow:var(--shadow-soft)}
.pillar:hover,.offer:hover,.word:hover{transform:translateY(var(--lift))}
.story:hover img,.offer:hover .offer-img img,.about-img:hover img,.journal-imgs div:hover img,.ig-item:hover img{transform:scale(var(--zoom))}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-card);margin-top:clamp(48px,6vw,84px)}
.pillars.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.pillar{padding:2rem 1.6rem 2.2rem}
.pillar h3{margin:1.1rem 0 .7rem}
.pillar h4{margin:0 0 .7rem}
.pillar .label{color:var(--soft);line-height:var(--lh-small)}
.offers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-card)}
.offer{display:flex;flex-direction:column}
.offer-img{aspect-ratio:4/5;overflow:hidden;background:var(--c-umber)}
.offer-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-zoom) var(--ease)}
.offer-body{display:flex;flex-direction:column;flex:1;padding:1.6rem 1.5rem 1.2rem}
.offer-body h3{margin:.8rem 0 .7rem}
.offer-body p:not(.label){margin-bottom:1rem}
.offer-body .link-arrow{margin-top:auto;letter-spacing:.12em;gap:.8rem}
.offer-body .link-arrow i{width:22px;flex:0 0 22px}
.essays{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-card)}
.essay{padding:clamp(1.8rem,3.4vw,3.2rem)}
.essay h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-essay);line-height:var(--lh-title);margin:.9rem 0 1.2rem}
.essay p:not(.label){color:var(--soft);margin-bottom:1rem}
.essay strong,.about-text strong,.ledger li strong{font-weight:500;color:var(--ink)}
.essay .link-arrow{margin-top:.4rem}

/* --- list with rules: press, distinctions --- */
.ledger{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-col);max-width:var(--wrap-narrow);margin:clamp(40px,5vw,64px) auto 0}
.ledger h3{line-height:1.2;color:var(--gold);margin-bottom:1rem}
.ledger ul{list-style:none}
.ledger li{padding:.6rem 0;border-bottom:1px solid var(--line)}
.ledger li:last-child{border-bottom:0}
.ledger li em{font-style:italic;color:var(--gold)}
.ledger .link-arrow{margin-top:1rem}

/* --- hero: one composition in both modes, only the colours change --- */
.hero{position:relative;min-height:clamp(680px,100svh,1040px);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--bar) + 20px) clamp(24px,4vw,64px) 28px var(--gutter);position:relative;z-index:2}
.hero .label{margin-bottom:2.2rem;animation:rise 1s .3s both}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(3rem,5.5vw,5.2rem);line-height:1.05;margin-bottom:2rem;animation:rise 1s .6s both}
.hero h1 .thin{font-size:.7em;color:var(--faint);opacity:.72}
.hero-sub{font-size:1rem;color:var(--soft);max-width:430px;margin-bottom:2.2rem;animation:rise 1s .9s both}
.hero-left .hero-sub+.hero-sub{margin-top:-1rem}
.hero-tag{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.35;color:var(--gold);margin:-1rem 0 1.8rem;max-width:430px}
.hero-sig{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold)}
.hero .link-arrow,.hero-left>.btn{align-self:flex-start;animation:rise 1s 1.2s both}
.hero .link-arrow i{position:relative;width:42px}
.hero .link-arrow i::after{content:'';position:absolute;right:0;top:-3.5px;width:8px;height:8px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.hero-scroll{position:absolute;bottom:2.2rem;left:var(--gutter);display:flex;align-items:center;gap:1rem;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);animation:rise 1s 1.6s both}
.hero-scroll span{writing-mode:vertical-rl}
.hero-scroll i{display:block;width:1px;height:50px;background:linear-gradient(180deg,currentColor,transparent);animation:pulse 2.5s infinite}
.hero-right{position:relative;overflow:hidden}
.hero-frame{position:absolute;inset:calc(var(--bar) + 20px) var(--gutter) 28px 0;overflow:hidden;background:var(--c-black);clip-path:inset(0 round var(--corner) 0 0 0)}
.hero-frame picture{display:contents}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:60% 20%;animation:zoom 25s ease-in-out infinite alternate}
.hero-img--portrait{object-position:center 20%}
@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* --- press logos --- */
.press{padding:2.6rem var(--gutter) 3rem;border-top:1px solid var(--line)}
.press .label{text-align:center;margin-bottom:1.6rem}
.press-logos{display:flex;justify-content:center;align-items:center;gap:clamp(2rem,4vw,3.5rem);flex-wrap:wrap}
.press-logos img{height:28px;width:auto;filter:var(--press);opacity:.62;transition:opacity var(--t-link)}
.press-logos a{display:block}
.press-logos img:hover{opacity:1}

/* --- centred text block --- */
.lede{text-align:center;max-width:980px;margin:0 auto}
.lede .label{margin-bottom:24px}
.lede-text{font-family:var(--serif);font-weight:300;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.5;margin:28px 0 8px}
.lede-body{max-width:720px;margin:1.6rem auto 0;color:var(--soft)}
.lede .link-arrow{margin-top:18px}
.lede .press-logos{margin:clamp(40px,5vw,56px) 0}
.pillars+.lede,.stories+.lede{margin-top:clamp(40px,5vw,64px)}
.lede+.stories{margin-top:clamp(40px,5vw,64px)}
.lede+.faq-list{margin-top:clamp(40px,5vw,64px)}

/* --- image mosaic --- */
.stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(260px,29vw,430px);gap:.5rem;max-width:1400px;margin:0 auto}
.story{position:relative;overflow:hidden;display:block;background:var(--c-umber)}
.story.tall{grid-row:span 2}
.story.wide{grid-column:span 2}
.story img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-zoom) var(--ease)}
.story-cap{position:absolute;inset:auto 0 0 0;padding:3rem 1.5rem 1.4rem;background:linear-gradient(0deg,rgba(10,9,8,.82),transparent);opacity:0;transition:opacity var(--t-reveal)}
.story:hover .story-cap,.story:focus-visible .story-cap{opacity:1}
.story-cap h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;line-height:1.2;color:#fff}
.story-cap p{font-size:var(--fs-nav);letter-spacing:.18em;text-transform:uppercase;color:var(--c-gold-pale)}

/* --- the one break in ground: photograph and text --- */
.about{display:grid;grid-template-columns:1.1fr 1fr;min-height:min(86vh,860px)}
.about.flip{grid-template-columns:1fr 1fr}
.about.flip .about-img{order:2}
.about-img{overflow:hidden;min-height:420px}
.about-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.about-img.quad{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.about-img.quad div{overflow:hidden;min-height:0}
.about-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,6vw,96px) clamp(24px,6vw,96px) calc(clamp(56px,6vw,96px) + var(--overlap))}
.about-text h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.12;margin:1.6rem 0 1.8rem}
.about-text p:not(.label){color:var(--soft);margin-bottom:1.2rem}
.about-text>a,.about-mark{align-self:flex-start}
.about-mark{height:64px;width:auto;margin-top:1.8rem;opacity:.3}
.values{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1rem}
.value{padding-left:1rem;border-left:1px solid var(--line)}
.value h4{font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.2;color:var(--gold);margin-bottom:.4rem}
.about-text .value p{font-size:.92rem;line-height:var(--lh-small);margin:0}

/* --- testimonials --- */
.words{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 1rem;scroll-padding:0 var(--gutter)}
.words::-webkit-scrollbar{display:none}
.words.duo{display:grid;grid-template-columns:1fr 1fr;overflow:visible;margin:0 auto;padding:0;max-width:var(--wrap-narrow)}
.word{flex:0 0 min(420px,82vw);scroll-snap-align:start;padding:clamp(1.8rem,3vw,3rem);display:flex;flex-direction:column}
.word blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.3rem;line-height:1.5;margin-bottom:1.6rem}
.word .label{margin-top:auto}

/* --- numbered offer grid --- */
.svc{cursor:pointer}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}
.svc{padding:2.5rem 2rem;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:background var(--t-reveal)}
.svc:last-child{border-right:0}
.svc:hover{background:var(--panel)}
.svc-num{font-family:var(--serif);font-size:4rem;font-weight:300;line-height:1;color:var(--num);margin-bottom:1.4rem}
.svc h3{font-size:1.7rem;margin-bottom:1rem}
.svc p{font-size:1rem;color:var(--soft);margin-bottom:1.4rem;flex:1}
.svc-price{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center}
.planners{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.6rem;margin-top:1.2rem;padding:1.1rem 1.6rem;border:1px solid var(--line);transition:border-color var(--t-hover),background var(--t-hover)}
.planners:hover{border-color:var(--gold);background:var(--panel)}
.planners b{white-space:nowrap}
.planners span{flex:1 1 300px;font-size:.92rem;line-height:1.6;color:var(--soft)}
.planners i{font-style:normal;white-space:nowrap}

/* --- steps --- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);max-width:var(--wrap-narrow);margin:0 auto;text-align:center}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:var(--wrap)}
.step-n{font-family:var(--serif);font-size:2.6rem;font-weight:300;line-height:1;color:var(--num);margin-bottom:.9rem}
.step h3{line-height:1.2;margin-bottom:.7rem}
.step p{font-size:1rem;color:var(--soft)}
.steps-faq{text-align:center;margin-top:2.6rem;font-size:var(--fs-small);color:var(--faint)}
.steps-faq a{color:var(--gold);border-bottom:1px solid currentColor;padding-bottom:1px}

/* --- closing block: dark over a photograph in both modes --- */
.cta{position:relative;text-align:center;padding:clamp(96px,11vw,160px) var(--gutter) calc(clamp(96px,11vw,160px) + var(--overlap));overflow:hidden}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,9,8,.86),rgba(10,9,8,.72) 50%,rgba(10,9,8,.88))}
.cta>*:not(.cta-bg){position:relative;z-index:2}
.cta .label{margin-bottom:1.6rem}
.cta .lead{font-size:1.05rem;color:var(--soft);margin:1.4rem 0 2.4rem}
.cta .btns{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap-card)}
.cta .note{max-width:480px;margin:1.6rem auto 0;font-size:.9rem;line-height:1.6;color:var(--soft)}
.cta .caption{margin-top:1.4rem;font-size:var(--fs-nav);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--soft)}
.cta .caption .dot{margin:0 .7em;color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 3.2rem;background:var(--c-gold);color:var(--c-black);font-weight:500;font-size:var(--fs-label);letter-spacing:var(--track-nav);text-transform:uppercase;transition:background var(--t-hover),transform var(--t-hover),box-shadow var(--t-hover)}
.btn:hover{background:var(--c-ivory);transform:translateY(-3px);box-shadow:0 15px 40px rgba(201,169,110,.25)}
.btn.outline{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.btn.outline:hover{background:var(--gold);color:var(--ground);box-shadow:inset 0 0 0 1px var(--gold)}

/* --- journal teaser --- */
.journal{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,5.5rem);align-items:center}
.journal h2{font-size:clamp(40px,5vw,72px);margin:1.5rem 0}
.journal p:not(.label){color:var(--soft);margin-bottom:.8rem}
.journal-imgs{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,17vw,260px);gap:.8rem}
.journal-imgs div{overflow:hidden}
.journal-imgs div:first-child{grid-row:span 2}
.journal-imgs img{width:100%;height:100%;object-fit:cover;transition:transform .8s}

/* --- page opening without a photograph --- */
.page-head{padding:calc(var(--bar) + clamp(56px,7vw,104px)) var(--gutter) clamp(40px,5vw,64px);text-align:center}
.page-head h1{font-family:var(--display);font-weight:400;font-size:var(--fs-page);line-height:1.05;margin:1.4rem auto;max-width:980px}
.page-sub{max-width:620px;margin:0 auto;color:var(--soft)}
.page-sub.serif{font-family:var(--serif);font-style:italic;font-size:var(--fs-prose);line-height:1.6}

/* --- filters: same control for every list --- */
.filters{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.filters button{font-family:var(--sans);font-weight:500;font-size:var(--fs-label-sm);letter-spacing:var(--track-label);text-transform:uppercase;min-height:44px;padding:0 1.2rem;background:none;border:1px solid var(--line);color:var(--soft);cursor:pointer;transition:background var(--t-link),color var(--t-link),border-color var(--t-link)}
.filters button:hover,.filters button.active{background:var(--gold);border-color:var(--gold);color:var(--ground)}

/* --- accordion --- */
.faq-list{max-width:var(--wrap-narrow);margin:0 auto}
.faq-item{border-bottom:1px solid var(--line);overflow:hidden}
.faq-question{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.6rem 0;background:none;border:0;cursor:pointer;text-align:left;color:inherit}
.faq-question h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-title);line-height:1.25;transition:color var(--t-link)}
.faq-question:hover h3{color:var(--gold)}
.faq-icon{width:24px;height:24px;position:relative;flex-shrink:0}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;background:var(--gold);transform:translate(-50%,-50%);transition:transform var(--t-hover) var(--ease)}
.faq-icon::before{width:14px;height:1px}
.faq-icon::after{width:1px;height:14px}
.faq-item.open .faq-icon::after,.faq-item[open] .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
summary.faq-question{list-style:none}
summary.faq-question::-webkit-details-marker{display:none}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .6s var(--ease)}
.faq-item.open .faq-answer{max-height:800px}
.faq-answer-inner{padding:0 0 1.8rem;color:var(--soft)}
.faq-answer-inner strong,.prose strong{font-weight:500;color:var(--ink)}
.faq-answer-inner em{font-style:italic;color:var(--gold)}
.faq-answer-inner a,.prose p a,.about-text p a,.lede-body a{color:var(--gold);border-bottom:1px solid currentColor}

/* --- running text in two columns --- */
.prose{column-count:2;column-gap:3.5rem;max-width:var(--wrap);margin:0 auto;font-family:var(--serif);font-size:var(--fs-prose);line-height:1.7}
.prose p{margin-bottom:1.3rem;break-inside:avoid;color:var(--soft)}
.prose-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:0 2rem;margin-top:clamp(24px,3vw,40px)}

/* --- gallery grid: hover swap on desktop, caption always on mobile --- */
.wedding-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;max-width:1400px;margin:0 auto}
.wedding-card{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--c-umber)}
.wedding-card a{display:block;width:100%;height:100%}
.wedding-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-zoom) var(--ease)}
.wedding-card:hover img{transform:scale(var(--zoom))}
.wedding-card img.hover-img{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease);z-index:2}
.wedding-card:hover img.hover-img{opacity:1}
.wedding-card-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem;background:linear-gradient(0deg,rgba(10,9,8,.85),rgba(10,9,8,0) 55%);opacity:0;pointer-events:none;transition:opacity var(--t-reveal)}
.wedding-card:hover .wedding-card-overlay{opacity:1}
.wedding-card-overlay h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;line-height:1.2;color:#fff;margin-bottom:.3rem}
.wedding-card-overlay p,.wedding-card-overlay .view{font-size:var(--fs-nav);letter-spacing:.18em;text-transform:uppercase;color:var(--c-gold-pale)}
.wedding-card-overlay .view{display:inline-flex;align-items:center;gap:.5rem;margin-top:.8rem}
.wedding-card-overlay .view .arrow{width:20px;height:1px;background:currentColor}

/* --- motion: helpers for /js/fk-motion.js; nothing here applies without it --- */
.press-stat__number{font-variant-numeric:tabular-nums}
.m-line-mask{padding:0 .12em .14em;margin:0 -.12em -.14em}
.m-wait .page-head>*,.m-wait .hero h1,.m-wait .hero-title h1,.m-wait .stats,.m-wait .press-lede{visibility:hidden}
.cta-bg{will-change:transform}

/* --- press: figures, wall, features, timeline --- */
.pad-flush{padding-top:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.6rem;max-width:var(--wrap-narrow);margin:0 auto;text-align:center}
.press-stat__number{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,4.4vw,4rem);line-height:1;color:var(--gold);margin-bottom:.6rem}
.press-stat__label{display:block;font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.5;color:var(--soft)}
.press-lede{max-width:640px;margin:clamp(40px,5vw,64px) auto 0;text-align:center}
.press-lede p{color:var(--soft);margin-bottom:1.6rem}
.press-lede .btns{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap-card)}
.press-wall__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);max-width:var(--wrap);margin:0 auto}
.press-wall__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;min-height:150px;padding:1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-family:var(--serif);font-size:var(--fs-title);line-height:var(--lh-title);transition:background var(--t-hover)}
.press-wall__item:hover{background:var(--panel)}
.press-wall__item em{font-family:var(--sans);font-style:normal;font-weight:500;font-size:var(--fs-nav);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold)}
.press-featured__inner{max-width:880px;margin:0 auto;text-align:center}
.press-featured__label{display:block;margin-bottom:1rem}
.press-featured__mark{display:block;font-family:var(--serif);font-size:5rem;line-height:.8;color:var(--gold)}
.press-featured__quote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.4;margin-bottom:1.6rem}
.press-featured__source{display:block;font-style:normal;color:var(--soft);margin-bottom:1rem}
.press-featured__source strong{font-weight:500;color:var(--ink)}
.press-section__title{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:1;font-size:clamp(34px,4.6vw,64px);text-align:center;margin-bottom:clamp(40px,5vw,64px)}
.press-section__numeral{display:block;font-family:var(--sans);font-weight:500;font-size:var(--fs-label);letter-spacing:var(--track-label);color:var(--gold);margin-bottom:1.2rem}
.press-card{max-width:var(--wrap-narrow);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(1.2rem,3vw,3rem);padding:clamp(1.8rem,3vw,2.6rem) 0;border-top:1px solid var(--line)}
.press-card__name{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.2vw,2rem);line-height:var(--lh-title);margin-bottom:.5rem}
.press-card__count{font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);line-height:1.5;display:block}
.press-card__description{color:var(--soft);margin-bottom:1.2rem}
.press-card__description em{font-style:italic;color:var(--ink)}
.press-card__list{list-style:none}
.press-card__list li{display:flex;justify-content:space-between;gap:1.2rem;padding:.55rem 0;border-top:1px solid var(--line);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.press-card__list li>span:last-child{flex-shrink:0;color:var(--faint);font-size:.85rem}
.press-card__list a{color:var(--gold);border-bottom:1px solid currentColor}
.press-timeline{list-style:none;max-width:var(--wrap-narrow);margin:0 auto}
.press-timeline li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:1.4rem;padding:1rem 0;border-top:1px solid var(--line)}
.press-timeline__year{font-family:var(--serif);font-size:var(--fs-title);line-height:1.2;color:var(--gold)}
.press-timeline__event strong{display:block;font-weight:500;color:var(--ink)}
.press-timeline__event em{font-style:italic;color:var(--soft)}
.press-atelier{text-align:center;max-width:560px;margin:0 auto}
.press-atelier .label{margin-bottom:1.2rem}
.press-atelier p:not(.label){color:var(--soft);margin:1.2rem 0 2rem}
button.btn{border:0;cursor:pointer;font-family:var(--sans)}
.press-floating-cta{position:fixed;top:50%;right:32px;transform:translateY(-50%) translateX(24px);z-index:400;display:inline-block;padding:16px 28px;background:var(--c-gold);color:var(--c-black);font-size:var(--fs-nav);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;border:1px solid var(--c-gold);box-shadow:0 8px 28px rgba(10,9,8,.22);opacity:0;pointer-events:none;transition:opacity var(--t-hover) ease,transform var(--t-hover) ease,background-color var(--t-link) ease,color var(--t-link) ease,border-color var(--t-link) ease;cursor:pointer;white-space:nowrap}
.press-floating-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0)}
.press-floating-cta.is-docked{opacity:0;pointer-events:none;transform:translateY(-50%) translateX(16px)}
.press-floating-cta:hover{background:var(--c-ivory);border-color:var(--c-ivory);color:var(--c-black)}
.press-floating-cta--atelier:hover{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-black)}
.press-floating-cta--atelier{background:var(--c-black);border-color:var(--c-gold);color:var(--c-gold)}

/* --- request access to L'Atelier: dark in both modes --- */
.fk-atelier-overlay{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity var(--t-link) ease}
.fk-atelier-overlay.is-open{opacity:1;pointer-events:auto}
.fk-atelier-modal{width:100%;max-width:440px;background:var(--ground);color:var(--ink);border:1px solid var(--line);padding:3rem 2.4rem;text-align:center;position:relative;transform:translateY(16px);transition:transform var(--t-link) ease}
.fk-atelier-overlay.is-open .fk-atelier-modal{transform:none}
.fk-atelier-close{position:absolute;top:8px;right:8px;width:44px;height:44px;background:none;border:0;color:var(--soft);font-size:1.5rem;line-height:1;cursor:pointer;transition:color var(--t-link)}
.fk-atelier-close:hover{color:var(--gold)}
.fk-atelier-modal .fk-desc{font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.fk-atelier-modal h3{font-family:var(--serif);font-size:1.7rem;font-weight:300;color:var(--ink);margin-bottom:.8rem}
.fk-atelier-modal h3 em{font-style:italic;color:var(--gold)}
.fk-atelier-modal .fk-atelier-intro{font-size:.9rem;line-height:1.7;color:var(--soft);margin-bottom:1.8rem}
.fk-atelier-modal input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:.7rem 0;margin:.5rem 0;font-family:var(--sans);font-size:16px;color:var(--ink);text-align:center;outline:none}
.fk-atelier-modal input::placeholder{color:var(--faint)}
.fk-atelier-modal input:focus{border-color:var(--gold)}
.fk-atelier-modal .fk-atelier-submit{background:var(--gold);color:var(--ground)}
.fk-atelier-modal .fk-atelier-submit:hover{background:var(--ink)}
.fk-atelier-submit,.fk-gate-btn{min-height:44px;font-family:var(--sans);font-size:var(--fs-label-sm);font-weight:500;letter-spacing:.2em;text-transform:uppercase;background:var(--c-gold);color:var(--c-black);border:0;padding:0 2.6rem;margin-top:1.4rem;cursor:pointer;transition:background-color var(--t-link)}
.fk-atelier-submit:hover,.fk-gate-btn:hover{background:var(--c-ivory)}
.fk-atelier-submit[disabled],.fk-gate-btn[disabled]{opacity:.5;cursor:default}
.fk-atelier-note{font-size:.8rem;color:var(--soft);margin-top:1.1rem;min-height:1rem;line-height:1.5}

/* --- contact: photo, voice conversation, inquiry form --- */
.contact-page{display:grid;grid-template-columns:1fr 1fr;min-height:100svh;padding-top:var(--bar)}
.contact-img{order:2;align-self:start;position:sticky;top:calc(var(--bar) + 20px);height:calc(100svh - var(--bar) - 48px);margin:20px var(--gutter) 28px 0;overflow:hidden;background:var(--c-black);clip-path:inset(0 round var(--corner) 0 0 0)}
.contact-img picture{display:contents}
.contact-img img{width:100%;height:100%;object-fit:cover}
.contact-form-side{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,72px) clamp(24px,4vw,64px) calc(clamp(40px,5vw,72px) + var(--overlap)) var(--gutter)}
.contact-form-side h1{font-family:var(--display);font-weight:400;font-size:var(--fs-page);line-height:1.05;margin:1.2rem 0 1rem;text-transform:uppercase}
.contact-form-side h1 em{font-style:italic;text-transform:none;color:var(--gold)}
.contact-form-side .sub{color:var(--soft);max-width:440px;margin-bottom:2rem}
.fkc-host{max-width:560px;width:100%;min-width:0}
.fkc-host .fkc{--fkc-ink:var(--ink);--fkc-gold:var(--gold);--fkc-dark:var(--ground);--fkc-line:var(--line);--fkc-soft:var(--soft);--fkc-faint:var(--faint);--fkc-fk:var(--ground);--fkc-me:color-mix(in srgb,var(--gold) 18%,transparent);--fkc-wash:var(--panel);--fkc-hair:var(--line);--fkc-edge:var(--line);--fkc-dim:var(--faint);--fkc-bar:var(--faint);--fkc-time:var(--soft);--fkc-well:var(--ground);--fkc-rule:var(--line);--fkc-hint:var(--faint);--fkc-hint2:var(--faint);--fkc-edge2:var(--line);--fkc-err-c:var(--ink)}
html[data-mode=jour] .fkc-host .fkc-avatar{filter:invert(1)}
.cf-open{align-self:flex-start;min-height:44px;margin-top:1.6rem;padding:.6rem 0 .3rem;background:none;border:0;border-bottom:1px solid var(--gold);font-family:var(--sans);font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);cursor:pointer}
.cf-full[hidden]{display:none}
.cf-full{margin-top:2.6rem;padding-top:2.4rem;border-top:1px solid var(--line)}
.cf-tag{margin-bottom:1.8rem}
.form-group{margin-bottom:1.8rem}
.form-group label{display:block;font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.5;color:var(--gold);margin-bottom:.6rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form-group input,.form-group textarea,.phone-input,.custom-select-trigger,.date-display{font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink)}
.form-group input,.form-group textarea{width:100%;min-height:44px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.8rem 0;outline:none;transition:border-color var(--t-link)}
.form-group input:focus,.form-group textarea:focus,.custom-select.open .custom-select-trigger,.date-trigger:hover,.phone-wrapper:focus-within{border-color:var(--gold)}
.form-group input::placeholder,.form-group textarea::placeholder,.phone-input::placeholder,.country-search::placeholder{color:var(--faint)}
.form-group textarea{resize:vertical;min-height:100px}
.custom-select{position:relative;cursor:pointer}
.custom-select-trigger,.date-trigger{min-height:44px;padding:.8rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:border-color var(--t-link)}
.custom-select-trigger,.date-display{color:var(--faint)}
.custom-select-trigger.has-value,.date-display.has-value{color:var(--ink)}
.custom-select-trigger::after{content:'';width:12px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A96E' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat;transition:transform var(--t-link)}
.custom-select.open .custom-select-trigger::after{transform:rotate(180deg)}
.custom-select-options,.date-picker,.country-dropdown{background:var(--ground);border:1px solid var(--line);z-index:25}
.custom-select-options{position:absolute;top:100%;left:0;right:0;border-top:0;max-height:0;overflow:hidden;opacity:0;transition:max-height var(--t-link) ease,opacity var(--t-link)}
.custom-select.open .custom-select-options{max-height:320px;overflow-y:auto;opacity:1}
.custom-select-option,.country-option{min-height:44px;display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:var(--fs-small);font-weight:300;color:var(--soft);cursor:pointer;transition:background var(--t-link),color var(--t-link)}
.custom-select-option:hover,.country-option:hover{background:var(--panel);color:var(--ink)}
.custom-select-option.selected{color:var(--gold)}
.date-group{position:relative}
.date-picker{position:absolute;top:100%;left:0;right:0;padding:1.2rem;display:none}
.date-picker.open{display:block}
.dp-step{display:none}
.dp-step.active{display:block}
.dp-step-label{font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.dp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.dp-grid-item,.dp-day{min-height:40px;display:grid;place-items:center;background:none;border:0;border-radius:4px;font-family:var(--sans);font-size:var(--fs-small);font-weight:300;color:var(--soft);cursor:pointer;transition:background var(--t-link),color var(--t-link)}
.dp-grid-item:hover,.dp-day:hover{background:var(--panel);color:var(--ink)}
.dp-grid-item.selected,.dp-day.selected{background:var(--gold);color:var(--ground)}
.dp-grid-item.past,.dp-day.past{opacity:.35;pointer-events:none}
.dp-day.other-month{opacity:.45}
.dp-day.today{color:var(--gold)}
.dp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.dp-month-year{font-family:var(--serif);font-size:1.1rem;color:var(--ink)}
.dp-back{min-height:44px;background:none;border:0;padding:0;font-family:var(--sans);font-size:var(--fs-small);color:var(--gold);cursor:pointer}
.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:.5rem}
.dp-weekdays span{font-size:var(--fs-nav);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:.3rem 0}
.dp-days{display:grid;grid-template-columns:repeat(7,1fr)}
.dp-tbd{width:100%;min-height:44px;margin-top:.8rem;background:none;border:1px solid var(--line);font-family:var(--sans);font-size:var(--fs-nav);letter-spacing:.1em;color:var(--soft);cursor:pointer;transition:border-color var(--t-link),color var(--t-link)}
.dp-tbd:hover{border-color:var(--gold);color:var(--gold)}
.phone-wrapper{display:flex;border-bottom:1px solid var(--line);transition:border-color var(--t-link)}
.form-group .phone-wrapper input.phone-input{flex:1;width:auto;min-width:0;border:0;padding:.8rem;background:transparent;outline:none}
.country-select{position:relative;flex-shrink:0;width:100px}
.country-trigger{min-height:44px;display:flex;align-items:center;gap:.4rem;padding:.8rem 0;font-size:16px;font-weight:300;color:var(--ink);cursor:pointer}
.country-trigger .code{color:var(--soft)}
.country-trigger::after{content:'';width:8px;height:5px;margin-left:.3rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0.5 0.5l3.5 3.5 3.5-3.5' stroke='%23C9A96E' fill='none' stroke-width='1'/%3E%3C/svg%3E") no-repeat;transition:transform var(--t-link)}
.country-select.open .country-trigger::after{transform:rotate(180deg)}
.country-dropdown{position:absolute;top:100%;left:0;width:260px;max-height:0;overflow:hidden;opacity:0;transition:max-height var(--t-link),opacity var(--t-link)}
.country-select.open .country-dropdown{max-height:268px;overflow-y:auto;opacity:1}
.form-group .country-dropdown input.country-search{position:sticky;top:0;z-index:2;display:block;width:100%;background:var(--panel);border:0;border-bottom:1px solid var(--line);padding:.7rem .85rem;font-size:16px;color:var(--ink)}
.country-empty{padding:1.1rem .85rem;font-size:var(--fs-small);font-style:italic;color:var(--faint);text-align:center}
.country-option .cname{flex:1}
.country-option .ccode{color:var(--gold)}
.planner-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.7rem}
.planner-pill{min-height:44px;padding:0 1.4rem;background:transparent;border:1px solid var(--line);font-family:var(--sans);font-size:var(--fs-nav);font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink);cursor:pointer;transition:background var(--t-link),border-color var(--t-link),color var(--t-link)}
.planner-pill:hover{border-color:var(--gold);color:var(--gold)}
.planner-pill.is-selected{background:var(--gold);border-color:var(--gold);color:var(--ground)}
.form-reply,.form-note{font-size:.9rem;font-weight:300;line-height:1.6;color:var(--soft)}
.form-reply{margin-bottom:1.4rem}
.form-note{margin-top:2rem}
.form-done{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;padding:4rem 0}
.form-done h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:300;margin:1.6rem 0 1.2rem}
.form-done h2 em{font-style:italic;color:var(--gold)}
.form-done p:not(.label){color:var(--soft);max-width:380px}
.atelier-cta{padding:clamp(40px,5vw,64px) var(--gutter) calc(clamp(40px,5vw,64px) + var(--overlap))}
.atelier-cta__inner{max-width:var(--wrap-narrow);margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:2.5rem;align-items:center}
.atelier-cta__eyebrow{grid-column:1;grid-row:1;margin-bottom:.35rem;font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold)}
.atelier-cta__title{grid-column:1;grid-row:2;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.5rem;line-height:1.2}
.atelier-cta__text{grid-column:2;grid-row:1/3;max-width:520px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.atelier-cta .btn{grid-column:3;grid-row:1/3}

/* --- reading pages: privacy, terms --- */
.legal{max-width:800px;margin:0 auto;padding:0 var(--gutter) calc(var(--pad-y) + var(--overlap))}
.legal h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-title);line-height:var(--lh-title);margin:3rem 0 1.2rem;padding-top:2rem;border-top:1px solid var(--line)}
.legal h2:first-of-type{border-top:0;padding-top:0}
.legal p,.legal li{font-size:var(--fs-small);line-height:1.8;color:var(--soft);margin-bottom:1.2rem}
.legal ul{margin:1rem 0 1.5rem 1.5rem}
.legal li{margin-bottom:.5rem}
.legal strong{font-weight:500;color:var(--ink)}
.legal a{color:var(--gold);border-bottom:1px solid currentColor}

/* --- investment: gate and collections --- */
.year-badge{display:inline-block;margin-top:1.6rem;padding:.5rem 1.5rem;border:1px solid var(--line);font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold)}
.fk-gate{max-width:640px;margin:0 auto;padding:clamp(2rem,4vw,3rem) clamp(1.4rem,4vw,2.5rem);background:var(--panel);border:1px solid var(--line);text-align:center}
.fk-gate .fk-desc{font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.fk-gate h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin-bottom:.8rem}
.fk-gate h3 em{font-style:italic;color:var(--gold)}
.fk-gate>p{font-size:var(--fs-small);line-height:1.7;color:var(--soft);max-width:460px;margin:0 auto 1.6rem}
.fk-inputs{max-width:360px;margin:0 auto;position:relative}
.fk-gate input{width:100%;min-height:44px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.7rem 0;margin:.4rem 0;font-family:var(--sans);font-size:16px;color:var(--ink);text-align:center;outline:none}
.fk-gate input::placeholder{color:var(--faint)}
.fk-gate input:focus{border-color:var(--gold)}
.fk-gate .fk-note,.fk-gate .fk-hint{max-width:none;margin:1rem 0 0;font-size:.85rem;line-height:1.5;color:var(--soft)}
.fk-gate .fk-note{min-height:1rem}
.fk-gate .fk-hint a{color:var(--gold);border-bottom:1px solid currentColor}
.pz-locked{filter:blur(9px);pointer-events:none;user-select:none;opacity:.55}
.pz-locked .reveal{opacity:1!important}
.price-list{max-width:calc(var(--wrap) + var(--gutter) * 2);margin:clamp(40px,5vw,64px) auto 0;padding-inline:var(--gutter)}
.tier{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.price-list .tier:nth-child(3) .tier-img{order:2}
.tier-img{overflow:hidden;background:var(--c-umber)}
.tier-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-zoom) var(--ease)}
.tier-img:hover img{transform:scale(var(--zoom))}
.tier-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,72px) clamp(24px,5vw,80px)}
.tier-num{font-family:var(--serif);font-size:clamp(3.4rem,6vw,6rem);font-weight:300;line-height:1;color:var(--num);margin-bottom:.5rem}
.tier-label{font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.tier-name{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:var(--lh-title);margin-bottom:1rem}
.tier-price{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.5vw,3rem);line-height:1.1;color:var(--gold);margin-bottom:.3rem}
.tier-price-sub{font-size:var(--fs-label-sm);letter-spacing:.1em;color:var(--faint);margin-bottom:1.6rem}
.tier-result{font-family:var(--serif);font-style:italic;font-size:1.1rem;line-height:1.5;color:var(--soft);margin-bottom:1.8rem}
.tier-features{list-style:none;margin-bottom:1.8rem}
.tier-features li{position:relative;padding-left:1.2rem;margin-bottom:.55rem;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.tier-features li::before{content:'';position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.5}
.tier-features li strong{font-weight:500;color:var(--ink)}
.tier-ideal{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.5;color:var(--gold);margin-bottom:1.6rem}
.tier-content .link-arrow{align-self:flex-start}
.divider{display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px) var(--gutter)}
.divider .line{flex:1;height:1px;background:var(--line)}
.divider .mark{margin:0 2rem}
.divider .mark img{height:40px;opacity:.2}
html[data-mode=jour] .divider .mark img{filter:invert(1)}
.pillars.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;max-width:var(--wrap-narrow);margin-inline:auto}
.pillar ul{list-style:none;margin:1rem 0 1.4rem}
.pillar li{padding:.5rem 0;border-top:1px solid var(--line);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-col);max-width:var(--wrap-narrow);margin:0 auto}
.notes h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:var(--lh-title);margin:1rem 0 1.2rem}
.notes h3 em{font-style:italic;color:var(--gold)}
.notes p:not(.label){color:var(--soft);margin-bottom:1rem}

/* --- film --- */
.film-frame{position:relative;aspect-ratio:16/9;max-width:var(--wrap-narrow);margin:0 auto;overflow:hidden;background:var(--c-black);border-radius:var(--gap-card)}
.film-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--c-black)}
.film-cap{margin-top:1.2rem;text-align:center;font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.7;color:var(--gold)}
.steps.five{display:flex;flex-wrap:wrap;justify-content:center;max-width:var(--wrap)}
.steps.five .step{flex:0 1 320px}

/* ========== 5. PAGE FURNITURE ========== */
/* --- bar: the shared header, restyled --- */
#navbar{height:var(--bar);padding:0 var(--gutter);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:none;transition:background .35s ease,border-color .35s ease,color .35s ease}
html[data-mode=jour] #navbar{background:var(--c-cream)}
html[data-mode=nuit] #navbar{background:var(--c-black)}
html[data-mode=nuit] #navbar[data-solid]{background:var(--c-coal)}
html[data-mode=jour] #navbar[data-solid]{background:var(--c-paper)}
#navbar .nav-logo{display:flex;align-items:center;min-height:44px}
#navbar .nav-logo img,#navbar.scrolled .nav-logo img{height:var(--logo-bar)}
html[data-mode=jour] #navbar .nav-logo img,html[data-mode=jour] #site-footer .f-logo img{filter:brightness(0)}
#navbar .nav-right{gap:clamp(1rem,2.2vw,2.2rem)}
#navbar .nav-right>a{font-size:var(--fs-nav);letter-spacing:var(--track-nav);color:var(--ink);padding:14px 0;opacity:1;transition:color var(--t-link)}
#navbar .nav-right>a:hover,#navbar .nav-right>a.active{color:var(--gold)}
#navbar .menu-btn{min-height:44px;min-width:44px;justify-content:center;color:var(--ink);font-size:var(--fs-nav);letter-spacing:var(--track-nav);transition:color var(--t-link)}
#navbar .menu-btn:hover{color:var(--gold)}
#navbar .menu-btn .lines{gap:4px}
#navbar .menu-btn .lines span{width:20px;background:currentColor}
/* day and night switch: an icon, nothing else, that only wakes up under the pointer */
.fk-mode{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 -10px;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);opacity:.5;transition:opacity var(--t-link)}
.fk-mode:hover,.fk-mode:focus-visible{opacity:1}
.fk-mode svg{width:15px;height:15px;display:block}
html[data-mode=nuit] .ico-moon,html[data-mode=jour] .ico-sun{display:none}
/* full-screen menu */
/* one column in the flow: links and socials can never overlap; the sizes follow the visible height, and a screen too short simply scrolls */
.mobile-menu{--menu-h:100vh;--menu-top:calc(1.5rem + 44px + .6rem);--menu-fs:clamp(1.5rem,calc(var(--menu-h)*.042),2.5rem);--menu-gap:clamp(0px,calc((var(--menu-h) - 540px)/9),1.5rem);background:var(--ground);justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:var(--menu-top) 0 max(.6rem,env(safe-area-inset-bottom))}
@supports (height:1svh){.mobile-menu{--menu-h:100svh}}
.mobile-menu-inner{flex:none;margin-block:auto;gap:var(--menu-gap)}
.mobile-menu-inner a{display:flex;align-items:center;min-height:44px;font-size:var(--menu-fs);line-height:1.15;color:var(--ink)}
.mobile-menu-inner a:hover{color:var(--gold)}
.mobile-menu.open .mobile-menu-inner a:nth-child(7){transition-delay:.4s}
.mobile-menu.open .mobile-menu-inner a:nth-child(8){transition-delay:.45s}
.mobile-menu.open .mobile-menu-inner a:nth-child(9){transition-delay:.5s}
.mobile-close{color:var(--ink);border-color:var(--line);min-height:44px}
.mobile-menu-footer{position:static;flex:none}
.mobile-menu-footer a{color:var(--soft);padding:12px 0}

/* --- footer: the shared include, restyled --- */
#site-footer footer{padding:4rem var(--gutter);grid-template-columns:1fr auto auto auto;gap:2rem 4rem;border-top:0}
#site-footer .f-logo img{height:54px}
#site-footer .f-motto{font-size:1.15rem;opacity:1;color:var(--gold);margin-bottom:1.2rem}
#site-footer .f-copy{font-size:.78rem;letter-spacing:0;color:var(--faint)}
#site-footer .footer-col h4{font-size:var(--fs-label-sm);font-weight:500;letter-spacing:var(--track-label);color:var(--gold);margin-bottom:.8rem}
#site-footer .footer-col a{font-size:.92rem;padding:.3rem 0;margin:0;color:var(--soft)}
#site-footer .footer-col a:hover{color:var(--ink)}

/* --- Collections window: dark in both modes, tokens scoped to it --- */
.modal-overlay{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(8px);z-index:9000;opacity:0;pointer-events:none;transition:opacity var(--t-hover)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{--col-pad:clamp(1.5rem,4vw,3.5rem);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);z-index:9001;background:var(--ground,var(--c-black));color:var(--ink,var(--c-ivory));border:1px solid var(--line);max-width:1120px;width:92%;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;opacity:0;pointer-events:none;transition:opacity var(--t-hover),transform var(--t-hover) var(--ease)}
@supports (height:1svh){.modal{max-height:90svh}}
.modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}
.modal::-webkit-scrollbar{display:none}
.modal-close{position:sticky;top:.8rem;float:right;margin:.8rem .8rem 0 0;width:44px;height:44px;border-radius:50%;background:var(--ground);border:0;color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;z-index:3;transition:color var(--t-link)}
.modal-close:hover{color:var(--gold)}
.modal-head{text-align:center;padding:clamp(2.6rem,5vw,4rem) var(--col-pad) clamp(1.8rem,3vw,2.6rem)}
.modal-head .display{font-size:clamp(2.2rem,5vw,4.4rem)}
.modal-head p{max-width:560px;margin:1rem auto 0;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
/* three prints: each unveiled from the bottom when the window opens; a print opens into its sheet */
.col-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.6vw,2.4rem);align-items:start;padding:0 var(--col-pad) clamp(1.6rem,3vw,2.6rem)}
.col-row[hidden],.col-sheet[hidden]{display:none}
.col-card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.col-card:nth-child(2){margin-top:clamp(0px,3vw,48px)}
.col-frame{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--panel)}
.col-frame img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-zoom) var(--ease)}
.col-card .col-frame{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)}
.col-card .col-frame img{transform:scale(1.2)}
.modal.open .col-card .col-frame{clip-path:inset(0)}
.modal.open .col-card .col-frame img{transform:scale(1)}
.modal.open .col-card:hover .col-frame img{transform:scale(var(--zoom))}
.col-card:nth-child(2) .col-frame,.col-card:nth-child(2) .col-frame img{transition-delay:.12s}
.col-card:nth-child(3) .col-frame,.col-card:nth-child(3) .col-frame img{transition-delay:.24s}
.modal.open .col-card:hover .col-frame img{transition-delay:0s}
.col-meta,.col-sheet-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .8rem}
.col-meta{margin-top:.7rem}
.col-name{margin:0;color:var(--gold)}
.col-name:focus{outline:none}
.col-badge{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold)}
.col-cover{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.col-more{margin-top:.3rem;padding-bottom:2px;border-bottom:1px solid currentColor;color:var(--gold);font-size:var(--fs-label-sm)}
.modal.is-sheet .modal-head{display:none}
.modal.is-sheet .col-sheet{padding-top:clamp(1rem,2.5vw,2rem);clear:none}
.col-sheet{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(1.6rem,4vw,3.6rem);align-items:start;padding:0 var(--col-pad) clamp(1.6rem,3vw,2.6rem)}
.col-sheet-photo{position:sticky;top:1rem;will-change:transform}
.col-sheet-photo .col-frame{max-height:calc(90vh - 2rem)}
.col-outcome{margin-top:.9rem;font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.3}
.col-sheet-text>.col-cover{margin-top:.8rem}
.col-list{margin-top:1.5rem}
.col-list ul{list-style:none;margin:.6rem 0 0;padding:0}
.col-list li{padding:.55rem 0;border-bottom:1px solid var(--line);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.col-list li:first-child{border-top:1px solid var(--line)}
.col-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.8rem}
.col-switch{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:0 .9rem 0 0;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;transition:border-color var(--t-link)}
.col-switch:hover{border-color:var(--gold)}
.col-switch .label{font-size:var(--fs-label-sm);color:inherit}
.col-switch-photo{display:block;width:38px;height:46px;overflow:hidden}
.col-switch-photo img{width:100%;height:100%;object-fit:cover}
.col-back{margin-left:auto;background:none;border:0;color:var(--gold);cursor:pointer}
/* the lines of a sheet arrive one by one once its photograph has landed */
.col-line{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 22ms)}
.col-sheet[data-ready] .col-line{opacity:1;transform:none}
.modal-after{max-width:640px;margin:0 auto;padding:clamp(.6rem,2vw,1.4rem) var(--col-pad) 0;text-align:center;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.modal-after p+p{margin-top:.7rem}
.modal-after a{color:var(--gold);border-bottom:1px solid currentColor}
.modal-foot{text-align:center;padding:clamp(1.6rem,3vw,2.4rem) var(--col-pad) clamp(2rem,4vw,3rem)}
@media(prefers-reduced-motion:reduce){
  .col-card .col-frame,.col-card .col-frame img{clip-path:none;transform:none;transition:none}
  .col-line{opacity:1;transform:none;transition:none}
}
@media(max-width:768px){
  .col-row,.col-sheet{grid-template-columns:minmax(0,1fr)}
  .col-row{row-gap:2.2rem}
  .col-card:nth-child(2){margin-top:0}
  .col-sheet-photo{position:static}
  .col-sheet-photo .col-frame{max-height:none}
  .col-back{margin-left:0}
}

/* --- day and night: every colour turns together, for the length of the change only --- */
html.fk-switching *,html.fk-switching *::before,html.fk-switching *::after{transition:background-color var(--t-mode) ease,color var(--t-mode) ease,border-color var(--t-mode) ease,box-shadow var(--t-mode) ease,filter var(--t-mode) ease!important}

/* ========== RESPONSIVE: tokens first, layouts after ========== */
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transition:none}
  .hero-img,.hero-scroll i{animation:none}
  .hero .label,.hero h1,.hero-sub,.hero .link-arrow,.hero-scroll{animation:none}
  .ch,body,#navbar{transition:none}
  html.fk-switching *,html.fk-switching *::before,html.fk-switching *::after{transition:none!important}
}
@media (max-width:1200px){.offers,.steps.four{grid-template-columns:1fr 1fr}}
@media (max-width:1180px){#navbar .nav-right>a{display:none}}
@media (max-width:1024px){
  .svc-grid{grid-template-columns:1fr}
  .svc{border-right:0;border-bottom:1px solid var(--line)}
  .svc:last-child{border-bottom:0}
  .pillars,.pillars.three{grid-template-columns:1fr 1fr}
  .press-wall__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .press-card{grid-template-columns:1fr}
  .tier{grid-template-columns:1fr;min-height:0}
  .price-list .tier:nth-child(3) .tier-img{order:0}
  .tier-img{aspect-ratio:4/5;max-height:80vh}
  .notes{grid-template-columns:1fr}
  .contact-page{grid-template-columns:1fr}
  .contact-img{order:0;position:relative;top:auto;align-self:auto;height:50svh;margin:14px var(--gutter) 0;clip-path:inset(0 round 30px 30px 0 0)}
  .atelier-cta__inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:640px}
  .atelier-cta__title{margin-bottom:.7rem}
  .atelier-cta__text{margin-bottom:1.4rem}
  .press-floating-cta{display:none!important}
  .wedding-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .about,.about.flip{grid-template-columns:1fr}
  .about.flip .about-img{order:0}
  .about-img{aspect-ratio:4/5;max-height:80vh}
  .about-img.quad{aspect-ratio:1/1;max-height:none;min-height:0}
  #site-footer footer{grid-template-columns:1fr 1fr 1fr}
  #site-footer .footer-left{grid-column:1/-1}
}
@media (max-width:768px){
  :root{--bar:64px;--overlap:30px;--fs-body:16px;--logo-bar:34px}
  #navbar .menu-btn>span:first-child{display:none}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-right{order:1;height:64svh}
  .hero-left{order:2;padding:2.4rem var(--gutter) 3rem}
  .hero-scroll{display:none}
  .hero-frame{inset:calc(var(--bar) + 14px) var(--gutter) 0 var(--gutter);clip-path:inset(0 round 30px 30px 0 0)}
  .press-logos{gap:1.6rem 2rem}
  .press-logos img{height:20px}
  .stories{grid-template-columns:1fr;grid-auto-rows:auto}
  .story.tall{grid-row:auto}
  .story.wide{grid-column:auto}
  .story{aspect-ratio:4/5}
  .story.wide{aspect-ratio:3/2}
  .story-cap{opacity:1;padding:3rem 1.2rem 1.1rem}
  .steps,.steps.four,.pillars.three,.offers,.words.duo,.values,.ledger,.essays,.journal{grid-template-columns:1fr}
  .steps{gap:2rem}
  .planners{padding:1.1rem 1.2rem}
  .planners span{flex:1 1 100%}
  .journal-imgs{grid-auto-rows:44vw}
  .just,.faq-answer-inner,.prose p,.press-card__description{text-align:left;hyphens:manual}
  .prose{column-count:1}
  .press-wall__grid{grid-template-columns:1fr 1fr}
  .pillars.two{grid-template-columns:1fr}
  .contact-form-side{padding-left:var(--gutter);padding-right:var(--gutter)}
  .form-row{grid-template-columns:1fr;gap:0}
  .fkc-host{margin-inline:calc(var(--gutter) * -1);width:auto;max-width:none}
  .fkc-host .fkc{border-left:0;border-right:0}
  .fkc-host .fkc-thread{max-height:none}
  .press-wall__item{font-size:1.25rem;min-height:120px;padding:1rem}
  .press-timeline li{grid-template-columns:70px minmax(0,1fr)}
  .press-card__list li{flex-direction:column;gap:.1rem}
  .wedding-grid{grid-template-columns:1fr 1fr}
  .wedding-card-overlay{opacity:1;padding:1.1rem}
  .cta .btn{width:100%}
  #site-footer footer{grid-template-columns:1fr 1fr;padding:3rem var(--gutter);text-align:left}
  #site-footer .footer-left{align-items:flex-start}
  #site-footer .footer-right{display:contents}
  #site-footer .footer-col{align-items:flex-start}
}
/* a phone: one gallery per line, same shape as the home stories, the caption stays low on the photo */
@media (max-width:600px){
  .wedding-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}
  .wedding-card{aspect-ratio:4/5}
  .wedding-card-overlay{padding:1.3rem;background:linear-gradient(0deg,rgba(10,9,8,.8),rgba(10,9,8,0) 42%)}
  .wedding-card-overlay h3{font-size:1.5rem;margin-bottom:.15rem}
  .wedding-card-overlay .view{margin-top:.55rem}
}

/* --- a card's last link sits on the card's bottom edge, whatever the length of its list --- */
.pillar{display:flex;flex-direction:column}
.pillar>.link-arrow{margin-top:auto;align-self:flex-start}

/* --- closing block: a title followed directly by its button keeps the same distance as one followed by text --- */
.cta .display+.btn,.cta .display+.btns{margin-top:2.6rem}

/* --- photo and film: the two Duos, in the language of the Collections window --- */
.duos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.6rem,4vw,3.6rem);max-width:var(--wrap-narrow);margin:0 auto}
.duo{display:flex;flex-direction:column}
.duo .col-list:last-of-type{margin-bottom:1.8rem}
.duo>.link-arrow{margin-top:auto;align-self:flex-start}
.col-list a{color:var(--gold);border-bottom:1px solid currentColor}
.duos+.lede{margin-top:clamp(40px,5vw,64px)}
.film-lines{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gap-col);max-width:var(--wrap-narrow);margin:0 auto;padding:0}
.film-lines li{padding:1.3rem 0;border-top:1px solid var(--line)}
.film-lines h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-title);line-height:var(--lh-title);margin-bottom:.4rem}
.film-lines p{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--soft)}
.film-lines+.lede{margin-top:clamp(32px,4vw,48px)}
@media (max-width:768px){
  .duos,.film-lines{grid-template-columns:minmax(0,1fr)}
  .duos{row-gap:3.2rem}
}
