/* Extracted from thank-you.html by tools/extract_site_assets.py — do not edit by hand. */
:root{
  --paper:#efe9dd;--paper-2:#e6dece;--ink:#1b1714;--ink-soft:#6a5f54;
  --line:rgba(27,23,20,.16);--line-soft:rgba(27,23,20,.09);--accent:#94743f;
  --card:#e9e1d1;--shadow:rgba(27,23,20,.14);
  --serif:"Didot","Bodoni 72","Hoefler Text","Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Helvetica Neue","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --maxw:1280px;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#15110e;--paper-2:#1d1813;--ink:#ece4d6;--ink-soft:#a99d8c;
  --line:rgba(236,228,214,.16);--line-soft:rgba(236,228,214,.08);--accent:#c9a25f;
  --card:#211b15;--shadow:rgba(0,0,0,.5);}}
:root[data-theme="light"]{--paper:#efe9dd;--paper-2:#e6dece;--ink:#1b1714;--ink-soft:#6a5f54;
  --line:rgba(27,23,20,.16);--line-soft:rgba(27,23,20,.09);--accent:#94743f;--card:#e9e1d1;--shadow:rgba(27,23,20,.14);}
:root[data-theme="dark"]{--paper:#15110e;--paper-2:#1d1813;--ink:#ece4d6;--ink-soft:#a99d8c;
  --line:rgba(236,228,214,.16);--line-soft:rgba(236,228,214,.08);--accent:#c9a25f;--card:#211b15;--shadow:rgba(0,0,0,.5);}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--paper)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
  color:var(--accent);display:inline-flex;align-items:center;gap:.7em}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent);opacity:.7}
.eyebrow.center{justify-content:center}
.serif{font-family:var(--serif)}

.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:22px clamp(20px,5vw,64px);transition:background .5s ease,padding .5s ease,border-color .5s ease,backdrop-filter .5s ease;border-bottom:1px solid transparent}
.nav.scrolled{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid var(--line-soft);padding-top:14px;padding-bottom:14px}
.brand{font-family:var(--serif);font-size:19px;letter-spacing:.02em;color:var(--paper);transition:color .5s ease}
.nav.scrolled .brand{color:var(--ink)}
.brand b{font-weight:400}.brand .la{font-style:italic}
.navlinks{display:flex;align-items:center;gap:34px}
.navlinks a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);opacity:.85;
  transition:color .5s ease,opacity .25s ease;position:relative}
.nav.scrolled .navlinks a{color:var(--ink)}
.navlinks a.link::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .3s ease}
.navlinks a.link:hover{opacity:1}.navlinks a.link:hover::after{width:100%}
.navcta{border:1px solid currentColor;padding:9px 20px;border-radius:100px;opacity:1 !important;transition:background .3s ease,color .3s ease}
.navcta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.menu-btn{display:none;background:none;border:0;color:var(--paper);cursor:pointer;padding:6px}
.nav.scrolled .menu-btn{color:var(--ink)}
.nav:not(.scrolled) .brand,.nav:not(.scrolled) .navlinks a,.nav:not(.scrolled) .menu-btn{text-shadow:0 1px 14px rgba(8,5,6,.6),0 0 2px rgba(8,5,6,.35)}

