:root {
    --bg:#0b1220; --bg2:#0a101e; --panel:#111a2e; --panel2:#15203a; --edge:#233150;
    --text:#e8eef9; --mist:#8da2c0; --mist2:#6b7d9c;
    --brand:#4d82ff; --brand2:#6fa0ff; --brandglow:rgba(77,130,255,.35);
    --verified:#10b981; --trusted:#60a5fa; --suspicious:#f59e0b; --restricted:#f43f5e;
    --trusted-privacy:#22d3ee; --monitor:#60a5fa; --hold:#f59e0b; --block:#b91c1c;
    --shadow:0 24px 60px -24px rgba(0,0,0,.7);
    --card-grad:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,0));
  }
  [data-theme="light"] {
    --bg:#eaf0f9; --bg2:#dfe8f6; --panel:#ffffff; --panel2:#f4f7fc; --edge:#d6e0f0;
    --text:#0d1a30; --mist:#54658a; --mist2:#7b89a6;
    --brand:#1f51d6; --brand2:#2a5fe6; --brandglow:rgba(31,81,214,.18);
    --shadow:0 24px 50px -28px rgba(20,40,90,.30);
    --card-grad:linear-gradient(165deg,rgba(31,81,214,.04),rgba(31,81,214,0));
  }
  * { box-sizing:border-box; margin:0; padding:0; }
  html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
  body {
    background:var(--bg); color:var(--text);
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    line-height:1.6; overflow-x:hidden;
    transition:background .4s ease,color .4s ease;
  }
  h1,h2,h3,.display { font-family:"Space Grotesk","Inter",sans-serif; letter-spacing:-.02em; line-height:1.08; }
  a { color:inherit; text-decoration:none; }
  .wrap { width:min(1180px,92vw); margin:0 auto; }
  section { padding:clamp(56px,9vw,120px) 0; position:relative; }
  .eyebrow { font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--brand2); margin-bottom:18px; }
  .lead { color:var(--mist); font-size:clamp(16px,2.1vw,19px); max-width:60ch; }

  /* ---------- nav ---------- */
  nav {
    position:sticky; top:0; z-index:50;
    backdrop-filter:saturate(140%) blur(14px);
    background:color-mix(in srgb,var(--bg) 78%,transparent);
    border-bottom:1px solid var(--edge);
  }
  .nav-in { display:flex; align-items:center; gap:18px; height:66px; }
  .brand { display:flex; align-items:center; gap:11px; font-weight:700; font-size:17px; font-family:"Space Grotesk",sans-serif; }
  .brand img { width:30px; height:30px; object-fit:contain; }
  .brand small { color:var(--mist); font-weight:500; font-size:12.5px; }
  .nav-links { margin-left:auto; display:flex; align-items:center; gap:26px; }
  .nav-links a.navlink { font-size:14.5px; color:var(--mist); font-weight:500; transition:color .2s; }
  .nav-links a.navlink:hover { color:var(--text); }
  .iconbtn { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; border:1px solid var(--edge); background:var(--panel); color:var(--text); cursor:pointer; transition:.2s; }
  .iconbtn:hover { border-color:var(--brand); }
  .btn { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; border-radius:12px; padding:11px 18px; cursor:pointer; border:1px solid transparent; transition:.2s; white-space:nowrap; }
  .btn-primary { background:linear-gradient(180deg,var(--brand2),var(--brand)); color:#fff; box-shadow:0 8px 24px -8px var(--brandglow); }
  .btn-primary:hover { transform:translateY(-1px); box-shadow:0 14px 30px -10px var(--brandglow); }
  .btn-ghost { border-color:var(--edge); color:var(--text); background:var(--panel); }
  .btn-ghost:hover { border-color:var(--brand); }
  .menu-toggle { display:none; }

  /* ---------- hero ---------- */
  .hero { padding-top:clamp(48px,7vw,90px); overflow:hidden; }
  .hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:54px; align-items:center; }
  .hero-bg { position:absolute; inset:0; z-index:-1; overflow:hidden; }
  .hero-bg::before { content:""; position:absolute; width:680px; height:680px; right:-160px; top:-200px; border-radius:50%;
    background:radial-gradient(circle,var(--brandglow),transparent 62%); filter:blur(20px); }
  .badges { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
  .pill { display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; padding:6px 13px; border-radius:999px; border:1px solid var(--edge); background:var(--panel); color:var(--mist); }
  .pill .dot { width:7px; height:7px; border-radius:50%; background:var(--verified); box-shadow:0 0 0 3px color-mix(in srgb,var(--verified) 25%,transparent); }
  h1.hero-title { font-size:clamp(38px,6vw,67px); font-weight:700; }
  h1.hero-title .blue { color:var(--brand2); }
  h1.hero-title .grn { color:var(--verified); }
  .hero p.lead { margin:26px 0 32px; }
  .hero-cta { display:flex; flex-wrap:wrap; gap:13px; }
  .hero-note { margin-top:20px; font-size:13px; color:var(--mist2); }

  /* hero device card */
  .glass { background:var(--panel); background-image:var(--card-grad); border:1px solid var(--edge); border-radius:22px; box-shadow:var(--shadow); }
  .hero-card { padding:24px; position:relative; }
  .hero-card .row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .modechip { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:13px; padding:7px 13px; border-radius:999px; }
  .modechip.school { background:color-mix(in srgb,var(--verified) 16%,transparent); color:var(--verified); border:1px solid color-mix(in srgb,var(--verified) 40%,transparent); }
  .hero-card .apps { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:20px 0 4px; }
  .appicon { aspect-ratio:1; border-radius:14px; display:grid; place-items:center; font-size:38px; border:1px solid var(--edge); background:var(--panel2); position:relative; }
  .appicon.locked { opacity:.45; }
  .appicon.locked::after { content:"🔒"; position:absolute; bottom:4px; right:5px; font-size:11px; }
  .hero-card .cap { font-size:12px; color:var(--mist); margin-top:14px; display:flex; gap:7px; align-items:center; }

  /* ---------- generic cards ---------- */
  .grid { display:grid; gap:20px; }
  .g3 { grid-template-columns:repeat(3,1fr); }
  .g2 { grid-template-columns:repeat(2,1fr); }
  .card { padding:26px; border-radius:18px; }
  .card.glass { transition:transform .25s, border-color .25s; }
  .card.lift:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--brand) 50%,var(--edge)); }
  .card h3 { font-size:19px; margin-bottom:10px; }
  .card p { color:var(--mist); font-size:15px; }
  .num { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; font-family:"Space Grotesk"; font-weight:700; font-size:18px; color:#fff; background:linear-gradient(180deg,var(--brand2),var(--brand)); margin-bottom:16px; }
  .sec-head { max-width:64ch; margin-bottom:40px; }
  .sec-head h2 { font-size:clamp(28px,4vw,42px); font-weight:700; }
  .sec-head p { margin-top:16px; }

  /* ---------- problem strip ---------- */
  .trades { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px; }
  .trade { padding:22px; border-radius:16px; border:1px solid var(--edge); background:var(--panel); }
  .trade .x { color:var(--restricted); font-weight:700; font-size:13px; letter-spacing:.04em; }
  .trade h4 { font-size:16px; margin:8px 0 6px; font-family:"Space Grotesk"; }
  .trade p { font-size:13.5px; color:var(--mist); }

  /* ---------- PLAYGROUND ---------- */
  #playground { background:var(--bg2); border-top:1px solid var(--edge); border-bottom:1px solid var(--edge); }
  .pg-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:26px; align-items:start; }
  .pg-controls { padding:24px; }
  .ctl { margin-bottom:20px; }
  .ctl:last-child { margin-bottom:0; }
  .ctl > label { display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:600; color:var(--text); margin-bottom:9px; }
  .ctl .hint { color:var(--mist2); font-weight:400; font-size:12px; }
  .seg { display:flex; flex-wrap:wrap; gap:6px; }
  .seg button { flex:1 1 auto; min-width:fit-content; padding:9px 11px; font-size:12.5px; font-weight:600; border-radius:10px; border:1px solid var(--edge); background:var(--panel); color:var(--mist); cursor:pointer; transition:.15s; }
  .seg button:hover { color:var(--text); }
  .seg button[aria-pressed="true"] { background:color-mix(in srgb,var(--brand) 18%,transparent); border-color:var(--brand); color:var(--brand2); }
  .toggles { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .tog { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 13px; border-radius:11px; border:1px solid var(--edge); background:var(--panel); cursor:pointer; font-size:13px; font-weight:500; user-select:none; }
  .tog[aria-pressed="true"] { border-color:var(--brand); background:color-mix(in srgb,var(--brand) 12%,transparent); }
  .switch { width:34px; height:20px; border-radius:999px; background:var(--edge); position:relative; transition:.2s; flex-shrink:0; }
  .tog[aria-pressed="true"] .switch { background:var(--brand); }
  .switch::after { content:""; position:absolute; width:14px; height:14px; border-radius:50%; background:#fff; top:3px; left:3px; transition:.2s; }
  .tog[aria-pressed="true"] .switch::after { left:17px; }
  input[type=range] { width:100%; accent-color:var(--brand); }
  .scenarios { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
  .scenarios button { font-size:12.5px; font-weight:600; padding:8px 13px; border-radius:999px; border:1px dashed var(--edge); background:transparent; color:var(--mist); cursor:pointer; transition:.15s; }
  .scenarios button:hover { border-color:var(--brand); color:var(--brand2); border-style:solid; }

  /* engine mode switch + hide helper */
  .pg-hide { display:none !important; }
  .pg-modebar { display:flex; align-items:center; gap:14px; margin-bottom:22px; flex-wrap:wrap; }
  .pg-modelabel { font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--mist2); }
  .pg-modes { flex:0 1 auto; background:var(--panel); border:1px solid var(--edge); border-radius:12px; padding:4px; gap:4px; }
  .pg-modes button { padding:10px 18px; font-size:13px; }

  /* result panel */
  .pg-result { padding:26px; position:sticky; top:84px; }
  .gauge-wrap { display:flex; align-items:center; gap:22px; }
  .gauge { position:relative; width:132px; height:132px; flex-shrink:0; }
  .gauge svg { transform:rotate(-90deg); }
  .gauge .scoretxt { position:absolute; inset:0; display:grid; place-items:center; flex-direction:column; }
  .gauge .scoreval { font-family:"Space Grotesk"; font-weight:700; font-size:40px; line-height:1; }
  .gauge .scoremax { font-size:12px; color:var(--mist2); margin-top:3px; }
  .res-meta { flex:1; min-width:0; }
  .band { font-family:"Space Grotesk"; font-weight:700; font-size:24px; }
  .action-chip { display:inline-flex; align-items:center; gap:7px; margin-top:10px; padding:7px 13px; border-radius:999px; font-size:13px; font-weight:600; border:1px solid var(--edge); }
  .res-sub { font-size:13px; color:var(--mist); margin-top:12px; }
  .signals { margin-top:22px; border-top:1px solid var(--edge); padding-top:18px; }
  .signals h4 { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--mist2); margin-bottom:12px; font-family:"Inter"; font-weight:700; }
  .sigrow { display:flex; align-items:center; gap:11px; padding:9px 0; border-top:1px solid var(--edge); font-size:13.5px; }
  .sigrow:first-of-type { border-top:0; }
  .siglayer { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--mist2); width:78px; flex-shrink:0; }
  .siglabel { flex:1; color:var(--text); }
  .sigimpact { font-family:"Space Grotesk"; font-weight:700; font-size:14px; flex-shrink:0; }
  .imp-neg { color:var(--restricted); }
  .imp-zero { color:var(--verified); }
  .imp-pos { color:var(--verified); }
  .imp-mid { color:var(--suspicious); }
  .live-tag { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:600; color:var(--mist2); }
  .live-tag .dot { width:7px; height:7px; border-radius:50%; background:var(--verified); animation:pulse 1.8s infinite; }
  @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.35} }

  /* ---------- privacy ---------- */
  .priv-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .collects, .never { padding:24px; border-radius:16px; border:1px solid var(--edge); }
  .collects { background:color-mix(in srgb,var(--verified) 8%,var(--panel)); }
  .never { background:color-mix(in srgb,var(--restricted) 7%,var(--panel)); }
  .collects h4,.never h4 { font-size:14px; font-family:"Space Grotesk"; margin-bottom:14px; display:flex; gap:8px; align-items:center; }
  .collects ul,.never ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
  .collects li,.never li { font-size:14px; display:flex; gap:9px; align-items:flex-start; color:var(--mist); }
  .collects li b,.never li b { color:var(--text); font-weight:500; }
  .tick { color:var(--verified); flex-shrink:0; }
  .cross { color:var(--restricted); flex-shrink:0; }

  /* ---------- explore ---------- */
  .explore-card { padding:24px; border-radius:18px; display:flex; flex-direction:column; gap:6px; }
  .explore-card .ico { font-size:26px; }
  .explore-card h3 { font-size:17px; margin-top:8px; }
  .explore-card p { font-size:13.5px; color:var(--mist); flex:1; }
  .explore-card .go { font-size:13px; font-weight:600; color:var(--brand2); margin-top:10px; display:inline-flex; gap:6px; align-items:center; }
  .creds { font-size:12px; color:var(--mist2); margin-top:6px; font-family:ui-monospace,monospace; }

  /* ---------- team ---------- */
  .team-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .person { padding:24px; border-radius:16px; }
  .person .who { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
  .avatar { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; font-family:"Space Grotesk"; font-weight:700; font-size:20px; color:#fff; }
  .person h4 { font-size:17px; font-family:"Space Grotesk"; }
  .person .role { font-size:12.5px; color:var(--brand2); font-weight:600; }
  .person p { font-size:13.5px; color:var(--mist); }

  /* ---------- cta band + footer ---------- */
  .cta-band { background:linear-gradient(135deg,var(--brand),var(--brand2)); border-radius:26px; padding:clamp(36px,6vw,64px); text-align:center; color:#fff; position:relative; overflow:hidden; }
  .cta-band h2 { font-size:clamp(26px,4vw,40px); color:#fff; }
  .cta-band p { color:rgba(255,255,255,.85); max-width:52ch; margin:16px auto 28px; }
  .cta-band .btn-white { background:#fff; color:var(--brand); }
  .cta-band .btn-clear { border:1px solid rgba(255,255,255,.5); color:#fff; }
  footer { border-top:1px solid var(--edge); padding:44px 0 60px; }
  .foot-in { display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; align-items:center; }
  .foot-links { display:flex; flex-wrap:wrap; gap:20px; font-size:13.5px; color:var(--mist); }
  .foot-links a:hover { color:var(--text); }
  .foot-meta { font-size:12.5px; color:var(--mist2); }

  .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
  .reveal.in { opacity:1; transform:none; }

  /* ---------- showcase image band ---------- */
  .showcase { position:relative; border-radius:22px; overflow:hidden; border:1px solid var(--edge); box-shadow:var(--shadow); }
  .showcase img { width:100%; display:block; aspect-ratio:16/9; object-fit:cover; }
  .showcase .cap { position:absolute; left:0; right:0; bottom:0; padding:clamp(24px,4vw,40px) clamp(22px,3vw,36px) clamp(20px,3vw,30px); background:linear-gradient(to top,rgba(4,9,20,.94),rgba(4,9,20,.45) 55%,transparent); }
  .showcase .cap h3 { font-size:clamp(20px,3vw,32px); color:#fff; max-width:24ch; }
  .showcase .cap p { color:rgba(230,238,247,.85); font-size:15px; margin-top:9px; max-width:54ch; }
  .showcase .tagpill { position:absolute; top:18px; left:18px; background:rgba(4,9,20,.6); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.18); color:#fff; font-size:12px; font-weight:600; padding:7px 13px; border-radius:999px; }

  /* ---------- split (image + text) ---------- */
  .split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,48px); align-items:center; }
  .splitimg { border-radius:20px; overflow:hidden; border:1px solid var(--edge); box-shadow:var(--shadow); }
  .splitimg img { width:100%; display:block; object-fit:cover; }
  .split.rev .splitimg { order:2; }

  /* ---------- zone map ---------- */
  .zonewrap { position:relative; border-radius:24px; overflow:hidden; border:1px solid var(--edge); box-shadow:var(--shadow); max-width:620px; margin:0 auto; }
  .zonewrap img { width:100%; display:block; aspect-ratio:1/1; object-fit:cover; }
  .zone-svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
  .zonelegend { display:flex; gap:26px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
  .zleg { display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--mist); max-width:30ch; }
  .zdot { width:14px; height:14px; border-radius:4px; flex-shrink:0; margin-top:2px; }
  .zleg b { color:var(--text); display:block; font-size:14px; }

  /* ---------- quotes ---------- */
  .quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .quote { padding:28px 26px; border-radius:18px; border:1px solid var(--edge); background:var(--panel); background-image:var(--card-grad); display:flex; flex-direction:column; }
  .quote .mark { font-family:"Space Grotesk"; font-size:50px; line-height:.5; color:var(--brand); opacity:.45; height:24px; }
  .quote p { font-size:16.5px; color:var(--text); margin:6px 0 18px; font-weight:500; line-height:1.5; flex:1; }
  .quote .by { font-size:12.5px; color:var(--mist2); font-weight:600; border-top:1px solid var(--edge); padding-top:14px; }

  /* ---------- demo section + CTAs ---------- */
  .demo-band { background:linear-gradient(135deg,var(--brand),var(--brand2)); border-radius:26px; padding:clamp(30px,5vw,56px); color:#fff; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,44px); align-items:center; }
  .demo-band .eyebrow { color:rgba(255,255,255,.8); }
  .demo-band h2 { color:#fff; font-size:clamp(24px,3.6vw,38px); }
  .demo-band > div > p { color:rgba(255,255,255,.88); margin-top:14px; max-width:46ch; font-size:15.5px; }
  .demo-trust { display:flex; gap:18px; flex-wrap:wrap; margin-top:20px; font-size:13px; color:rgba(255,255,255,.85); }
  .demo-trust span { display:flex; gap:7px; align-items:center; }
  .demo-form { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); border-radius:18px; padding:22px; }
  .demo-form label { display:block; font-size:11.5px; font-weight:600; color:#fff; margin:0 0 5px; letter-spacing:.02em; }
  .demo-form input, .demo-form select, .demo-form textarea { width:100%; border-radius:11px; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.96); color:#0d1a30; padding:11px 12px; font-size:14px; margin-bottom:13px; font-family:inherit; }
  .demo-form .two { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
  .demo-form button { width:100%; background:#fff; color:var(--brand); font-weight:700; border:0; border-radius:12px; padding:14px; font-size:15px; cursor:pointer; transition:transform .15s; }
  .demo-form button:hover { transform:translateY(-1px); }
  .demo-form .alt { font-size:12px; color:rgba(255,255,255,.85); text-align:center; margin-top:11px; }
  .demo-form .alt a { color:#fff; font-weight:600; }

  /* slim recurring CTA strip */
  .ctastrip { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:20px 26px; border-radius:16px; border:1px solid color-mix(in srgb,var(--brand) 42%,var(--edge)); background:color-mix(in srgb,var(--brand) 9%,var(--panel)); }
  .ctastrip .t { font-weight:600; font-size:15.5px; }
  .ctastrip .t span { color:var(--mist); font-weight:400; }

  /* ---------- responsive ---------- */
  @media (max-width:920px) {
    .hero-grid { grid-template-columns:1fr; gap:38px; }
    .hero-card { max-width:420px; }
    .pg-grid { grid-template-columns:1fr; }
    .pg-result { position:static; }
    .g3,.g2,.priv-grid,.team-grid,.trades,.split,.quotes,.demo-band { grid-template-columns:1fr; }
    .split.rev .splitimg { order:0; }
    .demo-form .two { grid-template-columns:1fr 1fr; }
    .nav-links { position:fixed; inset:66px 0 auto 0; flex-direction:column; align-items:stretch; gap:0; background:var(--bg); border-bottom:1px solid var(--edge); padding:10px 6vw 18px; transform:translateY(-130%); transition:transform .3s; }
    .nav-links.open { transform:none; }
    .nav-links a.navlink { padding:13px 4px; border-bottom:1px solid var(--edge); }
    .nav-links .btn { margin-top:12px; justify-content:center; }
    .nav-links .desktop-only { display:none; }
    .menu-toggle { display:grid; }
  }
  @media (max-width:520px) {
    .toggles { grid-template-columns:1fr; }
    .gauge-wrap { flex-direction:column; align-items:flex-start; gap:16px; }
    .brand small { display:none; }
  }

/* ---------- about / team page ---------- */
.nav-links a.navlink.active { color:var(--text); }
.about-hero { padding-top:clamp(44px,7vw,84px); overflow:hidden; }
.about-hero-bg { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.about-hero-bg::before { content:""; position:absolute; width:620px; height:620px; right:-160px; top:-220px; border-radius:50%; background:radial-gradient(circle,var(--brandglow),transparent 62%); filter:blur(20px); }
h1.page-title { font-size:clamp(34px,5.2vw,56px); font-weight:700; }
.team-col { display:flex; flex-direction:column; gap:20px; max-width:900px; margin:0 auto; }
.person { padding:clamp(24px,3vw,34px); border-radius:18px; }
.person .who { display:flex; align-items:center; gap:15px; margin-bottom:16px; }
.person h4 { font-size:19px; font-family:"Space Grotesk"; }
.person .role { font-size:13px; color:var(--brand2); font-weight:600; margin-top:2px; }
.person p { font-size:14.5px; color:var(--mist); line-height:1.7; }
.person p + p { margin-top:.85em; }
.headshot { width:76px; height:76px; border-radius:16px; object-fit:cover; object-position:50% 20%; flex-shrink:0; border:1px solid var(--edge); box-shadow:0 8px 20px -10px rgba(0,0,0,.55); }
/* contact page */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,44px); align-items:start; }
.contact-side h3 { font-size:18px; font-family:"Space Grotesk"; margin-bottom:8px; }
.contact-side p { color:var(--mist); font-size:15px; }
.contact-row { display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--edge); }
.contact-row .ic { font-size:22px; }
@media (max-width:920px){ .contact-grid{ grid-template-columns:1fr; } }

