/* ===== House of Musk — Glass & Light design system ===== */
:root{
  --ink:#14161A; --glass:#E7E9EC; --amber:#C98A2E; --paper:#FAF9F7; --deep:#0B2A2E;
  --container:1220px; --radius:3px;
  --space-1:0.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2.5rem; --space-5:4rem; --space-6:6rem;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Sora',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 32px;}
h1,h2,h3{font-family:'Fraunces',serif;margin:0;line-height:1.08;font-weight:600;}
p{margin:0 0 1rem;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
@media (prefers-reduced-motion: reduce){ *{animation-duration:0.001s !important; transition-duration:0.001s !important;} }

/* ---------- header ---------- */
header.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,247,0.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,22,26,0.08);}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:42px;width:auto;}
.brand-name{font-family:'Fraunces',serif;font-size:1.3rem;font-style:italic;letter-spacing:0.01em;}
nav.main-nav{display:none;}
nav.main-nav ul{display:flex;gap:30px;align-items:center;}
nav.main-nav a{font-size:0.92rem;opacity:0.85;}
nav.main-nav a:hover{opacity:1;}
@media(min-width:900px){nav.main-nav{display:block;}}
.has-dropdown{position:relative;}
.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--paper);border:1px solid rgba(20,22,26,0.1);border-radius:2px;min-width:200px;padding:8px;box-shadow:0 12px 28px rgba(20,22,26,0.12);}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{display:block;}
.dropdown a{display:block;padding:8px 10px;border-radius:2px;opacity:1;}
.dropdown a:hover{background:var(--glass);}
.header-cta{background:var(--ink);color:var(--paper);padding:11px 22px;border-radius:2px;font-size:0.84rem;position:relative;overflow:hidden;white-space:nowrap;}
.header-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.35),transparent);transform:translateX(-120%);}
.header-cta:hover::after{transform:translateX(120%);transition:transform 0.7s ease;}
.mobile-toggle{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);}
@media(min-width:900px){.mobile-toggle{display:none;}}
.mobile-nav{display:block;background:var(--paper);border-top:1px solid rgba(20,22,26,0.1);}
.mobile-nav ul{padding:12px 32px;display:flex;flex-direction:column;gap:2px;}
.mobile-nav a{display:block;padding:10px 0;border-bottom:1px solid rgba(20,22,26,0.06);}
.mobile-nav[hidden]{display:none;}
@media(min-width:900px){.mobile-nav{display:none !important;}}

/* ---------- hero (home) ---------- */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;background:
    radial-gradient(120% 90% at 80% 0%, rgba(201,138,46,0.10), transparent 55%),
    radial-gradient(90% 70% at 10% 100%, rgba(11,42,46,0.06), transparent 60%),
    var(--paper);padding:60px 0;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;position:relative;z-index:2;width:100%;}
@media(min-width:960px){.hero-grid{grid-template-columns:1.05fr 0.95fr;}}
.eyebrow{font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--amber);font-weight:600;margin-bottom:18px;}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);max-width:12ch;}
.hero h1 em{color:var(--amber);font-style:italic;}
.hero p.lede{font-size:1.1rem;color:#4B4E54;max-width:44ch;margin:20px 0 28px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn{padding:14px 28px;border-radius:2px;font-size:0.9rem;font-weight:500;display:inline-block;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-outline{border:1px solid rgba(20,22,26,0.28);}
.hero-visual{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--glass);}
.hero-visual img{width:100%;height:100%;object-fit:cover;}
.refraction{position:absolute;inset:0;mix-blend-mode:soft-light;background:linear-gradient(115deg,transparent 20%, rgba(255,255,255,0.85) 42%, rgba(201,138,46,0.5) 48%, transparent 60%);background-size:300% 300%;animation:sweep 7s ease-in-out infinite;pointer-events:none;}
@keyframes sweep{0%{background-position:0% 0%;}50%{background-position:100% 100%;}100%{background-position:0% 0%;}}
.price-tag{position:absolute;bottom:22px;left:22px;background:rgba(250,249,247,0.92);backdrop-filter:blur(6px);padding:12px 16px;border-radius:2px;}
.price-tag .name{font-family:'Fraunces',serif;font-size:1rem;}
.price-tag .price{color:var(--amber);font-weight:600;margin-top:2px;}