.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:#f3ece0}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 33%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,9,10,.72) 0%,rgba(14,9,10,.30) 13%,rgba(16,11,12,.08) 32%,rgba(16,11,12,.30) 60%,rgba(14,9,10,.88) 100%)}
.hero-vignette{position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 240px 40px rgba(20,12,14,.55);pointer-events:none}
.hero-inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,64px) clamp(52px,8vh,96px)}
.hero .kicker{color:#f0e2cf;opacity:.92}.hero .kicker::before{background:#f0e2cf;opacity:.6}
.hero h1{font-family:var(--serif);font-weight:400;color:#fbf5ea;font-size:clamp(3.2rem,10.5vw,10rem);line-height:.94;letter-spacing:-.01em;margin:.28em 0 .18em;text-wrap:balance}
.hero h1 em{font-style:italic;color:#f2cd97}
.hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;border-top:1px solid rgba(243,236,224,.24);padding-top:22px}
.hero-foot p{margin:0;max-width:46ch;font-size:clamp(15px,1.6vw,17px);color:#efe6d7;line-height:1.55}
.hero-meta{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#e9dcc8;opacity:.9;text-align:right;white-space:nowrap}
.scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#f0e6d6;opacity:.8;display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollcue span{width:1px;height:34px;background:linear-gradient(#f0e6d6,transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.3;transform-origin:top}50%{transform:scaleY(1);opacity:.9;transform-origin:top}}

.rise{opacity:0;transform:translateY(26px)}
.hero .rise{animation:rise 1.1s cubic-bezier(.22,1,.36,1) forwards}
.hero .d1{animation-delay:.15s}.hero .d2{animation-delay:.32s}.hero .d3{animation-delay:.5s}.hero .d4{animation-delay:.66s}
@keyframes rise{to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rise,.reveal{opacity:1!important;transform:none!important;animation:none!important}.scrollcue span{animation:none}}

.manifesto{padding:clamp(84px,13vh,150px) 0}
.manifesto .wrap{display:grid;grid-template-columns:1fr;gap:34px}
.manifesto blockquote{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,4vw,3.15rem);line-height:1.16;letter-spacing:-.01em;max-width:20ch;text-wrap:balance}
.manifesto blockquote em{font-style:italic;color:var(--accent)}
.manifesto .sig{display:flex;align-items:center;gap:16px;color:var(--ink-soft);font-size:14px;letter-spacing:.02em}
.manifesto .sig .nm{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink)}
.rule{height:1px;background:var(--line);width:100%}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:38px}
.section-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1;letter-spacing:-.01em;margin:.35em 0 0}
.section-head p{margin:0;color:var(--ink-soft);max-width:38ch;font-size:15px}
.gallery{padding:0 0 clamp(70px,10vh,120px)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,22px);align-items:start}
figure{margin:0;position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line-soft)}
.frame{position:relative;overflow:hidden;display:block}
.frame .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
figure:hover .ph{transform:scale(1.08)}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,12,10,.55));opacity:.85;transition:opacity .5s ease;pointer-events:none}
figcaption{position:absolute;left:0;bottom:0;z-index:2;padding:18px 20px;color:#f6efe2;width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
figcaption .t{font-family:var(--serif);font-style:italic;font-size:19px}
figcaption .loc{font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.85}
.tall{aspect-ratio:3/4}.wide{aspect-ratio:3/2}.sq{aspect-ratio:1/1}.port{aspect-ratio:3/4}
.g1{grid-column:span 5}.g2{grid-column:span 7}.g3{grid-column:span 4}.g4{grid-column:span 4}.g5{grid-column:span 4}.g6{grid-column:span 7}.g7{grid-column:span 5}

.timeline{padding:clamp(80px,12vh,140px) 0;background:var(--paper-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.tl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,40px);margin-top:52px}
.tl-item{position:relative;padding-top:26px;border-top:1px solid var(--line)}
.tl-item .no{font-family:var(--serif);font-size:13px;letter-spacing:.1em;color:var(--accent)}
.tl-item h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.4vw,1.9rem);margin:12px 0 10px;line-height:1.05}
.tl-item p{margin:0;color:var(--ink-soft);font-size:14.5px}
.tl-item .time{display:block;margin-top:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:.55}

.collections{padding:clamp(80px,12vh,140px) 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:48px}
.card{background:var(--card);border:1px solid var(--line);padding:38px 32px 34px;display:flex;flex-direction:column;gap:16px;position:relative;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,border-color .5s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px var(--shadow);border-color:var(--accent)}
.card.feat{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.card .tag{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.card .c-name{font-family:var(--serif);font-size:1.9rem;line-height:1;font-weight:400}
.card .price{font-family:var(--serif);font-size:1.15rem;color:var(--ink-soft)}
.card.feat .price{color:color-mix(in srgb,var(--paper) 68%,transparent)}
.card ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.card li{font-size:14px;color:var(--ink-soft);padding-left:20px;position:relative;line-height:1.45}
.card li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--accent)}
.card.feat li{color:color-mix(in srgb,var(--paper) 82%,transparent)}
.card .cbtn{margin-top:auto;padding-top:22px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.card.feat .cbtn{color:var(--paper)}
.card .cbtn .ar{transition:transform .3s ease}.card:hover .cbtn .ar{transform:translateX(5px)}
.coll-note{margin:34px auto 0;text-align:center;max-width:60ch;color:var(--ink-soft);font-size:14px;line-height:1.6}
.feat-badge{position:absolute;top:-1px;right:-1px;background:var(--accent);color:#1b1714;font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:7px 14px}

.voices{padding:clamp(80px,12vh,140px) 0;text-align:center}
.voices .stars{color:var(--accent);letter-spacing:.3em;font-size:14px}
.voices blockquote{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,3.6vw,2.8rem);line-height:1.28;letter-spacing:-.01em;max-width:22ch;margin:26px auto 30px;text-wrap:balance}
.voices .who{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
.voices .who b{color:var(--ink);font-weight:600}
.dots{display:flex;gap:10px;justify-content:center;margin-top:40px}
.dots button{width:8px;height:8px;border-radius:50%;border:0;background:var(--line);cursor:pointer;padding:0;transition:background .3s,transform .3s}
.dots button[aria-current="true"]{background:var(--accent);transform:scale(1.25)}

.about{padding:clamp(80px,12vh,140px) 0;border-top:1px solid var(--line-soft)}
.about .wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,5vw,72px);align-items:center}
.portrait{aspect-ratio:4/5;position:relative;overflow:hidden;border:1px solid var(--line)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about-body h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.04;margin:.4em 0 .5em;letter-spacing:-.01em}
.about-body p{color:var(--ink-soft);max-width:52ch;margin:0 0 18px}
.about-body p strong{color:var(--ink);font-weight:600}
.stats{display:flex;gap:40px;margin-top:34px;flex-wrap:wrap}
.stats .n{font-family:var(--serif);font-size:2.4rem;line-height:1}
.stats .l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}

