/* Golden Malabar V2 — origin, photography and a restrained editorial rhythm. */
:root {
  --espresso:#191512; --dark:#28211b; --ivory:#f5f1e9; --warm-white:#faf8f4;
  --coffee:#72513b; --accent:#b89a63; --text-primary:#24201d; --text-secondary:#6f675f;
  --border:rgba(36,32,29,.12);
  --green:var(--espresso); --green2:var(--dark); --gold:var(--accent); --gold2:var(--coffee);
  --cream:var(--ivory); --paper:var(--warm-white); --ink:var(--text-primary); --muted:var(--text-secondary); --line:var(--border);
  --sans:'Noto Sans TC',sans-serif; --display:'Cormorant Garamond',Georgia,serif; --serif:var(--sans);
  --section-space:clamp(110px,9vw,150px); --gutter:48px;
}
body { background:var(--ivory); font:400 1rem/1.9 var(--sans); -webkit-font-smoothing:antialiased; }
main,main section,figure { min-width:0; }
h1,h2,h3,h4 { font-family:var(--sans); font-weight:400; letter-spacing:.02em; overflow-wrap:break-word; }
main h1 { font-size:clamp(2.125rem,4.5vw,4rem); line-height:1.35; }
main h2 { font-size:clamp(1.875rem,3.35vw,3rem); line-height:1.5; margin-bottom:28px; }
main h3 { font-size:clamp(1.375rem,2.1vw,1.875rem); line-height:1.6; }
main p { font-size:1rem; line-height:2; letter-spacing:.015em; color:var(--muted); }
.container { width:min(1280px,calc(100% - var(--gutter)*2)); margin-inline:auto; }
.narrow { width:min(800px,calc(100% - var(--gutter)*2)); }
.section,.editorial-lead { padding:var(--section-space) 0; }
.section-cream { background:var(--paper); }
.eyebrow { font:500 .8125rem/1.7 var(--sans); letter-spacing:.16em; color:var(--coffee); margin-bottom:24px; }
.section-head { align-items:flex-end; gap:36px; margin-bottom:48px; }
.section-head h2 { margin-bottom:12px; }
.section-head p { max-width:680px; margin-bottom:0; }
.section-head>.text-link { flex:none; margin-bottom:6px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 26px; background:var(--espresso); border:1px solid var(--espresso); color:var(--paper); border-radius:0; font:400 .875rem/1.5 var(--sans); letter-spacing:.05em; transition:background 300ms,border-color 300ms,color 300ms; }
.btn:hover { background:var(--dark); border-color:var(--dark); transform:none; }
.btn-outline { background:transparent; color:var(--espresso); }
.btn-outline:hover { background:var(--espresso); color:var(--paper); }
.btn-light { background:transparent; border-color:#faf8f466; color:var(--paper); }
.btn-light:hover { background:var(--paper); color:var(--espresso); border-color:var(--paper); }
.btn-gold { background:var(--accent); border-color:var(--accent); color:var(--espresso); }
.btn-gold:hover { background:#a78c5b; border-color:#a78c5b; }
.text-link,.hero-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; border-bottom:1px solid var(--border); font:400 .875rem/1.65 var(--sans); letter-spacing:.035em; transition:color 300ms,border-color 300ms; }
.text-link:hover { color:var(--coffee); border-color:var(--accent); }
button:disabled { cursor:not-allowed; opacity:.5; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.skip-link { position:fixed; top:12px; left:20px; z-index:100; padding:10px 18px; background:var(--paper); color:var(--espresso); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
[id] { scroll-margin-top:110px; }

/* Compact navigation and an expanded reading surface for smaller screens. */
.site-header { position:sticky; top:0; z-index:30; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--border); backdrop-filter:none; transition:background 300ms,color 300ms; }
.site-header.is-scrolled { background:#faf8f4f5; backdrop-filter:blur(8px); }
.home-header { margin-bottom:-89px; background:transparent; color:var(--paper); border-color:#faf8f426; }
.home-header.is-scrolled { color:var(--ink); border-color:var(--border); }
.header-inner { height:88px; display:flex; gap:28px; align-items:center; }
.brand { display:flex; flex-direction:column; gap:0; align-items:flex-start; text-align:left; flex:none; }
.brand-wordmark { font:500 clamp(22px,1.65rem,28px)/1.05 var(--display); letter-spacing:.035em; white-space:nowrap; }
.brand-local { font:400 .75rem/1.7 var(--sans); letter-spacing:.15em; margin-top:6px; }
.nav { display:flex; position:static; width:auto; height:auto; padding:0; margin-left:auto; flex-direction:row; align-items:center; gap:25px; border:0; background:none; box-shadow:none; }
.nav a { position:relative; font-size:.875rem; letter-spacing:.015em; padding:12px 0; min-height:44px; white-space:nowrap; }
.nav a:hover,.header-tools a:hover { color:var(--accent); }
.nav a[aria-current=page]:after { content:''; position:absolute; left:0; right:0; bottom:6px; height:1px; background:var(--accent); }
.header-tools { margin-left:8px; flex:none; }
.header-tools a { display:flex; align-items:center; gap:8px; min-height:44px; min-width:44px; justify-content:center; }
.bag-count { background:none; color:inherit; border-radius:0; font-size:.8125rem; margin:0; }
.menu-toggle { display:none; }

/* Photography leads; type sits on the landscape's shaded foreground. */
.maison-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:max(730px,90svh); height:auto; color:var(--paper); background:var(--espresso); overflow:hidden; }
.maison-hero-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 57%; }
.maison-hero:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(25,21,18,.43),rgba(25,21,18,.07) 85%),linear-gradient(0deg,rgba(25,21,18,.36),transparent 70%); }
.maison-hero-content { padding-top:160px; padding-bottom:90px; }
.maison-hero .eyebrow { color:#eee3cb; margin-bottom:26px; }
.maison-hero h1 { font:400 clamp(4rem,6.1vw,5.125rem)/1.05 var(--display); letter-spacing:-.025em; margin:0 0 30px; max-width:850px; }
.maison-hero p { color:var(--paper); font-size:1rem; margin-bottom:28px; }
.maison-hero .hero-statement { font-size:clamp(1.75rem,2.6vw,2.375rem); line-height:1.55; letter-spacing:.035em; margin-bottom:22px; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:30px; }
.hero-actions .btn { min-width:148px; }
.hero-link { border-color:#faf8f480; color:var(--paper); }
.hero-link:hover { color:#e6d5b2; border-color:var(--accent); }
.hero-location { position:absolute; right:max(48px,calc((100vw - 1280px)/2)); bottom:40px; text-align:right; display:flex; flex-direction:column; gap:6px; }
.hero-location span { font-size:.75rem; letter-spacing:.16em; }
.hero-location small { font-size:.75rem; color:#eee7dc; }

/* Alternating photographs and measured reading columns replace story cards. */
.editorial-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:clamp(50px,7vw,100px); }
.editorial-split.reverse { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.editorial-copy { min-width:0; max-width:560px; }
.editorial-copy p { margin-bottom:23px; }
.editorial-copy .text-link { margin-top:10px; }
.editorial-photo { margin:0; }
.editorial-photo img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:0; }
.cherry-photo img { object-position:65% center; }
.editorial-photo figcaption { font-size:.75rem; color:var(--muted); padding-top:14px; letter-spacing:.04em; }
.home-story { background:var(--ivory); }
.home-origin { background:var(--paper); padding-top:var(--section-space); }
.origin-heading { padding-bottom:56px; }
.origin-heading h2 { font:400 clamp(2.625rem,4.5vw,4rem)/1.15 var(--display); letter-spacing:-.01em; margin-bottom:22px; }
.origin-heading p { max-width:720px; margin:0; }
.origin-landscape { margin:0; }
.origin-landscape img { width:100%; height:clamp(420px,47vw,660px); object-fit:cover; object-position:center 65%; }
.origin-landscape figcaption { width:min(1280px,calc(100% - var(--gutter)*2)); margin:auto; padding:18px 0; display:flex; justify-content:space-between; align-items:center; gap:24px; color:var(--muted); font-size:.8125rem; }
.home-craft { background:var(--ivory); }
.home-care { padding:var(--section-space) 0; background:var(--espresso); color:var(--paper); }
.home-care .eyebrow { color:var(--accent); }
.home-care p { color:#d3ccc1; }
.care-photo { margin:0; }
.care-photo img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.home-care .text-link { color:var(--paper); border-color:#faf8f452; }
.home-care .text-link:hover { color:#d6ba87; border-color:var(--accent); }
.care-film-link { display:block; width:fit-content; min-height:44px; padding-top:20px; font-size:.875rem; color:#d3ccc1; }
.care-film-link:hover { color:var(--paper); text-decoration:underline; text-underline-offset:5px; }
.home-collection { background:var(--paper); }
.home-recognition { background:var(--ivory); }
.recognition-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(48px,8vw,120px); align-items:start; }
.recognition-layout>div>p { max-width:450px; }
.recognition-list a { display:block; border-top:1px solid var(--border); padding:27px 0; }
.recognition-list a:last-child { border-bottom:1px solid var(--border); }
.recognition-list span { font-size:.75rem; letter-spacing:.13em; color:var(--coffee); }
.recognition-list h3 { font-size:1.5rem; margin:12px 0 9px; }
.recognition-list p { font-size:.875rem; margin:0; }
.recognition-list a:hover h3 { color:var(--coffee); }

/* A single image ratio throughout the collection. */
.collection-intro { display:flex; justify-content:space-between; align-items:center; gap:50px; padding:90px 0 60px; }
.collection-intro h1 { margin:0; }
.collection-intro p { max-width:460px; margin:0; }
.collection-intro .breadcrumbs { padding:18px 0 0; }
.collection-section { padding-bottom:90px; }
.shop-toolbar { border-top:1px solid var(--border); padding:20px 0; margin:0 0 30px; }
.filters { gap:28px; }
.filter { border:0; border-bottom:1px solid transparent; padding:10px 0; min-height:44px; font-size:.875rem; background:none; color:var(--muted); }
.filter.active,.filter:hover { background:none; color:var(--ink); border-color:var(--accent); }
.count { font-size:.8125rem; }
.collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:54px 30px; }
.collection-product { min-width:0; }
.collection-image { display:grid; place-items:center; aspect-ratio:1; background:#eeebe5; border-radius:8px; overflow:hidden; }
.collection-image img { width:86%; height:85%; object-fit:contain; mix-blend-mode:multiply; transition:transform 600ms; }
.collection-image:hover img { transform:scale(1.02); }
.collection-caption { padding-top:24px; }
.collection-caption .eyebrow { font-size:.75rem; margin-bottom:13px; letter-spacing:.08em; }
.collection-title { display:block; }
.collection-title h3 { font-size:1.375rem; line-height:1.7; margin:0 0 12px; }
.collection-title .price { display:block; color:var(--ink); font:400 1.125rem/1.8 var(--display); letter-spacing:.02em; margin-bottom:10px; }
.collection-caption p { font-size:.875rem; margin-bottom:18px; }
.collection-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.collection-add { display:inline-flex; gap:8px; border:0; background:none; min-height:44px; padding:10px 0; color:var(--ink); font-size:.875rem; }
.collection-add:hover { color:var(--coffee); }
.collection-footnote { border-top:1px solid var(--border); text-align:center; padding:65px 0 90px; }
.collection-footnote p { color:var(--ink); }
.product-breadcrumb { display:flex; flex-wrap:wrap; gap:14px; font-size:.8125rem; color:var(--muted); padding:32px 0; }
.product-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(40px,6vw,80px); align-items:start; padding-bottom:var(--section-space); }
.product-gallery,.product-purchase { min-width:0; }
.product-stage { aspect-ratio:1; background:#eeebe5; display:grid; place-items:center; border-radius:8px; }
.product-stage img { width:90%; height:87%; object-fit:contain; mix-blend-mode:multiply; }
.product-stage img.is-reference { width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
.gallery-thumbnails { display:flex; gap:18px; padding-top:20px; }
.gallery-thumbnail { width:100px; border:0; padding:0; background:none; text-align:left; color:var(--muted); }
.gallery-thumbnail img { width:100px; height:80px; object-fit:contain; padding:7px; background:#eeebe5; border:1px solid transparent; }
.gallery-thumbnail span { display:block; font-size:.8125rem; padding-top:8px; }
.gallery-thumbnail.is-current img { border-color:var(--accent); }
.product-purchase { padding-top:15px; }
.product-purchase h1 { font-size:clamp(1.875rem,2.5vw,2.5rem); line-height:1.55; margin-bottom:22px; }
.product-purchase h1 span { font-size:.9em; }
.product-format { margin:0 0 24px; }
.product-price { font:400 1.75rem/1.5 var(--display); letter-spacing:.035em; margin:0 0 26px; }
.purchase-description { margin-bottom:28px; }
.product-availability { display:flex; align-items:center; gap:10px; font-size:.875rem; margin-bottom:24px; }
.product-availability>span:last-child { margin-left:auto; color:var(--muted); }
.availability-dot { width:6px; height:6px; border-radius:50%; background:var(--coffee); }
.availability-dot.unavailable { background:#a39b90; }
.quantity-row { align-items:stretch; gap:12px; }
.product-purchase .qty { min-width:116px; width:116px; height:50px; border-color:var(--border); flex:none; }
.product-purchase .qty button { width:34px; padding:0; }
.product-purchase .qty input { width:44px; font-size:1rem; }
.product-purchase .quantity-row>.btn { flex:1; justify-content:space-between; min-width:0; padding:10px 20px; gap:8px; }
.purchase-shipping { font-size:.8125rem; text-align:center; margin:14px 0 30px; }
.product-accordions { border-top:1px solid var(--border); }
.product-accordions details { border-bottom:1px solid var(--border); }
.product-accordions summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:16px 0; cursor:pointer; list-style:none; font-size:.875rem; }
.product-accordions summary::-webkit-details-marker { display:none; }
.product-accordions summary span { color:var(--muted); font-size:1.125rem; }
.product-accordions details[open] summary span { transform:rotate(45deg); }
.product-accordions dl { margin:0 0 24px; font-size:.875rem; }
.product-accordions dl>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:18px; padding:8px 0; }
.product-accordions dt { color:var(--muted); }
.product-accordions dd { margin:0; overflow-wrap:anywhere; }
.product-accordions p,.product-accordions a { font-size:.875rem; }
.product-accordions a { display:block; overflow-wrap:anywhere; text-decoration:underline; margin-bottom:24px; }
.product-origin { display:grid; grid-template-columns:1fr 1fr; background:var(--ivory); }
.product-origin-photo { min-width:0; }
.product-origin-photo img { height:100%; width:100%; max-height:850px; object-fit:cover; }
.product-origin-copy { align-self:center; padding:80px clamp(40px,6vw,100px); }
.origin-links { display:flex; flex-wrap:wrap; gap:28px; border-top:1px solid var(--border); padding-top:24px; margin-top:32px; font-size:.875rem; }
.related-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.related-product { display:block; min-width:0; }
.related-product>div { display:grid; place-items:center; aspect-ratio:1; background:#eeebe5; margin-bottom:28px; border-radius:8px; }
.related-product img { width:85%; height:85%; object-fit:contain; }
.related-product h3 { font-size:1.375rem; margin-bottom:12px; }
.related-product p { font-size:.875rem; }
.related-product .price { display:block; font:400 1rem/1.8 var(--display); margin-bottom:16px; }

/* Shared inner-page hierarchy, archives and service surfaces. */
.page-banner { background:var(--paper); color:var(--ink); padding:85px 0 65px; }
.page-banner:after { display:none; }
.page-banner h1 { font-size:clamp(2.125rem,4.5vw,4rem); margin-bottom:22px; }
.page-banner p { color:var(--muted); max-width:800px; margin:0; }
.breadcrumbs { font-size:.8125rem; line-height:1.8; color:var(--muted); padding:26px 0; overflow-wrap:anywhere; }
.editorial-banner { min-height:560px; background-image:linear-gradient(90deg,#19151278,#19151224),url('/assets/estate-path-1552.webp'); }
.editorial-banner .container { padding:100px 0; }
.editorial-banner h1 { font-size:clamp(2.125rem,4.5vw,4rem); }
.editorial-banner p { font-size:1rem; color:var(--paper); max-width:650px; }
.editorial-banner .eyebrow { color:#e9d5af; }
.story-banner { min-height:0; background:var(--paper); color:var(--ink); }
.story-banner p { color:var(--muted); }
.story-banner .eyebrow { color:var(--coffee); }
.sustainability-banner { background-image:linear-gradient(90deg,#191512a0,#19151240),url('/assets/estate-path-1552.webp'); }
.brand-portrait,.estate-detail-photo,.luwak-detail-photo,.editorial-lead-grid>div { min-width:0; }
.editorial-page-links { display:flex; flex-wrap:wrap; gap:16px 28px; }
.press-archive>a { display:block; min-width:0; color:inherit; }
.luwak-banner { background-image:linear-gradient(90deg,#1915129e,#19151224),url('/assets/coffee-drying-800.webp'); background-position:center 60%; }
.films-banner { min-height:0; background:var(--paper); color:var(--ink); }
.films-banner .eyebrow { color:var(--coffee); }
.films-banner p { color:var(--muted); }
.editorial-lead { background:var(--ivory); }
.editorial-lead-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(45px,7vw,100px); }
.editorial-lead-grid p { font-size:1rem; color:var(--muted); }
.editorial-lead-grid h2 { font-size:clamp(1.875rem,3.35vw,3rem); line-height:1.6; }
.promise-band { background:var(--espresso); padding:var(--section-space) 0; color:var(--paper); }
.promise-band .container { max-width:820px; }
.promise-band h2 { font-size:clamp(1.875rem,3.35vw,3rem); line-height:1.6; }
.promise-band p { font-size:1rem; color:#d3ccc1; }
.promise-band .eyebrow { color:var(--accent); }
.visual-triptych { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.archive-photo { margin:0; background:none; }
.archive-photo img { width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:4/5; object-fit:cover; transition:transform 600ms; }
.archive-photo:hover img { transform:scale(1.02); }
.archive-photo figcaption { padding:13px 0; font-size:.8125rem; line-height:1.8; letter-spacing:.025em; background:none; }
.photo-stack { grid-template-columns:1fr 1fr; gap:20px; }
.photo-stack .archive-photo img { height:auto; aspect-ratio:3/4; }
.story-image-band .archive-photo img { height:580px; aspect-ratio:auto; }
.story-image-band .archive-photo figcaption { background:var(--dark); color:var(--paper); font-size:.8125rem; }
.archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.archive-grid .archive-photo img { height:420px; background:#eeebe5; object-fit:contain; }
.press-archive .archive-photo img { height:auto; aspect-ratio:auto; max-height:none; object-fit:contain; }
.brand-portrait .archive-photo img,.estate-detail-photo .archive-photo img,.luwak-detail-photo .archive-photo img,.estate-spaces .archive-photo img,.care-details .archive-photo img,.processing-archive .archive-photo img { height:auto; aspect-ratio:auto; object-fit:contain; }
.process-list { border:0; background:none; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; margin:48px 0; }
.process-step { background:none; padding:24px 0; border-top:1px solid var(--border); }
.process-step span { font:400 2rem var(--display); color:var(--coffee); }
.process-step h3 { font-size:1.375rem; margin:20px 0 16px; }
.process-step p { font-size:.875rem; line-height:2; }
.credentials-page>.section { padding-top:60px; }
.credential-group { margin-bottom:80px; }
.credential-group h2 { font-size:clamp(1.5rem,2.5vw,2rem); border-color:var(--border); }
.credential-pages { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.credential-pages a { background:#eeebe5; padding:18px; }
.credential-pages img { height:440px; box-shadow:none; background:var(--paper); }
.document-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px 30px; }
.credentials-page .document-card { padding:0; background:none; box-shadow:none; }
.document-card:hover { transform:none; box-shadow:none; }
.credentials-page .document-card h3 { font:400 1rem/1.8 var(--sans); min-height:0; margin:0 0 18px; }
.credentials-page .document-card img { height:360px; padding:16px; background:#eeebe5; }
.film-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 36px; }
.film-card { border:0; background:none; box-shadow:none; }
.film-frame,.film-poster { background-color:var(--dark); }
.film-caption { padding:24px 0 0; }
.film-caption h3 { font-size:1.5rem; margin-bottom:14px; }
.film-caption p { font-size:1rem; }
.film-caption a { font-size:.875rem; color:var(--coffee); }
.film-poster span { width:52px; height:52px; border-radius:0; border:1px solid #faf8f4b0; background:#19151266; box-shadow:none; }
.film-poster strong { font:400 .875rem var(--sans); }
.journal-grid { gap:40px; }
.journal-card { background:none; border:0; }
.journal-card img { aspect-ratio:4/3; height:auto; object-fit:cover; }
.journal-card-content { padding:28px 0; }
.journal-card time { font-size:.8125rem; color:var(--muted); }
.journal-card h3 { font-size:1.75rem; }
.journal-card p { font-size:1rem; }
.event-card { background:none; border-top:1px solid var(--border); box-shadow:none; padding:36px 0; }
.event-card p { font-size:1rem; }
.event-code { background:#eee7dc; color:var(--ink); font-size:.875rem; }
.contact-grid { gap:70px; }
.contact-grid h2 { font-size:clamp(1.875rem,3.35vw,3rem); }
.contact-panel { padding:44px; border:0; background:var(--paper); color:var(--ink); }
.contact-panel p { color:var(--muted); }
.contact-panel a { color:var(--coffee); }
.prose p,.summary-line { color:var(--muted); }
.contact-panel p,.contact-panel a { font-size:1rem; overflow-wrap:anywhere; }
.store-intro,.store-panel { min-width:0; }
.store-intro>p { color:var(--muted); line-height:2; }
.store-intro .store-reservation { margin:28px 0; color:var(--coffee); }
.store-intro .btn { max-width:100%; white-space:normal; }
.store-details { margin:28px 0 0; }
.store-details>div { padding:20px 0; border-top:1px solid var(--border); }
.store-details>div:last-child { padding-bottom:0; }
.store-details dt { margin-bottom:8px; font-size:.8125rem; color:var(--muted); letter-spacing:.08em; }
.store-details dd { margin:0; line-height:1.9; overflow-wrap:anywhere; }
.store-details address,.footer-store-address { font-style:normal; }
.store-landmark,.store-details .store-reservation { display:block; font-size:.875rem; color:var(--muted); }
.store-details .text-link { display:inline-block; margin-top:12px; font-size:.875rem; }
.footer-store-address,.footer .footer-store-hours { font-size:.875rem; line-height:1.9; color:inherit; opacity:.75; }
.footer .footer-store-hours { margin:12px 0; }
.empty-state { padding:65px 20px; }
.empty-state h2 { font-size:2rem; }
.empty-state p { font-size:1rem; }
.cart-layout,.checkout-layout { gap:60px; grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr); }
.checkout-form,.checkout-layout>.summary,.form-field { min-width:0; }
.checkout-form h2 { font-size:1.875rem; }
.checkout-form { background:var(--paper); border-color:var(--border); }
.summary { background:#eee8de; padding:32px; border:0; }
.summary h3 { font-size:1.75rem; }
.summary-line { font-size:.875rem; gap:16px; }
.summary-line>span:first-child { min-width:0; }
.summary-line>span:last-child { flex:none; }
.summary-total { font-size:1rem; }
.cart-item { grid-template-columns:110px minmax(0,1fr) auto; gap:24px; }
.cart-item img { width:110px; height:110px; object-fit:contain; background:#eeebe5; }
.cart-item h3 { font:400 1.375rem/1.7 var(--sans); }
.cart-item small { font-size:.8125rem; }
.cart-item strong { font:400 1rem var(--display); }
.cart-item select,.remove-btn { min-height:44px; font-size:.875rem; }
.form-field label { font-size:.875rem; }
.form-field input,.form-field textarea,.form-field select,.coupon-row input { font-size:1rem; min-width:0; background:var(--paper); border-color:var(--border); }
.coupon-row button { min-height:44px; font-size:.875rem; }
.small-note,.detail-notice,.checkout-note,.notice { font-size:.875rem; line-height:2; }
.order-success h2 { font-size:clamp(2rem,4vw,3rem); }
.order-meta strong { overflow-wrap:anywhere; }
.pay-actions { flex-wrap:wrap; }

/* Four calm footer columns with existing service information. */
.footer { padding:80px 0 28px; background:var(--espresso); color:var(--paper); }
.footer-grid { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr); gap:36px; }
.footer .brand { color:var(--paper); align-items:flex-start; }
.footer .brand-wordmark { font-size:clamp(28px,1.875rem,32px); }
.footer .brand-local { color:#d3ccc1; }
.footer h4 { font:400 .875rem/1.8 var(--sans); color:#c9b58e; margin-bottom:25px; }
.footer p { font-size:.875rem; color:#c4bdb2; line-height:2; }
.footer a { font-size:.875rem; margin:0; padding:9px 0; min-height:44px; }
.footer a.brand { display:flex; padding:0; }
.footer a:hover { color:#d6ba87; }
.footer .contact-email { overflow-wrap:anywhere; }
.footer-origin { display:block; font-size:.75rem; letter-spacing:.1em; color:#b8aea0; margin-top:28px; }
.footer .footer-bag { width:fit-content; border-bottom:1px solid #faf8f438; margin-top:20px; }
.footer-bottom { border-color:#faf8f41f; font-size:.75rem; gap:24px; margin-top:60px; padding-top:26px; color:#b8aea0; }

@media(max-width:1100px) {
  :root { --gutter:32px; }
  .header-inner { gap:20px; }
  .header-tools { margin-left:0; }
  .brand { margin-right:auto; }
  .menu-toggle { display:flex; gap:10px; align-items:center; padding:10px; min-height:44px; background:none; border:0; color:inherit; font-size:.875rem; order:1; }
  .header-tools { order:2; }
  .menu-lines { width:20px; height:12px; display:block; border-top:1px solid currentColor; border-bottom:1px solid currentColor; }
  .menu-toggle[aria-expanded=true] .menu-lines { height:0; border-bottom:0; transform:rotate(-45deg); }
  .nav { display:none; position:absolute; top:100%; left:0; right:0; margin:0; padding:22px 32px 28px; background:var(--paper); color:var(--ink); border-bottom:1px solid var(--border); }
  .nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .nav a { padding:13px 0; font-size:1rem; min-height:48px; }
  .nav a[aria-current=page]:after { right:auto; width:36px; }
  .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 28px; }
  .editorial-split,.editorial-split.reverse { gap:44px; }
  .editorial-copy h2 { font-size:2.125rem; }
  .hero-location { right:32px; }
  .process-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-layout { gap:35px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .product-origin-copy { padding:55px 35px; }
  .related-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .credential-pages,.document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cart-layout,.checkout-layout { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:32px; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-grid>div:last-child { grid-column:1/-1; border-top:1px solid #faf8f41f; padding-top:28px; }
}
@media(max-width:900px) {
  .editorial-split,.editorial-split.reverse { gap:34px; grid-template-columns:1fr 1fr; }
  .editorial-copy h2 { font-size:1.875rem; }
  .editorial-photo img,.care-photo img { aspect-ratio:3/5; }
  .editorial-lead-grid { gap:35px; }
  .product-layout { grid-template-columns:1fr; gap:44px; }
  .product-stage { max-width:720px; }
  .product-purchase { padding-top:0; }
  .product-purchase h1 br { display:none; }
  .product-purchase h1 span { display:block; }
  .product-origin { grid-template-columns:1fr; }
  .product-origin-photo img { height:440px; object-position:center; }
  .product-origin-copy { padding:70px 32px; }
  .visual-triptych { gap:20px; }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid,.cart-layout,.checkout-layout { grid-template-columns:1fr; }
  .contact-grid { gap:35px; }
  .summary { max-width:650px; width:100%; }
}
@media(max-width:700px) {
  :root { --gutter:20px; --section-space:80px; }
  .home-header { margin-bottom:-77px; }
  .header-inner { height:76px; gap:8px; }
  .brand-wordmark { font-size:clamp(20px,1.4rem,24px); }
  .brand-local { font-size:.75rem; }
  .menu-toggle { padding:10px 6px; }
  .menu-toggle>span:last-child { display:none; }
  .nav { padding:16px 20px 24px; }
  .maison-hero { min-height:max(690px,90svh); }
  .maison-hero-content { padding-top:150px; padding-bottom:100px; }
  .maison-hero-image { object-position:54% center; }
  .maison-hero:after { background:linear-gradient(0deg,#19151286,transparent 95%),linear-gradient(90deg,#19151252,transparent); }
  .maison-hero h1 { font-size:clamp(2.875rem,12.5vw,4rem); margin-bottom:28px; letter-spacing:-.035em; }
  .maison-hero .hero-statement { font-size:1.875rem; line-height:1.55; }
  .maison-hero .eyebrow { font-size:.75rem; letter-spacing:.09em; max-width:290px; }
  .maison-hero p { max-width:330px; }
  .hero-actions { gap:26px; }
  .hero-location { bottom:26px; left:20px; right:auto; text-align:left; gap:4px; }
  .hero-location span,.hero-location small { font-size:.75rem; }
  main h1 { font-size:2.25rem; }
  main h2,.editorial-copy h2 { font-size:1.875rem; line-height:1.55; }
  main h3 { font-size:1.625rem; }
  .eyebrow { font-size:.75rem; margin-bottom:22px; }
  .section-head { flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:34px; }
  .editorial-split,.editorial-split.reverse,.recognition-layout,.editorial-lead-grid { grid-template-columns:1fr; gap:36px; }
  .editorial-photo img { aspect-ratio:4/5; }
  .cherry-photo img { aspect-ratio:1; }
  .editorial-split.reverse .editorial-copy { order:2; }
  .editorial-copy { max-width:100%; }
  .origin-heading { padding-bottom:38px; }
  .origin-heading h2 { font-size:2.625rem; }
  .origin-landscape img { height:430px; object-position:52% center; }
  .origin-landscape figcaption { gap:16px; padding:14px 0; }
  .origin-landscape figcaption span { max-width:170px; }
  .care-photo img { aspect-ratio:1; object-position:center 42%; }
  .home-care { padding:70px 0 80px; }
  .recognition-list h3 { font-size:1.375rem; }
  .collection-grid { grid-template-columns:1fr; gap:48px; }
  .collection-image { aspect-ratio:1; }
  .collection-title h3 { font-size:1.5rem; }
  .collection-title .price { font-size:1.125rem; }
  .collection-intro { display:block; padding:64px 0 40px; }
  .collection-intro p { margin-top:24px; }
  .collection-intro p br { display:none; }
  .collection-section { padding-bottom:70px; }
  .filters { gap:24px; }
  .shop-toolbar { gap:15px; margin-bottom:20px; }
  .count { font-size:.75rem; white-space:nowrap; }
  .filter { font-size:.875rem; }
  .collection-footnote { padding:55px 0 70px; }
  .product-breadcrumb { padding:24px 0; font-size:.75rem; }
  .product-layout { padding-bottom:80px; gap:36px; }
  .product-purchase h1 { font-size:2rem; }
  .product-origin-photo img { height:420px; }
  .product-origin-copy { padding:65px 20px; }
  .related-products { grid-template-columns:1fr; gap:48px; }
  .related-product h3 { font-size:1.5rem; }
  .page-banner { padding:64px 0 48px; }
  .page-banner h1 { font-size:2.25rem; }
  .editorial-banner { min-height:470px; }
  .editorial-banner .container { padding:75px 0; }
  .editorial-banner h1 { font-size:2.25rem; line-height:1.6; }
  .films-banner { min-height:0; }
  .films-banner .container { padding:64px 0 48px; }
  .breadcrumbs { font-size:.75rem; padding:22px 0; }
  .editorial-lead-grid h2,.promise-band h2 { font-size:1.875rem; }
  .promise-band { padding:80px 0; }
  .visual-triptych,.archive-grid,.credential-pages,.document-grid,.film-grid,.journal-grid { grid-template-columns:1fr; gap:34px; }
  .archive-photo img { aspect-ratio:4/5; }
  .archive-grid .archive-photo img { height:auto; max-height:620px; object-fit:contain; }
  .photo-stack { gap:15px; }
  .photo-stack .archive-photo img { height:auto; }
  .story-image-band .archive-photo img { height:450px; }
  .process-list { grid-template-columns:1fr; margin:35px 0; gap:12px; }
  .process-step { display:grid; grid-template-columns:44px minmax(0,1fr); gap:8px 18px; }
  .process-step span { grid-row:1/3; }
  .process-step h3 { margin:0; }
  .credential-group { margin-bottom:65px; }
  .credential-pages img,.credentials-page .document-card img { height:auto; max-height:620px; object-fit:contain; }
  .film-caption h3 { font-size:1.5rem; }
  .contact-panel { padding:32px 24px; }
  .checkout-form { padding:28px 20px; }
  .form-row { grid-template-columns:minmax(0,1fr); }
  .summary { padding:30px 22px; }
  .cart-item { grid-template-columns:84px minmax(0,1fr); gap:18px; }
  .cart-item img { width:84px; height:95px; }
  .cart-item h3 { font-size:1.125rem; }
  .cart-item>strong { grid-column:2; text-align:left; }
  .order-success { width:calc(100% - 40px); padding-inline:0; }
  .order-success h2 { font-size:2rem; }
  .order-meta { padding:24px 14px; }
  .order-meta div { gap:16px; font-size:.875rem; }
  .footer { padding-top:65px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:38px 24px; }
  .footer-grid>div:first-child { grid-column:1/-1; }
  .footer-grid>div:last-child { padding-top:28px; }
  .footer .brand-wordmark { font-size:clamp(28px,1.875rem,32px); }
  .footer-bottom { flex-direction:column; gap:12px; margin-top:40px; }
}
@media(max-width:360px) {
  :root { --gutter:16px; }
  .brand-wordmark { font-size:1.25rem; }
  .header-tools a { min-width:40px; }
  .maison-hero h1 { font-size:2.625rem; }
  .filters { gap:16px; }
  .hero-actions { gap:20px; }
  .product-purchase .qty { min-width:106px; width:106px; }
  .product-purchase .qty input { width:38px; }
  .product-purchase .quantity-row>.btn { padding-inline:12px; }
}
.home-film { background:var(--cream); }
#app[data-page=home] .home-header { margin-bottom:0; background:var(--paper); color:var(--ink); border-color:var(--border); }
.maison-video-hero { display:block; height:auto; min-height:0; background:var(--paper); color:var(--ink); overflow:visible; }
.maison-video-hero:after { display:none; }
.hero-film-stage { width:100%; background:var(--espresso); }
.maison-video-hero .hero-film-frame { margin-inline:auto; max-width:calc((100svh - 110px)*16/9); }
.hero-film-caption { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding-block:32px; }
.maison-video-hero .eyebrow { color:var(--coffee); margin-bottom:10px; }
.maison-video-hero h1 { color:var(--ink); font:400 clamp(2rem,3vw,2.75rem)/1.15 var(--display); margin:0 0 10px; letter-spacing:0; }
.maison-video-hero p { color:var(--muted); margin:0; font-size:.9375rem; }
.hero-film-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
@media(max-width:700px){.hero-film-caption{padding-block:24px;gap:20px}.hero-film-actions{gap:14px}.hero-film-actions .btn{padding-inline:18px}.maison-video-hero .eyebrow{font-size:10px;letter-spacing:.12em}}
.payment-method,.order-panel { padding:24px; margin:24px 0; border:1px solid var(--line); background:var(--paper); text-align:left; min-width:0; }
.order-panel h3,.payment-method h3 { margin-bottom:16px; }
.order-dl { margin:16px 0; }
.order-dl>div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; padding:10px 0; border-bottom:1px solid var(--line); }
.order-dl dt { color:var(--muted); }
.order-dl dd { margin:0; overflow-wrap:anywhere; }
.bank-account { letter-spacing:.08em; font-variant-numeric:tabular-nums; }
.order-private-link { display:block; overflow-wrap:anywhere; text-decoration:underline; }
.order-statuses { display:flex; gap:12px; flex-wrap:wrap; margin:24px 0; }
.admin-order-detail .form-row>* { min-width:0; }
.admin-order-detail p,.admin-order-detail h2 { overflow-wrap:anywhere; }
@media(max-width:700px){.payment-method,.order-panel{padding:20px 16px}.order-dl>div{grid-template-columns:78px minmax(0,1fr);gap:12px}.order-meta>div{flex-wrap:wrap}.order-meta>div>span{min-width:0}.admin-order-detail .form-row{grid-template-columns:1fr}}
.home-film-frame { width:100%; max-width:100%; min-width:0; aspect-ratio:16/9; background:#14241c; }
.home-film-frame video { display:block; width:100%; height:100%; max-width:100%; aspect-ratio:16/9; object-fit:contain; }
.home-film-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:16px; color:var(--muted); font-size:12px; }
.home-film-sound { border:1px solid var(--line); background:transparent; color:var(--ink); padding:10px 18px; min-height:44px; font:inherit; cursor:pointer; }
.home-film-sound:hover { border-color:var(--gold); }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; animation:none!important; }
}

#home-brand-film { pointer-events:none; }

#transfer-report-form { margin-top:24px; }
.tracking-code { display:block; width:100%; max-width:100%; padding:10px; background:var(--paper); border:1px solid var(--border); color:var(--ink); font:inherit; letter-spacing:.06em; }
