/* IPGuru.ai marketing site: shared design system, synced to the IPGuru Design System tokens */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&display=swap');
:root{
  --bg:#0f1226; --bg-2:#151833; --surface:#1b1e3c; --surface-2:#232748;
  --line:rgba(150,140,220,0.15); --line-2:rgba(150,140,220,0.28);
  --fg:#f1eefb; --fg-2:#c9c3e6; --muted:#968fbd; --faint:#6b6494;
  --accent:#7c3aed; --accent-br:#a78bfa; --accent-deep:#6a3fd0; --accent-soft:rgba(124,58,237,0.18);
  --grad:linear-gradient(120deg,#7c3aed,#c026d3,#ec4899,#f97316);
  --grad-soft:linear-gradient(120deg,rgba(124,58,237,0.16),rgba(236,72,153,0.14),rgba(249,115,22,0.12));
  --know:#22b8cf; --know-soft:rgba(34,184,207,0.13); --emerald:#2fbf8f; --amber:#e0a93f; --coral:#e0735c;
  --magenta:#c026d3; --pink:#ec4899; --warm:#f97316; --brand-gold:#d6a53a;
  --nova:#a78bfa; --vega:#fb8c3a; --cora:#34c3d6; --iris:#d8a63a; --kira:#f472b6; --steel:#94a3b8;
  --bronze:#c98a5e; --silver:#b6c2d1; --gold:#c9973b;
  --wordmark:"Montserrat",ui-sans-serif,system-ui,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",Consolas,monospace;
  --radius:16px; --radius-sm:11px; --maxw:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
.icon{font-family:'Material Symbols Rounded';font-weight:normal;font-style:normal;line-height:1;vertical-align:middle;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-br);margin:0 0 14px;}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-0.02em;line-height:1.08;}
h2.sec{font-size:clamp(28px,4vw,42px);}
p.lead{color:var(--fg-2);font-size:18px;max-width:62ch;}
.center{text-align:center;}
.center p.lead{margin-left:auto;margin-right:auto;}
section{padding:84px 0;position:relative;}
.sec-head{margin-bottom:44px;}
.disc{color:var(--faint);font-size:12px;max-width:72ch;margin-top:10px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:13px 22px;font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .12s,filter .12s,border-color .12s;}
.btn:hover{transform:translateY(-1px);}
.btn.primary{background:var(--grad);color:#fff;box-shadow:0 10px 30px rgba(124,58,237,0.35);}
.btn.primary:hover{filter:brightness(1.06);}
.btn.ghost{background:transparent;border-color:var(--line-2);color:var(--fg);}
.btn.ghost:hover{border-color:var(--accent-br);}
.btn.sm{padding:9px 15px;font-size:13.5px;border-radius:10px;}
.btn.on-grad{background:#fff;color:var(--accent-deep);}

/* header + footer chrome */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(15,18,38,0.72);border-bottom:1px solid var(--line);}
header.nav .bar{display:flex;align-items:center;gap:26px;height:66px;}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-0.02em;}
.brand img{height:34px;width:auto;display:block;}
.brand .wm{font-family:var(--wordmark);font-weight:800;letter-spacing:-1px;}
.brand .wm .gr{color:var(--accent-br);}
.brand .ai{color:var(--muted);font-weight:700;}
nav.links{display:flex;gap:24px;margin-left:14px;}
nav.links a{color:var(--fg-2);font-size:14.5px;font-weight:500;}
nav.links a:hover,nav.links a.on{color:var(--fg);}
header .spacer{flex:1;}
header .actions{display:flex;align-items:center;gap:12px;}
header .signin{color:var(--fg-2);font-size:14.5px;font-weight:600;}
.burger{display:none;background:none;border:none;color:var(--fg);font-size:26px;cursor:pointer;}
footer.site{border-top:1px solid var(--line);padding:56px 0 34px;background:var(--bg-2);}
footer.site .cols{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:26px;}
footer.site h4{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-weight:700;}
footer.site a{display:block;color:var(--fg-2);font-size:14px;padding:5px 0;}
footer.site a:hover{color:var(--fg);}
footer.site .about p{color:var(--muted);font-size:13.5px;max-width:34ch;margin:12px 0 16px;}
.country{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--fg-2);background:var(--surface);}
.powered{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:13px;}
.powered .pw{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:var(--surface);}
footer.site .base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:36px;padding-top:22px;color:var(--faint);font-size:12.5px;}