.cta{position:relative;overflow:hidden;color:#f4ece0;text-align:center;padding:clamp(90px,16vh,180px) 0}
.cta-media{position:absolute;inset:0;z-index:0}
.cta-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.cta-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,12,10,.62),rgba(20,13,11,.80));box-shadow:inset 0 0 200px 30px rgba(20,12,14,.5)}
.cta .inner{position:relative;z-index:2}
.cta .eyebrow{color:#f0e2cf}.cta .eyebrow::before{background:#f0e2cf}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,6.5vw,5.2rem);line-height:1;letter-spacing:-.01em;margin:.3em auto .3em;max-width:16ch;color:#fbf4e8;text-wrap:balance}
.cta h2 em{font-style:italic;color:#f2cd97}
.cta p{color:#eaddc9;max-width:44ch;margin:0 auto 38px;font-size:16px}
.btn{display:inline-flex;align-items:center;gap:12px;background:#f4ece0;color:#1b1714;padding:17px 34px;border-radius:100px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:transform .3s ease,background .3s ease;border:1px solid transparent}
.btn:hover{transform:translateY(-3px)}.btn .ar{transition:transform .3s ease}.btn:hover .ar{transform:translateX(5px)}
.btn.ghost{background:transparent;color:#f4ece0;border-color:rgba(244,236,224,.45)}
.btn.ghost:hover{background:rgba(244,236,224,.1)}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

footer{background:var(--paper);padding:clamp(50px,8vh,80px) 0 40px}
.foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot-brand .fb{font-family:var(--serif);font-size:26px}
.foot-brand p{color:var(--ink-soft);max-width:30ch;margin:14px 0 0;font-size:14px}
.foot-cols{display:flex;gap:clamp(40px,7vw,90px);flex-wrap:wrap}
.foot-col h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 16px;font-weight:600}
.foot-col a,.foot-col span{display:block;font-size:14.5px;color:var(--ink);margin-bottom:11px;opacity:.85;transition:opacity .25s,color .25s}
.foot-col a:hover{opacity:1;color:var(--accent)}
.foot-bottom{margin-top:clamp(40px,7vh,70px);padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;letter-spacing:.06em;color:var(--ink-soft)}

@media (max-width:900px){
  .navlinks{position:fixed;inset:0 0 0 auto;width:min(78vw,320px);background:var(--paper);flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;gap:26px;transform:translateX(100%);transition:transform .5s cubic-bezier(.22,1,.36,1);border-left:1px solid var(--line);z-index:25}
  .navlinks.open{transform:none}
  .navlinks a{color:var(--ink)!important;font-size:15px}
  .navcta{align-self:flex-start}
  .menu-btn{display:block;z-index:26}
  .grid{grid-template-columns:repeat(6,1fr)}
  .g1,.g2,.g6,.g7{grid-column:span 6}.g3,.g4,.g5{grid-column:span 3}
  .tl-grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:1fr}
  .about .wrap{grid-template-columns:1fr}
  .portrait{max-width:420px}
}
@media (max-width:560px){
  .tl-grid{grid-template-columns:1fr}
  .g3,.g4,.g5{grid-column:span 6}
  .hero-foot{flex-direction:column;align-items:flex-start}
  .hero-meta{text-align:left}
  .foot-top{flex-direction:column}
}

.svc-head{padding-top:clamp(130px,20vh,200px);padding-bottom:clamp(30px,5vh,54px)}
.svc-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,7.4vw,5.4rem);line-height:.98;margin:.24em 0 .3em;letter-spacing:-.01em;text-wrap:balance}
.svc-head h1 em{font-style:italic;color:var(--accent)}
.svc-head .lede{color:var(--ink-soft);max-width:56ch;font-size:clamp(15px,1.7vw,17.5px);line-height:1.65}
.svc-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(12px,1.6vw,20px);padding:clamp(20px,4vh,44px) 0 clamp(60px,9vh,100px)}
.svc-strip figure{margin:0;overflow:hidden;background:var(--card);border:1px solid var(--line-soft);aspect-ratio:3/4}
.svc-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.svc-strip figure:hover img{transform:scale(1.05)}
.svc-pk{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2vw,28px);margin-top:44px}
.svc-credit{margin:36px auto 0;text-align:center;max-width:60ch;color:var(--ink-soft);font-size:14.5px;line-height:1.6}
.svc-credit b{color:var(--accent);font-weight:600}
.svc-back{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.svc-back:hover{color:var(--accent)}

/* ---- 2026-10-23: keyword H1, nav, mobile menu, sticky inquire bar, FAQ ---- */
.h1-kw{display:flex;margin:0 0 1.1rem;line-height:1.6;text-wrap:wrap}
.h1-line{display:block}
@media (max-width:599px){.h1-kw.center::before{display:none}}
.menu-btn .i-close{display:none}
.menu-btn[aria-expanded="true"] .i-open{display:none}
.menu-btn[aria-expanded="true"] .i-close{display:inline}
.nav.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none}
@media (max-width:1240px){.navlinks{gap:22px}.navlinks a{letter-spacing:.14em}}
@media (max-width:1100px){
  .navlinks{position:fixed;inset:0 0 0 auto;height:100vh;height:100dvh;width:min(78vw,320px);background:var(--paper);flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;gap:24px;transform:translateX(100%);visibility:hidden;transition:transform .5s cubic-bezier(.22,1,.36,1),visibility 0s linear .5s;border-left:1px solid var(--line);z-index:25;box-shadow:-30px 0 60px -30px var(--shadow)}
  .navlinks.open{transform:none;visibility:visible;transition:transform .5s cubic-bezier(.22,1,.36,1),visibility 0s}
  .navlinks a{color:var(--ink)!important;font-size:15px;text-shadow:none!important}
  .navcta{align-self:flex-start}
  .menu-btn{display:block;z-index:26;position:relative}
  .menu-btn[aria-expanded="true"]{color:var(--ink)!important;text-shadow:none!important}
}
.mbar{display:none}
@media (max-width:699px){
  .mbar{display:flex;position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:19;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);border-radius:100px;padding:15px 22px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;box-shadow:0 14px 34px -12px rgba(0,0,0,.5);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease}
  .mbar.hide,.mbar.hide-menu{transform:translateY(150%);opacity:0;pointer-events:none}
  body{padding-bottom:78px}
}
.faq{padding:clamp(80px,12vh,140px) 0;border-top:1px solid var(--line-soft)}
.faq-list{max-width:880px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.3}
.faq-list summary::after{content:"+";font-family:var(--sans);font-size:22px;line-height:1;color:var(--accent);transition:transform .3s ease;flex:none}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list .ans{padding:0 0 24px;color:var(--ink-soft);max-width:68ch;font-size:15px;line-height:1.65}
.faq-list .ans p{margin:0}
.svc-credit a,.coll-note a,.gal-more a,.gal-intro a,.faq-list .ans a{color:var(--accent);border-bottom:1px solid currentColor}
.svc-links{margin:14px auto 0;text-align:center;max-width:62ch;color:var(--ink-soft);font-size:14.5px;line-height:1.6}
.svc-links a{color:var(--accent);border-bottom:1px solid currentColor}
.foot-bottom a:hover{color:var(--accent)}

