
:root{
  --navy:#171310; --navy2:#2b211b; --blue:#9a7444; --teal:#c6a56f;
  --ice:#fbf8f3; --ice2:#f1e9df; --ice3:#e7ddd0; --ink:#211a16;
  --muted:#756b63; --gold:#b78c52; --white:#fffdfa; --line:#e2d8cc;
  --shadow:0 24px 70px rgba(49,34,24,.12);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
button{font:inherit}
.container{width:min(1180px,92%);margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.8rem;z-index:1000}
.topbar{background:var(--navy);color:#e8ddd2;text-align:center;padding:.42rem 1rem;font-size:.78rem;letter-spacing:.05em}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(215,231,242,.8)}
.nav{height:78px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:10px;min-width:190px}
.brand img{width:54px;height:38px;object-fit:contain}
.brand-name{font-weight:800;letter-spacing:.08em;color:var(--navy);line-height:1}
.brand-name span{display:block;font-weight:500;font-size:.67rem;letter-spacing:.18em;margin-top:5px;color:#80684c}
.navlinks{display:flex;align-items:center;gap:1.15rem;margin-left:auto;font-size:.86rem;color:#5f554d}
.navlinks a{position:relative;padding:.45rem 0}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--blue);transition:right .25s ease}
.navlinks a:hover:after,.navlinks a.active:after{right:0}
.navlinks a.active{color:var(--navy);font-weight:700}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:2px;padding:.78rem 1.25rem;font-weight:750;font-size:.84rem;letter-spacing:.02em;border:1px solid transparent;transition:.2s ease}
.nav-cta,.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(35,25,19,.18)}
.nav-cta:hover,.btn-primary:hover{transform:translateY(-1px);background:var(--navy2)}
.btn-secondary{background:#fff;color:var(--navy);border-color:#aacadd}
.menu-btn{display:none;margin-left:auto;border:0;background:transparent;font-size:1.45rem;color:var(--navy)}
.mobile-menu{display:none}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--blue)}
h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.08;font-weight:500}
h1{font-size:clamp(2.75rem,6vw,5.6rem);margin:.9rem 0 1.2rem;letter-spacing:-.035em}
h2{font-size:clamp(2.05rem,4vw,3.45rem);margin:.7rem 0 1rem;letter-spacing:-.025em}
h3{font-size:1.45rem;margin:.3rem 0 .65rem}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:#6f655d;max-width:64ch}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero{position:relative;overflow:hidden;background:
 radial-gradient(circle at 85% 13%,rgba(183,140,82,.18),transparent 25%),
 radial-gradient(circle at 70% 72%,rgba(81,58,42,.10),transparent 28%),
 linear-gradient(135deg,#fffdfa 0%,#f7f1e9 52%,#e9ddd0 100%);
 padding:6.2rem 0 5rem}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.45) 50%,transparent 57%);transform:translateX(-120%);animation:heroSweep 7s ease-in-out infinite}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:4rem;align-items:center;position:relative}
