/* ============================================================
   IDW Diamond — design system. Dark-gold "diamond vault".
   Mobile-first. Tokens below; components after.
   ============================================================ */
:root{
  --bg:#0a0a0a; --bg-2:#121212; --bg-3:#181613;
  --gold:#c9a24b; --gold-2:#d4af37; --gold-soft:rgba(201,162,75,.16);
  --text:#f5f5f0; --muted:#b9b4a8; --line:rgba(201,162,75,.25);
  --red:#e11d2e; --wa:#25d366;
  --serif:'Playfair Display',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  --radius:14px; --shadow:0 18px 50px rgba(0,0,0,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-2)}
em{font-style:italic}

/* layout */
.idw-container{max-width:1120px;margin:0 auto;padding:0 20px}
.idw-narrow{max-width:760px}
.idw-section{padding:64px 0;position:relative}
.idw-section-alt{background:linear-gradient(180deg,var(--bg-2),var(--bg))}
@media(min-width:768px){.idw-section{padding:96px 0}}

/* type */
.idw-eyebrow{display:inline-block;letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600;color:var(--gold);border:1px solid var(--line);padding:7px 14px;border-radius:999px;background:rgba(201,162,75,.07)}
.idw-h1{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,6vw,3.4rem);line-height:1.12;margin:18px 0 14px}
.idw-h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,4vw,2.3rem);line-height:1.2;margin-bottom:14px}
.idw-h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;margin-bottom:8px}
.idw-lead{font-size:clamp(1.02rem,2.5vw,1.2rem);color:var(--muted);max-width:640px}
.idw-muted{color:var(--muted)}
.idw-red{color:var(--red);font-style:italic;font-family:var(--serif);font-weight:700}
.idw-gold{color:var(--gold-2)}
.idw-center{text-align:center}
.idw-center .idw-lead{margin-left:auto;margin-right:auto}

/* gold divider ◆ */
.idw-divider{display:flex;align-items:center;gap:14px;margin:26px 0;color:var(--gold)}
.idw-divider:before,.idw-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.idw-divider span{font-size:11px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:16px;padding:15px 28px;border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,filter .18s;cursor:pointer;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,#e6c877,var(--gold) 45%,#a97e2f);color:#160f02;box-shadow:0 10px 28px rgba(201,162,75,.28)}
.btn-gold:hover{color:#160f02;filter:brightness(1.06)}
.btn-wa{background:var(--wa);color:#04250f}
.btn-wa:hover{color:#04250f;filter:brightness(1.05)}
.btn-outline{border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.02)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-2)}
.btn-sm{padding:10px 18px;font-size:14px;border-radius:10px}
.btn-xl{padding:18px 34px;font-size:17px}
.idw-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}

/* header */
.idw-header{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,162,75,.14)}
.idw-header-in{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.idw-logo img{height:40px;width:auto}

/* hero */
.idw-hero{position:relative;overflow:hidden;padding:70px 0 60px;background:
 radial-gradient(700px 380px at 85% -10%,rgba(201,162,75,.14),transparent 60%),
 radial-gradient(520px 300px at -10% 110%,rgba(201,162,75,.08),transparent 60%),var(--bg)}
.idw-hero-grid{display:grid;gap:38px;align-items:center}
@media(min-width:900px){.idw-hero{padding:96px 0}.idw-hero-grid{grid-template-columns:1.15fr .85fr}}
.idw-hero-img{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}
.idw-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;color:var(--muted);font-size:14px}
.idw-trust b{color:var(--gold-2);font-weight:600}