.prose{padding-bottom:clamp(80px,12vh,140px);color:var(--ink-soft);font-size:16px;line-height:1.7}
.prose>*{max-width:760px}
.prose h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(1.4rem,2.6vw,1.9rem);margin:2em 0 .5em;line-height:1.15}
.prose p,.prose ul{margin:0 0 1em}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.4em}
.prose a{color:var(--accent);border-bottom:1px solid currentColor}
.prose .links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;padding:0;list-style:none}
.prose .links a{border:1px solid var(--line);border-bottom-color:var(--line);padding:11px 20px;border-radius:100px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.prose .links a:hover{border-color:var(--accent);color:var(--accent)}
.prose .links a.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.brand{font-size:14.5px;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
.brand b{font-weight:400}
.brand .wm-sub{display:block;font-size:9.5px;letter-spacing:.42em;opacity:.7;margin-top:5px;font-family:var(--sans,system-ui)}
@media (max-width:600px){.brand{font-size:11px;letter-spacing:.24em}.brand .wm-sub{font-size:8.5px;letter-spacing:.34em}}
/* === DESIGN VERSION A — Parisian Black & Cream · palette refinement (staged 2026-10-24) ===
   Appended after the page's own styles; delete this block to revert. Layout is unchanged
   except where a clear flaw existed (marked FIX). */
:root{--paper:#F5F2EC;--paper-2:#FFFFFF;--ink:#202020;--ink-soft:#514D49;--line:#DDD8D0;--line-soft:#E8E4DD;
  --accent:#514D49;--card:#FFFFFF;--shadow:rgba(32,32,32,.10);--greige:#B9AFA4;--control:#8A8279;--on-dark:#F5F2EC;--on-dark-soft:#D9D3CA}
@media (prefers-color-scheme:dark){:root{--paper:#202020;--paper-2:#1A1A1A;--ink:#F5F2EC;--ink-soft:#C9C1B7;--line:#3D3A37;--line-soft:#2F2D2B;
  --accent:#C9C1B7;--card:#272625;--shadow:rgba(0,0,0,.4);--greige:#B9AFA4;--control:#8A8279}}
:root[data-theme="light"]{--paper:#F5F2EC;--paper-2:#FFFFFF;--ink:#202020;--ink-soft:#514D49;--line:#DDD8D0;--line-soft:#E8E4DD;--accent:#514D49;--card:#FFFFFF;--control:#8A8279}
:root[data-theme="dark"]{--paper:#202020;--paper-2:#1A1A1A;--ink:#F5F2EC;--ink-soft:#C9C1B7;--line:#3D3A37;--line-soft:#2F2D2B;--accent:#C9C1B7;--card:#272625;--control:#8A8279}

/* the film-grain overlay sat on top of every photograph */
body::after{display:none}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.hero :focus-visible,.nav:not(.scrolled) :focus-visible,.card.feat :focus-visible,.cta-btns :focus-visible,.cta .inq-more :focus-visible,.mbar:focus-visible,.lb :focus-visible{outline-color:#F5F2EC}
.navlinks.open :focus-visible{outline-color:var(--ink)}

/* eyebrows: gold (3.3–3.6:1, failed AA at 11px) -> muted ink 7.5:1 */
.eyebrow{color:var(--ink-soft)}
.eyebrow::before{background:var(--greige);opacity:1}

/* nav */
.nav:not(.scrolled) .brand,.nav:not(.scrolled) .navlinks a,.nav:not(.scrolled) .menu-btn{color:#F5F2EC;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.navcta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (max-width:360px){.brand{font-size:10px;letter-spacing:.16em}.brand .wm-sub{font-size:8px;letter-spacing:.28em}} /* FIX: menu button clipped at 320px */
.menu-btn{min-width:44px;min-height:44px;display:none;align-items:center;justify-content:center}
@media (max-width:1100px){.menu-btn{display:inline-flex}} /* 44px tap target (was 38x41) */

/* hero: neutral (not brown) shading, gold italic retired */
.hero{color:#F5F2EC}
.hero-media::after{background:linear-gradient(90deg,rgba(20,20,20,.42) 0%,rgba(20,20,20,0) 55%),linear-gradient(180deg,rgba(20,20,20,.45) 0%,rgba(20,20,20,0) 16%,rgba(20,20,20,0) 55%,rgba(20,20,20,.78) 100%)} /* left scrim: small hero text sat on mid-grey skin */
.hero .h1-kw{flex-wrap:wrap;row-gap:.45em} /* FIX: eyebrow split into two columns at 768px */
@media (max-width:900px){.hero .h1-kw{display:block}.hero .h1-kw::before{display:none}} /* flow as text: no stranded dash or leading dot */
@media (max-width:699px){.hero-meta br{display:none}}
.hero-vignette{box-shadow:inset 0 0 160px 10px rgba(20,20,20,.28)}
.hero .kicker{color:#F5F2EC}.hero .kicker::before{background:#F5F2EC;opacity:.6}
.hero h1{color:#F5F2EC}.hero h1 em{color:#F5F2EC}
.hero-foot{border-top-color:rgba(245,242,236,.28)}
.hero-foot p{color:#EDE9E2}.hero-meta{color:#EDE9E2}.scrollcue{color:#EDE9E2}
.scrollcue span{background:linear-gradient(#EDE9E2,transparent)}
.btn{background:#F5F2EC;color:#202020}
.btn.ghost{background:transparent;color:#F5F2EC;border-color:rgba(245,242,236,.55)}
.btn.ghost:hover{background:rgba(245,242,236,.1)}

/* philosophy */
.manifesto blockquote em{color:var(--ink-soft)}

/* selected work */
figure{border:0}
.frame::after{background:linear-gradient(180deg,transparent 50%,rgba(20,20,20,.55))}
figcaption{color:#F5F2EC}
/* FIX: unequal spans left a ~240px hole under the first photo and under "The Vows" */
.g1,.g2{grid-column:span 6}.g6,.g7{grid-column:span 6}
@media (max-width:900px){.g1,.g2,.g6,.g7{grid-column:span 6}.g3,.g4,.g5{grid-column:span 2}}
@media (max-width:560px){.g3,.g4,.g5{grid-column:span 6}}
@media (min-width:561px) and (max-width:900px){.g3 figcaption,.g4 figcaption,.g5 figcaption{flex-direction:column;align-items:flex-start;gap:2px;padding:14px}} /* captions collided in the 3-up tablet row */

/* experience */
.timeline{background:var(--paper-2);border-color:var(--line)}
.tl-item{border-top-color:var(--line)}
.tl-item .no{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--ink-soft)} /* Didot hairlines vanished at 13px */
.tl-item .time{color:var(--ink-soft);opacity:1} /* was ink at 55% opacity: ~3.4:1 at 11px */

/* collections */
.card{background:var(--card);border-color:var(--line)}
.card:hover{box-shadow:none;border-color:var(--ink)}
.card.feat{background:#202020;color:#F5F2EC;border-color:#202020}
.card.feat:hover{border-color:#202020}
.card .tag{color:var(--ink-soft)}
.card.feat .tag{color:var(--greige)}
.card.feat .c-name,.card.feat .cbtn{color:#F5F2EC}
.card.feat .price{color:var(--on-dark-soft)}
.card.feat li{color:var(--on-dark-soft)}
.card li::before,.coll-ess p::before{background:var(--greige)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .card.feat{background:#F5F2EC;color:#202020;border-color:#F5F2EC}
  :root:not([data-theme="light"]) .card.feat .c-name,:root:not([data-theme="light"]) .card.feat .cbtn{color:#202020}
  :root:not([data-theme="light"]) .card.feat .price,:root:not([data-theme="light"]) .card.feat li,:root:not([data-theme="light"]) .card.feat .tag{color:#514D49}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .card.feat{background:#2F2D2B;color:#F5F2EC;border:1px solid #F5F2EC}
  :root:not([data-theme="light"]) .card.feat .c-name,:root:not([data-theme="light"]) .card.feat .cbtn{color:#F5F2EC}
  :root:not([data-theme="light"]) .card.feat .price,:root:not([data-theme="light"]) .card.feat li,:root:not([data-theme="light"]) .card.feat .tag{color:#D9D3CA}
  :root:not([data-theme="light"]) footer{border-top:1px solid var(--line)}} /* dark: framed card instead of a bright cream slab */

/* links: gold text (3.6:1) -> ink text with a greige-deep underline */
.svc-credit a,.coll-note a,.gal-more a,.gal-intro a,.faq-list .ans a,.svc-links a,.cta .inq .inq-alt a{color:var(--ink);border-bottom:1px solid var(--control)}
.svc-credit a:hover,.coll-note a:hover,.gal-more a:hover,.gal-intro a:hover,.faq-list .ans a:hover,.svc-links a:hover{border-bottom-color:var(--ink)}
.svc-credit b{color:var(--ink)}
.svc-back:hover,.foot-col a:hover,.foot-bottom a:hover{color:var(--ink);opacity:1}
.faq-list summary::after{color:var(--ink-soft)}
.svc-head h1 em{color:var(--ink)}
.svc-strip figure{border:0}
/* FIX: the 3:4 crop of a landscape frame cut the groom's face off (engagements, all widths) */
.svc-strip img[src*="p35-"]{object-position:72% 50%}
.svc-strip img[src*="p30-"]{object-position:42% 50%}
@media (min-width:701px) and (max-width:1100px){.svc-strip{grid-template-columns:repeat(2,1fr)}} /* FIX: 3 + lone orphan tile at 1024 */

/* inquiry */
.cta{color:#F5F2EC}
.cta-media::after{background:linear-gradient(180deg,rgba(20,20,20,.62),rgba(20,20,20,.80));box-shadow:none}
.cta .eyebrow{color:#F5F2EC}.cta .eyebrow::before{background:#F5F2EC}
.cta h2{color:#F5F2EC}.cta h2 em{color:#F5F2EC}
.cta p{color:#EDE9E2}
.cta .inq-more a{color:#F5F2EC;border-bottom-color:rgba(245,242,236,.55)}
.inq{box-shadow:none;border-color:var(--line)}
.inq input,.inq select,.inq textarea{border-color:var(--control)} /* control boundary 1.3:1 -> 3.4:1 */
.inq input:focus,.inq select:focus,.inq textarea:focus{border-color:var(--ink)}
.inq input:focus-visible,.inq select:focus-visible,.inq textarea:focus-visible{box-shadow:0 2px 0 0 var(--ink)}
.inq select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23514D49' stroke-width='1.4'/></svg>")}
.inq option{color:#202020;background:#F5F2EC}
.cta .inq .inq-msg{border-color:var(--ink)}
.inq .btn{background:var(--ink);color:var(--paper)}

/* sticky mobile bar */
.mbar{box-shadow:0 10px 24px -14px rgba(0,0,0,.45)}

/* portfolio */
.mitem::after{background:rgba(20,20,20,0)}.mitem:hover::after{background:rgba(20,20,20,.12)}
.lb{background:rgba(16,16,16,.97)}.lb img{box-shadow:none}.lb button{color:#F5F2EC}.lb-count{color:#D9D3CA}
/* === DESIGN VERSION B — editorial art direction (staged 2026-10-24) ===
   Loaded AFTER the Version A block (same palette). Delete this block to fall back to A. */

/* --- typography: fewer flourishes, steadier hierarchy --- */
.eyebrow{font-size:11px;letter-spacing:.28em}
.eyebrow::before{display:none}
.section-head{margin-bottom:clamp(30px,4vw,48px)}
.section-head h2{font-size:clamp(2rem,4.2vw,3.1rem)}
.section-head p{font-size:15px;line-height:1.6}

/* --- motion: fade only, no slide, no hover zoom, no scroll cue --- */
.reveal{transform:none;transition:opacity .8s ease}
.scrollcue{display:none}
.frame .ph,.svc-strip img,.mitem img{transform:none!important;transition:none}

/* --- buttons: squared, quiet --- */
.btn,.navcta,.mbar,.prose .links a{border-radius:0}
.btn{padding:16px 30px;letter-spacing:.18em}
.btn:hover{transform:none}
.navcta{padding:9px 18px}
.mbar{box-shadow:none;border:1px solid rgba(245,242,236,.18)}

/* --- hero: same photograph, less type on it --- */
.nav:not(.scrolled) .brand,.nav:not(.scrolled) .navlinks a,.nav:not(.scrolled) .menu-btn{text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero h1{font-size:clamp(2.4rem,4.8vw,4.6rem);line-height:1.02}
.hero .h1-kw{font-size:10.5px;letter-spacing:.3em;margin-bottom:1.3rem}
.hero-foot{border-top:0;padding-top:6px}
.hero-meta{font-size:11px;opacity:.85}
.hero-media::after{background:linear-gradient(180deg,rgba(20,20,20,.42) 0%,rgba(20,20,20,0) 15%,rgba(20,20,20,0) 50%,rgba(20,20,20,.72) 100%)}
.hero-vignette{display:none}
/* mobile: photograph first, words below it on ink, nothing over the faces */
@media (max-width:699px){
  .hero{min-height:0;display:block;background:#202020}
  .hero-media{position:relative;inset:auto;aspect-ratio:4/5;overflow:hidden}
  .hero-media picture{display:block;height:100%}
  .hero-media img{object-position:57% 22%}
  .hero-media::after{background:linear-gradient(180deg,rgba(20,20,20,.5) 0%,rgba(20,20,20,0) 20%,rgba(20,20,20,0) 82%,#202020 100%)}
  .hero-inner{padding:6px 20px 44px}
  .hero h1{font-size:clamp(2.1rem,10vw,2.7rem);margin-top:.1em}
  .hero .h1-kw{letter-spacing:.24em}
  .hero-foot{gap:18px}
}
@media (max-width:360px){.hero-media{aspect-ratio:1/1}.hero-media img{object-position:50% 22%}}

/* --- philosophy: the words lead, the portrait supports --- */
.manifesto blockquote{font-size:clamp(1.6rem,3.4vw,2.7rem);line-height:1.2}
@media (max-width:760px){.manifesto .mf-portrait{order:2;max-width:200px}.manifesto .mf-text{order:1}}

/* --- selected work: one composed sequence, captions under the photographs --- */
#gallery .grid{grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,32px);row-gap:clamp(36px,4.5vw,72px);align-items:end}
#gallery figure{background:none;border:0;overflow:visible}
#gallery .frame{background:var(--line-soft)}
#gallery .frame::after{display:none}
#gallery figcaption{position:static;color:var(--ink);padding:14px 0 0;align-items:baseline}
#gallery figcaption .t{font-size:17px;color:var(--ink)}
#gallery figcaption .loc{font-size:10.5px;letter-spacing:.2em;color:var(--ink-soft);opacity:1}
#gallery .g1{grid-column:1/span 7}#gallery .g1 .frame{aspect-ratio:4/5}
#gallery .g3{grid-column:8/span 5}#gallery .g3 .frame{aspect-ratio:3/4}
#gallery .g7{grid-column:1/-1}#gallery .g7 .frame{aspect-ratio:16/9}#gallery .g7 .ph{object-position:50% 55%}
#gallery .g5{grid-column:1/span 5}#gallery .g5 .frame{aspect-ratio:3/4}#gallery .g5 .ph{object-position:50% 50%}
#gallery .g2{grid-column:7/span 6}#gallery .g2 .frame{aspect-ratio:4/5}
#gallery .g6{grid-column:3/span 8}#gallery .g6 .frame{aspect-ratio:3/2}
#gallery .gal-more{margin-top:clamp(48px,6vw,80px)}
@media (max-width:700px){
  #gallery .grid{row-gap:40px}
  #gallery .g1,#gallery .g3,#gallery .g7,#gallery .g5,#gallery .g2,#gallery .g4,#gallery .g6{grid-column:1/-1}
  #gallery .g7 .frame{aspect-ratio:3/2}
  #gallery figcaption{flex-direction:column;align-items:flex-start;gap:4px}
}
@media (min-width:701px) and (max-width:900px){#gallery figcaption{flex-direction:column;align-items:flex-start;gap:3px}}

/* --- experience --- */
.tl-item h3{font-size:clamp(1.25rem,2.1vw,1.7rem)}

/* --- collections: three equal editorial cards; Golden Hour marked by a 2px ink frame, not a black slab --- */
.card{padding:40px 32px 34px;transition:none;border:1px solid var(--line)}
.card:hover{transform:none;border-color:var(--line)}
.card.feat,:root .card.feat{background:var(--card);color:var(--ink);border:2px solid var(--ink)}
.card.feat .c-name,.card.feat .cbtn{color:var(--ink)}
.card.feat .price{color:var(--ink)}
.card.feat li,.card.feat .tag{color:var(--ink-soft)}
.card.feat:hover{border-color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .card.feat{background:var(--card);border-color:var(--ink)}
  :root:not([data-theme="light"]) .card.feat .c-name,:root:not([data-theme="light"]) .card.feat .cbtn,:root:not([data-theme="light"]) .card.feat .price{color:var(--ink)}
  :root:not([data-theme="light"]) .card.feat li,:root:not([data-theme="light"]) .card.feat .tag{color:var(--ink-soft)}}
.card .price{font-size:1.3rem;color:var(--ink)}
.card .cbtn{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}
.card:hover .cbtn .ar{transform:none}
.coll-ess{border-top-color:var(--line)}

/* --- inquiry: Version A treatment kept (revealing the photo duplicated g3 and was off-topic on proposals/engagements) --- */

/* --- engagements & proposals: one lead photograph, natural proportions, no portrait crops of landscape frames --- */
.svc-strip{grid-template-columns:repeat(12,1fr)}
.svc-strip figure{aspect-ratio:3/2;background:none}
.svc-strip figure:first-child:nth-last-child(2){grid-column:1/span 8}
.svc-strip figure:first-child:nth-last-child(2)~figure{grid-column:9/span 4;aspect-ratio:3/4}
.svc-strip figure:first-child:nth-last-child(4){grid-column:1/span 8;grid-row:1}
.svc-strip figure:first-child:nth-last-child(4)~figure:nth-child(4){grid-column:9/span 4;grid-row:1;aspect-ratio:3/4}
.svc-strip figure:first-child:nth-last-child(4)~figure:nth-child(2){grid-column:1/span 6;grid-row:2}
.svc-strip figure:first-child:nth-last-child(4)~figure:nth-child(3){grid-column:7/span 6;grid-row:2}
.svc-strip img[src*="p35-"],.svc-strip img[src*="p30-"]{object-position:50% 50%}
@media (max-width:700px){
  .svc-strip figure,.svc-strip figure~figure{grid-column:1/-1!important;grid-row:auto!important}
  .svc-strip figure:first-child{aspect-ratio:4/5}
  .svc-strip figure:first-child img[src*="p35-"]{object-position:74% 50%}
  .svc-strip figure:first-child img[src*="p12-"]{object-position:56% 50%}
}

/* --- portfolio: row-by-row sequence (reading order = lightbox order), every frame uncropped --- */
.masonry{column-count:auto;display:flex;flex-wrap:wrap;gap:clamp(10px,1.2vw,18px);--rh:clamp(190px,19vw,270px)}
.masonry::after{content:"";flex-grow:9999}
.mitem{margin:0;width:auto;flex:var(--ar) 1 calc(var(--ar) * var(--rh));aspect-ratio:var(--ar);background:var(--line-soft)}
.mitem picture,.mitem img{width:100%;height:100%}
.mitem img{object-fit:cover}
.mitem:hover::after{background:rgba(20,20,20,.08)}
@media (max-width:620px){.mitem{flex:1 1 100%}}
.gal-head h1{font-size:clamp(2.4rem,6vw,4.4rem)}