/* page hero (interior pages) */
.page-hero{padding:64px 0 20px;text-align:center;position:relative;}
.page-hero::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:760px;height:420px;background:radial-gradient(ellipse at center,rgba(124,58,237,0.22),transparent 68%);filter:blur(18px);z-index:0;}
.page-hero .wrap{position:relative;z-index:1;}
.page-hero h1{font-size:clamp(32px,5vw,52px);}

/* home hero */
.hero{padding:76px 0 68px;overflow:hidden;}
.hero::before{content:"";position:absolute;top:-160px;left:50%;transform:translateX(-50%);width:900px;height:520px;background:radial-gradient(ellipse at center,rgba(124,58,237,0.28),rgba(236,72,153,0.10) 45%,transparent 70%);filter:blur(20px);z-index:0;pointer-events:none;}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(36px,5.4vw,60px);}
.hero .pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:12.5px;color:var(--fg-2);margin-bottom:22px;}
.hero .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--emerald);}
.hero .cta{display:flex;gap:13px;flex-wrap:wrap;margin:28px 0 18px;}
.hero .trust{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;}
.hero .trust .icon{color:var(--emerald);font-size:18px;}
.glass{background:linear-gradient(160deg,rgba(36,39,72,0.9),rgba(21,24,51,0.9));border:1px solid var(--line-2);border-radius:20px;box-shadow:0 30px 70px rgba(0,0,0,0.45);padding:18px;}
.glass .gtop{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.glass .gtop .d{width:10px;height:10px;border-radius:50%;background:var(--line-2);}
.journeybar{display:flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:12px;}
.jp{flex:1;text-align:center;font-size:10.5px;color:var(--muted);}
.jp .dot{width:30px;height:30px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;border:2px solid var(--line-2);color:var(--muted);}
.jp .dot .icon{font-size:15px;}
.jp.done .dot{border-color:var(--emerald);color:var(--emerald);}
.jp.act .dot{border:none;background:var(--grad);color:#fff;box-shadow:0 0 0 4px var(--accent-soft);}
.jp .lk{font-size:9px;}
.glass .chatline{display:flex;gap:9px;margin-top:14px;align-items:flex-start;}
.glass .av{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#120e2c;}
.glass .bub{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--nova);border-radius:4px 12px 12px 12px;padding:9px 12px;font-size:12.5px;color:var(--fg-2);}
.glass .who{font-size:10.5px;font-weight:800;color:var(--nova);margin-bottom:2px;}
.glass .score{margin-top:12px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:12px;}
.glass .score .big{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--emerald);}
.glass .score .lab{font-size:11px;color:var(--muted);}

/* logo strip */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;background:var(--bg-2);}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.strip .lab{font-size:12px;color:var(--muted);font-family:var(--mono);letter-spacing:1px;}
.strip .marks{display:flex;gap:34px;flex-wrap:wrap;color:var(--faint);font-weight:800;font-size:17px;letter-spacing:-0.02em;}

/* generic cards + grids */
.grid{display:grid;gap:20px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
.g5{grid-template-columns:repeat(5,1fr);}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.card .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-br);margin-bottom:14px;}
.card .ic .icon{font-size:23px;}
.card h3{font-size:18px;margin-bottom:7px;}
.card p{color:var(--muted);font-size:14px;margin:0;}

/* problem stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.stat .n{font-family:var(--serif);font-size:44px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat .t{color:var(--fg-2);font-size:14px;margin-top:10px;}

/* FORGE */
.forge{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.phase{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative;}
.phase .ph-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--grad);margin-bottom:13px;}
.phase .ph-ic .icon{font-size:22px;}
.phase h3{font-size:17px;}
.phase p{font-size:13px;color:var(--muted);margin:6px 0 0;}
.phase .tag{position:absolute;top:16px;right:16px;font-size:10px;font-family:var(--mono);letter-spacing:0.5px;padding:3px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);}
.phase .tag.free{color:var(--emerald);border-color:rgba(52,211,153,0.4);}