/* cards */
.idw-grid{display:grid;gap:18px}
.idw-grid-2{grid-template-columns:1fr}
.idw-grid-3{grid-template-columns:1fr}
.idw-grid-4{grid-template-columns:1fr 1fr}
@media(min-width:700px){.idw-grid-2{grid-template-columns:1fr 1fr}.idw-grid-3{grid-template-columns:repeat(3,1fr)}.idw-grid-4{grid-template-columns:repeat(4,1fr)}}
.idw-card{background:linear-gradient(180deg,var(--bg-2),#0d0d0d);border:1px solid rgba(201,162,75,.16);border-radius:var(--radius);padding:26px;transition:border-color .2s,transform .2s}
.idw-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.idw-card .ic{font-size:26px;margin-bottom:10px}
.idw-card h3{font-family:var(--serif);font-size:1.08rem;margin-bottom:6px;color:var(--text)}
.idw-card p{font-size:14.5px;color:var(--muted)}
a.idw-card{display:block}

/* pain checklist */
.idw-pains{list-style:none;margin:22px 0;display:grid;gap:12px}
.idw-pains li{background:var(--bg-2);border:1px solid rgba(201,162,75,.15);border-left:3px solid var(--gold);border-radius:10px;padding:15px 18px;font-style:italic;color:var(--text)}
.idw-pains li:before{content:"“";color:var(--gold);font-family:var(--serif);font-size:1.2em;margin-right:4px}
.idw-pains li:after{content:"”";color:var(--gold);font-family:var(--serif);font-size:1.2em;margin-left:4px}

/* story / quote blocks */
.idw-story{display:grid;gap:34px;align-items:center}
@media(min-width:900px){.idw-story{grid-template-columns:.9fr 1.1fr}}
.idw-story img{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}
.idw-quote{border-left:3px solid var(--gold);padding:6px 0 6px 20px;margin:22px 0;font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--gold-2)}
.idw-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}
@media(min-width:700px){.idw-stats{grid-template-columns:repeat(4,1fr)}}
.idw-stat{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:18px;text-align:center}
.idw-stat b{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--gold-2)}
.idw-stat span{font-size:13px;color:var(--muted)}

