/* invent.sg marketing site: Night Launch design system.
   The Singapore franchise of IPGuru.ai. Shares the IPGuru component grammar
   (same class vocabulary as ipguru.ai site.css) with its own tokens:
   deep night-blue substrate from the hero banner, Merlion red primary,
   launch gradient (red, orange, gold), steel ring motif from the logo. */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');
:root{
  /* substrate: the night sky behind Marina Bay */
  --bg:#081428; --bg-2:#0c1b36; --surface:#112344; --surface-2:#173055;
  --line:rgba(125,165,220,0.16); --line-2:rgba(125,165,220,0.30);
  --fg:#eff5fd; --fg-2:#c7d6ec; --muted:#8ba3c7; --faint:#5e7397;
  /* Merlion red: the lion in the logo, the primary interactive accent */
  --accent:#e03e34; --accent-br:#ff6f61; --accent-deep:#b32c24; --accent-soft:rgba(224,62,52,0.16);
  /* the launch gradient: the signature brand device (rocket flame) */
  --grad:linear-gradient(120deg,#e03e34,#f97316,#fbbf24);
  --grad-soft:linear-gradient(120deg,rgba(224,62,52,0.16),rgba(249,115,22,0.13),rgba(251,191,36,0.10));
  /* flame accents drawn from the exhaust */
  --flame:#f97316; --flame-gold:#fbbf24;
  /* steel ring: the circle around the Merlion rocket */
  --ring:#6e8dad;
  /* shared semantics, unchanged from the IPGuru app */
  --know:#22b8cf; --know-soft:rgba(34,184,207,0.13); --emerald:#2fbf8f; --amber:#e0a93f; --coral:#e0735c;
  /* crew and specialists: identical to the app, the crew is the crew everywhere */
  --nova:#a78bfa; --vega:#fb8c3a; --cora:#34c3d6; --iris:#d8a63a; --kira:#f472b6; --sean:#c026d3; --steel:#94a3b8;
  --bronze:#c98a5e; --silver:#b6c2d1; --gold:#c9973b;
  /* type: Space Grotesk gives invent.sg its own display voice */
  --wordmark:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --display:"Space Grotesk",ui-sans-serif,system-ui,sans-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-family:var(--display);font-weight:700;letter-spacing:-0.025em;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(224,62,52,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 chrome */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(8,20,40,0.74);border-bottom:1px solid var(--line);}
header.nav .bar{display:flex;align-items:center;gap:18px;height:68px;flex-wrap:nowrap;white-space:nowrap;}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:21px;letter-spacing:-0.02em;}
.brand img{height:40px;width:auto;display:block;}
.brand .wm{font-family:var(--wordmark);font-weight:700;letter-spacing:-0.5px;}
.brand .wm .sg{color:var(--accent-br);}
nav.links{display:flex;gap:16px;margin-left:6px;}
nav.links a{color:var(--fg-2);font-size:14px;font-weight:500;}
nav.links a:hover,nav.links a.on{color:var(--fg);}
nav.links a.on{color:var(--accent-br);}
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;}
/* the proud lockup: powered by IPGuru.ai */
.powered-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;padding:6px 14px 6px 8px;background:var(--surface);font-size:12.5px;color:var(--fg-2);font-weight:600;transition:border-color .12s;}
.powered-chip:hover{border-color:var(--accent-br);}
.powered-chip img{height:22px;width:auto;display:block;}
/* the IPGuru.ai wordmark: Guru is always lavender, never orange, never gradient */
.pwm{font-family:var(--wordmark);font-weight:700;color:var(--fg);}
.pwm .gr{color:#a78bfa;}
@media(max-width:1200px){header.nav .powered-chip span:not(.pwm){display:none;}}

/* footer */
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:36ch;margin:12px 0 16px;}
.powered{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;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);}
.powered .pw img{height:18px;width:auto;}
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): red glow instead of violet */
.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(224,62,52,0.20),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: the night launch. Full-bleed banner photograph kept vivid:
   the rocket (left) and the skyline (right) stay clear; the copy sits in
   the open sky between them over a soft centre vignette. */
.hero{padding:0;overflow:hidden;position:relative;min-height:640px;display:flex;align-items:center;}
.hero .bg{position:absolute;inset:0;z-index:0;}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;}
.hero .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(6,14,30,0.46),transparent 63%),linear-gradient(180deg,rgba(8,20,40,0.36),rgba(8,20,40,0.05) 40%,rgba(8,20,40,0.14) 66%,rgba(8,20,40,0.94) 100%);}
.hero .wrap{position:relative;z-index:1;padding-top:88px;padding-bottom:100px;max-width:var(--maxw);width:100%;}
.hero .inner{max-width:730px;margin:0 auto;text-align:center;}
.hero .inner p.lead{margin-left:auto;margin-right:auto;}
.hero h1{font-size:clamp(38px,5.6vw,62px);text-shadow:0 2px 30px rgba(4,10,22,0.55);}
.hero .pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-2);background:rgba(12,27,54,0.82);border-radius:999px;padding:7px 15px 7px 9px;font-size:12.5px;color:var(--fg-2);margin-bottom:22px;backdrop-filter:blur(6px);}
.hero .pill img{height:20px;width:auto;}
.hero .pill b{color:var(--fg);}
.hero p.lead{text-shadow:0 1px 18px rgba(4,10,22,0.65);}
.hero .cta{display:flex;gap:13px;flex-wrap:wrap;margin:28px 0 18px;justify-content:center;}
.hero .trust{font-size:13px;color:var(--fg-2);display:flex;align-items:center;gap:8px;justify-content:center;text-shadow:0 1px 12px rgba(4,10,22,0.8);}
.hero .trust .icon{color:var(--emerald);font-size:18px;}

