/* DM Diversified LLC — black + gold design system */
:root{
  --bg:#0A0A0A; --panel:#141414; --panel2:#181818; --line:#2a2418;
  --gold:#E0A63C; --gold-2:#F3C86B; --gold-deep:#C9862A;
  --white:#FFFFFF; --gray:#C9C9C9; --gray-dim:#9a9a9a;
  --maxw:1200px; --r:14px;
  --shadow:0 24px 60px rgba(0,0,0,.55);
  --grad-gold:linear-gradient(135deg,#F6D98A,#E0A63C 45%,#C9862A);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--white);
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px;line-height:1.6;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:"Archivo","Inter",sans-serif;font-weight:800;line-height:1.06;margin:0;letter-spacing:-.01em}
.display{text-transform:uppercase;letter-spacing:.005em}
.gold{color:var(--gold)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sec{padding:96px 0;position:relative}
.sec-tight{padding:64px 0}
.eyebrow{font-family:"Archivo",sans-serif;text-transform:uppercase;letter-spacing:.28em;font-size:12.5px;font-weight:700;color:var(--gold);margin:0 0 16px}
.lead{color:var(--gray);font-size:19px;max-width:62ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:"Archivo",sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;font-size:13.5px;padding:15px 26px;border-radius:9px;
  cursor:pointer;border:1.5px solid transparent;transition:transform .18s ease,box-shadow .2s ease,background .2s;min-height:48px}
.btn-gold{background:var(--grad-gold);color:#1a1206;box-shadow:0 10px 26px rgba(224,166,60,.28)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(224,166,60,.42)}
.btn-ghost{border-color:rgba(224,166,60,.5);color:var(--gold);background:rgba(224,166,60,.04)}
.btn-ghost:hover{background:rgba(224,166,60,.12);transform:translateY(-2px)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.center .btn-row{justify-content:center}

/* header */
header.site{position:sticky;top:0;z-index:60;background:rgba(10,10,10,.82);
  backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid rgba(224,166,60,.14)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{width:44px;height:44px}
.brand b{font-family:"Archivo",sans-serif;font-weight:800;font-size:19px;letter-spacing:.02em;text-transform:uppercase}
.brand b span{color:var(--gold)}
.brand small{display:block;font-size:9px;letter-spacing:.42em;color:var(--gray-dim);font-weight:600;margin-top:1px}
.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a{display:inline-flex;align-items:center;gap:5px;padding:10px 14px;font-family:"Archivo",sans-serif;
  font-weight:600;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);border-radius:8px;transition:color .15s}
.menu>li>a:hover,.menu>li.active>a{color:var(--white)}
.menu>li>a[data-has]::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:250px;background:#111;border:1px solid rgba(224,166,60,.18);
  border-radius:12px;padding:8px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;list-style:none;margin:0}
.menu>li:hover .dropdown,.menu>li:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:11px 14px;border-radius:8px;font-size:14.5px;color:var(--gray);transition:.14s}
.dropdown a:hover{background:rgba(224,166,60,.1);color:var(--white)}
.nav-cta{display:flex;align-items:center;gap:14px;flex-shrink:0}
.burger{display:none;background:none;border:0;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.burger span{width:26px;height:2px;background:var(--gold);border-radius:2px;transition:.2s}

/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(224,166,60,.14)}
.hero-media{position:absolute;inset:0;z-index:0;will-change:transform}
.hero-media img{width:100%;height:100%;object-fit:cover;opacity:1}
/* Ken Burns — slow cinematic drift/zoom on the always-visible base image */
.hero-media img.kb{animation:kenburns 26s ease-in-out infinite alternate;transform-origin:60% 45%}
.hero-media img.kb-slow{animation-duration:34s;transform-origin:50% 50%}
@keyframes kenburns{
  0%{transform:scale(1.04) translate3d(0,0,0)}
  100%{transform:scale(1.14) translate3d(-1.6%,-1.4%,0)}
}
/* signature moment — a single gold light sweep across the hero on load */
.hero-sweep{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-sweep::before{content:"";position:absolute;top:-40%;left:-60%;width:45%;height:180%;
  background:linear-gradient(105deg,transparent,rgba(243,200,107,.16) 45%,rgba(255,240,200,.30) 50%,rgba(243,200,107,.16) 55%,transparent);
  transform:skewX(-14deg);filter:blur(6px);animation:sweep 2.6s cubic-bezier(.5,.1,.2,1) .5s 1 both}
@keyframes sweep{0%{left:-60%;opacity:0}12%{opacity:1}60%{opacity:1}100%{left:130%;opacity:0}}
/* hero vignette — adds edge depth so the frame never reads flat */
.hero-grain{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 68% 42%,transparent 44%,rgba(4,4,4,.5) 100%)}
.hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(6,6,6,.94) 0%,rgba(6,6,6,.78) 42%,rgba(6,6,6,.35) 72%,rgba(6,6,6,.55) 100%),
  linear-gradient(0deg,rgba(6,6,6,.85),rgba(6,6,6,.15) 45%)}
