/* Booth Noir — inner-page styles. Layout follows the inner pages of the Claude Design
   project (The Booth, Pricing, Gallery, the four occasion pages, Our Story, FAQ, the cost
   guide, Inquiry) and their artboards in Mobile.dc.html, 2026-10-14. Shared chrome (header,
   menu, buttons, slots, sign CTA, footer, reveals) lives in site.css; tokens in tokens.css.
   This file only adds what the inner pages need. */

/* ---------- header over a light page (Site Header, onDark=false) ---------- */
.site-header--light{background:rgba(251,246,240,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:rgba(76,11,12,.14)}
.site-header--light .site-nav a,.site-header--light .reserve-text{color:var(--bn-burgundy-700)}
.site-header--light .site-logo img{filter:brightness(0) saturate(100%) invert(9%) sepia(60%) saturate(4000%) hue-rotate(345deg) brightness(90%)}
.site-header--light .btn--secondary{color:var(--bn-burgundy-700);border-color:var(--bn-burgundy-700)}
.site-header--light .btn--secondary:hover{background:var(--bn-burgundy-700);color:var(--bn-champagne-100)}
.site-header--light .menu-toggle span{background:var(--bn-burgundy-700)}
.site-nav a[aria-current="page"]{opacity:1;box-shadow:inset 0 -1px 0 currentColor}

/* ---------- page heroes ---------- */
.page-hero{padding:176px var(--gutter) 72px}
.page-hero--plain{padding-bottom:64px}
.page-hero--center{text-align:center}
.page-hero--center .eyebrow{justify-content:center}
.page-hero--split .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:end}
.page-hero h1{font-size:var(--text-display-xl);line-height:1.02;margin-top:20px;text-wrap:pretty}
.page-hero--lg h1{font-size:var(--text-display-lg);line-height:1.1}
.page-hero__lead{font-size:20px;max-width:460px;color:var(--text-body)}
.page-hero--center .page-hero__lead{margin:24px auto 0;max-width:var(--container-narrow)}
.page-hero__lead--below{margin-top:24px}
.page-hero--occasion{min-height:80vh;display:flex;align-items:flex-end;padding:176px var(--gutter) 96px;color:var(--text-on-inverse)}
.page-hero--occasion .container{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:end}
.page-hero--occasion h1{color:var(--text-on-inverse)}
.page-hero--occasion .page-hero__lead{color:var(--text-on-inverse-muted)}
.page-hero__meta{margin-top:32px;font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}

/* ---------- generic sections ---------- */
.section{padding:112px var(--gutter)}
.section--surface{background:var(--surface-page)}
.section--tight{padding-top:0}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:72px;align-items:center}
.split--start{align-items:start}
.section-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:end;margin-bottom:64px}
.section-head--close{margin-bottom:56px}
.display-md{font-size:var(--text-display-md)}
.display-sm{font-size:var(--text-display-sm)}
.lead-18{font-size:18px;max-width:460px}
.body-18{margin-top:24px;max-width:460px;font-size:18px}
.body-18 + .body-18{margin-top:16px}
.h2-gap{margin-top:20px}
.actions{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap}
.link-u{text-decoration:underline;text-underline-offset:4px}
.section-note{margin-top:40px;font-size:16px;color:var(--text-muted)}
.pending{display:block;padding:16px 20px;border:1px dashed var(--border-default);font-family:var(--font-sans);font-size:13px;letter-spacing:.04em;line-height:1.6;color:var(--text-muted)}

