/* ==========================================================================
   DIAMOND MATTRESS UK — Premium theme (loaded after style.css)
   Midnight navy + sapphire (from the logo) + champagne gold on pearl white.
   Fraunces (display) / DM Sans (text). Signature motif: the quilted
   diamond lattice stitched into every mattress top.
   ========================================================================== */

/* Fonts are served from this site (faster, and no visitor data goes to Google). */
@font-face{ font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap; src:url('../fonts/fraunces-latin-opsz-normal.woff2') format('woff2'); }
@font-face{ font-family:'DM Sans'; font-style:normal; font-weight:100 1000; font-display:swap; src:url('../fonts/dm-sans-latin-opsz-normal.woff2') format('woff2'); }

:root{
  --ink:#0b1330;
  --navy-950:#0b1330;
  --navy-900:#121c44;
  --navy-800:#1b2757;
  --navy-700:#2a3768;
  --sapphire:#1f4fc2;
  --sapphire-soft:#e9eefb;
  --cream:#f5f4f0;
  --cream-2:#eceae3;
  --paper:#ffffff;
  --gold-600:#8a6524;
  --gold-500:#c7a05a;
  --gold-400:#dcbd7e;
  --gold-100:#f4ead4;
  --text:#1d2238;
  --text-muted:#565c72;
  --text-soft:#7a8094;
  --border:#e3e1d9;
  --border-dark:rgba(255,255,255,.13);
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
  --font-display:'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font-body:'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --container:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --quilt:
    linear-gradient(45deg, transparent calc(50% - .6px), rgba(199,160,90,.13) calc(50% - .6px), rgba(199,160,90,.13) calc(50% + .6px), transparent calc(50% + .6px)),
    linear-gradient(-45deg, transparent calc(50% - .6px), rgba(199,160,90,.13) calc(50% - .6px), rgba(199,160,90,.13) calc(50% + .6px), transparent calc(50% + .6px)),
    radial-gradient(circle at 50% 50%, rgba(220,189,126,.34) 0 1.6px, transparent 2.2px);
}