.hero .wrap{position:relative;z-index:2;padding-top:60px;padding-bottom:60px}
.hero h1{font-size:clamp(38px,6.4vw,82px);text-transform:uppercase;max-width:16ch}
.hero .lead{margin-top:22px;font-size:clamp(17px,2.1vw,22px)}
.hero-sub{max-width:40ch}

/* generic page hero (shorter) */
.phero{position:relative;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden}
.phero .wrap{position:relative;z-index:2;padding-bottom:56px;padding-top:120px}
.phero h1{font-size:clamp(34px,5vw,64px);text-transform:uppercase;max-width:18ch}
.phero .lead{margin-top:16px}

/* reveals — base-visible; hidden only when JS present */
.rv{opacity:1;transform:none}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}.js .rv.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1!important;transform:none!important;transition:none!important}}

/* parallax layer — transform only, base visible */
.parallax{will-change:transform}
@media (prefers-reduced-motion:reduce){.parallax{transform:none!important}}

/* bands */
.band{background:linear-gradient(90deg,rgba(224,166,60,.05),rgba(224,166,60,.13),rgba(224,166,60,.05));
  border-top:1px solid rgba(224,166,60,.16);border-bottom:1px solid rgba(224,166,60,.16);padding:26px 0}
.band .wrap{text-align:center}
.band b{font-family:"Archivo",sans-serif;text-transform:uppercase;letter-spacing:.34em;font-size:clamp(14px,2.4vw,22px);font-weight:800;color:var(--gold)}
.cta-band{position:relative;overflow:hidden;text-align:center;padding:110px 0}
.cta-band .cbg{position:absolute;inset:0;z-index:0}
.cta-band .cbg img{width:100%;height:100%;object-fit:cover;opacity:.4}
.cta-band .cbg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.9),rgba(8,8,8,.72))}
.cta-band .wrap{position:relative;z-index:2}
.cta-band h2{font-size:clamp(30px,4.6vw,54px);text-transform:uppercase}

/* grids & cards */
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:transform .2s,border-color .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);border-color:rgba(224,166,60,.4);box-shadow:var(--shadow)}
.card h3{font-size:21px;margin-bottom:10px}
.card p{color:var(--gray);font-size:15.5px;margin:0}
.ic{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;margin-bottom:18px;
  background:radial-gradient(circle at 30% 25%,rgba(224,166,60,.28),rgba(224,166,60,.08));border:1px solid rgba(224,166,60,.35)}
.ic svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:1.8}
.cap-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cap{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 16px;text-align:center}
.cap .ic{margin:0 auto 14px}
.cap b{display:block;font-family:"Archivo",sans-serif;text-transform:uppercase;font-size:13.5px;letter-spacing:.03em;margin-bottom:6px}
.cap span{font-size:12.5px;color:var(--gray-dim);line-height:1.4;display:block}

