/* MIDNIGHT GARDEN ATELIER — production art direction, 2026 */
:root {
  --bone: #f2ede3;
  --bone-deep: #e5ded2;
  --paper: #201f1c;
  --ink: #f2ede3;
  --ink-soft: #c4bcaf;
  --ink-faint: #a49c90;
  --line: rgba(242, 237, 227, .2);
  --line-strong: rgba(242, 237, 227, .42);
  --oxblood: #e4a77d;
  --oxblood-soft: #f0c19e;
  --gold: #e4a77d;
  --white: #fffaf1;
  --pad-x: clamp(22px, 6vw, 100px);
  --pad-y: clamp(76px, 10vw, 144px);
  --maxw: 1600px;
  --space-unit: 8px;
  --ease-studio: cubic-bezier(.2, .75, .2, 1);
}

html { background: #151412; scroll-padding-top: 92px; }
body { color: var(--bone); background: #151412; }
body::before { display: none; }
::selection { color: #151412; background: var(--oxblood); }

.skip { color:#151412; background:var(--bone); }
.site-head { position:sticky; top:0; z-index:80; background:rgba(21,20,18,.94); border-bottom:1px solid rgba(242,237,227,.12); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); transition:background .2s ease,border-color .2s ease; }
.site-head.is-solid { background:rgba(21,20,18,.98); border-color:rgba(242,237,227,.2); }
.site-head .bar { max-width:1600px; min-height:84px; padding:12px var(--pad-x); }
.wordmark { color:var(--bone); }
.wordmark .brand-signature { filter:brightness(0) invert(1); }
.brand-by { color:var(--bone); }
.nav a { color:rgba(242,237,227,.78); font-size:.7rem; letter-spacing:.15em; }
.nav a:hover,.nav a[aria-current="page"] { color:var(--bone); }
.nav a::after { background:var(--oxblood); }
.site-head .btn { padding:.8rem 1.2rem !important; border-color:var(--line-strong); color:var(--bone); }
.site-head .btn:hover { color:#151412; background:var(--bone); border-color:var(--bone); }
.site-head .btn:focus-visible,.btn:focus-visible,.link:focus-visible,.nav a:focus-visible { outline:2px solid var(--oxblood); outline-offset:4px; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.nav-toggle { border-color:var(--line-strong); }
.nav-toggle span { background:var(--bone); }

h1,h2,h3,h4,.display,.h-xl,.h-l,.h-m { color:var(--bone); }
.display em,.h-xl em,.h-l em { color:var(--oxblood); }
.eyebrow { color:var(--oxblood); font-size:.68rem; letter-spacing:.2em; line-height:1.5; }
.eyebrow.is-neutral,.muted,.fine { color:var(--ink-soft); }
.lede { color:var(--ink-soft); }
.section { background:transparent; }
.section[style*="background"],.section[style*="border-top"] { background:#1d1c19 !important; border-color:var(--line) !important; }
.btn { color:#151412; background:var(--bone); border-color:var(--bone); letter-spacing:.11em; transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.btn:hover { color:#151412; background:var(--oxblood); border-color:var(--oxblood); }
.btn:active { transform:translateY(1px); }
.btn.is-ghost { color:var(--bone); background:transparent; border-color:var(--line-strong); }
.btn.is-ghost:hover { color:#151412; background:var(--bone); border-color:var(--bone); }
.btn.is-light { color:#151412; background:var(--bone); border-color:var(--bone); }
.btn.is-light:hover { color:#151412; background:var(--oxblood); border-color:var(--oxblood); }
.link { color:var(--bone); }
.link::after { background:var(--oxblood); }
.plate { background:#1c1b18; border:0; border-top:1px solid var(--line-strong); padding:26px 0 0; }
.plate::after { display:none; }
.wall-label { border-color:var(--line); }
.wall-label .t { color:var(--bone); }
.wall-label .m { color:var(--ink-soft); }
.wall-label .n { color:var(--oxblood); }
.rule { background:var(--line); }
.rule--x { background:var(--oxblood); }
.page-head { padding-top:clamp(34px,6vw,84px); padding-bottom:clamp(38px,6vw,84px); background:#151412; }
.page-head .crumb,.crumb { color:var(--ink-soft); }
.page-head .lede { max-width:58ch; }
.wedding-page-hero { min-height:min(780px,calc(100svh - 84px)); max-width:1600px; margin:0 auto; padding:clamp(38px,6vw,90px) var(--pad-x); display:grid; grid-template-columns:minmax(300px,.84fr) minmax(430px,1.16fr); gap:clamp(40px,8vw,126px); align-items:center; }
.wedding-page-copy .crumb { margin:0 0 44px; color:var(--ink-soft); font-size:.72rem; }
.wedding-page-copy .crumb span { margin:0 8px; color:var(--oxblood); }
.wedding-page-copy .display { font-size:clamp(4.1rem,6.8vw,7.2rem); line-height:.89; letter-spacing:-.04em; }
.wedding-page-copy .display em { color:var(--oxblood); }
.wedding-page-copy .lede { max-width:39ch; margin:25px 0 27px; font-family:var(--sans); font-size:1rem; line-height:1.7; }
.wedding-page-copy .cta-row { gap:28px; flex-wrap:wrap; }
.wedding-page-copy .link { font-size:.66rem; }
.wedding-page-index { margin:38px 0 0; color:var(--ink-faint); font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; }
.wedding-page-image { position:relative; height:min(70vh,660px); min-height:470px; margin:0; overflow:hidden; background:#211f1b; }
.wedding-page-image img { width:100%; height:100%; object-fit:cover; }
.wedding-page-image figcaption { position:absolute; left:0; right:0; bottom:0; padding:54px 20px 18px; color:var(--bone); background:linear-gradient(transparent,rgba(10,10,9,.82)); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.weddings-page .editorial { row-gap:clamp(44px,7vw,88px); }
.weddings-page .editorial figure { min-width:0; }
.weddings-page .editorial .frame { overflow:hidden; }
.weddings-page .editorial .frame img { transition:transform .8s var(--ease-studio); }
.weddings-page .editorial figure:hover .frame img { transform:scale(1.025); }
.sec-head { border-bottom-color:var(--line); }
.press-band,.spotlight { background:#1d1c19; }
.meta { border-color:var(--line); }
.meta .k,.meta .v { color:var(--ink-soft); }
.meta .v strong { color:var(--bone); }
.list-row { border-color:var(--line); }
.list-row .q,.list-row .q strong { color:var(--bone); }
.list-row .m,.list-row .num { color:var(--ink-soft); }
.field label { color:var(--ink-soft); }
.field input,.field select,.field textarea { color:var(--bone); background:#201f1c; border-color:var(--line-strong); color-scheme:dark; }
.field input::placeholder,.field textarea::placeholder { color:#a9a194; opacity:1; }
.field input:focus,.field select:focus,.field textarea:focus { outline:2px solid var(--oxblood); outline-offset:2px; border-color:var(--oxblood); background:#201f1c; }
.field select option { color:var(--bone); background:#201f1c; }
.qa { border-color:var(--line); }
.qa summary { color:var(--bone); }
.qa summary:focus-visible { outline:2px solid var(--oxblood); outline-offset:3px; }
.qa p { color:var(--ink-soft); }
.pull { color:var(--bone); }
.pull cite,.pull .mark { color:var(--ink-soft); }
.press-list span { color:var(--bone); border-color:var(--line); }
.grid { gap:clamp(32px,5vw,72px); }
.split { gap:clamp(44px,8vw,128px); }
.cta-row { display:flex; align-items:center; flex-wrap:wrap; column-gap:28px; row-gap:18px; }
.cta-row > .link { padding:10px 0; }
.frame { background:#211f1b; }
.frame figcaption { color:var(--bone); background:linear-gradient(transparent,rgba(12,12,11,.86)); }
.ph { color:var(--ink-soft); background:#211f1b; }

/* The first impression: the cake and couple lead, not a row of logos. */
.atelier-hero { position:relative; min-height:min(790px,calc(100svh - 84px)); max-width:1600px; margin:0 auto; padding:clamp(42px,4vw,66px) var(--pad-x) clamp(66px,9vw,128px); display:grid; grid-template-columns:minmax(300px,.78fr) minmax(430px,1.22fr); gap:clamp(40px,7vw,108px); align-items:center; isolation:isolate; overflow:hidden; }
.atelier-hero::before { content:""; position:absolute; z-index:-1; width:min(46vw,690px); aspect-ratio:1; left:-18%; bottom:-55%; border:1px solid rgba(228,167,125,.2); border-radius:50%; box-shadow:0 0 0 50px rgba(228,167,125,.025),0 0 0 100px rgba(228,167,125,.02); }
.atelier-hero-copy { position:relative; z-index:2; padding:4vh 0; animation:studio-arrive .85s var(--ease-studio) both; }
.atelier-hero-copy .eyebrow { margin-bottom:26px; }
.atelier-hero .display { max-width:14ch; font-size:clamp(4.3rem,6vw,6.6rem); line-height:.91; letter-spacing:-.04em; text-wrap:balance; }
.atelier-hero .display em { display:inline-block; color:var(--bone); }
.sugar-flower-flourish { display:block; width:clamp(112px,10vw,148px); height:auto; overflow:visible; margin:13px 0 0 5px; color:var(--oxblood); }
.sugar-flower-flourish .flourish-stem,.sugar-flower-flourish .flourish-leaf,.sugar-flower-flourish .flourish-blossom { fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.sugar-flower-flourish .flourish-center { fill:currentColor; }
.atelier-hero-lede { max-width:38ch; margin:30px 0 28px; color:var(--ink-soft); font-size:1.08rem; line-height:1.65; }
.atelier-hero .cta-row { align-items:center; gap:28px; }
.atelier-hero .link { font-size:.69rem; }
.hero-note { margin:38px 0 0; color:var(--ink-faint); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.atelier-hero-image { position:relative; height:min(72vh,690px); min-height:490px; margin:0; background:#221f1b; overflow:hidden; animation:studio-arrive 1s .12s var(--ease-studio) both; }
.atelier-hero-image::after { content:""; position:absolute; inset:0; pointer-events:none; border:1px solid rgba(242,237,227,.2); }
.atelier-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 46%; }
.atelier-hero-image figcaption,.home-wedding-image figcaption { position:absolute; z-index:1; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:20px; padding:48px 24px 18px; background:linear-gradient(transparent,rgba(10,10,9,.84)); color:rgba(242,237,227,.88); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.atelier-index { position:absolute; right:20px; top:20px; display:flex; gap:12px; align-items:center; color:var(--bone); font-size:.66rem; letter-spacing:.12em; }
.atelier-index i { color:var(--oxblood); font-style:normal; }
.atelier-scroll { position:absolute; bottom:28px; left:var(--pad-x); display:flex; align-items:center; gap:14px; color:var(--ink-soft); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.atelier-scroll span:last-child { color:var(--oxblood); font-size:1.1rem; animation:arrow-breathe 1.7s ease-in-out infinite; }

/* An interactive, source-faithful wedding moodboard. */
.atmospheres { padding-top:clamp(90px,12vw,170px); padding-bottom:clamp(90px,12vw,170px); }
.atmospheres-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:clamp(42px,6vw,76px); }
.atmospheres-heading h2 { font-size:clamp(3rem,5vw,5rem); line-height:.98; letter-spacing:-.035em; }
.atmospheres-heading h2 em { color:var(--oxblood); }
.atmospheres-heading > p { max-width:28ch; margin:0 3vw 8px 0; color:var(--ink-soft); font-family:var(--serif); font-size:1.25rem; line-height:1.4; }
.atmosphere-explorer { min-height:clamp(420px,56vw,710px); display:grid; grid-template-columns:minmax(260px,.63fr) minmax(420px,1.37fr); align-items:stretch; gap:clamp(38px,7vw,104px); }
.atmosphere-list { display:flex; flex-direction:column; justify-content:center; }
.atmosphere-choice { display:grid; grid-template-columns:36px 1fr 26px; gap:12px; align-items:center; width:100%; padding:20px 0; color:var(--ink-soft); border:0; border-top:1px solid var(--line); text-align:left; background:transparent; transition:color .18s ease,border-color .18s ease; }
.atmosphere-choice:last-of-type { border-bottom:1px solid var(--line); }
.atmosphere-choice:hover,.atmosphere-choice.is-active { color:var(--bone); border-color:var(--oxblood); }
.atmosphere-choice:focus-visible { outline:2px solid var(--oxblood); outline-offset:5px; }
.choice-number { color:var(--ink-faint); font-size:.62rem; font-variant-numeric:tabular-nums; }
.choice-name { font-family:var(--serif); font-size:clamp(1.3rem,2vw,1.8rem); }
.choice-arrow { color:var(--oxblood); opacity:0; transform:translate(-5px,5px); transition:opacity .18s ease,transform .18s ease; }
.atmosphere-choice:hover .choice-arrow,.atmosphere-choice.is-active .choice-arrow { opacity:1; transform:none; }
.atmosphere-caption { min-height:110px; padding:24px 0 0 48px; }
.caption-kicker { color:var(--oxblood); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; }
.atmosphere-caption p { margin:8px 0 10px; color:var(--bone); font-family:var(--serif); font-size:1.15rem; line-height:1.38; }
.atmosphere-caption a { color:var(--ink-soft); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.atmosphere-caption a:hover { color:var(--oxblood); }
.atmosphere-image { position:relative; min-height:440px; margin:0; overflow:hidden; background:#22201c; }
.atmosphere-image img { width:100%; height:100%; min-height:inherit; position:absolute; inset:0; object-fit:cover; transition:opacity .4s ease,clip-path .7s var(--ease-studio),transform .7s var(--ease-studio); clip-path:ellipse(115% 115% at 70% 54%); }
.atmosphere-image img { transform:scale(1.001); }
.atmosphere-image img.is-changing { opacity:.2; clip-path:ellipse(0 0 at 70% 54%); transform:scale(1.035); }
.atmosphere-image::after { content:""; position:absolute; inset:0; pointer-events:none; border:1px solid rgba(242,237,227,.15); }
.atmosphere-image-label { position:absolute; z-index:1; top:20px; left:20px; color:var(--bone); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
.atmosphere-image-label b { color:var(--oxblood); font-weight:600; }
.atmosphere-mark { position:absolute; right:20px; bottom:20px; color:var(--bone); font-family:var(--serif); font-style:italic; font-size:clamp(1.8rem,3.3vw,3.3rem); line-height:.9; text-align:right; text-shadow:0 1px 12px rgba(0,0,0,.28); }

.home-wedding { display:grid; grid-template-columns:minmax(390px,1fr) minmax(360px,.92fr); min-height:680px; align-items:stretch; background:#22201c; }
.home-wedding-image { min-height:620px; position:relative; margin:0; overflow:hidden; }
.home-wedding-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-wedding-copy { align-self:center; padding:clamp(46px,8vw,120px) clamp(36px,8vw,124px); }
.home-wedding-copy .h-xl { max-width:12ch; font-size:clamp(3.1rem,5.4vw,5.4rem); line-height:.96; }
.home-wedding-copy .h-xl em { color:var(--oxblood); }
.home-wedding-copy .lede { margin:24px 0 0; font-family:var(--sans); font-size:1rem; line-height:1.7; }
.home-wedding-note { margin:26px 0 28px; color:var(--oxblood); font-family:var(--serif); font-size:1.28rem; font-style:italic; }
.home-wedding-copy .cta-row { gap:28px; flex-wrap:wrap; }
.home-wedding-copy .link { font-size:.62rem; }

/* Press marks sit directly on the field: no cards, fake paper, or white boxes. */
.press-wall { max-width:1600px; margin:0 auto; padding:58px var(--pad-x) 64px; }
.press-wall--page { max-width:none; background:#1d1c19; }
.press-wall-head { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.press-wall-head .eyebrow { margin:0; }
.press-wall-head a { color:var(--ink-soft); font-size:.62rem; letter-spacing:.11em; text-transform:uppercase; }
.press-wall-note { color:var(--ink-soft); font-family:var(--serif); font-size:1rem; font-style:italic; }
.press-wall-head a:hover { color:var(--oxblood); }
.press-wall-marks { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:center; justify-items:center; column-gap:clamp(22px,5vw,72px); padding:36px 0 0; }
.press-mark { width:100%; min-width:0; height:74px; display:flex; align-items:center; justify-content:center; transition:opacity .18s ease,transform .18s ease; }
.press-mark:hover { opacity:.78; transform:translateY(-2px); }
.press-mark:focus-visible { outline:2px solid var(--oxblood); outline-offset:7px; }
.press-mark img { display:block; width:auto; max-width:100%; height:auto; max-height:66px; object-fit:contain; }
.press-mark.netflix span { color:#e50914; font-family:Arial,sans-serif; font-size:1.35rem; font-weight:700; letter-spacing:.1em; }
.press-mark.food-network img { max-height:68px; }
.press-mark.martha img { max-width:190px; max-height:50px; }
.press-mark.modern-luxury img { max-width:210px; max-height:48px; }
.press-mark.layer-cake img { max-width:70px; max-height:70px; }

/* Keep the cake surprise playful; all interaction stays available without motion. */
.look-twice { padding:clamp(86px,11vw,150px) 0; background:#27231e; color:var(--bone); }
.look-twice::before { color:rgba(228,167,125,.045); }
.look-twice .eyebrow { color:var(--oxblood); }
.look-twice .display { color:var(--bone); }
.look-twice .display em { color:var(--oxblood); }
.look-twice-copy>p:not(.eyebrow):not(.look-answer) { color:var(--ink-soft); }
.guess-option { color:var(--bone); border-color:var(--line-strong); background:transparent; transition:background .18s ease,color .18s ease,border-color .18s ease; }
.guess-option:hover,.guess-option[aria-pressed="true"] { color:#151412; background:var(--oxblood); border-color:var(--oxblood); }
.guess-option:focus-visible,[data-reveal-cake]:focus-visible,[data-next-cake]:focus-visible { outline:2px solid var(--oxblood); outline-offset:4px; }
.look-answer { color:var(--bone); font-family:var(--serif); font-size:1.2rem; }
.look-twice-art { background:#302a23; }
.look-twice-art img { will-change:transform,filter; }
.look-stamp { border-color:var(--oxblood); color:var(--oxblood); }
.look-twice-art img { transition:opacity .18s ease,transform .72s var(--ease-studio),filter .72s var(--ease-studio); }
.look-twice-art.is-revealed img { transform:scale(1.035); filter:saturate(1.08); }
.look-twice-art.is-revealed .look-stamp { animation:studio-stamp .48s cubic-bezier(.18,.9,.25,1.25) both; }
.look-twice .btn.is-light { color:#151412; background:var(--bone); border-color:var(--bone); }
.look-twice .btn.is-light:hover { background:var(--oxblood); border-color:var(--oxblood); }
.look-twice .btn:disabled { color:#bcb4a7; background:#39342d; border-color:#39342d; }
.look-next { color:var(--bone); }
.look-next:hover { color:var(--oxblood); }

.editorial .frame { outline-color:var(--line); }
.editorial .frame::after { color:rgba(242,237,227,.68); }
.art-grid .frame { background:#211f1b; }
.press-layout { border-color:var(--line); }
.press-intro .press-more { color:var(--bone); }
.press-column h3 { color:var(--oxblood); border-color:var(--line); }
.press-column li { border-color:var(--line); }
.press-column strong { color:var(--bone); }
.press-column small { color:var(--ink-soft); }
.press-logo { background:transparent !important; color:var(--bone) !important; }
.press-logo img { max-width:100%; object-fit:contain; }

.site-foot { background:#0e0e0d; border-top:1px solid var(--line); color:var(--bone); }
.site-foot .foot-brand .mark,.site-foot h4 { color:var(--bone); }
.site-foot p,.site-foot a,.site-foot .fine { color:var(--ink-soft); }
.site-foot a:hover { color:var(--oxblood); }
.site-foot .foot-base { border-color:var(--line); }
.socials a { color:var(--ink-soft); }
.lb { background:rgba(9,9,8,.97); }
.lb .close,.lb .nav { color:var(--bone); }
.lb figcaption { color:var(--bone); }

/* Native cross-document transition: progressive enhancement, no SPA takeover. */
@keyframes studio-arrive { from { opacity:0; transform:translateY(14px); clip-path:inset(0 0 12% 0); } to { opacity:1; transform:none; clip-path:inset(0); } }
@keyframes studio-enter { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@keyframes studio-leave { to { opacity:0; transform:translateY(-4px); } }

@keyframes studio-stamp { from { opacity:0; transform:rotate(-16deg) scale(.62); } to { opacity:1; transform:rotate(-7deg) scale(1); } }
@keyframes arrow-breathe { 0%,100% { transform:translateY(-2px); } 50% { transform:translateY(4px); } }

@media (max-width:1080px) {
  .atelier-hero { grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr); gap:36px; }
  .atelier-hero .display { font-size:clamp(3.8rem,6vw,5.8rem); }
  .atmosphere-explorer { gap:40px; }
  .home-wedding { grid-template-columns:1fr 1fr; }
  .home-wedding-copy { padding:48px; }
  .wedding-page-hero { grid-template-columns:minmax(280px,.9fr) minmax(350px,1.1fr); gap:36px; }
  .wedding-page-copy .display { font-size:clamp(3.9rem,7.3vw,6rem); }
}
@media (max-width:900px) {
  .site-head,.site-head.is-solid { backdrop-filter:none; -webkit-backdrop-filter:none; }
  .nav { top:84px; bottom:0; }
}
@media (max-width:760px) {
  .site-head .bar { min-height:72px; }
  .nav { top:72px; bottom:0; width:100vw; background:#151412; border-top:1px solid var(--line); }
  .nav a { color:var(--bone); }
  .atelier-hero { min-height:auto; padding-top:46px; padding-bottom:78px; display:flex; flex-direction:column; align-items:stretch; gap:30px; }
  .atelier-hero-copy { padding:0; }
  .atelier-hero .display { max-width:10ch; font-size:clamp(4.1rem,15vw,6rem); }
  .atelier-hero-lede { margin:24px 0; font-size:1rem; }
  .hero-note { margin-top:25px; font-size:.57rem; }
  .atelier-hero-image { height:auto; min-height:0; aspect-ratio:4/4.8; }
  .atelier-hero-image img { position:absolute; }
  .atelier-scroll { bottom:24px; }
  .atmospheres { padding-top:86px; padding-bottom:88px; }
  .atmospheres-heading { display:block; margin-bottom:32px; }
  .atmospheres-heading h2 { font-size:clamp(2.85rem,11vw,4rem); }
  .atmospheres-heading > p { margin:22px 0 0; }
  .atmosphere-explorer { display:flex; flex-direction:column-reverse; gap:25px; min-height:0; }
  .atmosphere-image { width:100%; min-height:0; aspect-ratio:4/3.4; }
  .atmosphere-image img { min-height:0; }
  .atmosphere-choice { padding:16px 0; }
  .atmosphere-caption { min-height:90px; padding:20px 0 0 48px; }
  .home-wedding { display:flex; flex-direction:column; }
  .home-wedding-image { min-height:0; aspect-ratio:4/4.6; }
  .home-wedding-copy { padding:54px var(--pad-x) 64px; }
  .wedding-page-hero { min-height:auto; padding-top:34px; padding-bottom:60px; display:flex; flex-direction:column; align-items:stretch; gap:32px; }
  .wedding-page-copy .crumb { margin-bottom:32px; }
  .wedding-page-copy .display { font-size:clamp(4.2rem,14vw,6rem); }
  .wedding-page-image { height:auto; min-height:0; aspect-ratio:4/4.7; }
  .wedding-page-image img { position:absolute; inset:0; }
  .home-wedding-copy .h-xl { font-size:clamp(3.1rem,11vw,4.6rem); }
  .press-wall { padding:42px var(--pad-x) 48px; }
  .press-wall-marks { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:22px; column-gap:16px; padding-top:25px; }
  .press-mark { height:60px; }
  .press-mark img { max-height:52px; }
  .press-mark.food-network img { max-height:54px; }
  .press-mark.layer-cake img { max-height:60px; }
  .look-twice-layout { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .site-head .bar { padding-left:18px; padding-right:18px; }
  .wordmark .brand-signature { width:clamp(150px,44vw,190px); }
  .site-head .bar>.btn { padding:.62rem .78rem !important; font-size:.62rem; letter-spacing:.1em; }
  .atelier-hero { padding-left:20px; padding-right:20px; }
  .atelier-hero .display { font-size:clamp(3.75rem,16vw,5.25rem); }
  .atelier-hero .cta-row { align-items:flex-start; flex-direction:column; row-gap:19px; }
  .atelier-hero-image { aspect-ratio:4/4.7; }
  .wedding-page-hero { padding-left:20px; padding-right:20px; }
  .wedding-page-copy .display { font-size:clamp(3.9rem,15vw,5.25rem); }
  .wedding-page-copy .cta-row { align-items:flex-start; flex-direction:column; }
  .atelier-hero-image figcaption,.home-wedding-image figcaption { padding:40px 15px 13px; font-size:.54rem; }
  .atmosphere-mark { font-size:2rem; }
  .home-wedding-copy .cta-row { align-items:flex-start; flex-direction:column; }
  .press-wall-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .press-wall-marks { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .look-twice-controls { gap:18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Editorial refinements: let Bonne's photographs and voice carry the page. */
.btn,.nav-toggle { border-radius:12px; }
.field input,.field select,.field textarea { border-radius:8px; }
.link { text-underline-offset:.28em; }
.page-head .crumb { position:relative; top:-6px; }
:target { scroll-margin-top:100px; }
.plate { background:transparent; border:0; border-top:1px solid var(--line-strong); padding:24px 0 0; }
.plate::after { display:none; }
.socials { gap:1.5rem; }
.foot-base .socials { margin-right:clamp(12px,2vw,30px); }

.artist-chronology { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(32px,8vw,120px); }
.chronology-entry { display:grid; grid-template-columns:minmax(94px,120px) minmax(0,1fr); align-items:baseline; gap:18px; padding:22px 0; border-top:1px solid var(--line); }
.chronology-entry time { color:var(--oxblood); font-family:var(--serif); font-size:1.45rem; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.chronology-entry p { margin:0; color:var(--ink-soft); line-height:1.55; }
.artist-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,5vw,72px); }
.artist-values .plate { min-width:0; }
.artist-values .eyebrow { margin-bottom:14px !important; }

.press-feature { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:start; gap:clamp(42px,8vw,120px); margin-top:36px; }
.press-feature-photo { min-width:0; margin:0; }
.press-feature-photo a { display:block; overflow:hidden; background:#211f1b; }
.press-feature-photo img { display:block; width:100%; height:auto; aspect-ratio:1466 / 2048; object-fit:cover; object-position:center; transition:transform .7s var(--ease-studio); }
.press-feature-photo a:hover img { transform:scale(1.025); }
.press-feature-photo a:focus-visible { outline:2px solid var(--oxblood); outline-offset:5px; }
.press-feature-photo figcaption { padding-top:14px; color:var(--ink-faint); font-size:.66rem; letter-spacing:.08em; }
.press-feature-copy .eyebrow { margin:0 0 24px; }
.press-feature-copy .display { max-width:10ch; font-size:clamp(3.3rem,5vw,5.8rem); line-height:.95; }
.press-feature-copy .lede { max-width:39ch; margin:24px 0 28px; font-family:var(--sans); font-size:1rem; line-height:1.7; }

.press-ledger { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(32px,8vw,120px); margin:34px 0 0; padding:0; list-style:none; }
.press-ledger li { min-width:0; padding:20px 0; border-top:1px solid var(--line); }
.press-ledger-name { color:var(--bone); font-family:var(--serif); font-size:clamp(1.15rem,1.7vw,1.55rem); line-height:1.3; }
.press-ledger-note { color:var(--ink-faint); font-family:var(--sans); font-size:.72rem; }
.press-mark.press-wordmark { flex-direction:column; gap:0; color:var(--bone); text-align:center; text-decoration:none; }
.press-wordmark.martha .mark-small { font-family:var(--serif); font-size:.62rem; font-weight:600; letter-spacing:.16em; line-height:1.2; text-transform:uppercase; }
.press-wordmark.martha .mark-large { font-family:var(--serif); font-size:2rem; font-weight:400; letter-spacing:-.05em; line-height:1.05; }
.press-wordmark.modern-luxury { flex-direction:row; gap:.45em; font-family:var(--sans); font-size:.94rem; font-weight:400; letter-spacing:.12em; }
.press-wordmark.modern-luxury strong { font-weight:700; letter-spacing:.06em; }
.press-wordmark.layer-cake { color:var(--bone); font-family:var(--serif); font-size:1.4rem; font-style:italic; letter-spacing:-.02em; text-decoration:none; }

@media (max-width:760px) {
  .artist-chronology,.artist-values,.press-ledger { grid-template-columns:1fr; }
  .artist-values { gap:34px; }
  .press-feature { grid-template-columns:1fr; gap:34px; margin-top:28px; }
  .press-feature-photo img { aspect-ratio:1466 / 2048; }
  .press-feature-copy .display { max-width:12ch; }
  .press-ledger { margin-top:24px; }
  .foot-base .socials { margin-right:12px; }
}
