@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap');

:root { --navy:#101d2e; --navy-soft:#1a2d43; --olive:#84946c; --olive-light:#dce2d3; --coral:#ef936f; --peach:#f6c6ad; --cream:#f6f1e8; --paper:#fffdf9; --ink:#17202a; --muted:#677078; --line:rgba(23,32,42,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.site-header { height:76px; padding:0 4.5vw; display:flex; align-items:center; justify-content:space-between; background:rgba(255,253,249,.94); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); }
.brand { display:inline-flex; align-items:center; text-decoration:none; }
.brand > svg,.brand-mark { display:none!important; width:0!important; height:0!important; overflow:hidden!important; }
.brand-word { display:flex; align-items:baseline; letter-spacing:-.055em; line-height:1; }
.brand-word strong { color:var(--navy); font-size:1.48rem; font-weight:700; }
.brand-word em { margin-left:.2rem; color:var(--coral); font-size:.73rem; font-style:normal; font-weight:700; letter-spacing:.13em; }
nav { display:flex; align-items:center; gap:1.7rem; }
nav a { text-decoration:none; font-weight:600; font-size:.82rem; }
.nav-cta { border:1px solid var(--navy); border-radius:999px; padding:.62rem .95rem; }
.cart-count { display:inline-grid; place-items:center; margin-left:.3rem; min-width:1.3rem; height:1.3rem; border-radius:50%; color:white; background:var(--navy); font-size:.68rem; }
.hero { min-height:calc(100vh - 76px); position:relative; display:grid; align-items:end; overflow:hidden; color:white; background:var(--navy); }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(10,24,40,.96) 0%,rgba(10,24,40,.77) 24%,rgba(10,24,40,.18) 58%,rgba(10,24,40,.04) 100%),linear-gradient(0deg,rgba(10,24,40,.45),transparent 45%); }
.hero-copy { position:relative; z-index:2; width:min(690px,90%); padding:7vw 0 8vw 6vw; }
.eyebrow { margin:0 0 1.15rem; text-transform:uppercase; letter-spacing:.18em; font-size:.69rem; font-weight:700; }
h1,h2 { margin:0; font-size:clamp(4rem,7.5vw,8.1rem); line-height:.86; letter-spacing:-.065em; }
h1 em,h2 em { color:var(--coral); font-family:"Newsreader",serif; font-weight:500; }
.lede { max-width:570px; margin:1.9rem 0 2.2rem; font-size:clamp(1rem,1.45vw,1.25rem); line-height:1.65; color:rgba(255,255,255,.86); }
.hero-actions { display:flex; align-items:center; gap:1.4rem; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:.8rem; border:0; border-radius:999px; padding:1rem 1.4rem; font:700 .9rem "DM Sans"; text-decoration:none; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(5,18,30,.22); }
.button-coral { background:var(--coral); color:var(--navy); }
.text-link { color:white; text-decoration:none; font-weight:600; font-size:.85rem; }
.text-link span { margin-left:.4rem; color:var(--coral); }
.hero-caption { position:absolute; right:4vw; bottom:2.5vw; z-index:2; max-width:280px; text-align:right; text-transform:uppercase; letter-spacing:.13em; font-size:.66rem; line-height:1.6; color:rgba(255,255,255,.8); }
.marquee { overflow:hidden; background:var(--coral); color:var(--navy); padding:.85rem 0; white-space:nowrap; font-weight:700; font-size:.7rem; letter-spacing:.15em; }
.marquee div { width:max-content; animation:move 28s linear infinite; }
@keyframes move { to { transform:translateX(-50%); } }
.mission { padding:clamp(5rem,10vw,9rem) 6vw; background:var(--cream); scroll-margin-top:76px; }
.mission-heading { display:grid; grid-template-columns:minmax(150px,.32fr) 1fr; align-items:start; gap:3rem; max-width:1240px; margin:0 auto; }
.mission-heading h2 { max-width:900px; }
.mission-title-line,.mission-heading h2 em { display:block; }
.mission-heading h2,.model h2,.section-heading h2,.impact h2,.preorder h2 { font-size:clamp(3rem,6.2vw,6.6rem); }
.statements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:1.2rem; max-width:1240px; margin:5rem auto 0; }
.statement-card { min-height:360px; padding:clamp(1.8rem,4vw,3.5rem); border:1px solid var(--line); border-radius:1.2rem; background:var(--paper); display:flex; flex-direction:column; }
.statement-card h3 { max-width:520px; margin:1.2rem 0 2.2rem; font-family:"Newsreader",Georgia,serif; font-size:clamp(2.2rem,4vw,4.2rem); font-weight:500; line-height:.98; letter-spacing:-.045em; }
.statement-card > p:not(.eyebrow):not(.korean) { max-width:570px; margin:auto 0 1.8rem; color:var(--muted); font-size:1.05rem; line-height:1.65; }
.statement-card .korean { margin:0; padding-top:1.4rem; border-top:1px solid var(--line); color:var(--navy); line-height:1.75; font-size:.94rem; }
.statement-vision { background:var(--navy); color:white; }
.statement-vision .eyebrow { color:var(--coral); }
.statement-vision > p:not(.eyebrow):not(.korean) { color:rgba(255,255,255,.7); }
.statement-vision .korean { border-color:rgba(255,255,255,.2); color:white; }
.model { padding:9vw 6vw; background:var(--navy); color:white; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.model-intro > p:last-child { max-width:460px; color:rgba(255,255,255,.68); line-height:1.65; margin-top:1.8rem; }
.model-steps { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.22); }
.model-steps li { display:grid; grid-template-columns:3.5rem 1fr; align-items:center; gap:1rem; padding:1.25rem 0; border-bottom:1px solid rgba(255,255,255,.22); }
.model-steps > li > span { color:var(--coral); font-size:.72rem; font-weight:700; }
.model-steps strong,.model-steps small { display:block; }
.model-steps strong { font-size:1.15rem; }
.model-steps small { margin-top:.2rem; color:rgba(255,255,255,.58); }
.collection { padding:9vw 6vw 10vw; background:var(--paper); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-bottom:4rem; }
.section-heading em { color:var(--olive); }
.section-heading > p { max-width:430px; color:var(--muted); line-height:1.65; }
.product-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:1.5rem; max-width:1240px; margin:auto; }
.product-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:1.15rem; overflow:hidden; background:white; box-shadow:0 18px 55px rgba(16,29,46,.07); }
.product-visual { position:relative; aspect-ratio:1.05; display:grid; place-items:center; overflow:hidden; }
.product-placeholder::before { content:""; width:58%; height:58%; border-radius:42% 58% 52% 48%; background:var(--cream); box-shadow:12px 14px 0 var(--navy); transform:rotate(-8deg); }
.product-placeholder::after { content:"BAM"; position:absolute; font-family:"Newsreader"; font-size:2.4rem; transform:rotate(-8deg); }
.product-gallery { background:#f8f8f5; }
.product-image-link { display:block; width:100%; height:100%; }
.product-gallery img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .5s ease; }
.product-card:hover .product-gallery img { transform:scale(1.025); }
.gallery-controls { position:absolute; z-index:2; left:50%; bottom:.8rem; transform:translateX(-50%); display:flex; align-items:center; gap:.65rem; padding:.38rem .55rem; border:1px solid rgba(255,255,255,.7); border-radius:999px; background:rgba(255,255,255,.92); box-shadow:0 5px 20px rgba(16,29,46,.14); font-size:.68rem; font-weight:700; backdrop-filter:blur(8px); }
.gallery-controls button { width:1.9rem; height:1.9rem; border:0; border-radius:50%; background:var(--navy); color:white; cursor:pointer; }
.case-quantity-badge { position:absolute; z-index:2; top:.8rem; left:.8rem; max-width:calc(100% - 1.6rem); padding:.55rem .7rem; border-radius:.25rem; background:rgba(13,47,38,.94); color:white; box-shadow:0 6px 18px rgba(16,29,46,.18); font-size:.66rem; font-weight:800; letter-spacing:.025em; line-height:1.35; }
@media (hover:hover) and (pointer:fine) {
  .product-gallery { cursor:pointer; }
  .product-card .product-gallery.is-zooming img { transform:scale(2); transform-origin:var(--zoom-x,50%) var(--zoom-y,50%); transition:transform .16s ease-out,transform-origin .06s linear; }
  .product-gallery:has(.gallery-controls:hover) { cursor:default; }
  .product-card .product-gallery:has(.gallery-controls:hover) img { transform:scale(1.025); }
}
.lightbox-open { overflow:hidden; }
.image-lightbox { position:fixed; z-index:1000; inset:0; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:.7rem; padding:4.5rem 1.25rem 1.25rem; background:rgba(8,18,15,.94); }
.image-lightbox-scroll { width:min(94vw,1200px); height:calc(100vh - 8rem); margin:auto; overflow:auto; overscroll-behavior:contain; background:#f4f3ef; box-shadow:0 20px 70px rgba(0,0,0,.45); }
.image-lightbox-scroll img { display:block; width:min(1024px,100%); max-width:none; height:auto; margin:0 auto; }
.image-lightbox > p { margin:0; color:rgba(255,255,255,.82); font-size:.72rem; text-align:center; }
.image-lightbox-close { position:fixed; z-index:2; top:1rem; right:1rem; width:3rem; height:3rem; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:#fff; color:var(--navy); font-size:1.8rem; line-height:1; cursor:pointer; }
.product-info { padding:1.45rem; flex:1; display:flex; flex-direction:column; }
.product-meta { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.product-meta h3 { font-size:1.22rem; margin:0; letter-spacing:-.025em; }
.product-meta strong { white-space:nowrap; color:var(--navy); }
.product-info p { color:var(--muted); font-size:.86rem; line-height:1.58; min-height:3em; }
.product-detail { font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.quantity { margin-top:auto; display:grid; grid-template-columns:2.7rem 1fr 2.7rem; border:1px solid var(--navy); border-radius:999px; overflow:hidden; }
.quantity button { border:0; background:transparent; color:var(--navy); font-size:1.2rem; cursor:pointer; padding:.48rem; }
.quantity button:hover { background:var(--olive-light); }
.quantity output { display:grid; place-items:center; font-weight:700; }
.impact { padding:10vw 6vw; background:var(--olive-light); }
.impact-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:6vw; align-items:end; margin-bottom:4rem; }
.impact-heading .eyebrow { grid-column:1/-1; margin-bottom:-2rem; }
.impact-heading h2 em { color:var(--navy); }
.impact-heading > p:last-child { color:#536052; line-height:1.65; max-width:470px; }
.impact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.impact-grid article { padding:1.35rem; min-height:220px; border:1px solid rgba(16,29,46,.17); border-radius:1rem; background:rgba(255,255,255,.45); display:flex; flex-direction:column; }
.impact-grid .impact-main { grid-column:span 2; background:var(--navy); color:white; }
.impact-grid strong { font:500 italic clamp(3rem,5vw,5.4rem) "Newsreader"; color:var(--coral); line-height:1; }
.impact-grid h3 { margin:auto 0 .5rem; font-size:1.05rem; }
.impact-grid p { margin:0; color:#5b665d; line-height:1.5; font-size:.82rem; }
.impact-grid .impact-main p { color:rgba(255,255,255,.66); }
.preorder { background:var(--navy); color:white; padding:9vw 7vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; }
.preorder h2 em { color:var(--coral); }
.preorder-intro > p:not(.eyebrow) { max-width:500px; color:rgba(255,255,255,.7); font-size:1.04rem; line-height:1.7; }
.no-payment { display:flex; gap:.9rem; align-items:center; margin-top:2.5rem; }
.no-payment > span { width:2.6rem; height:2.6rem; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:var(--coral); }
form { background:var(--paper); color:var(--ink); padding:2rem; border-radius:1.15rem; box-shadow:0 22px 60px rgba(0,0,0,.18); }
.checkout-heading,.contact-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.checkout-heading span,.contact-heading span { display:block; margin-bottom:.25rem; color:var(--coral); font-size:.62rem; font-weight:700; letter-spacing:.16em; }
.checkout-heading h3,.contact-heading h3 { margin:0; font-size:1.35rem; letter-spacing:-.03em; }
.checkout-heading > strong { align-self:center; padding:.42rem .65rem; border-radius:999px; background:var(--olive-light); color:var(--navy); font-size:.66rem; white-space:nowrap; }
.summary { max-height:455px; overflow:auto; margin:1.25rem -2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cart-item { display:grid; grid-template-columns:4.8rem minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1rem 2rem; border-bottom:1px solid var(--line); }
.cart-item:last-of-type { border-bottom:0; }
.cart-thumb { width:4.8rem; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border-radius:.65rem; background:#f3f3ef; color:var(--navy); font-weight:700; }
.cart-thumb img { width:100%; height:100%; object-fit:contain; }
.cart-copy h4 { margin:0; font-size:.9rem; line-height:1.25; }
.cart-copy > p { margin:.25rem 0 .65rem; color:var(--muted); font-size:.72rem; }
.cart-actions { display:flex; align-items:center; gap:.8rem; }
.cart-quantity { display:grid; grid-template-columns:1.75rem 1.8rem 1.75rem; overflow:hidden; border:1px solid var(--line); border-radius:999px; }
.cart-quantity button { border:0; background:white; color:var(--navy); cursor:pointer; font-size:.95rem; }
.cart-quantity output { display:grid; place-items:center; font-size:.72rem; font-weight:700; }
.cart-remove { border:0; padding:0; background:transparent; color:var(--muted); font:600 .67rem "DM Sans"; text-decoration:underline; cursor:pointer; }
.cart-line-price { align-self:start; padding-top:.12rem; font-size:.84rem; white-space:nowrap; }
.summary-total { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 2rem; background:#f5f2eb; }
.summary-total span { display:grid; gap:.15rem; }
.summary-total small { color:var(--muted); font-size:.66rem; font-weight:500; }
.empty-cart { padding:2.25rem 2rem; text-align:center; }
.empty-cart p { margin:.4rem 0 .8rem; color:var(--muted); font-size:.8rem; }
.empty-cart a { color:var(--navy); font-size:.75rem; font-weight:700; }
.contact-heading { margin:1.8rem 0 1.2rem; justify-content:start; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
label { display:block; font-size:.78rem; font-weight:700; margin-bottom:1.1rem; }
label span { font-weight:400; opacity:.7; }
input,textarea { display:block; width:100%; margin-top:.5rem; border:1px solid var(--line); border-radius:.5rem; background:white; color:var(--ink); padding:.85rem; font:inherit; resize:vertical; }
input:focus,textarea:focus { outline:2px solid var(--olive); outline-offset:2px; }
form .button { width:100%; font-size:.93rem; }
.form-note { text-align:center; font-size:.69rem; color:var(--muted); line-height:1.5; }
.form-status { min-height:1.4rem; text-align:center; font-weight:700; color:var(--navy); }
.submission-confirmation { align-self:start; padding:clamp(2rem,4vw,3.5rem); border:1px solid rgba(255,255,255,.2); border-radius:.7rem; background:var(--paper); color:var(--ink); box-shadow:0 22px 60px rgba(0,0,0,.18); }
.submission-confirmation[hidden] { display:none; }
.submission-confirmation:focus { outline:3px solid var(--coral); outline-offset:5px; }
.confirmation-check { width:4rem; height:4rem; display:grid; place-items:center; margin-bottom:1.5rem; border-radius:50%; background:var(--olive-light); color:var(--navy); font-size:2rem; font-weight:800; }
.submission-confirmation .eyebrow { margin-bottom:.8rem; color:var(--coral); }
.submission-confirmation h3 { margin:0; font-size:clamp(2.2rem,4vw,3.8rem); line-height:.98; letter-spacing:-.045em; }
.confirmation-lede { margin:1rem 0 1.5rem; color:var(--muted); line-height:1.65; }
.confirmation-reference { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.2rem; border:1px solid var(--line); background:white; }
.confirmation-reference span { color:var(--muted); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.confirmation-reference strong { font-size:1.08rem; letter-spacing:.04em; }
.confirmation-next { margin:1.7rem 0; }
.confirmation-next h4 { margin:0 0 .8rem; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.confirmation-next ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.confirmation-next li { display:grid; grid-template-columns:2.5rem 1fr; gap:.7rem; padding:.85rem 0; border-bottom:1px solid var(--line); }
.confirmation-next li span { color:var(--coral); font-size:.68rem; font-weight:800; }
.confirmation-next li p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.confirmation-payment { margin:0 0 1.5rem; padding:1rem; border-left:3px solid var(--coral); background:var(--cream); color:var(--muted); font-size:.78rem; line-height:1.55; }
.confirmation-payment strong { color:var(--ink); }
.submission-confirmation .button { width:100%; }
footer { padding:3rem 5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; background:var(--cream); }
footer p { font-size:.79rem; color:var(--muted); }
footer p:last-child { text-align:right; }
@media (max-width:950px) { nav a:not(.nav-cta) { display:none; } .hero { min-height:720px; } .hero-copy { padding:8rem 7vw 7rem; } .mission-heading,.preorder { grid-template-columns:1fr; } .mission-heading { gap:1.2rem; } .statements { grid-template-columns:1fr; margin-top:3rem; } }
@media (max-width:650px) { .site-header { height:68px; } .hero { min-height:680px; } .hero-image { object-position:63% center; } .hero-shade { background:linear-gradient(90deg,rgba(10,24,40,.93),rgba(10,24,40,.26)),linear-gradient(0deg,rgba(10,24,40,.55),transparent); } .hero-copy { width:100%; padding:6rem 6vw 5rem; } h1 { font-size:clamp(3.8rem,18vw,5.4rem); } .hero-actions { flex-direction:column; align-items:flex-start; } .hero-caption { display:none; } .mission,.collection,.preorder { padding:5rem 6vw; } .statement-card { min-height:320px; } .section-heading { display:block; } .section-heading > p { margin-top:1.5rem; } .product-grid { grid-template-columns:1fr; } .form-row { grid-template-columns:1fr; } .cart-item { grid-template-columns:3.8rem minmax(0,1fr); padding:1rem 1.2rem; } .cart-thumb { width:3.8rem; } .cart-line-price { grid-column:2; grid-row:2; padding:0; } .summary-total { padding:1rem 1.2rem; } footer { grid-template-columns:1fr; } footer p:last-child { text-align:left; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .marquee div { animation:none; } * { transition:none!important; } }

/* Product catalog */
:root { --navy:#12231d; --navy-soft:#1e382f; --olive:#71806b; --olive-light:#e6e9e0; --coral:#c86447; --peach:#ead4c8; --cream:#f3f0e9; --paper:#fbfaf7; --ink:#17221e; --muted:#68716c; --line:rgba(23,34,30,.15); }
body { background:var(--paper); }
.site-header { height:84px; padding:0 max(4vw,2rem); background:rgba(251,250,247,.96); }
.brand { gap:1rem; }
.brand-word strong { font-size:1.55rem; }
.brand-word em { font-size:.76rem; }
.brand-context { padding-left:1rem; border-left:1px solid var(--line); color:var(--muted); font-size:.59rem; font-weight:700; letter-spacing:.16em; }
nav { gap:2rem; }
nav a { font-size:.78rem; }
.nav-cta { padding:.72rem 1.1rem; border-color:rgba(18,35,29,.45); background:white; }
.hero { min-height:720px; height:calc(100vh - 84px); max-height:920px; align-items:center; }
.hero-image { object-position:center 48%; }
.hero-shade { background:linear-gradient(90deg,rgba(9,25,20,.95) 0%,rgba(9,25,20,.78) 37%,rgba(9,25,20,.2) 72%,rgba(9,25,20,.24) 100%),linear-gradient(0deg,rgba(9,25,20,.5),transparent 52%); }
.hero-copy { width:min(780px,68%); padding:5vw 0 6vw max(6vw,4rem); }
h1 { font-size:clamp(3.7rem,6vw,6.7rem); line-height:.91; letter-spacing:-.055em; }
.hero .eyebrow { color:#f0c8b8; }
.lede { max-width:610px; margin:2rem 0 2.4rem; font-size:clamp(1rem,1.28vw,1.18rem); }
.button { border-radius:.45rem; padding:1rem 1.35rem; }
.hero-brief { position:absolute; z-index:2; right:max(4vw,2rem); bottom:2.2rem; width:min(400px,32vw); border:1px solid rgba(255,255,255,.3); border-radius:.7rem; background:rgba(9,25,20,.78); backdrop-filter:blur(12px); }
.hero-brief div { display:grid; grid-template-columns:6.5rem 1fr; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid rgba(255,255,255,.16); }
.hero-brief div:last-child { border:0; }
.hero-brief span { color:rgba(255,255,255,.58); font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; }
.hero-brief strong { color:white; font-size:.75rem; font-weight:600; }
.b2b-strip { display:grid; grid-template-columns:repeat(4,1fr); background:var(--coral); color:white; }
.b2b-strip span { padding:1rem 1.25rem; border-right:1px solid rgba(255,255,255,.25); text-align:center; font-size:.62rem; font-weight:700; letter-spacing:.12em; }
.buyer-brief { padding:3rem 6vw clamp(5.5rem,8vw,8rem); scroll-margin-top:84px; }
.brief-intro { display:grid; grid-template-columns:.28fr 1.1fr .72fr; gap:3rem; align-items:start; max-width:1240px; margin:0 auto 4rem; }
.brief-intro h2,.buyer-process h2 { font-size:clamp(2.8rem,5vw,5rem); line-height:.92; letter-spacing:-.055em; }
.brief-intro h2 em,.buyer-process h2 em { color:var(--coral); font-family:"Newsreader",serif; font-weight:500; }
.brief-intro > p:last-child { margin:0; color:var(--muted); line-height:1.75; }
.impact-path { display:flex; align-items:center; justify-content:center; gap:1rem; max-width:1240px; margin:0 auto 1.25rem; padding:1rem 1.4rem; border:1px solid var(--line); background:var(--navy); color:white; }
.impact-path span { font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.impact-path b { color:var(--coral); font-size:1rem; font-weight:500; }
.brief-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; max-width:1240px; margin:auto; }
.brief-grid article { min-height:290px; padding:1.7rem 1.8rem; border:1px solid var(--line); background:white; display:flex; flex-direction:column; transition:transform .2s ease,box-shadow .2s ease; }
.brief-grid article:nth-child(2) { background:var(--cream); }
.brief-grid article:nth-child(3) { background:var(--olive-light); }
.brief-grid article:hover { transform:translateY(-3px); box-shadow:0 14px 35px rgba(18,35,29,.08); }
.brief-card-top { display:flex; align-items:center; justify-content:space-between; }
.brief-card-top span { color:var(--coral); font-size:.7rem; font-weight:700; }
.brief-card-top i { width:2.25rem; height:2.25rem; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--coral); font:normal 1.05rem "DM Sans",sans-serif; }
.brief-grid small { margin-top:2.4rem; color:var(--muted); font-size:.59rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.brief-grid h3 { margin:.55rem 0 .8rem; font-size:1.18rem; }
.brief-grid p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.65; }
.brief-grid article > strong { margin-top:auto; padding-top:1.4rem; color:var(--navy); font-size:.68rem; letter-spacing:.035em; }
.catalog-notice { max-width:1240px; margin:1.2rem auto 0; padding:1rem 1.2rem; border-left:3px solid var(--coral); background:var(--cream); color:var(--muted); font-size:.76rem; line-height:1.55; }
.catalog-notice strong { margin-right:.45rem; color:var(--ink); }
.mission { padding:3rem 6vw 4rem; scroll-margin-top:84px; }
.mission-heading h2,.section-heading h2,.preorder h2 { font-size:clamp(3rem,5vw,5.3rem); line-height:.91; }
.mission .statements { margin-top:2.25rem; }
.mission .statement-card { min-height:0; padding:clamp(1.6rem,2.6vw,2.5rem); border-radius:.65rem; }
.mission .statement-card h3 { margin:1rem 0 1.35rem; font-size:clamp(1.8rem,2.65vw,2.8rem); }
.mission .statement-card > p:not(.eyebrow):not(.korean) { margin:0 0 1.25rem; font-size:.96rem; line-height:1.55; }
.mission .statement-card .korean { padding-top:1rem; font-size:.85rem; line-height:1.6; }
.buyer-process { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; padding:clamp(5.5rem,8vw,8rem) 6vw; background:var(--navy); color:white; }
.process-heading em { color:var(--coral); }
.buyer-process ol { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.22); }
.buyer-process li { display:grid; grid-template-columns:3.4rem 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid rgba(255,255,255,.22); }
.buyer-process li > span { padding-top:.2rem; color:var(--coral); font-size:.68rem; font-weight:700; }
.buyer-process h3 { margin:0 0 .35rem; font-size:1rem; }
.buyer-process p { margin:0; color:rgba(255,255,255,.62); font-size:.82rem; line-height:1.55; }
.collection { padding:3rem 6vw clamp(5.5rem,8vw,8rem); scroll-margin-top:84px; }
.section-heading { max-width:1240px; margin:0 auto 3.2rem; }
.catalog-copy { max-width:420px; }
.catalog-copy p { margin:0 0 1rem; color:var(--muted); line-height:1.65; }
.catalog-copy span { display:inline-block; padding:.45rem .65rem; border:1px solid var(--line); border-radius:.25rem; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.seasonal-gifting { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,7vw,7rem); max-width:1240px; margin:0 auto 3rem; padding:clamp(2rem,4vw,3.5rem); background:var(--navy); color:white; }
.seasonal-gifting .eyebrow { color:var(--coral); }
.seasonal-gifting h3 { margin:1rem 0 0; font-size:clamp(2rem,3.7vw,3.75rem); line-height:.96; letter-spacing:-.045em; }
.seasonal-gifting h3 em { color:var(--coral); font-family:"Newsreader",serif; font-weight:500; }
.seasonal-gifting > div:last-child { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:1.5rem; }
.seasonal-gifting > div:last-child p { max-width:590px; margin:0; color:rgba(255,255,255,.75); line-height:1.7; }
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.product-card { border-radius:.55rem; box-shadow:0 12px 36px rgba(18,35,29,.055); }
.product-visual { aspect-ratio:1.08; border-bottom:1px solid var(--line); }
.product-gallery { background:#f4f3ef; }
.product-info { padding:1.35rem; }
.product-category { margin-bottom:.75rem; color:var(--coral); font-size:.62rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.product-meta h3 { font-size:1.12rem; }
.product-meta strong { font-size:.92rem; }
.product-info p { min-height:4.1em; margin:.8rem 0; }
.product-detail { padding:.7rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); line-height:1.4; }
.price-note { margin:.55rem 0 0!important; min-height:0!important; color:var(--muted)!important; font-size:.65rem!important; }
.product-detail-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:.76rem; font-weight:700; text-decoration:none; }
.product-detail-link span { color:var(--coral); transition:transform .2s ease; }
.product-detail-link:hover span { transform:translateX(4px); }
.quantity-wrap { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.1rem; }
.quantity-wrap > span { color:var(--muted); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.product-unavailable { margin-top:1.1rem; padding:.75rem .85rem; border:1px solid var(--line); background:var(--cream); color:var(--muted); font-size:.7rem; font-weight:700; letter-spacing:.06em; text-align:center; text-transform:uppercase; }
.quantity { width:138px; margin:0; border-color:var(--line); border-radius:.35rem; }
.quantity button { padding:.55rem; }
.preorder { padding:3rem 6vw clamp(5.5rem,8vw,8rem); scroll-margin-top:84px; grid-template-columns:.78fr 1.22fr; gap:6vw; }
form { border-radius:.6rem; padding:2.2rem; }
.checkout-heading > strong { border-radius:.3rem; }
.summary { margin-left:-2.2rem; margin-right:-2.2rem; }
.contact-heading { padding-top:.4rem; }
input,textarea { border-radius:.3rem; padding:.9rem; background:#fff; }
form .button { border-radius:.35rem; }
footer .brand-context { display:none; }

/* Internal B2B product detail page */
.product-page { background:var(--paper); }
.detail-main { padding:2rem 6vw 0; }
.detail-breadcrumb { display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:0 auto 1.7rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.detail-breadcrumb a { font-size:.75rem; font-weight:700; text-decoration:none; }
.detail-breadcrumb span { color:var(--muted); font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.detail-product { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(3rem,6vw,6rem); max-width:1240px; margin:0 auto; padding:1rem 0 6rem; }
.detail-main-image { min-height:clamp(460px,58vw,720px); display:grid; place-items:center; padding:2rem; overflow:hidden; border:1px solid var(--line); background:#f1f0ec; }
.detail-main-image img { display:block; width:auto; height:auto; max-width:100%; max-height:720px; object-fit:contain; cursor:zoom-in; }
.detail-case-quantity { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.65rem; padding:.9rem 1rem; background:var(--navy); color:white; }
.detail-case-quantity span { color:rgba(255,255,255,.68); font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.detail-case-quantity strong { font-size:.82rem; text-align:right; }
.detail-image-placeholder { font:500 italic 5rem "Newsreader",serif; color:var(--coral); }
.detail-thumbnails { display:grid; grid-template-columns:repeat(5,1fr); gap:.55rem; margin-top:.65rem; }
.detail-thumbnails button { aspect-ratio:1; padding:.2rem; overflow:hidden; border:1px solid var(--line); background:white; cursor:pointer; }
.detail-thumbnails button.active { border:2px solid var(--coral); }
.detail-thumbnails img { width:100%; height:100%; object-fit:contain; }
.detail-summary { padding-top:1rem; }
.detail-labels { display:flex; gap:.45rem; }
.detail-labels span { padding:.4rem .55rem; background:var(--olive-light); color:var(--navy); font-size:.59rem; font-weight:700; letter-spacing:.1em; }
.detail-labels span + span { background:var(--coral); color:white; }
.detail-summary h1 { margin:1.4rem 0 .7rem; font-size:clamp(2.7rem,4.3vw,4.8rem); line-height:.97; letter-spacing:-.055em; }
.detail-brand { margin:0; color:var(--muted); font-size:.76rem; font-weight:700; }
.detail-description { margin:1.7rem 0; color:var(--muted); font-size:1rem; line-height:1.7; }
.detail-price { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1.2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-price div { display:grid; gap:.35rem; }
.detail-price small { color:var(--muted); font-size:.58rem; font-weight:700; letter-spacing:.1em; }
.detail-price strong { font-size:1.5rem; }
.detail-price > span { max-width:130px; color:var(--muted); font-size:.65rem; line-height:1.4; text-align:right; }
.detail-highlights { display:grid; gap:.8rem; margin:1.5rem 0; padding:0; list-style:none; }
.detail-highlights li { position:relative; padding-left:1.4rem; font-size:.84rem; line-height:1.45; }
.detail-highlights li::before { content:"✓"; position:absolute; left:0; color:var(--coral); font-weight:700; }
.detail-inline-information { margin-top:1.5rem; border:1px solid var(--line); background:var(--cream); }
.detail-inline-information > h2 { margin:0; padding:1rem 1.15rem; border-bottom:1px solid var(--line); font-size:1rem; letter-spacing:-.02em; }
.detail-inline-block { padding:1rem 1.15rem; border-bottom:1px solid var(--line); }
.detail-inline-block:last-child { border-bottom:0; }
.detail-inline-block h3 { margin:0 0 .8rem; color:var(--ink); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.detail-inline-block h3:not(:first-child) { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.detail-inline-block dl { margin:0; }
.detail-inline-block dl div { display:grid; grid-template-columns:minmax(110px,.75fr) 1.25fr; gap:1rem; padding:.55rem 0; border-top:1px solid rgba(23,45,37,.12); }
.detail-inline-block dl div:first-child { border-top:0; }
.detail-inline-block dt { color:var(--muted); font-size:.68rem; }
.detail-inline-block dd { margin:0; font-size:.7rem; font-weight:700; line-height:1.4; }
.detail-inline-block .nutrition-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:1.2rem; }
.detail-inline-block .nutrition-grid div { grid-template-columns:1fr auto; }
.detail-inline-block p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.65; }
.detail-inline-note { background:rgba(255,255,255,.55); }
.detail-order-box { margin-top:1.6rem; padding:1.25rem; background:var(--cream); border:1px solid var(--line); }
.detail-order-box > label { margin:0 0 .7rem; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.detail-order-controls { display:grid; grid-template-columns:6rem 1fr; gap:.75rem; }
.detail-order-controls input { margin:0; min-height:50px; text-align:center; }
.detail-order-controls .button { border-radius:.3rem; }
.detail-order-box > p { margin:.8rem 0 0; color:var(--muted); font-size:.67rem; line-height:1.45; }
.detail-order-unavailable { border-left:3px solid var(--coral); }
.detail-order-unavailable > strong { font-size:.86rem; }
.detail-information { margin:0 -6vw; padding:clamp(5rem,8vw,8rem) 6vw; background:var(--cream); }
.detail-section-title { display:grid; grid-template-columns:.35fr 1fr; gap:3rem; max-width:1240px; margin:0 auto 3.5rem; }
.detail-section-title h2 { margin:0; font-size:clamp(2.8rem,5vw,5.2rem); line-height:.92; letter-spacing:-.055em; }
.detail-section-title h2 em { color:var(--coral); font-family:"Newsreader",serif; font-weight:500; }
.detail-information-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; max-width:1240px; margin:auto; }
.detail-information-grid > section { padding:2rem; border:1px solid var(--line); background:var(--paper); }
.detail-information-grid h3 { margin:0 0 1.4rem; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.detail-information-grid p { color:var(--muted); font-size:.88rem; line-height:1.7; }
.detail-information-grid section h3:not(:first-child) { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.detail-information-grid dl { margin:0; }
.detail-information-grid dl div { display:grid; grid-template-columns:.42fr .58fr; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line); }
.detail-information-grid dl div:last-child { border:0; }
.detail-information-grid dt { color:var(--muted); font-size:.72rem; }
.detail-information-grid dd { margin:0; font-size:.8rem; font-weight:600; line-height:1.45; }
.detail-buyer-note { grid-column:1/-1; background:var(--navy)!important; color:white; }
.detail-buyer-note p { max-width:920px; color:rgba(255,255,255,.7); }
.detail-disclaimer { max-width:1240px; margin:0 auto; padding:2rem 0 4rem; display:grid; grid-template-columns:.3fr 1fr; gap:2rem; }
.detail-disclaimer strong { font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.detail-disclaimer p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.65; }
.detail-loading,.detail-error { max-width:1240px; min-height:60vh; margin:auto; padding:6rem 0; }
.detail-error h1 { font-size:clamp(2.8rem,6vw,5rem); }

@media (max-width:1050px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brief-intro { grid-template-columns:1fr; gap:1.2rem; }
  .brief-intro > p:last-child { max-width:650px; }
  .buyer-process { grid-template-columns:1fr; }
}
@media (max-width:950px) {
  .site-header { height:74px; }
  .brand-context { padding-left:.75rem; font-size:.5rem; letter-spacing:.11em; }
  .hero { min-height:720px; height:auto; }
  .hero-copy { width:min(760px,92%); padding:8rem 7vw 12rem; }
  .hero-brief { left:7vw; right:auto; bottom:1.5rem; width:min(520px,86vw); }
  .preorder { grid-template-columns:1fr; }
  .detail-product { grid-template-columns:1fr; }
  .seasonal-gifting { grid-template-columns:1fr; }
  .detail-information-grid { grid-template-columns:1fr; }
  .detail-buyer-note { grid-column:auto; }
}
@media (max-width:650px) {
  .site-header { height:68px; padding:0 1rem; }
  .brand-word strong { font-size:1.25rem; }
  .brand-word em { font-size:.62rem; }
  .brand-context { max-width:78px; padding-left:.55rem; font-size:.43rem; line-height:1.25; letter-spacing:.08em; }
  .nav-cta { padding:.58rem .72rem; font-size:.69rem; }
  .hero { min-height:730px; }
  .hero-copy { padding:5rem 6vw 14rem; }
  h1 { font-size:clamp(3.15rem,14.5vw,4.6rem); }
  .hero-brief { left:6vw; width:88vw; }
  .hero-brief div { grid-template-columns:5.7rem 1fr; }
  .b2b-strip { grid-template-columns:1fr 1fr; }
  .b2b-strip span { border-bottom:1px solid rgba(255,255,255,.25); }
  .buyer-brief,.mission,.buyer-process,.collection,.preorder { padding:4.5rem 6vw; }
  .mission-heading h2 { font-size:clamp(2.05rem,10.5vw,2.75rem); }
  .mission-title-line { white-space:nowrap; }
  .brief-grid { grid-template-columns:1fr; }
  .impact-path { flex-direction:column; align-items:flex-start; gap:.4rem; }
  .impact-path b { margin-left:.8rem; transform:rotate(90deg); }
  .impact-path span { font-size:.58rem; }
  .brief-grid article { min-height:250px; }
  .product-grid { grid-template-columns:1fr; }
  .quantity-wrap { align-items:end; }
  form { padding:1.2rem; }
  .summary { margin-left:-1.2rem; margin-right:-1.2rem; }
  .detail-main { padding:1.2rem 5vw 0; }
  .detail-breadcrumb span { display:none; }
  .detail-product { padding-bottom:4rem; gap:1.8rem; }
  .detail-main-image { min-height:420px; padding:1rem; }
  .detail-main-image img { max-height:70vh; }
  .detail-inline-block .nutrition-grid { grid-template-columns:1fr; }
  .image-lightbox { padding:4rem .65rem .65rem; }
  .image-lightbox-scroll { width:100%; height:calc(100vh - 7.5rem); }
  .detail-thumbnails { grid-template-columns:repeat(4,1fr); }
  .detail-price { align-items:start; }
  .detail-order-controls { grid-template-columns:1fr; }
  .detail-information { margin:0 -5vw; padding:4.5rem 5vw; }
  .detail-section-title { grid-template-columns:1fr; gap:1rem; }
  .detail-information-grid > section { padding:1.3rem; }
  .detail-information-grid dl div { grid-template-columns:1fr; gap:.3rem; }
  .detail-disclaimer { grid-template-columns:1fr; gap:.7rem; }
}