/* media + text split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev .txt{order:2}
.media-frame{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.media-frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.media-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.35),transparent 55%);pointer-events:none}

/* markets split */
.markets{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:center}
.market{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-height:380px;display:flex;align-items:flex-end;padding:34px}
.market img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.market .mv{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(6,6,6,.92),rgba(6,6,6,.45))}
.market .mc{position:relative;z-index:2}
.market h3{font-size:26px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.market ul{list-style:none;padding:0;margin:16px 0 22px;color:var(--gray);font-size:15px}
.market li{padding:5px 0 5px 22px;position:relative}
.market li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;background:var(--gold);border-radius:2px}
.emblem{width:150px;height:150px;flex-shrink:0}
.emblem img{width:100%;height:100%}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.step{text-align:center;position:relative}
.step .num{width:64px;height:64px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;margin:0 auto 18px;
  font-family:"Archivo",sans-serif;font-weight:800;font-size:22px;color:var(--gold);background:rgba(224,166,60,.06)}
.step h4{font-size:16px;text-transform:uppercase;margin-bottom:8px}
.step p{color:var(--gray-dim);font-size:14px;margin:0}

/* leadership */
.lead-sec{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:center}
.portrait{position:relative;width:300px;height:300px;border-radius:50%;overflow:hidden;border:3px solid var(--gold);box-shadow:0 0 0 8px rgba(224,166,60,.08),var(--shadow)}
.portrait img{width:100%;height:100%;object-fit:cover}
.quote{border-left:3px solid var(--gold);padding:6px 0 6px 28px;margin-top:26px}
.quote p{font-size:20px;font-style:italic;color:var(--white);margin:0}
.sig{font-family:"Great Vibes",cursive;font-size:34px;color:var(--gold);margin-top:10px}

/* partners */
.partners{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:26px}
.pchip{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 34px;font-family:"Archivo",sans-serif;
  font-weight:800;font-size:20px;letter-spacing:.02em;color:var(--white);min-width:150px;text-align:center}