/* ---------- the booth ---------- */
.booth-image{background:var(--surface-page);padding:0 var(--gutter)}
.booth-image .slot{height:clamp(360px,52vw,720px)}
.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--border-subtle)}
.spec{padding:40px 32px 40px 0;border-bottom:1px solid var(--border-subtle)}
.spec__n{font-family:var(--font-display);font-size:44px;line-height:1;color:var(--bn-tan-500)}
.spec h3{font-size:26px;margin-top:20px}
.spec p{margin-top:12px;max-width:320px;font-size:16px;line-height:1.55}
/* Prints: one photo of a strip in hand. The design drew a 3:2 "4x6" and a 1:3 "2x6" side by side; dropped 2026-10-19 (Adam). */
.prints-figure{aspect-ratio:4/5;width:100%;max-width:440px;justify-self:start}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.pair .slot{aspect-ratio:4/5;min-width:0}
.pair .slot:last-child{margin-top:48px}
.on-inverse h2{color:var(--text-on-inverse)}
.on-inverse .body-18,.on-inverse .lead-18{color:var(--text-on-inverse-muted)}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:64px;align-items:start}
.price-card{background:var(--surface-page);padding:64px 56px;box-shadow:var(--shadow-card)}
.price-card__amount{display:flex;align-items:baseline;gap:16px;margin-top:20px;flex-wrap:wrap}
.price-card__num{font-family:var(--font-display);font-size:clamp(64px,8vw,104px);line-height:1;color:var(--text-heading);letter-spacing:-.02em}
.price-card__unit{font-family:var(--font-display);font-style:italic;font-size:26px;color:var(--text-muted)}
.price-card__body{margin-top:28px;font-size:18px;max-width:420px}
.price-card__body + .price-card__body{margin-top:16px}
.price-card__hold{margin-top:24px;font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.price-card .actions{margin-top:48px}
.price-card__hold{margin-top:28px}
.actions--card{flex-direction:column;align-items:flex-start;gap:14px}
.actions__note{margin:0;font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.included{display:flex;flex-direction:column;margin-top:24px;border-top:1px solid var(--border-subtle)}
.included__row{display:flex;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--border-subtle)}
.included__row .star{color:var(--bn-tan-500)}
.included__t{font-family:var(--font-display);font-size:22px;color:var(--text-heading)}
.included__d{font-size:16px;color:var(--text-muted);margin-top:4px}
.extras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.extra{border:1px solid var(--border-subtle);padding:36px 32px}
.extra h3{font-size:24px}
.extra p{margin-top:12px;font-size:16px;line-height:1.55}

/* ---------- gallery ---------- */
.gallery-hero .container{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px}
.filters{display:flex;gap:28px;flex-wrap:wrap;font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.26em;text-transform:uppercase;color:var(--text-muted)}
.filters button{background:none;border:0;padding:0 0 2px;margin:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;box-shadow:inset 0 -1px 0 transparent;transition:color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}
.filters button:hover{color:var(--text-heading)}
.filters button[aria-pressed="true"]{color:var(--text-heading);box-shadow:inset 0 -1px 0 currentColor}
.gallery{columns:3 280px;column-gap:24px}
.gallery__item{margin:0 0 24px;break-inside:avoid;display:block}
.gallery__item.is-hidden{display:none}
.gallery__item .slot{width:100%}
.gallery__caption{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.gallery__empty{display:none;font-size:17px;color:var(--text-muted)}
.gallery.is-empty + .gallery__empty{display:block}

/* ---------- occasion pages ---------- */
.occ-image{background:var(--surface-page)}
.occ-image .slot{width:100%;height:clamp(360px,48vw,680px)}
.points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.point__n{font-family:var(--font-display);font-size:56px;line-height:1;color:var(--bn-tan-500)}
.point h3{font-size:26px;margin-top:16px}
.point p{margin-top:12px;max-width:320px}
.testimonial--light blockquote{color:var(--text-heading)}
.testimonial--light cite{color:var(--text-muted)}
.testimonial--light .testimonial__more{color:var(--text-muted)}
.testimonial--light .testimonial__more:hover{color:var(--text-heading)}
.details{display:flex;flex-direction:column;border-top:1px solid var(--border-subtle)}
.details__row{padding:24px 0;border-bottom:1px solid var(--border-subtle);display:grid;grid-template-columns:140px 1fr;gap:16px}
.details__k{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);padding-top:4px}
.details__v{font-size:17px}

/* ---------- our story ---------- */
.story{background:var(--surface-page);padding:0 var(--gutter) 128px}
.story__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:72px;align-items:start}
.story__portrait{max-width:480px;width:100%;aspect-ratio:2/3;justify-self:center;position:sticky;top:100px}
.story__text{max-width:560px;font-size:19px;line-height:1.65;display:flex;flex-direction:column;gap:28px}
.story__lead{font-family:var(--font-display);font-size:28px;line-height:1.3;color:var(--text-heading)}
.story__sign{font-family:var(--font-script);font-size:40px;line-height:1.1;color:var(--text-heading);margin-top:8px}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:48px}
.principle h3{font-size:28px}
.principle p{margin-top:12px;max-width:320px}

