:root { --black:#020202; --panel:#090807; --red:#a10f18; --red-bright:#e2222d; --gold:#b28a48; --gold-bright:#e8c77b; --cream:#f3eddf; --muted:#aaa49a; --line:rgba(226,34,45,.28); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--cream); font-family:"Noto Sans Thai",sans-serif; overflow-x:hidden; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:19; background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 72%); }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.grain { position:fixed; inset:0; z-index:20; pointer-events:none; opacity:.055; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.site-header { height:84px; padding:0 5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); position:absolute; z-index:10; width:100%; background:linear-gradient(180deg,rgba(0,0,0,.6),transparent); }
.wordmark { font:600 1.15rem/1 "Cinzel",serif; letter-spacing:.42em; }
nav { display:flex; gap:2.3rem; font-size:.84rem; color:#d6d0c4; }
nav a:hover { color:var(--gold-bright); }
.lang-toggle { justify-self:end; border:1px solid var(--line); background:rgba(0,0,0,.3); color:#777; padding:.45rem .7rem; display:flex; gap:.65rem; cursor:pointer; }
.lang-toggle .active { color:var(--gold-bright); }
.header-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
.cart-toggle { min-height:39px; display:flex; align-items:center; gap:.65rem; border:1px solid rgba(232,199,123,.45); background:rgba(0,0,0,.54); color:var(--gold-bright); padding:.45rem .6rem .45rem .85rem; cursor:pointer; letter-spacing:.08em; }
.cart-count { min-width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:#29241d; color:#9f9686; font:600 .72rem "Cinzel",serif; transition:.2s ease; }
.cart-count.has-items { color:#fff; background:var(--red-bright); box-shadow:0 0 18px rgba(226,34,45,.55); }
.hero { min-height:100svh; position:relative; display:flex; align-items:center; padding:132px 8vw 70px; overflow:hidden; }
.hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#020202 0%,rgba(2,2,2,.94) 36%,rgba(2,2,2,.35) 67%,#020202 100%),linear-gradient(0deg,#020202 0%,transparent 42%); }
.hero-media { position:absolute; inset:0; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(.35) saturate(.58) contrast(1.18) brightness(.72); }
.ritual-halo { position:absolute; z-index:2; right:3vw; top:50%; width:min(58vw,820px); aspect-ratio:1; border:1px solid rgba(226,34,45,.42); border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 26px rgba(226,34,45,.025),0 0 0 82px rgba(226,34,45,.035),0 0 100px rgba(161,15,24,.24); }
.ritual-halo::before,.ritual-halo::after { content:""; position:absolute; inset:8%; border:1px dashed rgba(232,199,123,.3); border-radius:50%; }
.ritual-halo::after { inset:21%; border-style:solid; border-color:rgba(255,255,255,.16); }
.hero-om { position:absolute; z-index:3; width:min(58vw,820px); right:3vw; top:50%; transform:translateY(-50%); opacity:.43; pointer-events:none; filter:drop-shadow(0 0 18px rgba(226,34,45,.48)) drop-shadow(0 0 70px rgba(161,15,24,.2)); }
.ritual-axis { position:absolute; z-index:4; right:2vw; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:11px; color:var(--gold-bright); font-size:.68rem; letter-spacing:.22em; writing-mode:vertical-rl; }
.ritual-axis i { width:1px; height:28px; background:var(--red-bright); display:block; }
.hero-copy { position:relative; z-index:3; width:min(700px,72vw); }
.eyebrow,.section-kicker { color:var(--gold); font:600 .74rem/1.4 "Cinzel",serif; letter-spacing:.3em; }
.eyebrow { display:flex; align-items:center; gap:12px; }
.eyebrow span { width:38px; height:1px; background:var(--gold); }
.sacred-mark { color:var(--red-bright); font-size:clamp(5rem,12vw,9rem); line-height:.78; margin:3.2rem 0 1.4rem; text-shadow:0 0 18px rgba(226,34,45,.48),0 0 60px rgba(161,15,24,.35); }
.hero-product-no { margin:3.2rem 0 .85rem; color:var(--gold-bright); font:600 clamp(1rem,2vw,1.4rem)/1.2 "Cinzel",serif; letter-spacing:.28em; }
.hero-price { margin:1.5rem 0 0; color:var(--gold-bright); font:600 clamp(1.55rem,3vw,2.3rem)/1 "Cinzel",serif; letter-spacing:.08em; }
h1,h2,h3 { font-family:"Cinzel",serif; margin:0; font-weight:600; }
h1 { font-size:clamp(3.3rem,7vw,7.4rem); line-height:.82; letter-spacing:-.04em; }
h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px var(--red-bright); text-shadow:0 0 40px rgba(226,34,45,.22); }
.lead { max-width:500px; color:#cbc5ba; font-size:1.04rem; line-height:1.85; margin:2rem 0; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.4rem; border:1px solid var(--gold); letter-spacing:.12em; font-size:.82rem; font-weight:600; cursor:pointer; }
.primary { background:var(--red); border-color:var(--red-bright); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 12px 40px rgba(161,15,24,.2); }
.primary:hover { background:var(--red-bright); }
.ghost { background:rgba(0,0,0,.28); }
.full { width:100%; }
.hero-index { position:absolute; right:4vw; bottom:7vh; z-index:2; font:500 .85rem/1.05 "Cinzel",serif; color:#d3b978; text-align:center; letter-spacing:.3em; }
.hero-index span { font-size:3.2rem; color:var(--red-bright); text-shadow:0 0 22px rgba(226,34,45,.55); }
section { position:relative; }
.manifesto,.collection,.campaign { padding:110px 8vw; }
.manifesto { background:radial-gradient(circle at 18% 50%,rgba(161,15,24,.22),transparent 34%),linear-gradient(135deg,#0b0908,#030303); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
.manifesto::after { content:"FAITH IS THE FORCE"; position:absolute; right:-.08em; bottom:-.18em; color:transparent; -webkit-text-stroke:1px rgba(226,34,45,.12); font:600 clamp(4rem,10vw,10rem)/1 "Cinzel",serif; white-space:nowrap; pointer-events:none; }
.manifesto-grid { display:grid; grid-template-columns:minmax(260px,520px) 1fr; gap:7vw; align-items:center; margin-top:2rem; }
.om-logo { width:100%; max-height:560px; object-fit:contain; filter:drop-shadow(0 0 22px rgba(226,34,45,.55)) drop-shadow(0 0 70px rgba(161,15,24,.24)); opacity:.94; }
.manifesto h2,.section-head h2,.campaign h2,footer h2 { font-size:clamp(2.1rem,4.5vw,4.6rem); line-height:1.12; }
.manifesto p:not(.section-kicker),.campaign-copy>p:not(.section-kicker) { color:var(--muted); max-width:650px; line-height:1.9; font-size:1.02rem; }
blockquote { margin:2.4rem 0 0; padding-left:1.2rem; border-left:1px solid var(--gold); font:500 1.1rem "Cinzel",serif; letter-spacing:.2em; color:var(--gold-bright); }
.section-head { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:3rem; }
.section-head .section-kicker { margin-bottom:1rem; }
.limited { color:var(--muted); }
.product-card { display:grid; grid-template-columns:1.25fr .75fr; background:var(--panel); border:1px solid var(--line); box-shadow:18px 18px 0 rgba(161,15,24,.09); }
.product-card + .product-card { margin-top:5rem; }
.product-visual { min-height:620px; position:relative; overflow:hidden; }
.product-visual::after { content:"ॐ"; position:absolute; left:-3%; bottom:-15%; font:500 24rem/1 serif; color:rgba(226,34,45,.14); text-shadow:0 0 40px rgba(161,15,24,.18); }
.product-visual img { width:100%; height:100%; object-fit:cover; }
.black-tee-card .product-visual { background:#050403; }
.black-tee-card .product-visual img { object-position:66% center; filter:saturate(.74) contrast(1.08); }
.black-tee-card .product-visual::after { color:rgba(232,199,123,.075); }
.badge { position:absolute; left:22px; top:22px; z-index:2; padding:.5rem .8rem; border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.6); font:.7rem "Cinzel",serif; letter-spacing:.18em; }
.product-info { padding:clamp(2rem,5vw,5rem); display:flex; flex-direction:column; justify-content:center; }
.product-no { color:var(--gold); font:.75rem "Cinzel",serif; letter-spacing:.2em; }
.product-info h3 { font-size:clamp(2rem,4vw,4rem); line-height:1.05; }
.price { font:500 1.45rem "Cinzel",serif; color:var(--gold-bright); margin:1.5rem 0; }
.desc { color:var(--muted); line-height:1.8; }
.choices { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin:2rem 0; color:#bdb7ab; font-size:.85rem; }
.swatches,.sizes { display:flex; gap:9px; margin-top:.7rem; }
.swatch { width:31px; height:31px; border:1px solid #76716a; cursor:pointer; }
.swatch.black { background:#090909; }.swatch.white { background:#eee; }
.swatch.selected,.sizes button.selected { outline:1px solid var(--gold); outline-offset:3px; }
.sizes button { min-width:38px; padding:0 .55rem; height:34px; border:1px solid #49453f; background:transparent; color:var(--cream); cursor:pointer; }
.hoodie-card { border-color:rgba(232,199,123,.34); box-shadow:18px 18px 0 rgba(178,138,72,.09),0 0 90px rgba(178,138,72,.05); }
.spin-visual { min-width:0; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 50% 43%,rgba(178,138,72,.16),transparent 45%),#040403; isolation:isolate; }
.spin-visual::after { content:"69"; left:auto; right:-.05em; bottom:-.12em; color:rgba(232,199,123,.055); font-family:"Cinzel",serif; }
.spin-orbit { position:absolute; inset:7% 14% 18%; z-index:-1; border:1px solid rgba(232,199,123,.22); border-radius:50%; box-shadow:0 0 0 26px rgba(178,138,72,.025),inset 0 0 80px rgba(178,138,72,.04); }
.spin-orbit::before,.spin-orbit::after { content:""; position:absolute; inset:8%; border:1px dashed rgba(232,199,123,.2); border-radius:50%; }
.spin-orbit::after { inset:20%; border-style:solid; border-color:rgba(226,34,45,.17); }
.spin-orbit span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:rgba(232,199,123,.07); font-size:18rem; }
.spin-stage { position:relative; z-index:2; width:100%; aspect-ratio:1; outline:none; cursor:grab; touch-action:pan-y; user-select:none; overflow:hidden; }
.spin-stage:active { cursor:grabbing; }
.spin-stage:focus-visible { box-shadow:inset 0 0 0 2px var(--gold-bright); }
.spin-frame { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(.985); transition:opacity .22s ease,transform .35s ease; pointer-events:none; }
.spin-frame.active { opacity:1; transform:scale(1); }
.hoodie-badge { border-color:var(--gold); color:var(--gold-bright); background:rgba(2,2,2,.76); }
.spin-prompt { position:absolute; left:50%; bottom:19px; transform:translateX(-50%); display:flex; align-items:center; gap:.65rem; padding:.55rem .85rem; color:#d8c79e; background:rgba(0,0,0,.72); border:1px solid rgba(232,199,123,.25); font-size:.72rem; letter-spacing:.11em; white-space:nowrap; backdrop-filter:blur(8px); }
.spin-prompt span { font-size:1.15rem; color:var(--gold-bright); }
.spin-prompt b { font-weight:500; }
.spin-controls { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(232,199,123,.18); }
.spin-controls button { min-height:46px; border:0; border-right:1px solid rgba(232,199,123,.13); background:rgba(0,0,0,.72); color:#817865; font:500 .65rem "Cinzel",serif; letter-spacing:.14em; cursor:pointer; }
.spin-controls button:last-child { border-right:0; }
.spin-controls button.active { color:var(--gold-bright); background:linear-gradient(180deg,rgba(178,138,72,.17),rgba(0,0,0,.72)); box-shadow:inset 0 2px var(--gold); }
.hoodie-info { position:relative; overflow:hidden; }
.hoodie-info::after { content:"ॐ"; position:absolute; right:-.16em; top:-.12em; color:rgba(178,138,72,.035); font-size:19rem; z-index:-1; }
.edition-mark { display:flex; align-items:center; gap:.9rem; margin:1.5rem 0 0; color:var(--gold-bright); }
.edition-mark span { font:600 4.5rem/.8 "Cinzel",serif; text-shadow:0 0 30px rgba(178,138,72,.22); }
.edition-mark small { font:.62rem/1.5 "Cinzel",serif; letter-spacing:.18em; color:var(--gold); }
.scarcity { margin-top:1.3rem; padding:.8rem 1rem; border-left:2px solid var(--red-bright); background:rgba(161,15,24,.08); color:#d7cfc1; font-size:.86rem; }
.bangle-card { border-color:rgba(232,199,123,.38); box-shadow:18px 18px 0 rgba(178,138,72,.1),0 0 110px rgba(178,138,72,.07); }
.bangle-visual { background:#020202; isolation:isolate; }
.bangle-visual::after { content:"ॐ"; z-index:3; right:-.05em; left:auto; top:5%; bottom:auto; font-size:23rem; color:rgba(232,199,123,.075); text-shadow:0 0 55px rgba(178,138,72,.2); pointer-events:none; }
.bangle-visual .spin-stage { aspect-ratio:664/591; }
.bangle-visual .spin-frame { object-fit:cover; }
.bangle-badge { border-color:var(--gold); color:var(--gold-bright); background:rgba(2,2,2,.78); }
.bangle-light { position:absolute; z-index:1; left:18%; right:18%; bottom:8%; height:24%; border-radius:50%; background:radial-gradient(ellipse,rgba(255,220,138,.34),rgba(178,138,72,.1) 42%,transparent 72%); filter:blur(22px); animation:bangle-glow 2.8s ease-in-out infinite alternate; }
.bangle-spec { display:flex; align-items:center; gap:1rem; margin:1.6rem 0 0; color:var(--gold-bright); }
.bangle-spec span { font:600 3.7rem/.85 "Cinzel",serif; text-shadow:0 0 30px rgba(178,138,72,.25); }
.bangle-spec small { font:.62rem/1.55 "Cinzel",serif; letter-spacing:.16em; color:var(--gold); }
@keyframes bangle-glow { from { opacity:.62; transform:scale(.94); } to { opacity:1; transform:scale(1.05); } }
.campaign { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(520px,1.25fr); gap:6vw; align-items:center; background:radial-gradient(circle at 18% 50%,rgba(161,15,24,.2),transparent 38%); }
.campaign-copy .section-kicker { margin-bottom:1rem; }
.campaign-videos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.video-shell { border:1px solid var(--line); padding:10px; background:#0a0908; box-shadow:0 40px 90px rgba(0,0,0,.6); }
.video-shell video { width:100%; aspect-ratio:512/910; max-height:720px; object-fit:cover; display:block; }
.video-shell span { display:block; font:.68rem "Cinzel",serif; letter-spacing:.2em; color:var(--gold); padding:12px 4px 3px; }
.location { padding:100px 8vw; border-top:1px solid var(--line); background:radial-gradient(circle at 82% 50%,rgba(161,15,24,.15),transparent 34%),#070707; }
.location-heading { text-align:center; margin-bottom:42px; }
.location-heading .section-kicker { margin-bottom:.8rem; }
.location-heading h2 { margin:0; font-size:clamp(2.1rem,4.5vw,4.6rem); line-height:1.12; }
.location-grid { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(280px,1fr); gap:clamp(28px,6vw,84px); align-items:center; max-width:1120px; margin:0 auto; }
.location-map { display:block; border:1px solid rgba(232,199,123,.55); background:#080808; box-shadow:0 35px 90px rgba(0,0,0,.55); transition:transform .25s ease,border-color .25s ease; }
.location-map:hover { transform:translateY(-4px); border-color:var(--gold-bright); }
.location-map img { width:100%; height:auto; display:block; }
.location-details { position:relative; padding:clamp(30px,5vw,64px); border:1px solid var(--line); background:linear-gradient(145deg,rgba(18,16,14,.96),rgba(7,7,7,.98)); box-shadow:0 28px 80px rgba(0,0,0,.38); overflow:hidden; }
.location-om { display:block; margin-bottom:1.6rem; color:var(--gold-bright); font:3.7rem/1 "Noto Sans Thai",serif; text-shadow:0 0 30px rgba(232,199,123,.3); }
.location-details .section-kicker { margin:0 0 .8rem; }
.location-details h3 { max-width:430px; margin:0 0 1.5rem; font-size:clamp(1.7rem,3.3vw,2.8rem); line-height:1.18; }
.location-details address { color:var(--cream); font-style:normal; font:1.12rem/1.9 "Cinzel",serif; letter-spacing:.04em; }
.location-note { margin:1.2rem 0 1.7rem; color:var(--muted); line-height:1.7; }
.location-details .button { min-width:180px; }
footer { padding:100px 8vw 35px; text-align:center; border-top:1px solid var(--line); background:#030303; }
footer img { width:180px; mix-blend-mode:screen; margin-bottom:2rem; }
footer h2 { max-width:850px; margin:0 auto; }
.footer-links { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem 2rem; margin:3rem 0 5rem; color:var(--gold-bright); }
.footer-bottom { border-top:1px solid #24211d; padding-top:28px; display:flex; justify-content:space-between; color:#777; font:.7rem "Cinzel",serif; letter-spacing:.18em; }
.order-dialog { width:min(92vw,500px); color:var(--cream); background:#0b0a09; border:1px solid var(--gold); padding:3rem; box-shadow:0 30px 100px #000; }
.order-dialog::backdrop,.cart-dialog::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(5px); }
.order-dialog h2 { margin:.7rem 0; font-size:2rem; }.order-dialog p:not(.section-kicker){color:var(--muted);line-height:1.7}.order-dialog .button{margin-top:10px}.order-dialog .line{border-color:#41b751;background:#41b751;color:#071308}
.dialog-close { position:absolute; top:12px; right:16px; border:0; background:transparent; color:var(--cream); font-size:2rem; cursor:pointer; }
.cart-dialog { width:min(94vw,660px); max-height:90vh; color:var(--cream); background:#080706; border:1px solid rgba(232,199,123,.62); padding:0; box-shadow:0 32px 120px #000,0 0 80px rgba(161,15,24,.16); }
.cart-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:28px 30px 22px; border-bottom:1px solid var(--line); background:rgba(8,7,6,.94); backdrop-filter:blur(12px); }
.cart-head .section-kicker { margin:0 0 .5rem; }.cart-head h2 { font-size:clamp(1.8rem,5vw,2.7rem); }.cart-close { border:0; background:transparent; color:var(--cream); font-size:2.4rem; cursor:pointer; }
.cart-items { padding:10px 30px; max-height:42vh; overflow:auto; }
.cart-item { display:grid; grid-template-columns:54px 1fr auto; gap:16px; align-items:center; padding:19px 0; border-bottom:1px solid rgba(232,199,123,.15); position:relative; }
.cart-item-mark { width:54px; height:66px; display:grid; place-items:center; border:1px solid rgba(232,199,123,.28); background:radial-gradient(circle,rgba(161,15,24,.28),#050403 70%); color:var(--gold-bright); font:600 1.1rem "Cinzel",serif; }
.cart-item-info h3 { font-size:.96rem; line-height:1.35; letter-spacing:.03em; }.cart-item-info p { margin:.35rem 0; color:var(--muted); font-size:.8rem; }.cart-item-info strong { color:var(--gold-bright); font:.8rem "Cinzel",serif; }
.quantity { display:flex; align-items:center; border:1px solid #403a32; }.quantity button { width:34px; height:34px; border:0; background:transparent; color:var(--cream); cursor:pointer; font-size:1.1rem; }.quantity span { min-width:25px; text-align:center; font:.8rem "Cinzel",serif; }
.cart-remove { position:absolute; right:0; bottom:8px; border:0; background:transparent; color:#867d70; cursor:pointer; font-size:.7rem; text-decoration:underline; }
.cart-empty { min-height:210px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.cart-empty span { color:var(--red-bright); font-size:4rem; line-height:1; text-shadow:0 0 25px rgba(226,34,45,.45); }.cart-empty p { margin:1rem 0 .3rem; font-weight:600; }.cart-empty small { color:var(--muted); }
.cart-summary { display:flex; justify-content:space-between; align-items:center; padding:22px 30px 10px; border-top:1px solid var(--line); }.cart-summary strong { color:var(--gold-bright); font:600 1.35rem "Cinzel",serif; }
.cart-note { margin:0; padding:0 30px 18px; color:var(--muted); font-size:.78rem; }.cart-dialog>.button { width:calc(100% - 60px); margin:0 30px 10px; }.cart-dialog .line { border-color:#41b751; background:#41b751; color:#071308; }
.cart-toast { position:fixed; left:50%; bottom:28px; z-index:40; max-width:calc(100vw - 40px); transform:translate(-50%,22px); padding:.8rem 1.1rem; border:1px solid var(--gold); background:#100e0b; color:var(--cream); box-shadow:0 18px 55px #000; opacity:0; pointer-events:none; transition:.25s ease; text-align:center; }
.cart-toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:800px) {
  .site-header { grid-template-columns:1fr auto; height:70px; padding:0 16px; } nav { display:none; }
  .wordmark { letter-spacing:.3em; font-size:1rem; }
  .header-actions { gap:6px; }.cart-toggle { padding:.4rem .5rem; }.cart-toggle>span { display:none; }.lang-toggle { padding:.42rem .55rem; }
  .hero { min-height:900px; padding:120px 24px 55px; align-items:flex-end; }
  .hero::after { background:linear-gradient(0deg,#020202 3%,rgba(2,2,2,.82) 54%,rgba(2,2,2,.18) 100%); }
  .hero-media img { object-position:66% center; }
  .ritual-halo { width:118vw; max-width:none; right:-54vw; top:34%; opacity:.8; }
  .hero-om { width:124vw; max-width:none; right:-57vw; top:34%; opacity:.42; }
  .ritual-axis { display:none; }
  .hero-copy { width:100%; }.sacred-mark { margin:0 0 1.2rem; font-size:6rem; }.hero-product-no{margin:0 0 .9rem;font-size:.82rem}.hero-price{margin:1.2rem 0 0}
  h1 { font-size:clamp(3rem,16vw,5rem); }
  .hero-index { display:none; }
  .manifesto,.collection,.campaign,.location { padding:80px 24px; }
  .manifesto-grid,.product-card,.campaign,.location-grid { grid-template-columns:1fr; }
  .om-logo { max-width:480px; margin:auto; }
  .section-head { align-items:start; flex-direction:column; }
  .product-visual { min-height:460px; }.product-info{padding:34px 24px}.choices{gap:1rem}
  .product-card + .product-card { margin-top:3rem; }
  .spin-visual { min-height:auto; }.spin-stage{aspect-ratio:1}.spin-orbit{inset:9% 7% 18%}.spin-orbit span{font-size:12rem}
  .spin-controls button { min-height:42px; font-size:.58rem; letter-spacing:.09em; }
  .campaign { gap:3rem; }.campaign-videos { grid-template-columns:1fr; }.video-shell { max-width:380px; margin:auto; }
  .location-heading { margin-bottom:30px; }.location-grid { gap:24px; }.location-details { padding:32px 26px; }
  footer { padding:80px 24px 30px; }.footer-bottom{gap:1rem;flex-direction:column}.order-dialog{padding:2.4rem 1.4rem}
  .cart-head { padding:22px 20px 18px; }.cart-items { padding:8px 20px; }.cart-item { grid-template-columns:44px 1fr; gap:12px; padding-bottom:52px; }.cart-item-mark { width:44px; height:58px; }.quantity { position:absolute; left:56px; bottom:12px; }.cart-remove { bottom:20px; }.cart-summary { padding:20px 20px 9px; }.cart-note { padding:0 20px 16px; }.cart-dialog>.button { width:calc(100% - 40px); margin-left:20px; margin-right:20px; }
}
@media (prefers-reduced-motion:no-preference) { .ritual-halo::before { animation:ritual-spin 34s linear infinite; } }
@keyframes ritual-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