.pchip.dim{color:var(--gray-dim);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.pnote{margin:28px auto 0;max-width:640px;font-size:17px;line-height:1.65;color:var(--gray)}
.pnote strong{color:var(--gold);font-weight:700}

/* checklist */
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.checklist li{display:flex;gap:14px;align-items:flex-start;color:var(--gray);font-size:16px}
.checklist li svg{flex-shrink:0;width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:2;margin-top:2px}

/* credential list inside a card (leadership page) */
.credlist{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}
.credlist li{position:relative;padding-left:18px;color:var(--gray);font-size:15px;line-height:1.55}
.credlist li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* PRESS PLAQUE WALL (2026-07-29) — the seven credentials, hung like a wall.
   auto-fit/minmax so it reflows 4 -> 3 -> 2 -> 1 without a media-query per breakpoint;
   the images are portrait 1275x1650, so aspect-ratio is pinned to stop layout shift. */
.plaquewall{display:grid;gap:26px;margin-top:8px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.plaque{display:block;position:relative;text-decoration:none;color:inherit;
  border-radius:4px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.plaque img{display:block;width:100%;height:auto;aspect-ratio:1275/1650;object-fit:cover;
  border-radius:4px;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.plaque:hover,.plaque:focus-visible{transform:translateY(-6px)}
.plaque:hover img,.plaque:focus-visible img{box-shadow:0 22px 50px rgba(0,0,0,.62)}
.plaque-cue{display:block;margin-top:12px;font-family:Archivo;font-weight:600;
  font-size:13px;letter-spacing:.04em;color:var(--gold);text-align:center}
@media(prefers-reduced-motion:reduce){.plaque{transition:none}.plaque:hover{transform:none}}
/* ONE per row on a phone, deliberately. A 2-up at 390px renders each plaque ~165px
   wide, at which the headline and quotation on the plate are unreadable — and the
   person most likely to review this on a phone is a low-vision reader. Full width
   roughly doubles the type size; the extra scrolling is the cheaper cost. */
@media(max-width:560px){.plaquewall{grid-template-columns:1fr;gap:30px;
  max-width:400px;margin-left:auto;margin-right:auto}}

/* stat / cred */
.cred{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.cred span{border:1px solid rgba(224,166,60,.35);background:rgba(224,166,60,.06);color:var(--gold);
  font-family:"Archivo",sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:100px}

/* certification attribution note (footer) — the certifications belong to Daryl
   Milliner Media, so the footer credits the entity rather than badging the LLC. */
.certnote{margin-top:12px!important;font-size:13.5px!important;line-height:1.6;color:var(--gray-dim)}
.foot-grid p.certnote a{display:inline;margin:0;font-size:inherit;color:var(--gold)}
.foot-grid p.certnote a:hover{text-decoration:underline}

/* forms */
.form{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:34px}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-family:"Archivo",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);margin-bottom:8px}
.field input,.field textarea,.field select{width:100%;background:#0d0d0d;border:1px solid var(--line);border-radius:9px;
  padding:14px 16px;color:var(--white);font-size:16px;font-family:inherit;min-height:50px}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.info-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.info-row .ic{width:46px;height:46px;margin:0}
.info-row b{display:block;font-family:"Archivo",sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:.1em;color:var(--gold);margin-bottom:3px}
.info-row span{color:var(--gray)}

/* footer */
footer.site{background:#070707;border-top:1px solid rgba(224,166,60,.16);padding:70px 0 34px;margin-top:40px}
.foot-band{text-align:center;font-family:"Archivo",sans-serif;text-transform:uppercase;letter-spacing:.4em;
  color:var(--gold);font-weight:800;font-size:clamp(15px,2.6vw,26px);margin-bottom:46px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:38px}
.foot-grid h5{font-family:"Archivo",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--white);margin:0 0 16px}
.foot-grid a,.foot-grid p{display:block;color:var(--gray-dim);font-size:14.5px;margin:0 0 10px;transition:color .15s}
.foot-grid a:hover{color:var(--gold)}
.foot-brand{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.foot-brand img{width:52px;height:52px}
.foot-bottom{border-top:1px solid var(--line);margin-top:44px;padding-top:24px;text-align:center;color:var(--gray-dim);font-size:13px}

/* accessibility helpers */
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#1a1206;padding:12px 18px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* responsive */
@media (max-width:1000px){
  .g4,.g6,.cap-row,.steps{grid-template-columns:repeat(3,1fr)}
  .split,.contact-grid,.lead-sec{grid-template-columns:1fr;gap:34px}
  .lead-sec{justify-items:center;text-align:center}
  .markets{grid-template-columns:1fr;gap:22px}
  .emblem{margin:0 auto}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px}
  .sec{padding:64px 0}
  .nav-cta .btn-gold{display:none}
  .menu{position:fixed;inset:74px 0 auto 0;background:#0c0c0c;flex-direction:column;align-items:stretch;
    gap:0;padding:12px;border-bottom:1px solid rgba(224,166,60,.2);transform:translateY(-140%);transition:transform .28s;height:calc(100vh - 74px);overflow:auto}
  .menu.open{transform:none}
  .menu>li>a{padding:15px 12px;font-size:15px}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 8px 14px;min-width:0}
  .dropdown a{padding:10px 12px}
  .burger{display:flex}
  .g2,.g3,.g4,.g6,.cap-row,.steps{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero{min-height:82vh}
  .hero-scrim{background:linear-gradient(0deg,rgba(6,6,6,.92),rgba(6,6,6,.55) 60%),linear-gradient(90deg,rgba(6,6,6,.85),rgba(6,6,6,.35))}
}
@media (max-width:440px){
  .g3,.g4,.g6,.cap-row,.steps,.g2{grid-template-columns:1fr}
  .brand small{display:none}
  .portrait{width:240px;height:240px}
}

/* ============================================================
   DIMENSION + MOTION PASS — depth, parallax, glow, counters
   All motion base-visible & fully disabled under reduced-motion.
   ============================================================ */

/* body ambient — subtle top gold wash so the page never reads as a flat black slab */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(80% 45% at 78% -6%,rgba(224,166,60,.10),transparent 60%),
    radial-gradient(70% 40% at 12% 4%,rgba(224,166,60,.05),transparent 55%)}

/* section keeps content above any decorative glow */
.sec>.wrap,.sec-tight>.wrap{position:relative;z-index:1}
/* alternating ambient gold glows on sections — kills flat single-color blocks */
.sec::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background:radial-gradient(60% 55% at 85% 20%,rgba(224,166,60,.07),transparent 60%)}
.sec:nth-of-type(even)::before{background:radial-gradient(58% 55% at 12% 82%,rgba(224,166,60,.06),transparent 60%)}

/* reveals — add a touch of scale/blur lift for dimensionality (still base-visible) */
.js .rv{opacity:0;transform:translateY(30px) scale(.985)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1!important;transform:none!important}}