/* ---------- faq ---------- */
.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:64px;align-items:start}
.faq-aside{max-width:320px}
.faq-aside p{font-size:18px}
.faq-aside .actions{margin-top:32px}
.faq-list{border-top:1px solid var(--border-subtle)}
.faq-list details{border-bottom:1px solid var(--border-subtle)}
.faq-list summary{cursor:pointer;list-style:none;padding:28px 0;display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-family:var(--font-display);font-size:24px;line-height:1.2;color:var(--text-heading)}
.faq-list summary::-webkit-details-marker{display:none}
.faq__state{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);flex:none}
.faq__state::after{content:"Open"}
details[open] .faq__state::after{content:"Close"}
.faq-list details p{padding:0 0 32px;max-width:620px;font-size:17px}
.faq-list details p a{text-decoration:underline;text-underline-offset:4px}

/* ---------- articles (the cost guide) ---------- */
.article{background:var(--surface-page)}
.article__hero{padding:176px var(--gutter) 64px}
.article__hero h1{font-size:var(--text-display-lg);line-height:1.1;margin-top:20px;text-wrap:pretty}
.article__image{padding:0 var(--gutter)}
.article__image .slot{height:clamp(300px,42vw,560px)}
.article__body{padding:96px var(--gutter) 128px}
.prose{max-width:var(--container-narrow);margin:0 auto;font-size:19px;line-height:1.65;display:flex;flex-direction:column;gap:28px}
.prose h2{font-size:var(--text-display-sm);margin-top:8px}
.prose h2 + h2{margin-top:0}
.prose a{text-decoration:underline;text-underline-offset:4px}
.prose em{font-style:italic}
.rows{margin:16px 0;border-top:1px solid var(--border-subtle)}
.row{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--border-subtle)}
.row__range{font-family:var(--font-display);font-size:28px;line-height:1.1;color:var(--text-heading)}
.row__name{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-top:8px}
.row p{font-size:17px}
.qlist{display:flex;flex-direction:column;border-top:1px solid var(--border-subtle);counter-reset:q}
.qlist__item{display:flex;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border-subtle)}
.qlist__item .star{color:var(--bn-tan-500)}
.qlist__item span:last-child{font-size:18px}