/* ---------- page hero (category/product/about) ---------- */
.page-hero{padding:52px 0 20px;}
.breadcrumbs{font-size:0.82rem;color:#6a6d72;margin-bottom:14px;}
.breadcrumbs a:hover{text-decoration:underline;}

/* ---------- note strip marquee ---------- */
.note-strip{border-top:1px solid rgba(20,22,26,0.1);border-bottom:1px solid rgba(20,22,26,0.1);padding:14px 0;overflow:hidden;white-space:nowrap;}
.note-strip .track{display:inline-block;animation:scroller 26s linear infinite;font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem;color:#3c3e43;}
.note-strip .track span{margin:0 26px;}
@keyframes scroller{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- section ---------- */
.section{padding:80px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.section-eyebrow{font-size:0.76rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);font-weight:600;margin-bottom:10px;}
.section-head h2,.section-head h1{font-size:clamp(1.8rem,3vw,2.5rem);}
.section-lede{color:#4B4E54;max-width:62ch;}
.divider{border:none;height:1px;background:rgba(20,22,26,0.12);margin:var(--space-5) 0;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease, transform 0.7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ---------- chip filter row ---------- */
.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.chip{padding:9px 18px;border-radius:20px;border:1px solid rgba(20,22,26,0.2);font-size:0.85rem;}
.chip.active{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- product grid ---------- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1080px){.grid{grid-template-columns:repeat(4,1fr);}}
.card{background:var(--glass);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform 0.45s cubic-bezier(.2,.8,.2,1);}
.card:hover{transform:translateY(-6px);}
.card-link{position:absolute;inset:0;z-index:3;}
.card-media{aspect-ratio:1/1.1;overflow:hidden;position:relative;}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.card:hover .card-media img{transform:scale(1.07);}
.card-body{padding:18px;background:var(--paper);}
.card-cat{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--amber);font-weight:600;}
.card-title{font-family:'Fraunces',serif;font-size:1.05rem;margin:6px 0 8px;}
.card-price{display:flex;gap:10px;align-items:baseline;}
.card-price .now{font-weight:600;}
.card-price .was{text-decoration:line-through;color:#8a8d92;font-size:0.85rem;}
.badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--ink);color:var(--paper);font-size:0.66rem;letter-spacing:0.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;}

/* ---------- product detail ---------- */
.pd-grid{display:grid;grid-template-columns:1fr;gap:44px;padding:20px 0 10px;}
@media(min-width:900px){.pd-grid{grid-template-columns:1fr 1fr;align-items:start;}}
.pd-gallery-main{position:relative;aspect-ratio:1/1.1;border-radius:var(--radius);overflow:hidden;background:var(--glass);}
.pd-gallery-main img{width:100%;height:100%;object-fit:cover;}
.pd-gallery-thumbs{display:flex;gap:10px;margin-top:10px;}
.pd-gallery-thumbs button{width:64px;height:64px;padding:0;border-radius:2px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:var(--glass);}
.pd-gallery-thumbs button.active{border-color:var(--amber);}
.pd-gallery-thumbs img{width:100%;height:100%;object-fit:cover;}
.product-family{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--amber);font-weight:600;margin-bottom:10px;}
.product-title{font-family:'Fraunces',serif;font-size:clamp(1.8rem,3.4vw,2.5rem);}
.price-row{display:flex;align-items:baseline;gap:14px;margin:14px 0 10px;}
.price-current{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:600;}
.price-old{text-decoration:line-through;color:#8a8d92;font-size:1.05rem;}
.stock-note{font-size:0.85rem;color:var(--amber);font-weight:600;margin-bottom:20px;}
.spec-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 28px;padding:20px;background:var(--glass);border-radius:var(--radius);}
@media(min-width:560px){.spec-grid{grid-template-columns:1fr 1fr;}}
.spec-item{display:flex;gap:8px;align-items:flex-start;font-size:0.92rem;}
.spec-item .mark{color:var(--amber);font-weight:800;line-height:1.5;}
.wa-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;}
.trust-strip{display:flex;flex-wrap:wrap;gap:24px;font-size:0.85rem;color:#4B4E54;margin-bottom:20px;}
.long-desc{max-width:800px;margin:0 auto;}
.long-desc h3{font-size:1.3rem;margin-top:0;}
.long-desc p{margin-bottom:20px;color:#3c3e43;line-height:1.8;font-size:1.02rem;}
.long-desc p:last-child{margin-bottom:0;}
.desc-box{background:var(--glass);border:1px solid rgba(20,22,26,0.08);border-radius:var(--radius);padding:40px 48px;}
@media(max-width:600px){.desc-box{padding:28px 24px;}}

/* ---------- story / split ---------- */
.story{display:grid;grid-template-columns:1fr;gap:50px;align-items:center;}
@media(min-width:960px){.story{grid-template-columns:0.9fr 1.1fr;}}
.story-media{position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;}
.story-media img{width:100%;height:100%;object-fit:cover;}
.story-media .ring{position:absolute;inset:14px;border:1px solid rgba(255,255,255,0.5);border-radius:2px;pointer-events:none;}
.story p{color:#4B4E54;font-size:1.05rem;max-width:52ch;}
.stat-row{display:flex;gap:40px;margin-top:26px;flex-wrap:wrap;}
.stat b{font-family:'Fraunces',serif;font-size:2rem;display:block;color:var(--amber);}
.stat span{font-size:0.82rem;color:#6a6d72;}

/* ---------- trust bar ---------- */
.trust{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;padding:36px 0;border-top:1px solid rgba(20,22,26,0.1);font-size:0.86rem;color:#4B4E54;}

/* ---------- about / static page ---------- */
.about-copy{max-width:66ch;}
.about-copy p{margin-bottom:16px;font-size:1.05rem;color:#3c3e43;}

/* ---------- footer ---------- */
footer.site-footer{background:var(--ink);color:var(--paper);padding:56px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:36px;}
@media(min-width:760px){.footer-grid{grid-template-columns:2fr 1fr 1fr;}}
.footer-grid h4{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:12px;color:#c9ccd1;}
.footer-grid a{display:block;padding:4px 0;color:#9a9ea5;}
.footer-grid a:hover{color:var(--paper);}
footer .brand-name{color:var(--paper);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12);padding-top:18px;font-size:0.8rem;color:#8a8e94;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