/* crew */
.crew{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.agent{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;}
.agent .av{width:56px;height:56px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#120e2c;}
.agent h3{font-size:16px;}
.agent .role{font-size:12px;color:var(--muted);margin-top:3px;}
.patent-note{margin-top:20px;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:var(--radius);padding:18px 22px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.patent-note .icon{color:var(--steel);font-size:26px;}

/* worked example teaser */
.example{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px;}
.example .deliv{display:flex;flex-direction:column;gap:10px;}
.example .row{display:flex;align-items:center;gap:11px;background:var(--bg-2);border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-size:13.5px;}
.example .row .icon{color:var(--emerald);font-size:19px;}
.example .row .pv{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted);}

/* personas */
.persona{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.persona .icon{font-size:26px;color:var(--accent-br);}
.persona h3{font-size:15.5px;margin:12px 0 6px;}
.persona p{font-size:13px;color:var(--muted);margin:0;}

/* pricing cards (preview) */
.prices{display:grid;grid-template-columns:0.9fr repeat(3,1fr);gap:18px;align-items:stretch;}
.free-card{background:linear-gradient(160deg,var(--surface),var(--bg-2));border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;}
.free-card .big{font-family:var(--serif);font-size:40px;line-height:1;}
.price{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;position:relative;}
.price.reco{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.price .medal{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:13px;letter-spacing:0.5px;}
.price .medal .dot{width:12px;height:12px;border-radius:50%;}
.price .amt{font-family:var(--serif);font-size:38px;margin:12px 0 2px;}
.price .per{font-size:12px;color:var(--muted);}
.price ul{list-style:none;margin:16px 0 20px;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:var(--fg-2);flex:1;}
.price ul .icon{color:var(--emerald);font-size:17px;margin-right:8px;vertical-align:middle;}
.price .reco-tag{position:absolute;top:-11px;left:26px;background:var(--grad);color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;}

/* comparison table (pricing page) */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;}
table.cmp{width:100%;border-collapse:collapse;min-width:760px;font-size:14px;}
table.cmp th,table.cmp td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);}
table.cmp thead th{position:sticky;top:0;background:var(--surface-2);font-size:13px;}
table.cmp thead th.grade{text-align:center;}
table.cmp thead .amt{font-family:var(--serif);font-size:22px;font-weight:400;display:block;}
table.cmp thead .medal{display:inline-flex;align-items:center;gap:7px;justify-content:center;}
table.cmp thead .dot{width:11px;height:11px;border-radius:50%;display:inline-block;}
table.cmp td.feat{color:var(--fg-2);font-weight:500;}
table.cmp td.val{text-align:center;color:var(--fg-2);}
table.cmp td.val .icon{font-size:19px;}
table.cmp .yes{color:var(--emerald);}
table.cmp .no{color:var(--faint);}
table.cmp tr.grouprow td{background:var(--bg-2);font-family:var(--mono);font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
table.cmp tbody tr:hover td{background:rgba(124,58,237,0.05);}
table.cmp tr.reco-col td:nth-child(4){background:rgba(124,58,237,0.06);}

/* sample library */
.filterbar{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-bottom:34px;}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:7px 15px;font-size:13px;color:var(--fg-2);background:var(--surface);cursor:pointer;transition:.12s;}
.chip:hover{border-color:var(--accent-br);}
.chip.on{border-color:var(--accent);color:#fff;background:var(--accent-soft);}
.samples{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.sample{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .12s,border-color .12s;}
.sample:hover{transform:translateY(-3px);border-color:var(--line-2);}
.sample .top{height:150px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--grad);}
.sample .top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sample .top::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,38,0.05) 40%,rgba(15,18,38,0.5));}
.sample .top .icon{font-size:40px;color:#fff;opacity:0.92;position:relative;z-index:1;}
.sample .cat{position:absolute;top:12px;left:12px;z-index:2;font-size:10.5px;font-family:var(--mono);letter-spacing:0.5px;background:rgba(15,18,38,0.72);color:var(--fg);padding:3px 9px;border-radius:999px;}
.sample .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.sample h3{font-size:16.5px;}
.sample p{font-size:13px;color:var(--muted);margin:0;flex:1;}
.sample .go{font-size:12.5px;color:var(--accent-br);font-weight:600;display:inline-flex;align-items:center;gap:5px;margin-top:4px;}

/* agent profiles */
.profile{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;}
.profile .av{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;color:#120e2c;flex:none;}
.profile h3{font-size:22px;}
.profile .role{font-size:13px;color:var(--muted);margin-top:2px;}
.profile .bio{color:var(--fg-2);font-size:14.5px;margin:14px 0 0;}
.profile .skills{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.profile .skill{font-size:12px;border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;color:var(--fg-2);background:var(--bg-2);}
.profile .tier{font-size:11px;font-family:var(--mono);color:var(--muted);margin-top:14px;display:inline-flex;align-items:center;gap:6px;}

/* expert config controls */
.seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:11px;padding:3px;gap:2px;}
.seg button{border:none;background:transparent;color:var(--muted);font-family:var(--sans);font-size:13px;font-weight:600;padding:7px 15px;border-radius:9px;cursor:pointer;}
.seg button.on{background:var(--accent-soft);color:var(--accent-br);}
.cfg-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0;}
.cfg-row .lbl{font-size:13px;color:var(--muted);min-width:150px;}
.preset-chips{display:flex;gap:8px;flex-wrap:wrap;}

/* library preview */
.searchbar{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:12px 16px;max-width:520px;margin:0 auto 26px;color:var(--muted);}
.searchbar .icon{color:var(--accent-br);}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.cat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;gap:11px;font-size:14px;font-weight:600;}
.cat .icon{color:var(--accent-br);font-size:22px;}
.cat .n{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:400;}
.libcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.libcard .badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:var(--mono);color:var(--brand-gold);border:1px solid rgba(214,165,58,0.35);border-radius:999px;padding:3px 9px;margin-bottom:10px;}
.libcard h3{font-size:16px;}
.libcard p{font-size:13px;color:var(--muted);margin:8px 0 0;}