/* ---------- reserve (the inquiry form) ---------- */
.inquiry{padding-top:76px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:calc(100vh - 76px)}
.inquiry__side{display:flex;flex-direction:column;align-items:center;padding:72px var(--gutter)}
.inquiry__panel{background-position:left bottom;padding:96px var(--gutter);display:flex;flex-direction:column;justify-content:space-between;gap:64px;color:var(--text-on-inverse)}
.inquiry__panel h1{font-size:var(--text-display-lg);line-height:1.1;margin-top:16px;color:var(--text-on-inverse);text-wrap:pretty}
.inquiry__lead{font-size:20px;margin-top:24px;max-width:420px;color:var(--text-on-inverse-muted)}
.inquiry__facts{display:grid;grid-template-columns:1fr 1fr;gap:32px;font-size:15px;line-height:1.6;color:var(--text-on-inverse-muted)}
.inquiry__facts .eyebrow{margin-bottom:8px}
.inquiry__facts a{color:inherit}
.inquiry__form{width:100%;max-width:620px;padding:56px 56px 48px;display:flex;flex-direction:column;gap:36px;background:var(--surface-page);box-shadow:var(--shadow-card)}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field__control{position:relative}
.field__mark{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--bn-burgundy-700);pointer-events:none}
.field--date input{padding-right:32px}
.field--date input::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;width:44px;height:100%;opacity:0;cursor:pointer}
.field--date input:invalid{color:var(--text-subtle)}
.field label,.field__label{font-family:var(--font-sans);font-size:13px;letter-spacing:.04em;color:var(--text-muted);font-weight:var(--weight-regular)}
.field__opt{color:var(--text-subtle);font-size:12px;letter-spacing:.04em;margin-left:6px}
.form-group{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:24px}
.form-group + .form-group{padding-top:32px;border-top:1px solid var(--border-subtle)}
.form-group__title{display:flex;align-items:baseline;gap:16px;padding:0;margin-bottom:4px}
.form-group__num{font-family:var(--font-display);font-size:40px;line-height:1;color:var(--bn-tan-500)}
.form-group__name{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.form-sentence{margin:0 0 4px;font-family:var(--font-display);font-style:italic;font-size:24px;line-height:1.3;color:var(--text-heading);text-wrap:pretty}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.chip{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1px solid var(--border-default);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:13px;letter-spacing:.04em;color:var(--text-body);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip:hover{border-color:var(--bn-burgundy-700)}
.chip:has(input:checked){background:var(--bn-burgundy-700);border-color:var(--bn-burgundy-700);color:var(--bn-champagne-100)}
.chip:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}
.form-submit{display:flex;flex-direction:column;gap:16px;align-items:stretch;text-align:center;margin-top:4px;padding-top:32px;border-top:1px solid var(--border-subtle)}
.form-submit .form-note{max-width:none}
.inquiry__source{margin-top:36px;padding-top:28px;border-top:1px solid var(--border-subtle)}
.inquiry__facts--after{display:none}
.field input,.field select,.field textarea{width:100%;font-family:var(--font-serif);font-size:18px;line-height:1.4;color:var(--text-body);background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0;height:var(--control-h-md);-webkit-appearance:none;appearance:none;padding:0;margin:0;outline:none;transition:border-color var(--duration-fast) var(--ease-out)}
.field textarea{height:88px;padding-top:10px;resize:vertical}
.field select{-webkit-appearance:none;appearance:none;padding-right:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234C0B0C' stroke-width='1'/%3E%3C/svg%3E") no-repeat right center;cursor:pointer}
.field select:invalid,.field select option[value=""]{color:var(--text-subtle)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-subtle);opacity:1}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--bn-burgundy-700)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none}
.field__hint{font-family:var(--font-sans);font-size:12px;letter-spacing:.04em;color:var(--text-subtle)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin:0;font-size:16px;color:var(--text-muted);max-width:420px}
.form-error{display:none;font-size:16px;color:var(--text-heading);max-width:420px}
.form-error.is-visible{display:block}
.inquiry__done{padding:48px 0}
.inquiry__done h2{font-size:var(--text-display-md);margin-top:16px}
.inquiry__done p{margin-top:20px;font-size:18px;max-width:420px}
.inquiry__done a{text-decoration:underline;text-underline-offset:4px}
.text-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}

/* ---------- sign CTA on a ground ---------- */
.sign.bn-ground-limewash{background:var(--bn-tan-300) url("../assets/texture-limewash-light.jpg") repeat;background-size:512px 512px}
.sign.bn-ground-burgundy{background:var(--bn-burgundy-700) url("../assets/texture-limewash-burgundy.jpg") repeat left bottom;background-size:1024px 1024px}
/* the burgundy sign sits directly on the burgundy footer (Pricing, Weddings, Corporate, Brand events, Private parties), and so does the burgundy panel on Reserve. Same tile, sign anchored to its bottom edge and footer to its top, so the seamless texture runs through the join without a visible restart. */
.sign--inverse h2{color:var(--text-on-inverse)}
.sign--inverse .sign__script{color:var(--bn-tan-300)}
.sign--inverse .sign__note{color:var(--text-on-inverse-muted)}