.hero-media{position:relative}
.product-stage{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);padding:16px;border-radius:2px;box-shadow:var(--shadow);transform:perspective(900px) rotateY(-2deg) rotateX(1deg);animation:float 5.5s ease-in-out infinite}
.product-stage img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}
.floating-chip{position:absolute;background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:0 12px 30px rgba(35,25,19,.12);border-radius:2px;padding:.75rem .9rem;font-size:.76rem;font-weight:750;color:var(--navy)}
.chip-1{left:-7%;bottom:12%}.chip-2{right:-5%;top:10%}
.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:2.2rem}
.trust{background:#fff;border:1px solid var(--line);border-radius:2px;padding:1rem .9rem;font-size:.79rem;font-weight:750;color:var(--navy);text-align:center}
.section{padding:5.8rem 0}
.section-soft{background:linear-gradient(180deg,#fbf8f3,#f2ebe2)}
.section-navy{background:var(--navy);color:#dcebf7}
.section-navy h2,.section-navy h3{color:#fff}.section-navy .lead{color:#c5d8e8}.section-navy .eyebrow{color:#7ed4d7}
.section-head{max-width:750px;margin-bottom:2.7rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:2px;padding:1.65rem;box-shadow:0 10px 30px rgba(35,25,19,.055);transition:.25s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(35,25,19,.10);border-color:#bad7e8}
.card p{color:var(--muted);font-size:.94rem}
.card-link{display:inline-flex;margin-top:.7rem;color:var(--blue);font-weight:800;font-size:.85rem}
.icon-round{width:44px;height:44px;border-radius:50%;background:var(--ice2);display:grid;place-items:center;color:var(--navy);margin-bottom:1rem;font-size:1.15rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.image-card{background:#fff;border:1px solid var(--line);padding:14px;border-radius:2px;box-shadow:var(--shadow)}
.image-card img{border-radius:2px;width:100%;object-fit:cover}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:1.4rem 0}
.spec{padding:.85rem 0;border-bottom:1px solid var(--line)}
.spec b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}
.pill-row{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0}
.pill{background:var(--ice2);color:var(--navy);padding:.5rem .75rem;border-radius:2px;font-size:.78rem;font-weight:700}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{background:#fff;border:1px solid var(--line);border-radius:2px;padding:1.4rem}
.step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800;margin-bottom:.8rem}
.step p{color:var(--muted);font-size:.9rem}
.band{background:linear-gradient(135deg,var(--navy),#0f4e82);border-radius:26px;padding:2.4rem;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;overflow:hidden;position:relative}
.band:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-130px;border:1px solid rgba(255,255,255,.15)}
.band h2{color:#fff;margin-top:0}.band p{color:#ded1c5;max-width:60ch}
details{background:#fff;border:1px solid var(--line);border-radius:2px;padding:1rem 1.1rem;margin:.75rem 0}
summary{font-weight:800;color:var(--navy);cursor:pointer}
details p{color:var(--muted);margin:.7rem 0 0}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:2rem}
.kpi div{background:#fff;padding:1.35rem;text-align:center}.kpi b{display:block;color:var(--navy);font-family:var(--serif);font-size:1.55rem}.kpi span{font-size:.78rem;color:var(--muted)}
.watch-teaser{background:linear-gradient(135deg,#171310,#2b211b);border-radius:26px;padding:2.2rem;color:#ddecf7;display:grid;grid-template-columns:1fr .65fr;gap:2rem;align-items:center}
.watch-teaser h2{color:#fff}.watch-orbit{min-height:230px;display:grid;place-items:center}
.watch-orbit svg{max-width:230px}
.footer{background:#171310;color:#c9bdb3;padding:3.8rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:2rem}
.footer .brand-name{color:#fff}.footer h4{color:#fff;margin:0 0 .8rem;font-size:.88rem}
.footer a{display:block;color:#c9bdb3;font-size:.84rem;margin:.45rem 0}
.footer a:hover{color:#fff}.footer p{font-size:.84rem;color:#9fb4c5}.footer-fine{border-top:1px solid rgba(255,255,255,.12);margin-top:2.3rem;padding-top:1.4rem;font-size:.72rem;color:#8da4b7}
.fab{position:fixed;right:1.2rem;bottom:1.2rem;z-index:70;background:var(--navy);color:#fff;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 12px 28px rgba(6,40,78,.25);font-weight:800}

/* Intro reveal */
.intro{position:fixed;inset:0;background:
 radial-gradient(circle at 50% 35%,rgba(85,194,199,.18),transparent 30%),
 linear-gradient(145deg,#fff,#eaf5fd);z-index:999;display:grid;place-items:center;transition:opacity .65s ease,visibility .65s ease}
.intro.hide{opacity:0;visibility:hidden}
.intro-inner{text-align:center;position:relative;width:min(520px,85vw)}
.intro-logo{width:min(310px,70vw);margin:auto;opacity:0;transform:translateY(14px) scale(.96);animation:introLogo .8s .12s cubic-bezier(.2,.8,.2,1) forwards}
.intro-line{height:1px;background:linear-gradient(90deg,transparent,var(--blue),var(--teal),transparent);width:0;margin:1.1rem auto;animation:lineGrow .75s .45s ease forwards}
.intro-copy{font-family:var(--serif);color:var(--navy);letter-spacing:.08em;opacity:0;animation:fadeUp .7s .72s ease forwards}
.intro-spark{position:absolute;width:8px;height:8px;right:18%;top:16%;background:#fff;transform:rotate(45deg);box-shadow:0 0 18px 5px rgba(85,194,199,.6);animation:spark 1.2s .35s ease both}
.page-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.page-reveal.visible{opacity:1;transform:none}

@keyframes introLogo{to{opacity:1;transform:none}}
@keyframes lineGrow{to{width:82%}}
@keyframes fadeUp{to{opacity:1;transform:none}}
@keyframes spark{0%{opacity:0;transform:translate(-20px,20px) rotate(45deg) scale(.5)}50%{opacity:1}100%{opacity:0;transform:translate(65px,-65px) rotate(45deg) scale(1.15)}}
@keyframes float{50%{transform:perspective(900px) rotateY(1deg) rotateX(-1deg) translateY(-8px)}}
@keyframes heroSweep{0%,45%{transform:translateX(-120%)}65%,100%{transform:translateX(120%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{50%{opacity:.45}}
@media(max-width:980px){
 .navlinks,.nav-cta{display:none}.menu-btn{display:block}
 .mobile-menu.open{display:grid;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:1rem 4%;gap:.65rem}
 .mobile-menu a{padding:.65rem;color:var(--navy);font-weight:700}
 .hero-grid,.split{grid-template-columns:1fr}.hero-media{max-width:680px;margin:auto}
 .cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}
 .chip-1{left:2%}.chip-2{right:2%}
}
@media(max-width:640px){
 .hero{padding:4.8rem 0 3.8rem}.cards,.steps,.trust-row,.spec-grid,.kpi{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}.band{display:block}.band .btn{margin-top:1rem}
 .watch-teaser{grid-template-columns:1fr}.floating-chip{display:none}
 h1{font-size:2.9rem}.brand img{width:46px}.brand{min-width:auto}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .intro{display:none}.page-reveal{opacity:1;transform:none}
}


/* Etsy collection + product pages */
.collection-hero{position:relative;overflow:hidden;padding:6rem 0 5.2rem;background:radial-gradient(circle at 82% 18%,rgba(85,194,199,.25),transparent 25%),linear-gradient(135deg,#fff,#f4fbff 58%,#dfeef8)}
.collection-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 41%,rgba(255,255,255,.52) 50%,transparent 59%);transform:translateX(-120%);animation:heroSweep 8s ease-in-out infinite;pointer-events:none}
.collection-hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:4rem;align-items:center;position:relative;z-index:1}
.editorial-stack{height:560px;position:relative;perspective:1100px}
.editorial-card{position:absolute;display:block;overflow:hidden;border-radius:2px;background:#fff;border:1px solid rgba(255,255,255,.9);box-shadow:0 28px 70px rgba(35,25,19,.18)}
.editorial-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.editorial-card:hover img{transform:scale(1.035)}
.editorial-main{inset:5% 12% 8% 4%;transform:rotate(-2deg);animation:editorialFloat 6s ease-in-out infinite}
.editorial-main span{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(6,40,78,.88);color:#fff;padding:.55rem .75rem;border-radius:2px;font-size:.7rem;letter-spacing:.12em}
.editorial-small{width:34%;height:34%;border-radius:2px}.editorial-small.one{right:0;top:1%;transform:rotate(4deg)}.editorial-small.two{right:-2%;bottom:0;transform:rotate(-4deg)}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.collection-grid.four-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.collection-grid.four-grid .collection-body{padding:1.15rem}
.collection-grid.four-grid .collection-body h3{font-size:1.08rem}
.collection-card{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;box-shadow:0 14px 38px rgba(6,40,78,.07);transition:transform .3s ease,box-shadow .3s ease}
.collection-card:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(35,25,19,.12)}
.collection-image{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--ice2)}
.collection-image:after{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.45) 50%,transparent 58%);transform:translateX(-90%) rotate(8deg);transition:transform .8s ease}
.collection-card:hover .collection-image:after{transform:translateX(90%) rotate(8deg)}
.collection-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.collection-card:hover .collection-image img{transform:scale(1.025)}
.collection-badge{position:absolute;z-index:2;top:1rem;left:1rem;background:rgba(255,255,255,.92);border:1px solid rgba(215,231,242,.9);color:var(--navy);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.5rem .7rem;border-radius:2px;backdrop-filter:blur(7px)}
.collection-body{padding:1.45rem}.collection-body h3{font-size:1.34rem}.collection-body p{color:var(--muted);font-size:.91rem}
.keyword-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 1.15rem}.keyword-chips span{font-size:.69rem;border:1px solid var(--line);color:#527089;padding:.34rem .5rem;border-radius:2px;background:var(--ice)}
.product-actions{display:flex;align-items:center;justify-content:space-between;gap:.9rem}.product-actions .btn{padding:.65rem .9rem;font-size:.76rem}.text-link{font-size:.78rem;font-weight:800;color:var(--blue)}
.product-detail-hero{padding:5.5rem 0 4.8rem;background:linear-gradient(135deg,#fff 0%,#f5fbff 60%,#e3f1f9 100%);overflow:hidden}
.product-detail-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:4rem;align-items:center}
.product-gallery{position:relative}.product-detail-image{padding:14px;background:#fff;border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow);overflow:hidden}.product-detail-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px}
.detail-watermark{text-align:center;letter-spacing:.24em;color:#7f9bb0;font-family:var(--serif);font-size:.73rem;margin-top:1rem}
.product-copy h1{font-size:clamp(2.45rem,4.7vw,4.7rem)}.product-copy>p:not(.lead):not(.market-note){color:#5f7589;max-width:62ch}.market-note{margin-top:1rem;font-size:.78rem;color:#71879a}
.detail-specs .spec{padding:1rem 0}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mini-product{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;align-items:center;border:1px solid var(--line);border-radius:2px;padding:.8rem;background:#fff;transition:.25s ease}.mini-product:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(6,40,78,.08)}.mini-product img{width:150px;height:120px;object-fit:cover;border-radius:2px}.mini-product span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:800;display:block;margin-bottom:.35rem}.mini-product strong{font-family:var(--serif);font-size:1.05rem;color:var(--navy);line-height:1.25;display:block}
.home-products .collection-body{padding:1.2rem}.home-products .collection-body h3{font-size:1.18rem}
@keyframes editorialFloat{50%{transform:rotate(.5deg) translateY(-9px)}}
@media(max-width:980px){.collection-hero-grid,.product-detail-grid{grid-template-columns:1fr}.editorial-stack{height:500px;max-width:700px;width:100%;margin:auto}.collection-grid{grid-template-columns:1fr 1fr}.mini-grid{grid-template-columns:1fr}}
@media(max-width:640px){.collection-grid{grid-template-columns:1fr}.editorial-stack{height:390px}.editorial-main{inset:3% 8% 5% 0}.editorial-small{width:32%;height:30%}.product-actions{align-items:flex-start;flex-direction:column}.mini-product{grid-template-columns:105px 1fr}.mini-product img{width:105px;height:96px}}

@media(max-width:1100px){.collection-grid.four-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.collection-grid.four-grid{grid-template-columns:1fr}}

/* V7 premium motion polish — layout and content unchanged */
.site-header{animation:headerSettle .7s cubic-bezier(.2,.75,.25,1) both}
.brand img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.brand:hover img{transform:translateY(-1px) scale(1.025);filter:drop-shadow(0 8px 18px rgba(9,62,110,.14))}
.intro-logo{filter:drop-shadow(0 18px 42px rgba(6,40,78,.12));will-change:transform,opacity}
.intro-inner:after{content:"";position:absolute;inset:7% 12% 28%;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.78) 49%,transparent 60%);transform:translateX(-125%) skewX(-8deg);animation:introGlint 1.15s .5s cubic-bezier(.25,.65,.3,1) both}
.page-reveal{transform:translateY(18px) scale(.995);filter:blur(2px);transition:opacity .72s ease,transform .78s cubic-bezier(.2,.75,.2,1),filter .72s ease}
.page-reveal.visible{transform:none;filter:none}
.product-stage,.image-card,.collection-card,.editorial-card{will-change:transform}
.product-stage:hover{transform:perspective(900px) translateY(-5px) rotateX(.6deg);transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.btn{position:relative;overflow:hidden;isolation:isolate}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 50%,transparent 75%);transform:translateX(-145%);transition:transform .65s ease;pointer-events:none}.btn:hover:after{transform:translateX(145%)}
@keyframes headerSettle{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes introGlint{0%{opacity:0;transform:translateX(-125%) skewX(-8deg)}25%{opacity:.72}100%{opacity:0;transform:translateX(125%) skewX(-8deg)}}
@media(prefers-reduced-motion:reduce){.site-header,.intro-inner:after{animation:none!important}.page-reveal{filter:none!important}.brand img,.product-stage,.btn:after{transition:none!important}}

/* V15 dynamic collection navigation — dynamic collections sit immediately after Wedding Bands — keeps the original header, only compacts spacing when extra categories are present. */
@media (min-width:981px){
  .nav{gap:14px}
  .navlinks{gap:.62rem;font-size:.77rem;white-space:nowrap}
  .navlinks a{padding:.5rem 0}
  .nav-cta{padding:.72rem 1rem;font-size:.79rem;white-space:nowrap}
}
@media (min-width:981px) and (max-width:1120px){
  .brand{min-width:160px}.brand-name{font-size:.88rem}.brand img{width:48px}
  .navlinks{gap:.48rem;font-size:.72rem}
}

/* Dynamic CMS additions only — existing V7 styling remains untouched. */
.cms-dynamic-section[hidden],.cms-journal-section[hidden]{display:none!important}.cms-live-note{font-size:.72rem;color:#7890a2;margin-top:.6rem}.cms-prose{color:#526b7f;line-height:1.85}.cms-prose h2,.cms-prose h3{font-family:var(--serif);color:var(--navy);margin:2rem 0 .75rem}.cms-prose h2{font-size:2rem}.cms-prose h3{font-size:1.45rem}.cms-prose p{margin:.85rem 0}.cms-prose ul{padding-left:1.2rem}.cms-prose li{margin:.45rem 0}.cms-article-hero{padding:6.4rem 0 4.8rem;background:radial-gradient(circle at 82% 12%,rgba(85,194,199,.22),transparent 27%),linear-gradient(135deg,#fff,#f3f9fc 58%,#dcecf5)}.cms-article-head{max-width:920px}.cms-article-head h1{font-size:clamp(3rem,6vw,5.7rem);margin:.7rem 0 1rem}.cms-article-wrap{max-width:900px}.cms-article-image{border:1px solid var(--line);background:#fff;padding:12px;border-radius:25px;box-shadow:var(--shadow);margin-bottom:2rem}.cms-article-image img{width:100%;max-height:600px;object-fit:cover;border-radius:2px}.cms-article-copy{font-size:1.02rem}.cms-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cms-blog-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(6,40,78,.06);transition:.25s ease}.cms-blog-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(6,40,78,.11)}.cms-blog-card img{width:100%;aspect-ratio:1.35/1;object-fit:cover;background:var(--ice2)}.cms-blog-body{padding:1.35rem}.cms-blog-body h3{font-size:1.3rem;margin:.45rem 0}.cms-blog-body p{font-size:.88rem;color:var(--muted)}.cms-blog-body a{font-size:.78rem;font-weight:800;color:var(--blue)}
@media(max-width:900px){.cms-blog-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.cms-blog-grid{grid-template-columns:1fr}.cms-article-hero{padding:4.8rem 0 3.5rem}}
.cms-category-directory{padding-top:0}.cms-category-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.cms-category-chip{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;background:#fff;border:1px solid rgba(10,50,83,.12);border-radius:2px;padding:15px 16px;color:#0b2946;transition:.2s}.cms-category-chip:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(6,27,51,.08)}.cms-category-chip span{font-weight:800}.cms-category-chip small{color:#6f8494;white-space:nowrap}.cms-blog-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.cms-blog-filters button{border:1px solid rgba(10,50,83,.14);background:#fff;color:#214b6b;border-radius:2px;padding:9px 13px;font-weight:750}.cms-blog-filters button.active{background:#0b3d68;color:#fff;border-color:#0b3d68}.cms-blog-filters small{opacity:.7}.cms-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:9px}.cms-gallery-thumb{border:1px solid rgba(10,50,83,.12);padding:0;background:#fff;border-radius:9px;overflow:hidden;aspect-ratio:1;opacity:.72}.cms-gallery-thumb.active{opacity:1;box-shadow:0 0 0 2px #2d749d}.cms-gallery-thumb img{width:100%;height:100%;object-fit:cover}@media(max-width:1100px){.cms-category-chips{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.cms-category-chips{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cms-category-chips{grid-template-columns:1fr}.cms-gallery-thumbs{grid-template-columns:repeat(4,1fr)}}
/* V10: keep studio-published listing cards visually consistent with hand-built collection cards */
.cms-added-card .collection-image{aspect-ratio:1/1;overflow:hidden;background:#edf5f9}
.cms-added-card .collection-image img{width:100%;height:100%;object-fit:cover}
.cms-added-card .collection-body{display:flex;flex-direction:column}
.cms-added-card .collection-body h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cms-added-card .collection-body>p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.cms-added-card .product-actions{margin-top:auto;padding-top:8px}
.cms-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.cms-gallery-thumb{padding:0;border:1px solid #d7e3ea;background:#fff;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer}
.cms-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cms-gallery-thumb.active{outline:2px solid #0c5b94;outline-offset:1px}
@media(max-width:680px){.cms-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V14: category-led journal index */
.cms-blog-topic-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}.cms-blog-topic-nav a{border:1px solid rgba(10,50,83,.14);background:#fff;color:#214b6b;border-radius:2px;padding:10px 14px;font-weight:750;text-decoration:none}.cms-blog-topic-nav a:hover,.cms-blog-topic-nav a.active{background:#0b3d68;color:#fff;border-color:#0b3d68}.cms-blog-topic-nav small{opacity:.7}.cms-blog-sections{display:grid;gap:44px}.cms-blog-featured{scroll-margin-top:110px}.cms-blog-topic-section{scroll-margin-top:110px;padding-top:8px;border-top:1px solid var(--line)}.cms-topic-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 18px}.cms-topic-head h2{margin:.25rem 0 0}.cms-topic-head>span{font-size:.75rem;color:var(--muted);white-space:nowrap}.cms-blog-topic-section .cms-blog-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.cms-blog-topic-section .cms-blog-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.cms-blog-topic-section .cms-blog-grid{grid-template-columns:1fr}.cms-topic-head{align-items:flex-start;flex-direction:column}}

/* V17: long journal articles must never depend on the global page-reveal observer.
   A tall article can never satisfy the observer's percentage threshold, leaving it invisible. */
.cms-article-copy{opacity:1!important;transform:none!important;filter:none!important;visibility:visible!important}
.cms-article-copy>*{max-width:100%}

/* V19: blog rich-text helpers */
.cms-prose strong{font-weight:800;color:var(--ink)}
.cms-prose em{font-style:italic}
/* NERIX PREMIUM V20 */
body{background:#fffdfa}.topbar{background:#171310;color:#d9cec5;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.site-header{background:rgba(255,253,250,.91);border-color:rgba(66,49,38,.12)}.nav{height:82px}.brand img{width:128px;height:52px;object-fit:contain}.brand-name{display:none}.navlinks{font-size:.78rem;gap:1rem}.navlinks a{letter-spacing:.03em}.nav-cta,.btn{border-radius:2px;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem}.hero{padding:5rem 0;background:linear-gradient(135deg,#fffdfa 0%,#f6efe6 55%,#e8dbcc 100%)}.hero:before{background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.55) 50%,transparent 57%);animation-duration:9s}.hero-grid{grid-template-columns:.88fr 1.12fr;gap:5rem}.hero h1{font-size:clamp(3.4rem,6.5vw,6.7rem);max-width:12ch}.hero-media .product-stage{padding:0;border:0;box-shadow:0 30px 80px rgba(45,31,23,.16);transform:none;animation:nerixFloat 6.5s ease-in-out infinite}.hero-media .product-stage img,.hero-media .product-stage video{border-radius:0;width:100%;aspect-ratio:1/1.05;object-fit:cover}.floating-chip{border-radius:2px;border-color:rgba(63,46,36,.14);color:#211a16}.trust{border-radius:2px;background:rgba(255,253,250,.7)}.section{padding:6.6rem 0}.section-head{max-width:900px}.section-head h2{font-size:clamp(2.6rem,5.2vw,4.7rem)}.cards{gap:12px}.card{border-radius:2px;box-shadow:none}.card:hover{box-shadow:0 20px 50px rgba(49,34,24,.08)}.collection-image{background:#e8ded2}.collection-card img,.cms-blog-card img{transition:transform .8s cubic-bezier(.16,1,.3,1)}.collection-card:hover img,.cms-blog-card:hover img{transform:scale(1.035)}.home-category-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:270px;gap:10px}.home-cat{position:relative;overflow:hidden;min-height:260px;background:#e6ddd2}.home-cat:first-child{grid-row:span 2}.home-cat:nth-child(4){grid-column:span 2}.home-cat img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}.home-cat:hover img{transform:scale(1.045)}.home-cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(21,15,12,.76))}.home-cat-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:white}.home-cat-copy h3{color:white;font-size:1.8rem;margin:0 0 .35rem}.home-cat-copy p{font-size:.78rem;color:#e6dcd3;margin:0;max-width:32ch}.home-cat-num{position:absolute;z-index:2;top:14px;left:14px;border:1px solid rgba(255,255,255,.35);color:white;padding:.28rem .45rem;font-size:.65rem;letter-spacing:.14em}.editorial-band{display:grid;grid-template-columns:1.08fr .92fr;background:#171310;color:#eee4da;min-height:620px}.editorial-band img{width:100%;height:100%;object-fit:cover;min-height:620px}.editorial-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.editorial-copy h2{color:#fff;font-size:clamp(3rem,5vw,5.1rem)}.editorial-copy p{color:#bdb1a8;max-width:50ch}.custom-photo-band{position:relative;min-height:620px;display:grid;place-items:center;overflow:hidden}.custom-photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.custom-photo-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,11,.84),rgba(20,14,11,.25))}.custom-photo-copy{position:relative;z-index:2;color:white;width:min(1180px,92%)}.custom-photo-copy h2{color:white;font-size:clamp(3rem,5vw,5rem);max-width:11ch}.custom-photo-copy p{max-width:52ch;color:#e1d6cd}.homepage-video{width:100%;height:100%;object-fit:cover}.intro{background:#171310}.intro-logo{width:min(360px,72vw);filter:none}.intro-copy{color:#c7a46d;letter-spacing:.22em;font-size:.68rem}.intro-line{background:linear-gradient(90deg,transparent,#8e6b3e,#d1ad73,transparent)}.intro-spark{box-shadow:0 0 18px 5px rgba(199,158,95,.45)}.page-reveal{transform:translateY(22px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
@keyframes nerixFloat{50%{transform:translateY(-8px) scale(1.005)}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr 1fr;gap:2rem}.home-category-grid{grid-template-columns:1fr 1fr}.home-cat:first-child{grid-row:auto}.home-cat:nth-child(4){grid-column:auto}.editorial-band{grid-template-columns:1fr}.editorial-band img{min-height:500px}}
@media(max-width:720px){.brand img{width:115px}.hero{padding:3.8rem 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:3.6rem}.hero-media{order:-1}.trust-row{grid-template-columns:1fr 1fr}.home-category-grid{grid-template-columns:1fr;grid-auto-rows:360px}.home-cat{min-height:360px}.editorial-copy{padding:4.5rem 7vw}.custom-photo-band{min-height:560px}}
/* NERIX V20 warm-system overrides for all secondary/dynamic pages */
.btn-secondary{background:#fffdfa;color:#211a16;border-color:#d9c6ae}.btn-secondary:hover{background:#f7f0e7;border-color:#b89464}
.section-navy{background:#171310;color:#d8cec5}.section-navy .lead{color:#bfb2a7}.section-navy .eyebrow{color:#c7a46d}
.band{background:linear-gradient(135deg,#171310,#3a2b22);border-radius:2px}.band p{color:#d8ccc2}
.footer p{color:#a99c91}.footer-fine{color:#8f8379}.fab{box-shadow:0 12px 28px rgba(31,20,14,.24)}
.collection-hero{background:radial-gradient(circle at 82% 18%,rgba(199,164,109,.22),transparent 25%),linear-gradient(135deg,#fffdfa,#f6efe7 58%,#eadfD2)}
.editorial-main span{background:rgba(23,19,16,.88)}
.collection-card{box-shadow:0 14px 38px rgba(49,34,24,.06)}.collection-card:hover{box-shadow:0 24px 54px rgba(49,34,24,.12)}
.collection-badge{border-color:rgba(220,204,184,.9);color:#211a16}.keyword-chips span{color:#6e5d50;background:#fbf8f3}
.text-link{color:#8f693b}.product-detail-hero{background:linear-gradient(135deg,#fffdfa 0%,#f7f0e8 60%,#eadfd3 100%)}
.detail-watermark{color:#8e7965}.product-copy>p:not(.lead):not(.market-note){color:#6f645b}.market-note{color:#817468}
.cms-category-chip,.cms-blog-topic-nav a,.cms-blog-filters button{border-color:rgba(82,58,42,.14);color:#5c4939;background:#fffdfa}
.cms-category-chip:hover{box-shadow:0 12px 26px rgba(49,34,24,.08)}
.cms-blog-topic-nav a:hover,.cms-blog-topic-nav a.active,.cms-blog-filters button.active{background:#211813;color:#fff;border-color:#211813}
.cms-gallery-thumb.active{outline-color:#9a7444}.cms-prose{color:#6b6057}
@media(max-width:980px){.mobile-menu.open{background:#fffdfa}.mobile-menu a{color:#211a16}}