/* parallax float — media-frame + market images drift gently on scroll (JS-driven, transform only) */
.media-frame img,.market img{will-change:transform}
@media (prefers-reduced-motion:reduce){.media-frame img,.market img{transform:none!important}}

/* media-frame — richer depth: layered inner shadow + gold edge sheen + hover push-in */
.media-frame{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.media-frame::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 60px rgba(0,0,0,.5);
  background:linear-gradient(120deg,rgba(243,200,107,.12),transparent 30%,transparent 78%,rgba(224,166,60,.10))}
.split:hover .media-frame,.media-frame:hover{transform:translateY(-4px);box-shadow:0 34px 70px rgba(0,0,0,.6),0 0 0 1px rgba(224,166,60,.25)}

/* cards — glow-on-hover + a subtle top gold hairline that lights up */
.card{position:relative;overflow:hidden;background:linear-gradient(180deg,#161514,#111 60%)}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;transform:scaleX(0);transform-origin:left;
  background:var(--grad-gold);transition:transform .4s ease;opacity:.85}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(120% 100% at 50% 0%,rgba(224,166,60,.10),transparent 55%)}
.card:hover{transform:translateY(-6px);border-color:rgba(224,166,60,.5);box-shadow:0 26px 60px rgba(0,0,0,.6),0 0 34px rgba(224,166,60,.10)}
.card:hover::before{transform:scaleX(1)}
.card:hover::after{opacity:1}
a.card:hover .ic,.card:hover .ic{transform:translateY(-2px)}
.ic{transition:transform .3s ease,box-shadow .3s ease}
.card:hover .ic{box-shadow:0 0 26px rgba(224,166,60,.35)}

/* icon boxes — subtle inner dimensional gradient */
.ic{background:radial-gradient(circle at 32% 24%,rgba(243,200,107,.34),rgba(224,166,60,.06) 70%),#141210}

/* animated gold accent line under centered eyebrows — draws in on reveal */
.center>.eyebrow.rv::after,.center .eyebrow.rv::after{content:"";display:block;width:64px;height:2px;margin:14px auto 0;
  background:var(--grad-gold);transform:scaleX(0);transform-origin:center;transition:transform .7s ease .15s;border-radius:2px}
.center>.eyebrow.rv.in::after,.center .eyebrow.rv.in::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.center .eyebrow.rv::after{transform:scaleX(1)!important;transition:none!important}}

/* band — animated gold shimmer sweep */
.band{position:relative;overflow:hidden}
.band::after{content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(243,200,107,.14),transparent);animation:bandshimmer 7s linear infinite}
@keyframes bandshimmer{0%{left:-30%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){.band::after{display:none}}

/* buttons — gold shine sweep on hover */
.btn-gold{position:relative;overflow:hidden}
.btn-gold::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:left .6s ease}
.btn-gold:hover::after{left:150%}

/* emblem — slow float + gentle glow (home markets divider) */
.emblem{animation:emblemfloat 6s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(224,166,60,.28))}
@keyframes emblemfloat{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.emblem{animation:none}}

/* market cards — image zoom on hover + gold border wake */
.market{transition:border-color .3s,box-shadow .3s}
.market img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.market:hover img{transform:scale(1.06)}
.market:hover{border-color:rgba(224,166,60,.45);box-shadow:0 30px 70px rgba(0,0,0,.6)}

/* step numbers — pulse ring + connector line grows */
.steps::before{content:"";position:absolute;top:32px;left:12%;right:12%;height:2px;z-index:0;
  background:linear-gradient(90deg,transparent,rgba(224,166,60,.35),transparent)}