/* ---------- phones ---------- */
@media (max-width:767px){
  .page-hero{padding:112px 28px 40px}
  .page-hero--plain{padding-bottom:24px}
  .page-hero--split .container{grid-template-columns:1fr;gap:20px}
  .page-hero h1{font-size:48px;margin-top:16px}
  .page-hero--lg h1{font-size:40px;line-height:1.05}
  .page-hero__lead{font-size:18px;max-width:none}
  .page-hero--center .page-hero__lead{margin-top:20px}
  .page-hero--occasion{min-height:560px;padding:124px 28px 56px}
  .page-hero--occasion h1{font-size:44px}
  .page-hero--occasion .page-hero__lead{font-size:17px}
  .page-hero__meta{margin-top:20px;font-size:10px}
  .section{padding:64px 28px}
  .split{grid-template-columns:1fr;gap:40px}
  .section-head{grid-template-columns:1fr;gap:16px;margin-bottom:40px}
  .display-md{font-size:34px;line-height:1.1}
  .lead-18,.body-18{font-size:17px;max-width:none}
  .actions{flex-direction:column;gap:12px}
  .actions .btn{width:100%}
  .booth-image{padding:0}
  .booth-image .slot{height:460px}
  .specs{grid-template-columns:1fr;margin-top:28px}
  .spec{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:24px 0}
  .spec__n{font-size:28px}
  .spec h3{font-size:22px;margin-top:0}
  .spec p{grid-column:2;font-size:15px;margin-top:8px;max-width:none}
  .pair{gap:16px}
  .pair .slot:last-child{margin-top:32px}
  .section--pricing{padding:48px 20px 64px}
  .price-grid{gap:48px}
  .price-card{padding:40px 28px}
  .price-card__amount{flex-direction:column;align-items:flex-start;gap:8px}
  .price-card__num{font-size:72px}
  .price-card__unit{font-size:22px}
  .price-card__body{margin-top:20px;font-size:16px}
  .price-card .actions{margin-top:36px}
  .actions--card{align-items:stretch}
  .actions__note{text-align:center}
  .included-wrap{padding:0 8px}
  .included__row{gap:14px;padding:14px 0}
  .included__t{font-size:19px}
  .included__d{font-size:15px;margin-top:2px}
  .extras{grid-template-columns:1fr;gap:16px}
  .extra{padding:28px 24px}
  .gallery-hero .container{gap:28px}
  .filters{gap:20px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none;width:100%;padding-bottom:4px}
  .filters::-webkit-scrollbar{display:none}
  .section--gallery{padding:16px 20px 64px}
  .gallery{columns:2;column-gap:12px}
  .gallery__item{margin-bottom:12px}
  .gallery__caption{margin-top:6px;font-size:10px;letter-spacing:.2em}
  .gallery__caption span:last-child{display:none}
  .occ-image .slot{height:300px}
  .points{grid-template-columns:1fr;gap:32px}
  .point__n{font-size:36px}
  .point h3{font-size:22px;margin-top:12px}
  .point p{font-size:15px;line-height:1.5;margin-top:8px;max-width:none}
  .testimonial--occasion .slot{display:none}
  .details__row{grid-template-columns:1fr;gap:8px}
  .story{padding:0 28px 64px}
  .story__grid{gap:40px}
  .story__portrait{position:static;max-width:none}
  .story__text{font-size:17px;gap:22px;max-width:none}
  .story__lead{font-size:24px}
  .story__sign{font-size:36px}
  .principles{grid-template-columns:1fr;gap:32px;margin-top:32px}
  .principle h3{font-size:26px}
  .principle p{font-size:16px;margin-top:8px;max-width:none}
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .faq-aside{order:2;max-width:none}
  .faq-list summary{padding:20px 0;font-size:20px;gap:16px}
  .faq__state{font-size:10px}
  .faq-list details p{padding-bottom:24px;font-size:16px}
  .article__hero{padding:112px 28px 32px}
  .article__hero h1{font-size:38px;line-height:1.05}
  .article__image{padding:0}
  .article__image .slot{height:260px}
  .article__body{padding:48px 28px 64px}
  .prose{font-size:17px;gap:20px}
  .prose h2{font-size:28px}
  .row{grid-template-columns:1fr;gap:10px;padding:20px 0}
  .row__range{font-size:26px}
  .row__name{font-size:10px;margin-top:4px}
  .row p{font-size:15px;line-height:1.5}
  .qlist__item{gap:14px;padding:14px 0}
  .qlist__item span:last-child{font-size:16px}
  .inquiry{padding-top:64px;grid-template-columns:1fr;min-height:0}
  .inquiry__panel{padding:40px 28px 36px;gap:0}
  .inquiry__panel h1{font-size:36px;line-height:1.05;margin-top:10px}
  .inquiry__lead{font-size:17px;margin-top:12px}
  .inquiry__panel .inquiry__facts{display:none}
  .inquiry__side{padding:24px 20px 8px}
  .inquiry__facts--after{display:grid;grid-template-columns:1fr;gap:20px;padding:24px 28px 48px;font-size:15px;line-height:1.6;color:var(--text-muted)}
  .inquiry__facts--after .eyebrow{margin-bottom:6px}
  .inquiry__facts--after a{color:inherit}
  .inquiry__form{padding:32px 24px 28px;gap:28px;max-width:none}
  .form-group__num{font-size:32px}
  .form-sentence{font-size:21px}
  .form-group{gap:20px}
  .form-group + .form-group{padding-top:24px}
  .form-row{grid-template-columns:1fr;gap:20px}
  .form-submit{padding-top:24px}
  .inquiry__form .btn{width:100%}
  .inquiry__done{padding:16px 0 0}
}