/* image gen gallery */
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.shot{border-radius:14px;border:1px solid var(--line);aspect-ratio:1;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:12px;}
.shot .lab{font-size:11px;font-family:var(--mono);color:#fff;background:rgba(15,18,38,0.6);padding:3px 8px;border-radius:6px;position:relative;z-index:1;}
.shot.s1{background:radial-gradient(circle at 30% 30%,#7c3aed,#151833);}
.shot.s2{background:radial-gradient(circle at 65% 35%,#22b8cf,#151833);}
.shot.s3{background:radial-gradient(circle at 40% 65%,#ec4899,#151833);}
.shot.s4{background:radial-gradient(circle at 60% 55%,#f97316,#151833);}
.shot.s5{background:radial-gradient(circle at 50% 40%,#d6a53a,#151833);}

/* knowledge + framegraph */
.frames{display:flex;gap:8px;flex-wrap:wrap;}
.frame-chip{border:1px solid var(--line-2);border-radius:10px;padding:8px 13px;font-size:13px;color:var(--fg-2);background:var(--surface);}
.frame-chip.on{border-color:var(--know);color:var(--know);background:var(--know-soft);}
.vizbar{display:inline-flex;gap:2px;background:var(--bg-2);border:1px solid var(--line);border-radius:11px;padding:3px;}
.vizbar button{border:none;background:transparent;color:var(--muted);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.vizbar button.on{background:var(--know-soft);color:var(--know);}
.ground{border-top:1px dashed var(--line-2);margin-top:12px;padding-top:10px;font-size:12.5px;}
.ground .src{display:inline-flex;align-items:center;gap:6px;color:var(--know);}

/* final cta */
.final{background:var(--grad);border-radius:26px;padding:56px;text-align:center;position:relative;overflow:hidden;}
.final h2{font-size:clamp(28px,4vw,40px);color:#fff;}
.final p{color:rgba(255,255,255,0.9);font-size:17px;max-width:52ch;margin:14px auto 26px;}
.final .fineprint{color:rgba(255,255,255,0.82);font-size:12.5px;margin-top:16px;}

/* faq + quotes */
.faq{max-width:820px;margin:0 auto;}
details{border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:12px;padding:2px 6px;}
details summary{cursor:pointer;list-style:none;padding:16px 14px;font-weight:700;font-size:15.5px;display:flex;align-items:center;justify-content:space-between;}
details summary::-webkit-details-marker{display:none;}
details summary .icon{color:var(--accent-br);transition:transform .2s;}
details[open] summary .icon{transform:rotate(45deg);}
details .a{padding:0 14px 16px;color:var(--muted);font-size:14.5px;}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.quote p{font-size:15px;color:var(--fg-2);margin:0 0 16px;}
.quote .by{display:flex;align-items:center;gap:11px;}
.quote .by .av{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-br);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;}
.quote .by .nm{font-size:13.5px;font-weight:700;}
.quote .by .mt{font-size:12px;color:var(--muted);}

/* responsive */
@media(max-width:960px){
  .hero .wrap{grid-template-columns:1fr;} .hero .glass{max-width:520px;}
  .g3,.g4,.g5,.forge,.crew,.samples,.gallery,.cat-grid{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:1fr;} .example{grid-template-columns:1fr;} .profile{grid-template-columns:1fr;}
  .prices{grid-template-columns:1fr 1fr;} footer.site .cols{grid-template-columns:1fr 1fr;}
  nav.links,header .signin{display:none;} .burger{display:block;}
}
@media(max-width:560px){
  .g3,.g4,.g5,.forge,.crew,.samples,.gallery,.cat-grid,.prices,footer.site .cols{grid-template-columns:1fr;}
  section{padding:60px 0;} .final{padding:38px 22px;}
}

/* image tiles (categories / domains) */
.tilegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.tilegrid.dom{grid-template-columns:repeat(5,1fr);}
.tile{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;display:block;}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.82;transition:.2s;}
.tile:hover img{opacity:1;transform:scale(1.05);}
.tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,38,0.1) 25%,rgba(15,18,38,0.86));}
.tile .cap{position:absolute;left:14px;bottom:11px;right:14px;z-index:1;}
.tile .cap h3{font-size:15.5px;color:#fff;letter-spacing:-0.01em;}
.tile .cap .n{font-family:var(--mono);font-size:10.5px;color:var(--fg-2);margin-top:2px;}
.tile.sm{aspect-ratio:1;} .tile.sm .cap h3{font-size:13px;}

/* expert profile detail */
.pd-hero{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;}
.pd-hero .badge-ic{width:88px;height:88px;border-radius:22px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;flex:none;}
.pd-hero .badge-ic .icon{font-size:44px;}
.pd-hero h1{font-size:clamp(24px,3.4vw,34px);}
.pd-hero .sub{color:var(--muted);font-size:14px;margin-top:6px;}
.pd-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.pd-badge{font-size:12px;border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;color:var(--fg-2);background:var(--bg-2);display:inline-flex;align-items:center;gap:6px;}
.pd-section{margin-top:22px;}
.pd-section h3{font-size:17px;margin-bottom:14px;display:flex;align-items:center;gap:9px;}
.pd-section h3 .icon{color:var(--accent-br);}
.pd-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.pd-list li{display:flex;gap:11px;font-size:14.5px;color:var(--fg-2);}
.pd-list li .icon{color:var(--emerald);font-size:19px;flex:none;margin-top:1px;}

/* jurisdiction comparison */
.jur-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.jur{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.jur.hi{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
.jur .flag{font-size:15px;font-family:var(--mono);color:var(--accent-br);letter-spacing:1px;}
.jur h3{font-size:17px;margin:8px 0 3px;}
.jur .code{font-family:var(--mono);font-size:11px;color:var(--muted);}
.jur ul{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:var(--fg-2);}
.jur ul li{display:flex;gap:9px;}
.jur ul .icon{font-size:16px;color:var(--know);flex:none;margin-top:1px;}
.callout{background:var(--surface-2);border:1px solid var(--line-2);border-left:3px solid var(--warm);border-radius:0 12px 12px 0;padding:16px 20px;color:var(--fg-2);font-size:14.5px;}

@media(max-width:960px){ .tilegrid,.tilegrid.dom{grid-template-columns:repeat(3,1fr);} .jur-grid{grid-template-columns:1fr;} .pd-hero{grid-template-columns:1fr;text-align:center;} .pd-hero .badge-ic{margin:0 auto;} .pd-badges{justify-content:center;} }
@media(max-width:560px){ .tilegrid,.tilegrid.dom{grid-template-columns:repeat(2,1fr);} }

/* FORGE methodology flow with gates */
.flow{max-width:900px;margin:0 auto;}
.pblock{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:16px;padding:26px;}
.pblock .phead{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.pblock .pic{width:50px;height:50px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;flex:none;}
.pblock .pic .icon{font-size:25px;}
.pblock .phead h3{font-size:21px;}
.pblock .phead .fw{font-size:11px;font-family:var(--mono);color:var(--muted);}
.pblock .lvl{margin-left:auto;font-size:11px;font-family:var(--mono);padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);}
.pblock .lvl.free{color:var(--emerald);border-color:rgba(52,211,153,0.4);}
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.pcols h4{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:700;}
.pcols ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:var(--fg-2);}
.pcols ul li{display:flex;gap:8px;}
.pcols ul .icon{font-size:16px;color:var(--accent-br);flex:none;margin-top:1px;}
.adots{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px;}
.adot{font-size:11.5px;border-radius:999px;padding:4px 11px;color:#120e2c;font-weight:700;display:inline-flex;align-items:center;gap:6px;}
.gate{display:flex;align-items:center;gap:14px;margin:12px auto;padding:14px 20px;max-width:900px;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:12px;}
.gate .g-ic{width:36px;height:36px;border-radius:50%;background:var(--amber);color:#241402;display:flex;align-items:center;justify-content:center;flex:none;}
.gate .g-ic .icon{font-size:19px;}
.gate .g-t{font-size:13.5px;color:var(--fg-2);}
.gate .g-t b{color:var(--fg);font-weight:700;}
.gate.upgrade{border-color:var(--accent);border-style:solid;background:var(--accent-soft);}
.gate.upgrade .g-ic{background:var(--grad);color:#fff;}
@media(max-width:640px){ .pcols{grid-template-columns:1fr;} }

/* audience expandable cards */
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.aud{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0;padding:0;}
.aud summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;gap:14px;}
.aud summary::-webkit-details-marker{display:none;}
.aud .aud-ic{width:46px;height:46px;border-radius:12px;background:var(--accent-soft);color:var(--accent-br);display:flex;align-items:center;justify-content:center;flex:none;}
.aud .aud-ic .icon{font-size:24px;}
.aud .aud-h{flex:1;min-width:0;}
.aud .aud-h h3{font-size:17px;}
.aud .aud-h p{font-size:13px;color:var(--muted);margin:3px 0 0;}
.aud summary .chev{color:var(--accent-br);transition:transform .2s;flex:none;}
.aud[open] summary .chev{transform:rotate(180deg);}
.aud-body{padding:0 22px 22px 82px;}
.aud-body p{font-size:14px;color:var(--fg-2);margin:0 0 14px;}
.aud-body ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:var(--fg-2);}
.aud-body ul li{display:flex;gap:9px;}
.aud-body ul .icon{color:var(--emerald);font-size:17px;flex:none;margin-top:1px;}
@media(max-width:760px){ .aud-grid{grid-template-columns:1fr;} .aud-body{padding-left:22px;} }