.step{z-index:1}
.step .num{transition:transform .3s,box-shadow .3s;background:radial-gradient(circle at 50% 30%,rgba(224,166,60,.18),rgba(224,166,60,.04))}
.step:hover .num{transform:translateY(-4px) scale(1.05);box-shadow:0 0 30px rgba(224,166,60,.35)}
@media (max-width:720px){.steps::before{display:none}}

/* stat strip — big animated counters */
.statwrap{position:relative}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
.stat{padding:26px 18px;border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(180deg,rgba(224,166,60,.06),rgba(20,18,16,.4));transition:transform .3s,border-color .3s,box-shadow .3s}
.stat:hover{transform:translateY(-4px);border-color:rgba(224,166,60,.45);box-shadow:0 22px 50px rgba(0,0,0,.5)}
.statnum{display:block;font-family:"Archivo",sans-serif;font-weight:900;line-height:1;
  font-size:clamp(38px,5vw,60px);background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{display:block;margin-top:10px;font-family:"Archivo",sans-serif;text-transform:uppercase;
  letter-spacing:.14em;font-size:12.5px;color:var(--gray);font-weight:700}
@media (max-width:720px){.stats{grid-template-columns:1fr 1fr}}

/* partner chips — lift + gold on hover */
.pchip{transition:transform .25s,border-color .25s,color .25s,box-shadow .25s}
.pchip:not(.dim):hover{transform:translateY(-4px);border-color:rgba(224,166,60,.5);color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.5)}

/* portrait — soft breathing gold halo */
.portrait{transition:box-shadow .4s}
.portrait::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  box-shadow:inset 0 0 40px rgba(0,0,0,.4)}

/* header condensed on scroll — tighter, deeper shadow */
header.site.scrolled{height:auto;box-shadow:0 10px 40px rgba(0,0,0,.5);background:rgba(8,8,8,.92)}
header.site{transition:background .3s,box-shadow .3s}

/* cta-band — parallax texture already; add gold vignette pop */
.cta-band::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(60% 60% at 50% 40%,rgba(224,166,60,.10),transparent 62%)}
.cta-band .wrap{z-index:2}

/* ============================================================
   HOME IMAGE-FORWARD PASS — image-led product cards, full-bleed
   showcase band, image-backed impact strip. All base-visible.
   ============================================================ */

/* image-led product cards (eco grid) */
.eco-grid{gap:24px}
.icard{padding:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#161514,#0f0f0f 65%)}
.icard-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.icard-media img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.icard:hover .icard-media img{transform:scale(1.08)}
.icard-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(10,9,7,.82),rgba(10,9,7,.12) 55%,transparent)}
.icard-ic{position:absolute;left:20px;bottom:16px;z-index:2;width:48px;height:48px;border-radius:11px;display:grid;place-items:center;
  background:radial-gradient(circle at 32% 24%,rgba(243,200,107,.9),rgba(224,166,60,.5) 70%);box-shadow:0 8px 22px rgba(0,0,0,.5);
  transition:transform .3s ease,box-shadow .3s ease}
.icard-ic svg{width:24px;height:24px;stroke:#140d02;fill:none;stroke-width:2}
.icard:hover .icard-ic{transform:translateY(-3px);box-shadow:0 10px 30px rgba(224,166,60,.45)}
.icard-body{padding:22px 26px 26px;flex:1;display:flex;flex-direction:column}
.icard-body h3{font-size:20px;text-transform:uppercase;margin-bottom:6px}
.icard-body p{color:var(--gray);font-size:15px;margin:0}
.icard .more{display:inline-block;margin-top:14px;font-family:"Archivo",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;transition:letter-spacing .25s ease}
.icard:hover .more{letter-spacing:.14em}

/* full-bleed cinematic showcase band */
.showcase{position:relative;min-height:72vh;display:flex;align-items:center;overflow:hidden;border-top:1px solid rgba(224,166,60,.14);border-bottom:1px solid rgba(224,166,60,.14)}
.showcase-media{position:absolute;inset:0;z-index:0;will-change:transform}
.showcase-media img{width:100%;height:100%;object-fit:cover;opacity:1}
.showcase-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(6,6,6,.92) 0%,rgba(6,6,6,.7) 42%,rgba(6,6,6,.28) 72%,rgba(6,6,6,.5) 100%),
  linear-gradient(0deg,rgba(6,6,6,.6),transparent 55%)}