@media (prefers-reduced-motion:reduce){
  .filters button,.field input,.field select,.field textarea{transition:none}
}

/* ---------- the experience ---------- */
.page-hero--exp{min-height:72vh}
.step__n{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--bn-tan-500)}
.step .slot{aspect-ratio:4/5;max-width:520px;width:100%;justify-self:center}
.step--flip .slot{order:-1}
.step .pair{max-width:520px;width:100%;justify-self:center}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:40px;max-width:460px}
.fact{border-top:1px solid var(--border-subtle);padding-top:14px}
.fact__k{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.fact__v{font-family:var(--font-display);font-size:22px;color:var(--text-heading);margin-top:6px}
.occasions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px;border-top:1px solid rgba(255,235,220,.3)}
.occasions a{display:block;padding:32px 24px 32px 0;border-bottom:1px solid rgba(255,235,220,.3);color:var(--text-on-inverse)}
.occasions a:hover .occasions__t{color:var(--bn-white)}
.occasions__t{font-family:var(--font-display);font-size:30px;line-height:1.15;transition:color var(--duration-fast) var(--ease-out)}
.occasions__d{font-size:16px;color:var(--text-on-inverse-muted);margin-top:8px}

/* ---------- journal ---------- */
.featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:end;color:inherit}
.featured .slot{height:clamp(300px,36vw,520px)}
.featured__text{padding-bottom:16px}
.featured__meta{font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.featured h2{font-size:var(--text-display-md);margin-top:16px;text-wrap:pretty;transition:color var(--duration-fast) var(--ease-out)}
.featured:hover h2{color:var(--text-link-hover)}
.featured p{margin-top:20px;max-width:460px;font-size:18px;color:var(--text-body)}
.featured__read{display:inline-block;margin-top:24px;padding-bottom:2px;font-family:var(--font-sans);font-size:var(--text-eyebrow);letter-spacing:.22em;text-transform:uppercase;color:var(--text-heading);box-shadow:inset 0 -1px 0 currentColor}
.section--journal{padding:0 var(--gutter) 128px}

@media (max-width:767px){
  .page-hero--exp{min-height:560px}
  .step__n{font-size:48px}
  .step .slot,.step .pair{max-width:none}
  .step--flip .slot{order:0}
  .facts{gap:20px 24px;margin-top:32px;max-width:none}
  .occasions{grid-template-columns:1fr;margin-top:20px}
  .occasions a{padding:20px 0}
  .occasions__t{font-size:26px}
  .occasions__d{font-size:15px;margin-top:4px}
  .featured{gap:20px}
  .featured .slot{height:300px}
  .featured h2{font-size:30px;line-height:1.1;margin-top:10px}
  .featured p{font-size:16px;margin-top:12px}
  .section--journal{padding:0 28px 64px}
}

/* ---------- item grids: explicit column counts so a group never leaves one orphan ----------
   Four items: 4 across, then 2x2 (tablet), then 1 (phone). Three items: 3 across down to tablet (the text is short), then 1 on phones.
   Six items (specs): 3 across, then 2x3, then 1. Two-item split grids keep auto-fit; they can only go 2 to 1. */
@media (max-width:1023px){
  .extras{grid-template-columns:repeat(2,minmax(0,1fr))}
  .occasions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .specs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .extras,.specs{grid-template-columns:1fr}
  .occasions{grid-template-columns:1fr}
}

/* ---------- the booth: backdrop, one photo (2026-10-19) ---------- */
/* The design drew two 4:5 slots (black, white). No photo of the black backdrop exists, so the white one stands alone at the pair's width. */
.backdrop-figure{aspect-ratio:4/5;width:100%;max-width:440px;justify-self:end}
@media (max-width:767px){.backdrop-figure,.prints-figure{max-width:none;justify-self:stretch}}