/* ring device: the steel circle from the logo, used as a section marker */
.ringed{position:relative;width:46px;height:46px;border-radius:50%;border:2.5px solid var(--ring);display:flex;align-items:center;justify-content:center;color:var(--accent-br);}
.ringed .icon{font-size:23px;}

/* 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);}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.card .ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--ring);color:var(--accent-br);background:transparent;margin-bottom:14px;}
.card .ic .icon{font-size:22px;}
.card h3{font-size:18px;margin-bottom:7px;}
.card p{color:var(--muted);font-size:14px;margin:0;}

/* 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(--display);font-weight:700;font-size:42px;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 phases */
.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:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--grad);margin-bottom:13px;}
.phase .ph-ic .icon{font-size:21px;}
.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(3,1fr);gap:16px;}
.agent{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;}
.agent .sig{width:60px;height:60px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:2px solid var(--ring);}
.agent .sig svg{width:34px;height:34px;}
.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;}

/* destination chips */
.dests{display:flex;gap:10px;flex-wrap:wrap;}
.dest{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;padding:8px 16px;font-size:13.5px;color:var(--fg-2);background:var(--surface);}
.dest .icon{font-size:17px;color:var(--flame-gold);}

/* 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 */
.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(--display);font-weight:700;font-size:38px;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(--display);font-weight:700;font-size:36px;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 */
.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(--display);font-weight:700;font-size:20px;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(224,62,52,0.05);}

/* samples / examples */
.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:170px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-2);}
.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(8,20,40,0.05) 40%,rgba(8,20,40,0.55));}
.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(8,20,40,0.74);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 .meta{display:flex;gap:7px;flex-wrap:wrap;}
.sample .meta span{font-size:11px;font-family:var(--mono);border:1px solid var(--line-2);border-radius:999px;padding:3px 9px;color:var(--muted);}
.sample .meta span.dest{color:var(--flame-gold);border-color:rgba(251,191,36,0.35);background:transparent;}
.sample .go{font-size:12.5px;color:var(--accent-br);font-weight:600;display:inline-flex;align-items:center;gap:5px;margin-top:4px;}

/* IPOS route steps */
.route{display:flex;flex-direction:column;gap:0;max-width:860px;margin:0 auto;}
.rstep{display:grid;grid-template-columns:56px 1fr;gap:20px;position:relative;padding-bottom:30px;}
.rstep::before{content:"";position:absolute;left:27px;top:56px;bottom:4px;width:2px;background:var(--line-2);}
.rstep:last-child::before{display:none;}
.rstep .rdot{width:56px;height:56px;border-radius:50%;border:2.5px solid var(--ring);background:var(--bg-2);display:flex;align-items:center;justify-content:center;color:var(--accent-br);z-index:1;}
.rstep .rdot .icon{font-size:26px;}
.rstep .rbody{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;}
.rstep h3{font-size:17px;}
.rstep p{font-size:14px;color:var(--fg-2);margin:7px 0 0;}
.rstep .rtag{font-size:10.5px;font-family:var(--mono);letter-spacing:0.5px;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:3px 9px;margin-left:10px;vertical-align:2px;}
.callout{background:var(--surface-2);border:1px solid var(--line-2);border-left:3px solid var(--flame);border-radius:0 12px 12px 0;padding:16px 20px;color:var(--fg-2);font-size:14.5px;}

/* co-brand band: be proud of the association */
.cobrand{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:34px;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;}
.cobrand .marks{display:flex;align-items:center;gap:18px;}
.cobrand .marks img{height:56px;width:auto;}
.cobrand .marks .x{color:var(--faint);font-size:20px;font-family:var(--mono);}
.cobrand h3{font-size:20px;}
.cobrand p{color:var(--muted);font-size:14px;margin:6px 0 0;max-width:60ch;}

/* FORGE methodology flow with gates (how-it-works) */
.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:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;flex:none;}
.pblock .pic .icon{font-size:24px;}
.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;}
.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;}

/* faq + quotes */
.faq{max-width:820px;margin:0 auto;}
details.qa{border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:12px;padding:2px 6px;}
details.qa 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.qa summary::-webkit-details-marker{display:none;}
details.qa summary .icon{color:var(--accent-br);transition:transform .2s;}
details.qa[open] summary .icon{transform:rotate(45deg);}
details.qa .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);}