/* ---------- Base ---------- */
body.dm3{ background:var(--cream); color:var(--text); font-family:var(--font-body); font-size:16px; line-height:1.6; }
.dm3 h1,.dm3 h2,.dm3 h3,.dm3 h4{ font-family:var(--font-display); font-weight:500; letter-spacing:-.018em; color:var(--navy-900); font-optical-sizing:auto; }
.dm3 ::selection{ background:var(--navy-900); color:#fff; }
.dm3 :focus-visible{ outline:2px solid var(--sapphire); outline-offset:3px; border-radius:4px; }
.dm3 .section-dark :focus-visible, .dm3 .hs :focus-visible, .dm3 .site-footer :focus-visible{ outline-color:var(--gold-400); }
.sr-only{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:16px; top:-60px; z-index:2000; background:#fff; color:var(--navy-900); padding:12px 18px; border-radius:8px; font-weight:600; box-shadow:0 8px 24px rgba(11,19,48,.2); transition:top .2s; }
.skip-link:focus{ top:12px; }
.dm-hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dm3 main{ display:block; }
.dm3 address{ font-style:normal; }

.text-link{ color:var(--navy-900); font-weight:600; text-decoration:underline; text-decoration-color:var(--gold-500); text-decoration-thickness:1.5px; text-underline-offset:5px; transition:color .2s, text-decoration-color .2s; }
.text-link:hover{ color:var(--sapphire); text-decoration-color:var(--sapphire); }
.text-link i{ font-size:.8em; margin-left:4px; transition:transform .3s var(--ease-out); }
.text-link:hover i{ transform:translateX(4px); }

/* ---------- Sections ---------- */
.dm3 .section{ padding:96px 0; }
.dm3 .section-tight{ padding:64px 0; }
.dm3 .section-panel{ background:var(--paper); }
.dm3 .section-dark{ background:var(--ink); color:#d5d9ea; }
.section-quilt{ background-image:var(--quilt); background-size:64px 64px; background-position:center; }
.dm3 .section-head{ max-width:680px; margin:0 auto 52px; }
.dm3 .section-head.left{ margin:0 0 40px; max-width:560px; }
.dm3 .section-head h2{ font-size:clamp(30px,3.6vw,44px); line-height:1.12; font-weight:500; }
.dm3 .section-head p{ font-size:17px; line-height:1.65; color:var(--text-muted); margin-top:16px; }
.dm3 .section-dark .section-head h2{ color:#fff; }
.dm3 .section-dark .section-head p{ color:#b9bfd6; }
.section-foot{ text-align:center; margin-top:40px; }
/* old decorative rules are retired; the eyebrow becomes a quiet label with a diamond */
.dm3 .rule, .dm3 .rule-gem, .dm3 .eyebrow-dash, .dm3 .section-dots-deco, .dm3 .cat-watermark, .dm3 .article-ribbon, .dm3 .article-rule{ display:none!important; }
.dm3 .eyebrow, .dm3 .eyebrow-inline{ display:inline-flex; align-items:center; gap:9px; text-transform:none; letter-spacing:0; font-size:14.5px; font-weight:600; color:var(--gold-600); margin-bottom:14px; }
.dm3 .eyebrow::before, .dm3 .eyebrow-inline::before{ content:''; width:7px; height:7px; background:var(--gold-500); transform:rotate(45deg); border-radius:1px; flex:none; }
.dm3 .section-dark .eyebrow, .dm3 .page-hero .eyebrow, .dm3 .page-hero-v2 .eyebrow{ color:var(--gold-400); }

/* ---------- Buttons ---------- */
.dm3 .btn{ --btn-pad-y:15px; --btn-pad-x:30px; border-radius:999px; font-size:15px; font-weight:600; letter-spacing:0; border-width:1.5px; }
.dm3 .btn-sm{ --btn-pad-y:10px; --btn-pad-x:20px; font-size:13.5px; }
.dm3 .btn-primary{ background:var(--navy-900); color:#fff; }
.dm3 .btn-primary:hover{ background:var(--sapphire); box-shadow:0 14px 30px rgba(31,79,194,.28); }
.dm3 .btn-gold{ background:var(--gold-500); color:var(--ink); }
.dm3 .btn-gold:hover{ background:var(--gold-400); box-shadow:0 14px 30px rgba(199,160,90,.36); }
.dm3 .btn-outline{ border-color:var(--navy-900); color:var(--navy-900); }
.dm3 .btn-outline:hover{ background:var(--navy-900); color:#fff; }
.dm3 .btn-outline-light{ border-color:rgba(255,255,255,.5); color:#fff; }
.dm3 .btn-outline-light:hover{ background:#fff; color:var(--ink); border-color:#fff; }
.dm3 .btn-ghost-link{ border-radius:999px; font-size:13.5px; padding:10px 18px; }
.dm3 .btn[disabled]{ opacity:.6; cursor:progress; transform:none; }

/* ---------- Announcement bar ---------- */
.dm3 .announce-bar{ background:var(--ink)!important; font-size:13.5px; letter-spacing:0; }
.dm3 .announce-inner{ padding-top:10px; padding-bottom:10px; }
.dm3 .announce-track{ -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.dm3 .announce-track-inner{ gap:56px; animation-duration:34s; padding-right:56px; }
.dm3 .announce-item{ color:#cfd4e6; }
.dm3 .announce-item i{ color:var(--gold-400); font-size:13px; }
.dm3 .announce-phone{ color:#fff; font-weight:600; display:inline-flex; align-items:center; gap:7px; padding-left:20px; border-left:1px solid var(--border-dark); }
.dm3 .announce-phone i{ color:#4be08a; font-size:16px; }
.dm3 .announce-phone:hover{ color:var(--gold-400); }

/* ---------- Header ---------- */
.dm3 .site-header{ background:rgba(255,255,255,.92)!important; border-bottom:1px solid var(--border)!important; box-shadow:none; }
.dm3 .site-header::after{ display:none; }
.dm3 .site-header.dm-scrolled{ background:rgba(255,255,255,.97)!important; box-shadow:0 10px 30px rgba(11,19,48,.08)!important; }
.dm3 .site-header-inner{ min-height:84px; padding-top:10px; padding-bottom:10px; gap:28px; transition:min-height .3s var(--ease); }
.dm3 .site-header.dm-scrolled .site-header-inner{ min-height:68px; }
.dm3 .brand-logo{ height:62px; width:auto; max-width:none; transition:height .3s var(--ease); }
.dm3 .site-header.dm-scrolled .brand-logo{ height:50px; }
.dm3 .main-nav{ gap:30px; font-size:15px; font-weight:500; }
.dm3 .main-nav a{ color:var(--navy-900); padding:8px 0; }
.dm3 .main-nav a::after{ bottom:0; left:0; transform:none; height:1.5px; background:var(--gold-500); border-radius:0; }
.dm3 .main-nav a:hover::after, .dm3 .main-nav a.active::after{ width:100%; }
.dm3 .main-nav a.active{ color:var(--navy-900); font-weight:600; }
.dm3 .main-nav .nav-wa{ display:none; }
.dm3 .header-actions{ gap:6px; }
.dm3 .icon-btn{ width:44px; height:44px; justify-content:center; border-radius:50%; font-size:17px; color:var(--navy-900); }
.dm3 .icon-btn:hover{ background:var(--cream); color:var(--navy-900); transform:none; }
.dm3 .cart-count-badge{ top:4px; right:2px; background:var(--sapphire); color:#fff; min-width:18px; height:18px; font-size:10.5px; }
.dm3 .header-cta{ margin-left:10px; --btn-pad-y:12px; --btn-pad-x:24px; box-shadow:none; }
.dm3 .nav-toggle{ width:44px; height:44px; align-items:center; justify-content:center; }
.dm3 .search-panel{ box-shadow:none!important; background:#fff; }
.dm3 .search-panel.open{ max-height:96px; }
.dm3 .search-panel-inner form{ box-shadow:none; border:1.5px solid var(--border); border-radius:999px; padding:4px 8px 4px 20px; background:var(--cream); }
.dm3 .search-panel-inner form:focus-within{ border-color:var(--navy-900); background:#fff; }
.dm3 .search-panel-inner input{ border:0; background:transparent; padding:12px 0; font-size:15.5px; outline:none; }
.dm3 .search-panel-inner form button{ width:42px; height:42px; border-radius:50%; background:var(--navy-900); color:#fff; font-size:14px; }

/* ==========================================================================
   HERO SLIDER
   ========================================================================== */
.hs{ position:relative; background-color:var(--ink); background-image:var(--quilt); background-size:64px 64px; color:#fff; overflow:hidden; isolation:isolate; }
.hs::before{ content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(90% 120% at 0% 40%, rgba(11,19,48,.2), rgba(11,19,48,.96) 62%), linear-gradient(90deg, rgba(31,79,194,.16), transparent 55%); pointer-events:none; }
.hs-stage{ display:grid; min-height:clamp(520px,68vh,680px); }
.hs-slide{ grid-area:1/1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); visibility:hidden; opacity:0; transition:opacity .5s ease, visibility 0s linear .5s; }
.hs-slide.is-active{ visibility:visible; opacity:1; z-index:2; transition:opacity .5s ease; }
/* gold facet line that runs along the angled cut of the photo */
.hs-slide::before{ content:''; grid-column:2; grid-row:1; background:linear-gradient(180deg,var(--gold-400),var(--gold-600)); clip-path:polygon(15% 0, 100% 0, 100% 100%, 0 100%); transform:translateX(-9px); opacity:0; transition:opacity .6s ease .25s; }
.hs-slide.is-active::before{ opacity:1; }

.hs-copy{ grid-column:1; grid-row:1; align-self:center; padding:64px 40px 64px max(40px, calc((100vw - var(--container)) / 2 + 40px)); max-width:calc(620px + max(40px, calc((100vw - var(--container)) / 2 + 40px))); }
.hs-copy > *{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease-out), transform .9s var(--ease-out); }
.hs-slide.is-active .hs-copy > *{ opacity:1; transform:none; }
.hs-slide.is-active .hs-copy > *:nth-child(1){ transition-delay:.12s; }
.hs-slide.is-active .hs-copy > *:nth-child(2){ transition-delay:.2s; }
.hs-slide.is-active .hs-copy > *:nth-child(3){ transition-delay:.3s; }
.hs-slide.is-active .hs-copy > *:nth-child(4){ transition-delay:.4s; }
.hs-slide.is-active .hs-copy > *:nth-child(5){ transition-delay:.5s; }

.hs-kicker{ display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:600; color:var(--gold-400); margin-bottom:20px; }
.hs-kicker::before{ content:''; width:8px; height:8px; background:var(--gold-500); transform:rotate(45deg); border-radius:1px; }
.dm3 .hs-title{ font-family:var(--font-display); color:#fff; font-weight:400; font-size:clamp(40px,5.1vw,74px); line-height:1.02; letter-spacing:-.03em; margin:0; text-wrap:balance; }
.dm3 h2.hs-title{ font-size:clamp(40px,5.4vw,80px); }
.hs-title-key{ display:block; font-family:var(--font-body); font-size:clamp(15px,1.25vw,18px); font-weight:600; letter-spacing:.01em; color:#aab4d6; margin-bottom:18px; line-height:1.3; }
.hs-lead{ font-size:clamp(16.5px,1.35vw,19px); line-height:1.6; color:#c5cbe0; max-width:500px; margin-top:22px; }
.hs-facts{ display:flex; flex-wrap:wrap; gap:0; margin-top:26px; border-top:1px solid var(--border-dark); border-bottom:1px solid var(--border-dark); }
.hs-facts li{ padding:14px 22px 14px 0; margin-right:22px; border-right:1px solid var(--border-dark); font-size:14.5px; color:#aab4d6; }
.hs-facts li:last-child{ border-right:0; margin-right:0; padding-right:0; }
.hs-facts b{ color:#fff; font-weight:600; }
.hs-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; margin-top:34px; }
.hs-price{ font-size:15px; color:#aab4d6; }
.hs-price b{ font-family:var(--font-display); font-size:30px; font-weight:500; color:#fff; margin-left:6px; letter-spacing:-.02em; }
.hs-rating{ display:inline-flex; align-items:center; gap:10px; margin-top:26px; font-size:14.5px; color:#c5cbe0; text-decoration:none; }
.hs-rating b{ color:#fff; }
.hs-rating:hover{ color:#fff; }

.hs-media{ grid-column:2; grid-row:1; position:relative; overflow:hidden; background:#1a2452; clip-path:polygon(15% 0, 100% 0, 100% 100%, 0 100%); }
.hs-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.1); transition:transform 1.4s var(--ease-out); }
.hs-slide.is-active .hs-media{ animation:hsWipe 1s var(--ease-out) both; }
.hs-slide.is-active .hs-media img{ transform:scale(1.02); animation:hsDrift 9s linear .9s both; }
.hs-media-hybridroyal{ background:#fff; }
.hs-media-hybridroyal img{ object-fit:contain; object-position:62% 50%; padding:6% 4% 6% 16%; }
@keyframes hsWipe{ from{ clip-path:polygon(100% 0, 100% 0, 100% 100%, 85% 100%); } to{ clip-path:polygon(15% 0, 100% 0, 100% 100%, 0 100%); } }
@keyframes hsDrift{ from{ transform:scale(1.02); } to{ transform:scale(1.09); } }

.hs-controls{ position:relative; z-index:5; display:flex; align-items:stretch; gap:10px; max-width:var(--container); margin:0 auto; padding:0 40px; border-top:1px solid var(--border-dark); }
.hs::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--border-dark); }
.hs-tabs{ flex:1; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; min-width:0; }
.hs-tab{ position:relative; text-align:left; background:none; border:0; color:#8f9abf; cursor:pointer; padding:22px 18px 20px 0; font-family:inherit; transition:color .3s; min-width:0; }
.hs-tab:hover{ color:#fff; }
.hs-tab.is-active{ color:#fff; }
.hs-tab-bar{ position:absolute; top:-1px; left:0; right:18px; height:2px; background:transparent; overflow:hidden; }
.hs-tab-bar span{ display:block; height:100%; background:var(--gold-500); transform:scaleX(0); transform-origin:left; }
.hs-tab.is-active .hs-tab-bar span{ animation:hsProgress var(--hs-time,6500ms) linear forwards; }
.hs.is-paused .hs-tab.is-active .hs-tab-bar span{ animation-play-state:paused; }
.hs.no-auto .hs-tab.is-active .hs-tab-bar span{ animation:none; transform:scaleX(1); }
@keyframes hsProgress{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
.hs-tab-name{ display:block; font-size:15px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hs-tab-sub{ display:block; font-size:13px; margin-top:2px; opacity:.75; }
.hs-arrow{ align-self:center; flex:none; width:46px; height:46px; border-radius:50%; border:1.5px solid rgba(255,255,255,.28); background:transparent; color:#fff; cursor:pointer; font-size:14px; display:inline-flex; align-items:center; justify-content:center; transition:background .25s, color .25s, border-color .25s, transform .25s var(--ease-out); }
.hs-arrow:hover{ background:#fff; color:var(--ink); border-color:#fff; }
.hs-arrow:active{ transform:scale(.94); }
.hs-arrow.on-light{ border-color:var(--navy-900); color:var(--navy-900); }
.hs-arrow.on-light:hover{ background:var(--navy-900); color:#fff; border-color:var(--navy-900); }
.hs-arrow[disabled]{ opacity:.35; cursor:default; }
.hs-pause{ width:38px; height:38px; font-size:12px; border-color:transparent; color:#8f9abf; }

/* ---------- Trust strip ---------- */
.trust-strip{ background:var(--paper); border-bottom:1px solid var(--border); }
.trust-strip-inner{ display:grid; grid-template-columns:repeat(4,1fr); }
.trust-strip .trust-item{ gap:16px; padding:28px 24px 28px 0; }
.trust-strip .trust-item + .trust-item{ padding-left:28px; border-left:1px solid var(--border); }
.dm3 .trust-item .ti-icon{ font-size:22px; color:var(--sapphire); filter:none; width:28px; text-align:center; flex:none; }
.dm3 .trust-item b{ font-size:15.5px; font-weight:600; color:var(--navy-900); }
.dm3 .trust-item span{ font-size:13.5px; color:var(--text-muted); }
.dm3 .trust-float{ border-radius:var(--radius-lg); box-shadow:none!important; border:1px solid var(--border)!important; transform:none; margin-top:0; }

/* ---------- Collection cards ---------- */
.dm3 .cat-grid{ gap:22px; }
.dm3 .cat-card{ border-radius:var(--radius-lg); border:1px solid var(--border)!important; box-shadow:none; background:var(--paper); }
.dm3 .cat-card::after{ display:none; }
.dm3 .cat-card:hover{ transform:translateY(-6px)!important; box-shadow:0 26px 50px rgba(11,19,48,.12)!important; border-color:var(--navy-900)!important; }
.dm3 .cat-card .ph{ aspect-ratio:4/3; background:#f1f0eb; transform:none!important; }
.dm3 .cat-card .ph img{ transition:transform .9s var(--ease-out)!important; filter:none!important; }
.dm3 .cat-card:hover .ph img{ transform:scale(1.06)!important; }
.dm3 .cat-badge{ top:14px; left:14px; background:var(--ink); color:#fff; text-transform:none; letter-spacing:0; font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:999px; box-shadow:none; }
.dm3 .cat-card-body{ padding:22px 22px 22px; gap:8px; }
.dm3 .cat-card-thick{ text-transform:none; letter-spacing:0; font-size:13.5px; font-weight:500; color:var(--text-muted); }
.dm3 .cat-card h3{ font-size:25px; font-weight:500; line-height:1.15; }
.dm3 .cat-card p{ font-size:15px; line-height:1.55; color:var(--text-muted); }
.cat-card-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:4px; }
.cat-card-rating{ font-size:13px; color:var(--text-muted); display:inline-flex; align-items:center; gap:6px; }
.dm3 .cat-card-foot{ padding-top:16px; margin-top:10px; }
.dm3 .cat-card-price{ font-size:13.5px; color:var(--text-muted); }
.dm3 .cat-card-price b{ display:inline; font-size:26px; font-weight:500; color:var(--navy-900); margin-left:4px; letter-spacing:-.02em; }
.dm3 .cat-card-btn{ border:0; padding:0; font-size:14.5px; font-weight:600; color:var(--navy-900); background:none!important; gap:8px; }
.dm3 .cat-card-btn i{ width:34px; height:34px; border-radius:50%; background:var(--cream); display:inline-flex; align-items:center; justify-content:center; font-size:12px; transition:background .3s, color .3s, transform .4s var(--ease-out); }
.dm3 .cat-card:hover .cat-card-btn{ color:var(--navy-900); gap:8px; }
.dm3 .cat-card:hover .cat-card-btn i{ background:var(--navy-900); color:#fff; transform:translateX(4px); }
.dm3 .warranty-tag{ border-radius:999px; }

/* ---------- UK size guide ---------- */
.size-guide{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; background:var(--cream); }
.size-tile{ padding:30px 20px 28px; text-align:center; border-left:1px solid var(--border); transition:background .3s; }
.size-tile:first-child{ border-left:0; }
.size-tile:hover{ background:#fff; }
.size-bed-wrap{ height:176px; display:flex; align-items:flex-end; justify-content:center; margin-bottom:22px; }
.size-bed{ --u:.8px; width:calc(var(--w) * var(--u)); height:calc(var(--l) * var(--u)); border:1.5px solid var(--navy-900); border-radius:10px; background:#fff; background-image:var(--quilt); background-size:22px 22px; position:relative; transition:transform .5s var(--ease-out), box-shadow .5s; }
.size-tile:hover .size-bed{ transform:translateY(-6px); box-shadow:0 16px 26px rgba(11,19,48,.14); }
.size-bed span{ position:absolute; top:9px; height:16%; border:1.5px solid var(--navy-900); border-radius:6px; background:var(--sapphire-soft); }
.size-bed span:nth-child(1){ left:8%; width:38%; }
.size-bed span:nth-child(2){ right:8%; width:38%; }
.size-tile:first-child .size-bed span:nth-child(1){ left:14%; width:72%; }
.size-tile:first-child .size-bed span:nth-child(2){ display:none; }
.dm3 .size-tile h3{ font-size:21px; }
.size-dims{ font-size:14.5px; color:var(--text-muted); line-height:1.5; margin-top:6px; }
.size-from{ font-size:14px; font-weight:600; color:var(--navy-900); margin-top:10px; }

/* ---------- Layers ---------- */
.dm3 .layers-showcase{ grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.dm3 .layers-photo{ aspect-ratio:1.45/1; border-radius:var(--radius-lg); box-shadow:none; background:#fff; border:1px solid var(--border); }
.dm3 .layers-photo img{ object-fit:contain; padding:14px; }
.dm3 .layers-list{ gap:0; list-style:none; margin:0; padding:0; border-top:1px solid var(--border); }
.dm3 .layer-card{ display:flex; align-items:center; gap:20px; padding:22px 4px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:none; box-shadow:none!important; }
.dm3 .layer-card:hover{ transform:none; }
.layer-num{ flex:none; width:44px; height:44px; border-radius:50%; border:1.5px solid var(--navy-900); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:19px; color:var(--navy-900); transition:background .3s, color .3s; }
.layer-card:hover .layer-num{ background:var(--navy-900); color:#fff; }
.dm3 .layer-card-content h3{ font-family:var(--font-body); font-size:17px; font-weight:600; letter-spacing:0; line-height:1.35; margin-bottom:4px; }
.dm3 .layer-card-content p{ font-size:15px; line-height:1.55; color:var(--text-muted); }
.dm3 .layer-thumb{ flex:none; width:68px; height:68px; aspect-ratio:1; border-radius:12px; overflow:hidden; }

/* ---------- Before / after ---------- */
.dm3 .compare-frame{ border:0; border-radius:var(--radius-lg); box-shadow:0 30px 60px rgba(11,19,48,.14); cursor:ew-resize; }
.dm3 .compare-frame::after{ display:none; }
.dm3 .compare-tag{ border-radius:999px; text-transform:none; letter-spacing:0; font-size:13.5px; font-weight:600; }

/* ---------- Video ---------- */
.dm3 .video-frame{ border-radius:var(--radius-lg); overflow:hidden; max-width:980px; margin-left:auto; margin-right:auto; box-shadow:0 30px 70px rgba(0,0,0,.4); }
.yt-lite{ position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:#000; cursor:pointer; display:block; }
.yt-lite img{ width:100%; height:100%; object-fit:cover; opacity:.82; transition:opacity .4s, transform 1.2s var(--ease-out); }
.yt-lite:hover img{ opacity:1; transform:scale(1.03); }
.yt-lite-play{ position:absolute; left:50%; top:50%; width:86px; height:86px; margin:-43px 0 0 -43px; border-radius:50%; background:var(--gold-500); color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:26px; padding-left:5px; transition:transform .4s var(--ease-out); }
.yt-lite-play::before{ content:''; position:absolute; inset:-10px; border-radius:50%; border:1.5px solid rgba(220,189,126,.6); animation:dmPing 2.6s ease-out infinite; }
.yt-lite:hover .yt-lite-play{ transform:scale(1.08); }
.video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ==========================================================================
   REVIEWS
   ========================================================================== */
.dm-stars{ display:inline-flex; gap:3px; color:#e0a526; font-size:15px; line-height:1; }
.dm-stars .fa-regular{ color:#cfcabb; }
.rv-home-inner{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:56px; align-items:center; }
.dm3 .rv-home-side h2{ font-size:clamp(30px,3.4vw,42px); line-height:1.12; }
.rv-home-lead{ font-size:17px; color:var(--text-muted); margin-top:16px; line-height:1.65; }
.rv-score{ display:flex; align-items:center; gap:18px; margin-top:24px; }
.rv-score-num{ font-family:var(--font-display); font-size:76px; line-height:.9; font-weight:400; color:var(--navy-900); letter-spacing:-.04em; }
.rv-score-meta{ display:flex; flex-direction:column; gap:8px; font-size:14.5px; color:var(--text-muted); }
.rv-score-meta .dm-stars{ font-size:19px; }
.rv-home-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 22px; margin-top:28px; }
.rv-arrows{ display:flex; gap:10px; margin-top:34px; }
.rv-track{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:8px 4px 24px; margin:-8px -4px 0; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.rv-track::-webkit-scrollbar{ display:none; }
.rv-track .rv-card{ flex:0 0 min(380px, 84%); scroll-snap-align:start; }
.rv-card{ background:var(--paper); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; display:flex; flex-direction:column; gap:14px; }
.rv-card-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rv-card-top time{ font-size:13px; color:var(--text-soft); }
.dm3 .rv-title{ font-family:var(--font-body); font-size:17px; font-weight:600; letter-spacing:0; line-height:1.35; }
.rv-text{ font-size:15.5px; line-height:1.65; color:var(--text); flex:1; overflow-wrap:anywhere; }
.rv-who{ display:flex; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--border); }
.rv-avatar{ width:42px; height:42px; border-radius:50%; background:var(--navy-900); color:#fff; font-family:var(--font-display); font-size:18px; display:flex; align-items:center; justify-content:center; flex:none; }
.rv-meta{ display:flex; flex-direction:column; font-size:13.5px; color:var(--text-muted); min-width:0; }
.rv-meta b{ font-size:15px; font-weight:600; color:var(--navy-900); }
.rv-meta a{ color:inherit; text-underline-offset:3px; }
.rv-invite{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; text-decoration:none; background:var(--ink); background-image:var(--quilt); background-size:64px 64px; color:#fff; border-radius:var(--radius-lg); padding:52px 48px; position:relative; overflow:hidden; }
.rv-invite::before{ content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,19,48,.94) 30%, rgba(11,19,48,.55)); }
.rv-invite > *{ position:relative; }
.rv-invite-stars{ display:flex; gap:8px; font-size:30px; color:var(--gold-400); }
.rv-invite-stars i{ transition:transform .4s var(--ease-out), color .3s; }
.rv-invite:hover .rv-invite-stars i{ font-weight:900; transform:translateY(-4px); }
.rv-invite:hover .rv-invite-stars i:nth-child(2){ transition-delay:.05s; }
.rv-invite:hover .rv-invite-stars i:nth-child(3){ transition-delay:.1s; }
.rv-invite:hover .rv-invite-stars i:nth-child(4){ transition-delay:.15s; }
.rv-invite:hover .rv-invite-stars i:nth-child(5){ transition-delay:.2s; }
.rv-invite-title{ font-family:var(--font-display); font-size:clamp(26px,2.8vw,36px); line-height:1.15; letter-spacing:-.02em; }
.rv-invite-text{ font-size:16.5px; color:#c5cbe0; max-width:430px; margin-bottom:8px; }

/* Reviews page */
.rv-page-grid{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; align-items:start; }
.rv-summary{ display:grid; grid-template-columns:auto 1fr; gap:28px 40px; align-items:center; background:var(--paper); border:1px solid var(--border); border-radius:var(--radius-lg); padding:30px 32px; margin-bottom:28px; }
.rv-bars{ display:grid; gap:8px; }
.rv-bar{ display:grid; grid-template-columns:54px 1fr 30px; align-items:center; gap:12px; font-size:13.5px; color:var(--text-muted); }
.rv-bar-track{ height:8px; border-radius:99px; background:var(--cream-2); overflow:hidden; }
.rv-bar-track span{ display:block; height:100%; border-radius:99px; background:#e0a526; transform-origin:left; animation:rvGrow 1s var(--ease-out) both; }
@keyframes rvGrow{ from{ transform:scaleX(0); } }
.rv-list{ display:grid; gap:18px; }
.rv-filter{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.rv-chip{ font-size:14px; font-weight:500; padding:8px 16px; border-radius:999px; border:1.5px solid var(--border); background:var(--paper); color:var(--navy-900); text-decoration:none; transition:border-color .2s, background .2s, color .2s; }
.rv-chip:hover{ border-color:var(--navy-900); }
.rv-chip.is-active{ background:var(--navy-900); border-color:var(--navy-900); color:#fff; }
.rv-empty{ background:var(--paper); border:1.5px dashed var(--border); border-radius:var(--radius-lg); padding:44px 32px; text-align:center; color:var(--text-muted); }
.dm3 .rv-empty h3{ font-size:24px; margin-bottom:8px; }
.rv-form-card{ background:var(--paper); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; position:sticky; top:104px; scroll-margin-top:110px; }
.dm3 .rv-form-card h2{ font-size:28px; line-height:1.15; }
.rv-form-card > p{ font-size:15px; color:var(--text-muted); margin:8px 0 22px; }
.dm-field{ display:block; margin-bottom:16px; }
.dm-field > label, .dm-field > .dm-label{ display:block; font-size:14.5px; font-weight:600; color:var(--navy-900); margin-bottom:7px; }
.dm-field .dm-opt{ font-weight:400; color:var(--text-soft); }
.dm-field input[type=text], .dm-field input[type=email], .dm-field input[type=tel], .dm-field select, .dm-field textarea,
.dm3 .form-field input, .dm3 .form-field select, .dm3 .form-field textarea{
  width:100%; font:inherit; font-size:16px; color:var(--text); background:#fff; border:1.5px solid var(--border); border-radius:12px; padding:13px 15px; transition:border-color .2s, box-shadow .2s; }
.dm-field textarea{ resize:vertical; min-height:130px; }
.dm-field input:focus, .dm-field select:focus, .dm-field textarea:focus,
.dm3 .form-field input:focus, .dm3 .form-field select:focus, .dm3 .form-field textarea:focus{ outline:none; border-color:var(--navy-900); box-shadow:0 0 0 4px rgba(31,79,194,.12); }
.dm3 .form-field label{ font-size:14.5px; font-weight:600; color:var(--navy-900); text-transform:none; letter-spacing:0; }
.dm-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dm-hint{ font-size:13px; color:var(--text-soft); margin-top:6px; }
.dm-count{ float:right; }
/* star picker: radios in reverse order so CSS can light up "this and all before" */
.star-pick{ display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; }
.star-pick input{ position:absolute; opacity:0; width:1px; height:1px; }
.star-pick label{ font-size:34px; line-height:1; color:#d5d0c2; cursor:pointer; padding:2px; transition:color .15s, transform .25s var(--ease-out); margin:0; }
.star-pick label:hover, .star-pick label:hover ~ label, .star-pick input:checked ~ label{ color:#e0a526; }
.star-pick label:hover{ transform:scale(1.18) rotate(-6deg); }
.star-pick input:focus-visible + label{ outline:2px solid var(--sapphire); outline-offset:2px; border-radius:6px; }
.star-pick-out{ display:inline-block; margin-left:12px; font-size:14.5px; font-weight:600; color:var(--navy-900); vertical-align:middle; min-width:90px; }
.dm-alert{ border-radius:14px; padding:16px 18px; font-size:15px; margin-bottom:20px; display:flex; gap:12px; align-items:flex-start; }
.dm-alert i{ margin-top:3px; }
.dm-alert-ok{ background:#e9f7ee; color:#14532d; border:1px solid #bfe5cb; }
.dm-alert-err{ background:#fdeeee; color:#7f1d1d; border:1px solid #f3c5c5; }
.dm-alert ul{ margin:6px 0 0 18px; padding:0; list-style:disc; }

/* ---------- Stats ---------- */
.dm3 .stats-section{ padding:88px 0; }
.dm3 .stats-grid{ gap:0; border-top:1px solid var(--border-dark); border-bottom:1px solid var(--border-dark); }
.dm3 .stat-box{ border:0; border-radius:0; background:none; padding:40px 20px; text-align:left; }
.dm3 .stat-box + .stat-box{ border-left:1px solid var(--border-dark); padding-left:32px; }
.dm3 .stat-box:hover{ transform:none; background:rgba(255,255,255,.03); }
.dm3 .stat-num{ font-family:var(--font-display); font-weight:400; font-size:clamp(52px,5.4vw,78px); color:var(--gold-400); letter-spacing:-.04em; margin-bottom:12px; }
.dm3 .stat-box span{ font-size:16px; color:#c5cbe0; letter-spacing:0; }

/* ---------- FAQ ---------- */
.faq-wrap{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:56px; align-items:start; }
.dm3 .faq-wrap .section-head.left{ position:sticky; top:120px; margin:0; }
.dm3 .faq-list{ max-width:none; margin:0; gap:0; border-top:1px solid var(--border); }
.dm3 .faq-item{ border:0; border-bottom:1px solid var(--border); border-radius:0; background:none; box-shadow:none!important; transform:none!important; }
.dm3 .faq-item h3{ margin:0; font:inherit; }
.dm3 .faq-question{ padding:24px 4px; font-family:var(--font-body); font-size:18px; font-weight:600; color:var(--navy-900); }
.dm3 .faq-question i{ width:36px; height:36px; border-radius:50%; background:var(--cream); color:var(--navy-900); display:inline-flex; align-items:center; justify-content:center; font-size:13px; transition:transform .4s var(--ease-out), background .3s, color .3s; }
.dm3 .faq-item.open .faq-question i{ transform:rotate(135deg); background:var(--navy-900); color:#fff; }
.dm3 .faq-answer{ padding:0 4px; }
.dm3 .faq-item.open .faq-answer{ max-height:420px; padding:0 60px 26px 4px; }
.dm3 .faq-answer p{ font-size:16px; line-height:1.7; }

/* ---------- Articles ---------- */
.dm3 .article-card{ border-radius:var(--radius-lg); border:1px solid var(--border); box-shadow:none; }
.dm3 .article-card:hover{ transform:translateY(-6px); box-shadow:0 26px 50px rgba(11,19,48,.12); border-color:var(--navy-900); }
.dm3 .article-media .ph{ aspect-ratio:16/10; }
.dm3 .article-body{ padding:24px; }
.dm3 .article-category{ text-transform:none; letter-spacing:0; font-size:13.5px; font-weight:600; color:var(--gold-600); }
.dm3 .article-body h3, .dm3 .article-body h4{ font-size:22px; font-weight:500; line-height:1.25; margin-top:8px; }
.dm3 .article-body p{ font-size:15px; line-height:1.6; margin:12px 0 20px; }
.dm3 .article-time{ border:0; padding:0; font-size:13.5px; }
.dm3 .article-readmore{ font-size:14.5px; font-weight:600; }
.dm3 .article-readmore i{ transition:transform .3s var(--ease-out); font-size:12px; }
.dm3 .article-card:hover .article-readmore i{ transform:translateX(5px); }

/* ---------- Newsletter + footer ---------- */
.dm3 .newsletter-band{ margin-top:24px; }
.dm3 .newsletter-inner{ background-color:var(--navy-900); background-image:var(--quilt); background-size:64px 64px; border:0; border-radius:var(--radius-lg); padding:48px 52px; }
.dm3 .newsletter-inner::after{ display:none; }
.dm3 .newsletter-copy h2{ font-size:30px; color:#fff; }
.dm3 .newsletter-copy p{ font-size:15.5px; color:#c5cbe0; max-width:440px; }
.dm3 .newsletter-form{ align-items:center; }
.dm3 .newsletter-form input[type=email]{ border-radius:999px; padding:15px 22px; font-size:16px; min-width:290px; border:2px solid transparent; }
.dm3 .newsletter-form input[type=email]:focus{ border-color:var(--gold-500); }
.dm3 .newsletter-form button{ border-radius:999px; padding:15px 28px; font-size:15px; font-weight:600; }
.newsletter-msg{ flex-basis:100%; font-size:14.5px; color:var(--gold-400); min-height:1.4em; margin:0; }
.dm3 .site-footer{ background:var(--ink); color:#aab1c9; margin-top:72px; padding-top:72px; }
.dm3 .site-footer::before{ display:none; }
.dm3 .site-footer-inner{ grid-template-columns:1.7fr 1fr 1fr 1fr 1.25fr; gap:36px; padding-bottom:56px; }
.dm3 .brand-logo-footer{ height:84px; background:none; padding:0; }
.dm3 .footer-brand p, .dm3 .footer-brand address{ font-size:14.5px; line-height:1.65; color:#aab1c9; margin-top:18px; max-width:300px; }
.dm3 .footer-col h4{ font-family:var(--font-body); font-size:15px; font-weight:600; color:#fff; letter-spacing:0; margin-bottom:18px; }
.dm3 .footer-col a, .dm3 .footer-col p{ font-size:14.5px; color:#aab1c9; margin-bottom:11px; }
.dm3 .footer-col a{ transition:color .2s, transform .3s var(--ease-out); width:fit-content; }
.dm3 .footer-col a:hover{ color:#fff; transform:translateX(3px); }
.dm3 .footer-col a i{ width:18px; color:var(--gold-400); }
.dm3 .footer-email{ overflow-wrap:anywhere; }
.dm3 .footer-bottom{ font-size:13.5px; padding-top:22px; padding-bottom:22px; align-items:center; }
.dm3 .footer-pay{ font-size:26px; display:flex; gap:10px; color:#d5d9ea; }
.dm3 .whatsapp-float{ box-shadow:0 12px 28px rgba(11,19,48,.25)!important; }
.dm3 .whatsapp-float::after{ display:none; }

/* ---------- Inner page heroes ---------- */
.dm3 .page-hero, .dm3 .page-hero-v2{ background-color:var(--ink); background-image:var(--quilt); background-size:64px 64px; }
.dm3 .page-hero::before{ content:''; inset:0; right:0; top:0; font-size:0; background:linear-gradient(180deg, rgba(11,19,48,.7), rgba(11,19,48,.96)); }
.dm3 .page-hero > *{ position:relative; }
.dm3 .page-hero{ padding:64px 0 58px; }
.dm3 .page-hero h1{ font-size:clamp(34px,4.6vw,54px); font-weight:400; color:#fff; letter-spacing:-.025em; line-height:1.08; }
.dm3 .page-hero .hero-sub{ color:#c5cbe0; font-size:17px; max-width:620px; margin:16px auto 0; }
.dm3 .breadcrumb{ font-size:14px; }
.dm3 .page-hero-v2{ padding:76px 0 84px; }
.dm3 .page-hero-v2::before{ content:''; position:absolute; inset:0; width:auto; height:auto; border-radius:0; background:linear-gradient(100deg, rgba(11,19,48,.97) 35%, rgba(11,19,48,.6)); filter:none; transform:none; }
.dm3 .page-hero-v2::after{ display:none; }
.dm3 .phv2-wave, .dm3 .phv2-icon-badge{ display:none; }
.dm3 .phv2-content h1{ font-family:var(--font-display); font-weight:400; font-size:clamp(38px,5vw,64px); letter-spacing:-.03em; line-height:1.04; color:#fff; }
.dm3 .phv2-content h1 .gold-accent{ color:inherit; font-style:normal; }
.dm3 .phv2-desc{ font-size:17.5px; line-height:1.6; color:#c5cbe0; }
.dm3 .phv2-feature{ font-size:14.5px; }
.dm3 .phv2-photo{ border-radius:var(--radius-lg); clip-path:polygon(12% 0, 100% 0, 100% 100%, 0 100%); border:0; }
.dm3 .phv2-photo-tag{ display:none; }
.dm3 .phv2-pill{ font-size:14px; }

/* ---------- Product page ---------- */
.dm3.page-product .page-hero{ padding:18px 0!important; text-align:left; background:var(--paper); border-bottom:1px solid var(--border); }
.dm3.page-product .page-hero::before{ display:none; }
.dm3.page-product .breadcrumb{ margin:0; color:var(--text-soft); }
.dm3.page-product .breadcrumb a{ color:var(--text-muted); }
.dm3.page-product .breadcrumb a:hover{ color:var(--navy-900); }
.dm3 .gallery-main{ border-radius:var(--radius-lg); box-shadow:none; border:1px solid var(--border); background:#fff; }
.dm3 .product-info{ background:var(--paper); border:1px solid var(--border); box-shadow:none; border-radius:var(--radius-lg); backdrop-filter:none; padding:34px; }
.dm3 .product-info h1{ font-size:clamp(34px,3.8vw,48px); font-weight:400; line-height:1.06; letter-spacing:-.03em; }
.dm3 .product-tagline{ font-size:16px; line-height:1.65; }
.dm3 .price-now{ font-family:var(--font-display); font-weight:500; font-size:40px; color:var(--navy-900)!important; text-shadow:none; letter-spacing:-.03em; }
.dm3 .price-note{ font-size:14px; }
.dm3 .size-chip{ border-radius:12px; }
.dm3 .size-chip.active{ border-color:var(--navy-900); background:var(--navy-900); color:#fff; box-shadow:none; }
.dm3 .size-chip.active .size-chip-dims{ color:#c5cbe0; }
.dm3 .product-info .btn{ border-radius:999px; min-height:54px; }
.dm3 .spec-list, .dm3 .trust-mini{ box-shadow:none; }
.dm3 .spec-row{ font-size:14.5px; }
.dm3 .pill{ border-radius:999px; text-transform:none; letter-spacing:0; font-size:13px; }
.pd-rating{ display:inline-flex; align-items:center; gap:10px; font-size:14.5px; color:var(--text-muted); text-decoration:none; margin:2px 0 14px; }
.pd-rating:hover{ color:var(--navy-900); }
.pd-rating u{ text-underline-offset:4px; }
.pd-reviews-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.pd-reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

/* ---------- Shop ---------- */
.dm3 .shop-toolbar{ font-size:15px; }
.dm3 .sort-select{ font:inherit; font-size:15px; border:1.5px solid var(--border); border-radius:999px; padding:11px 40px 11px 18px; background-color:#fff; color:var(--navy-900); cursor:pointer; }
.dm3 .compare-wrap{ border-radius:var(--radius-lg); }
.dm3 table.compare th, .dm3 table.compare td{ font-size:15px; padding:18px 20px; }
.dm3 table.compare thead th{ font-size:19px; font-weight:500; background:var(--cream); }
.dm3 table.compare tbody th{ text-transform:none; letter-spacing:0; font-size:14.5px; font-weight:600; color:var(--navy-900); }
.dm3 table.compare td b.price{ font-size:22px; font-weight:500; }
.dm3 table.compare tbody tr{ transition:background .2s; }
.dm3 table.compare tbody tr:hover{ background:rgba(31,79,194,.035); }

/* ---------- Misc inner-page text sizes (old theme was set too small) ---------- */
.dm3 .info-card h4{ font-size:20px; }
.dm3 .info-card p{ font-size:15px; line-height:1.6; }
.dm3 .info-card{ border-radius:var(--radius-lg); box-shadow:none; border:1px solid var(--border); }
.dm3 .info-card:hover{ border-color:var(--navy-900); box-shadow:0 22px 44px rgba(11,19,48,.1); }
.dm3 .story-copy p, .dm3 .legal-body p, .dm3 .legal-body li, .dm3 .post-body p{ font-size:16.5px; line-height:1.75; }
.dm3 .map-embed{ border-radius:var(--radius-lg); overflow:hidden; }
.dm3 .contact-layout .form-field{ margin-bottom:16px; }

/* ---------- 404 ---------- */
.nf{ text-align:center; padding:110px 0 90px; }
.nf-code{ font-family:var(--font-display); font-size:clamp(110px,18vw,200px); line-height:.9; color:var(--navy-900); letter-spacing:-.06em; }
.nf-code span{ display:inline-block; color:var(--gold-500); transform:rotate(45deg) scale(.5); }
.dm3 .nf h1{ font-size:clamp(28px,3.4vw,40px); margin-top:14px; }
.nf p{ color:var(--text-muted); font-size:17px; margin:14px auto 30px; max-width:480px; }
.nf-links{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* ---------- Scroll reveal (one system; content is visible if JS never runs) ---------- */
.dm3 .reveal, .dm3 .reveal-stagger > *{ transition:opacity .8s var(--ease-out), transform .9s var(--ease-out); will-change:auto; }
.dm3 .reveal.armed, .dm3 .reveal-stagger > *.armed{ opacity:0; transform:translateY(24px); }
.dm3 .reveal.in-view, .dm3 .reveal-stagger > *.in-view{ opacity:1; transform:none; }
.dm3 .dm-scroll-progress{ height:2px; background:var(--gold-500); box-shadow:none; }
@keyframes dmPing{ 0%{ transform:scale(.85); opacity:.8; } 80%,100%{ transform:scale(1.35); opacity:0; } }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1180px){
  .dm3 .main-nav{ gap:22px; font-size:14.5px; }
  .dm3 .header-cta{ display:none; }
  .dm3 .site-footer-inner{ grid-template-columns:1.4fr 1fr 1fr; }
  .pd-reviews-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:980px){
  .dm3 .section{ padding:72px 0; }
  /* mobile menu: full-height sheet */
  .dm3 .nav-toggle{ display:flex; }
  .dm3 .main-nav{ position:fixed; inset:0; z-index:80; background:var(--ink); background-image:var(--quilt); background-size:64px 64px; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0; padding:104px 28px 40px; margin:0; transform:translateX(100%); transition:transform .5s var(--ease-out); width:auto; height:auto; overflow-y:auto; }
  .dm3 .main-nav.open{ transform:none; }
  .dm3 .main-nav a{ color:#fff; font-family:var(--font-display); font-size:30px; font-weight:400; letter-spacing:-.02em; padding:14px 0; width:100%; border-bottom:1px solid var(--border-dark); }
  .dm3 .main-nav a::after{ display:none; }
  .dm3 .main-nav a.active{ color:var(--gold-400); }
  .dm3 .main-nav .nav-wa{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:16px; font-weight:600; border:0; margin-top:26px; color:#4be08a; }
  .dm3 .nav-toggle{ z-index:90; }
  .dm3 .nav-toggle.open span{ background:#fff; }
  body.nav-open{ overflow:hidden; }
  .dm3 .announce-phone{ display:none; }

  .hs-stage{ min-height:0; }
  .hs-slide{ grid-template-columns:1fr; grid-template-rows:auto 1fr; }
  .hs-slide::before{ display:none; }
  .hs-media{ grid-column:1; grid-row:1; aspect-ratio:16/11; clip-path:polygon(0 0, 100% 0, 100% 90%, 0 100%); }
  .hs-slide.is-active .hs-media{ animation:hsFadeIn .8s ease both; }
  @keyframes hsFadeIn{ from{ opacity:.2; } to{ opacity:1; } }
  .hs-media-hybridroyal img{ padding:6%; object-position:center; }
  .hs-copy{ grid-column:1; grid-row:2; align-self:start; padding:28px 22px 40px; max-width:none; }
  .hs-controls{ padding:0 22px; gap:6px; }
  .hs-tabs{ overflow-x:auto; scrollbar-width:none; grid-auto-columns:minmax(132px,1fr); }
  .hs-tabs::-webkit-scrollbar{ display:none; }
  .hs-tab{ padding:16px 14px 14px 0; }
  .hs-controls > .hs-arrow:not(.hs-pause){ display:none; }

  .trust-strip-inner{ grid-template-columns:1fr 1fr; }
  .trust-strip .trust-item{ padding:20px 14px 20px 0; }
  .trust-strip .trust-item + .trust-item{ padding-left:18px; }
  .trust-strip .trust-item:nth-child(3){ border-left:0; padding-left:0; }
  .trust-strip .trust-item:nth-child(n+3){ border-top:1px solid var(--border); }

  .dm3 .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .size-guide{ grid-template-columns:repeat(3,1fr); }
  .size-tile:nth-child(4){ border-left:0; }
  .size-tile:nth-child(n+4){ border-top:1px solid var(--border); }
  .dm3 .layers-showcase{ grid-template-columns:1fr; gap:32px; }
  .rv-home-inner, .faq-wrap, .rv-page-grid{ grid-template-columns:1fr; gap:32px; }
  .dm3 .faq-wrap .section-head.left{ position:static; }
  .rv-form-card{ position:static; }
  .dm3 .stats-grid{ grid-template-columns:1fr 1fr; }
  .dm3 .stat-box:nth-child(3){ border-left:0; padding-left:20px; }
  .dm3 .stat-box:nth-child(n+3){ border-top:1px solid var(--border-dark); }
  .dm3 .site-footer-inner{ grid-template-columns:1fr 1fr; }
  .dm3 .footer-brand{ grid-column:1/-1; }
}
@media (max-width:640px){
  body.dm3{ font-size:16px; }
  .dm3 .section{ padding:60px 0; }
  .dm3 .section-head{ margin-bottom:36px; }
  .dm3 .section-head p{ font-size:16px; }
  .dm3 .site-header-inner{ min-height:68px; padding:8px 16px; gap:8px; }
  .dm3 .brand-logo{ height:50px; }
  .dm3 .site-header.dm-scrolled .brand-logo{ height:44px; }
  .dm3 .header-actions{ gap:0; }
  .dm3 .icon-btn{ width:42px; height:42px; }
  .dm3 .announce-inner{ padding:9px 0; }
  .dm3 .hs-title{ font-size:40px; }
  .dm3 h2.hs-title{ font-size:42px; }
  .hs-facts li{ padding:11px 14px 11px 0; margin-right:14px; font-size:13.5px; }
  .hs-cta .btn{ flex:1 1 auto; }
  .hs-price{ flex-basis:100%; }
  .trust-strip-inner{ grid-template-columns:1fr; }
  .trust-strip .trust-item, .trust-strip .trust-item + .trust-item{ border-left:0; padding:16px 0; border-top:1px solid var(--border); }
  .trust-strip .trust-item:first-child{ border-top:0; }
  /* collections become a swipe row */
  .dm3 .cat-grid.snap-row{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin:0 -18px; padding:4px 18px 18px; scrollbar-width:none; }
  .dm3 .cat-grid.snap-row::-webkit-scrollbar{ display:none; }
  .dm3 .cat-grid.snap-row .cat-card{ flex:0 0 82%; scroll-snap-align:center; }
  .dm3 .cat-grid{ grid-template-columns:1fr; }
  .size-guide{ grid-template-columns:1fr 1fr; }
  .size-tile{ border-left:0; border-top:1px solid var(--border); padding:22px 12px; }
  .size-tile:nth-child(-n+2){ border-top:0; }
  .size-tile:nth-child(even){ border-left:1px solid var(--border); }
  .size-tile:last-child:nth-child(odd){ grid-column:1/-1; }
  .size-bed{ --u:.62px; }
  .size-bed-wrap{ height:136px; }
  .dm3 .layer-card{ gap:14px; }
  .dm3 .layer-thumb{ display:none; }
  .rv-invite{ padding:36px 26px; }
  .rv-card{ padding:22px; }
  .rv-summary{ grid-template-columns:1fr; padding:24px; }
  .rv-score-num{ font-size:64px; }
  .rv-form-card{ padding:24px 20px; }
  .dm-field-row{ grid-template-columns:1fr; gap:0; }
  .pd-reviews-grid{ grid-template-columns:1fr; }
  .dm3 .stats-grid{ grid-template-columns:1fr; }
  .dm3 .stat-box, .dm3 .stat-box + .stat-box{ border-left:0; padding:26px 4px; border-top:1px solid var(--border-dark); }
  .dm3 .stat-box:first-child{ border-top:0; }
  .dm3 .faq-question{ font-size:16.5px; padding:20px 2px; }
  .dm3 .faq-item.open .faq-answer{ padding-right:8px; }
  .dm3 .newsletter-inner{ padding:34px 24px; }
  .dm3 .newsletter-copy h2{ font-size:25px; }
  .dm3 .newsletter-form{ width:100%; }
  .dm3 .newsletter-form input[type=email]{ min-width:0; flex:1 1 100%; }
  .dm3 .newsletter-form button{ flex:1 1 100%; }
  .dm3 .site-footer-inner{ grid-template-columns:1fr 1fr; gap:30px 20px; }
  .dm3 .product-info{ padding:24px 18px; }
  .dm3 .page-hero-v2{ padding:52px 0 56px; }
  .dm3 .phv2-photo{ clip-path:none; }
}
@media (prefers-reduced-motion: reduce){
  .hs-copy > *{ opacity:1; transform:none; }
  .hs-slide.is-active .hs-media, .hs-slide.is-active .hs-media img{ animation:none; }
  .dm3 .announce-track-inner{ animation:none; }
}

/* ---------- Fixes after visual review ---------- */
.dm3 .section-dark.section-quilt, .dm3 .stats-section.section-quilt{ background-color:var(--ink); background-image:var(--quilt); background-size:64px 64px; }
.dm3 .stats-section::before, .dm3 .stats-section::after{ display:none; }
.dm3 .cat-badge{ z-index:3; }
.dm3 .cat-card-price{ display:flex; flex-direction:column; line-height:1.2; }
.dm3 .cat-card-price b{ margin-left:0; }
.dm3 .video-frame{ background:#060b1f; }
.dm3 .brand-logo-footer{ height:92px; background:#fff; padding:10px 16px; border-radius:14px; }
.dm3 .footer-col a:has(i){ display:flex; gap:9px; align-items:baseline; }
.dm3 .trust-strip .trust-item{ width:auto; }
@media (max-width:980px){
  /* backdrop-filter would trap the full-screen menu inside the header box */
  .dm3 .site-header{ -webkit-backdrop-filter:none!important; backdrop-filter:none!important; background:#fff!important; }
  .dm3 .main-nav{ height:100vh; height:100dvh; }
}
@media (max-width:980px){
  .dm3 .main-nav{ left:0; right:0; top:0; width:100%; max-width:none; visibility:hidden; transition:transform .5s var(--ease-out), visibility 0s linear .5s; }
  .dm3 .main-nav.open{ visibility:visible; transition:transform .5s var(--ease-out); }
}
.dm3 .header-actions{ margin-left:auto; }
@media (min-width:981px){ .dm3 .main-nav{ margin:0 auto; } .dm3 .header-actions{ margin-left:0; } }