/* steps */
.idw-steps{counter-reset:s;display:grid;gap:14px;margin:24px 0}
.idw-steps li{list-style:none;position:relative;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:18px 18px 18px 64px}
.idw-steps li:before{counter-increment:s;content:counter(s);position:absolute;left:18px;top:16px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e6c877,#a97e2f);color:#160f02;font-weight:700}

/* event cards */
.idw-event{position:relative;overflow:hidden;background:linear-gradient(160deg,#171410,#0d0c0a);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.idw-event .tag{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:999px;margin-bottom:14px}
.idw-event .tag-free{background:rgba(37,211,102,.14);color:#7be3a4;border:1px solid rgba(37,211,102,.35)}
.idw-event .tag-paid{background:var(--gold-soft);color:var(--gold-2);border:1px solid var(--line)}
.idw-event h3{font-family:var(--serif);font-size:1.45rem;margin-bottom:10px}
.idw-event ul{list-style:none;margin:14px 0 20px;display:grid;gap:8px;color:var(--muted);font-size:15px}

/* speakers */
.idw-speaker{text-align:center;padding:20px 12px}
.idw-speaker .ph{width:88px;height:88px;margin:0 auto 12px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.5rem;color:var(--gold-2);background:radial-gradient(circle at 35% 30%,#232019,#0e0d0b)}
.idw-speaker b{display:block;font-size:15px}
.idw-speaker span{font-size:12.5px;color:var(--muted);display:block}
.idw-speaker i{font-size:11.5px;color:var(--gold);font-style:normal;letter-spacing:.06em}

/* testimonials */
.idw-testi{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px;font-size:15px}
.idw-testi p{font-style:italic;color:var(--muted)}
.idw-testi b{display:block;margin-top:14px;color:var(--gold-2)}
.idw-testi span{font-size:13px;color:var(--muted)}

/* FAQ accordion */
.idw-faq{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.idw-faq details{border-bottom:1px solid rgba(201,162,75,.14);background:var(--bg-2)}
.idw-faq details:last-child{border-bottom:0}
.idw-faq summary{list-style:none;cursor:pointer;padding:20px 54px 20px 22px;font-weight:600;position:relative;font-size:16px}
.idw-faq summary::-webkit-details-marker{display:none}
.idw-faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:22px;transition:transform .2s}
.idw-faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.idw-faq .a{padding:0 22px 22px;color:var(--muted);font-size:15.5px}

/* CTA band */
.idw-band{position:relative;overflow:hidden;text-align:center;background:
 radial-gradient(600px 300px at 50% -40%,rgba(201,162,75,.2),transparent 65%),linear-gradient(180deg,#14110c,#0b0a08);
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px 20px}
.idw-band .idw-h2{max-width:720px;margin:0 auto 10px}
.idw-band .idw-lead{margin:0 auto}
.idw-band .idw-cta-row{justify-content:center}

/* footer */
.idw-footer{background:#070707;border-top:1px solid rgba(201,162,75,.14);padding:56px 0 0;font-size:14.5px}
.idw-footer-grid{display:grid;gap:34px;padding-bottom:38px}
@media(min-width:768px){.idw-footer-grid{grid-template-columns:1.2fr 1fr 1fr}}
.idw-footer h4{font-family:var(--serif);color:var(--gold-2);margin-bottom:12px;font-size:1.02rem}
.idw-footer-links{list-style:none;display:grid;gap:9px}
.idw-footer-links a{color:var(--muted)}
.idw-footer-links a:hover{color:var(--gold-2)}
.idw-footer-tag{margin:12px 0 6px;color:var(--muted);max-width:300px}
.idw-footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:18px 0;color:#7d786d;font-size:13px}

/* floating WA */
.idw-wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.5);transition:transform .15s}
.idw-wa-float:hover{transform:scale(1.08);color:#fff}

/* ---------- LINK HUB ---------- */
.linkhub-body{background:
 radial-gradient(560px 320px at 50% -8%,rgba(201,162,75,.16),transparent 62%),var(--bg);min-height:100vh}
.linkhub{max-width:520px;margin:0 auto;padding:44px 20px 90px;text-align:center}
.linkhub .logo{height:56px;width:auto;margin:0 auto 16px}
.linkhub h1{font-family:var(--serif);font-size:1.5rem;margin-bottom:6px}
.linkhub .tag{color:var(--muted);font-size:14.5px;margin-bottom:26px}
.linkhub-banner{display:block;background:linear-gradient(135deg,rgba(201,162,75,.16),rgba(201,162,75,.05));border:1px solid var(--gold);border-radius:var(--radius);padding:16px 18px;margin-bottom:24px;color:var(--text)}
.linkhub-banner b{color:var(--gold-2)}
.linkhub-banner small{display:block;color:var(--muted);margin-top:3px}
.linkhub-list{display:grid;gap:14px;text-align:left}
.linkhub-item{display:flex;align-items:center;gap:14px;padding:17px 20px;border-radius:14px;font-weight:600;font-size:15.5px;transition:transform .15s,border-color .2s}
.linkhub-item:hover{transform:translateY(-2px)}
.linkhub-item .ic{font-size:22px;flex:none}
.linkhub-item small{display:block;font-weight:400;font-size:12.5px;opacity:.8}
.lh-gold{background:linear-gradient(135deg,#e6c877,var(--gold) 45%,#a97e2f);color:#160f02}
.lh-gold:hover{color:#160f02}
.lh-wa{background:var(--wa);color:#04250f}
.lh-wa:hover{color:#04250f}
.lh-outline{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text)}
.lh-outline:hover{border-color:var(--gold);color:var(--gold-2)}
.linkhub-foot{margin-top:34px;color:#7d786d;font-size:12.5px}

/* reveal animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.idw-card,.linkhub-item,.idw-wa-float{transition:none}
}

/* prose fallback */
.idw-prose p{margin:0 0 16px;color:var(--muted)}