/* 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.92);font-size:17px;max-width:52ch;margin:14px auto 26px;}
.final .fineprint{color:rgba(255,255,255,0.85);font-size:12.5px;margin-top:16px;}

/* membership: the Studio and the member badge.
   Membership is a site-level space you JOIN (gold badge treatment);
   project tiers are project-level unlocks you buy where you meet them. */
.member-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--flame-gold);border:1px solid rgba(251,191,36,0.42);border-radius:999px;padding:4px 12px;background:rgba(251,191,36,0.08);}
.member-badge .icon{font-size:15px;}
.price.member{border-color:rgba(251,191,36,0.5);box-shadow:0 0 0 3px rgba(251,191,36,0.12);}
.price.member .member-ribbon{position:absolute;top:-11px;left:26px;background:linear-gradient(120deg,var(--flame),var(--flame-gold));color:#241402;font-size:11px;font-weight:800;padding:3px 12px;border-radius:999px;}
.studio-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.studio-shot{border-radius:14px;border:1px solid var(--line);aspect-ratio:1;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:12px;}
.studio-shot .lab{font-size:11px;font-family:var(--mono);color:#fff;background:rgba(8,20,40,0.62);padding:3px 8px;border-radius:6px;position:relative;z-index:1;}
.studio-shot .icon{position:absolute;top:12px;right:12px;color:rgba(255,255,255,0.85);font-size:22px;}
.studio-shot.s1{background:radial-gradient(circle at 30% 30%,#e03e34,#0c1b36);}
.studio-shot.s2{background:radial-gradient(circle at 65% 35%,#f97316,#0c1b36);}
.studio-shot.s3{background:radial-gradient(circle at 40% 65%,#fbbf24,#0c1b36);}
.studio-shot.s4{background:radial-gradient(circle at 60% 55%,#22b8cf,#0c1b36);}
.studio-shot.s5{background:radial-gradient(circle at 50% 40%,#6e8dad,#0c1b36);}
@media(max-width:960px){.studio-strip{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.studio-strip{grid-template-columns:repeat(2,1fr);}}

/* external link marker for ipguru.ai hand-offs */
a.ext .icon.extm{font-size:14px;color:var(--muted);margin-left:3px;vertical-align:1px;}

/* legal / policy documents */
.legal-doc{max-width:820px;margin:0 auto;}
.legal-doc .meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin:0 0 26px;}
.legal-doc h2{font-family:var(--display);font-size:22px;margin:34px 0 10px;letter-spacing:-0.02em;}
.legal-doc h3{font-size:16.5px;margin:22px 0 8px;color:var(--fg);}
.legal-doc h4{font-size:14px;margin:16px 0 6px;color:var(--fg-2);}
.legal-doc p{color:var(--fg-2);font-size:15px;margin:0 0 13px;}
.legal-doc ul,.legal-doc ol{color:var(--fg-2);font-size:15px;margin:0 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:7px;}
.legal-doc li{padding-left:2px;}
.legal-doc a{color:var(--accent-br);}
.legal-doc strong{color:var(--fg);}
.legal-table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.legal-table th,.legal-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);}
.legal-table thead th{background:var(--surface-2);font-size:12.5px;}
.legal-table td{color:var(--fg-2);}
.legal-related{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);}
.legal-related h4{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
.legal-related a{display:inline-block;color:var(--accent-br);font-size:14px;margin:0 18px 8px 0;}

/* cookie consent banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--surface);border-top:1px solid var(--line-2);box-shadow:0 -12px 40px rgba(0,0,0,0.45);transform:translateY(115%);transition:transform .35s ease;}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner .cb-in{max-width:var(--maxw);margin:0 auto;padding:16px 26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.cookie-banner p{margin:0;font-size:13.5px;color:var(--fg-2);flex:1;min-width:240px;}
.cookie-banner a{color:var(--accent-br);}
.cookie-banner .cb-btns{display:flex;gap:10px;flex-wrap:wrap;}
@media(max-width:560px){.cookie-banner .cb-in{padding:14px 18px;}.cookie-banner .cb-btns{width:100%;}.cookie-banner .cb-btns .btn{flex:1;justify-content:center;}}

/* responsive */
@media(max-width:960px){
  .g3,.g4,.forge,.samples{grid-template-columns:repeat(2,1fr);}
  .crew{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:1fr;}
  .prices{grid-template-columns:1fr 1fr;}
  footer.site .cols{grid-template-columns:1fr 1fr;}
  nav.links,header .signin,header .powered-chip{display:none;}
  .burger{display:block;}
  .cobrand{grid-template-columns:1fr;text-align:center;}
  .cobrand .marks{justify-content:center;}
  .pcols{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .g2,.g3,.g4,.forge,.crew,.samples,.prices,footer.site .cols{grid-template-columns:1fr;}
  section{padding:60px 0;} .final{padding:38px 22px;}
  .hero{min-height:480px;}
  .rstep{grid-template-columns:44px 1fr;gap:14px;}
  .rstep .rdot{width:44px;height:44px;}
  .rstep::before{left:21px;}
}