.showcase-grain{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 70% 45%,transparent 46%,rgba(4,4,4,.55) 100%)}
.showcase .wrap{position:relative;z-index:2;padding-top:80px;padding-bottom:80px}
.showcase h2{font-size:clamp(28px,4.6vw,54px);text-transform:uppercase;max-width:15ch}
.showcase-caps{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px;max-width:760px}
.showcase-cap{max-width:220px;padding-left:16px;border-left:2px solid rgba(224,166,60,.55)}
.showcase-cap b{display:block;font-family:"Archivo",sans-serif;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;font-size:15px;margin-bottom:5px}
.showcase-cap span{color:var(--gray);font-size:14.5px;line-height:1.5}

/* image-backed impact / stats strip */
.impact{position:relative;overflow:hidden;padding:100px 0}
.impact-media{position:absolute;inset:0;z-index:0;will-change:transform}
.impact-media img{width:100%;height:100%;object-fit:cover;opacity:.55}
.impact::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(0deg,rgba(8,8,8,.94),rgba(8,8,8,.68)),radial-gradient(70% 70% at 50% 50%,transparent 40%,rgba(6,6,6,.7))}
.impact .wrap{position:relative;z-index:2}
.impact .stat{background:linear-gradient(180deg,rgba(224,166,60,.1),rgba(14,12,10,.5));
  border-color:rgba(224,166,60,.3);backdrop-filter:blur(4px)}

@media (max-width:720px){
  .showcase{min-height:auto}
  .showcase .wrap{padding-top:64px;padding-bottom:64px}
  .showcase-scrim{background:linear-gradient(0deg,rgba(6,6,6,.9),rgba(6,6,6,.55) 60%),linear-gradient(90deg,rgba(6,6,6,.85),rgba(6,6,6,.4))}
  .showcase-caps{gap:18px}
}

/* master reduced-motion kill-switch for every decorative animation added above */
@media (prefers-reduced-motion:reduce){
  .hero-media img.kb,.hero-media img.kb-slow,.showcase-media img.kb,.showcase-media img.kb-slow,img.kb{animation:none!important;transform:none!important}
  .hero-sweep,.hero-sweep::before{animation:none!important;display:none!important}
  .band::after,.btn-gold::after,.emblem{animation:none!important}
  .card::before,.center .eyebrow.rv::after{transform:none!important;transition:none!important}
  .icard:hover .icard-media img,.icard:hover .icard-ic,.icard:hover .more{transform:none!important;letter-spacing:inherit!important}
  *{scroll-behavior:auto!important}
}

/* ---- private draft ribbon (/v2 comparison draft only) --------------------
   Static, NOT sticky: header.site is position:sticky;top:0, and stacking a
   second sticky bar above it makes the header stick under the ribbon and
   cover content. This scrolls away and leaves the header behaving exactly as
   it does on draft 1 — the drafts must differ in positioning, not in chrome. */
.draftbar{background:linear-gradient(90deg,#3a2a08,#1a1408);
  border-bottom:1px solid rgba(224,166,60,.45);color:#f6ecd8;
  font-family:"Archivo",sans-serif;font-size:15px;line-height:1.5}
.draftbar .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:11px 0}
.draftbar b{color:var(--gold);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:14px}
.draftbar span{opacity:.85;font-size:14px}
.draftbar a{margin-left:auto;color:#0d0b07;background:var(--gold);text-decoration:none;
  font-weight:800;font-size:14px;letter-spacing:.04em;padding:7px 15px;border-radius:999px;white-space:nowrap}
.draftbar a:hover,.draftbar a:focus-visible{filter:brightness(1.12)}
@media (max-width:720px){
  .draftbar .wrap{padding:10px 0}
  .draftbar a{margin-left:0}
}
