/* PurpleBrain shared design system — tokens, buttons, nav, ambient graph, sections, cards, chips, panels, contact form, footer, reveal animations. Extracted from site/index.html. */
  :root{
    --violet:#7C3AED;
    --violet-deep:#5B21B6;
    --violet-wash:#EDE9FE;
    --ink:#0B0B0F;
    --ink-2:#25252B;
    --ink-3:#3D3D47;
    --fog:#F4F6F9;
    --white:#FBFBFD;
    --cyan:#67E8F9;
    --amber:#FCB56C;

    --display: "DM Sans", "Segoe UI", system-ui, sans-serif;
    --body: Inter, "Segoe UI", system-ui, sans-serif;
    --mono: "DM Mono", ui-monospace, "Cascadia Code", monospace;

    --max: 1200px;
    --pad: clamp(1.25rem, 4vw, 3rem);
    --section-pad: clamp(4.5rem, 9vw, 9rem);

    --ease: cubic-bezier(.16,.84,.44,1);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  }

  body{
    margin:0;
    background:var(--white);
    color:var(--ink);
    font-family:var(--body);
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }

  h1,h2,h3,h4{
    font-family:var(--display);
    margin:0;
    letter-spacing:-0.02em;
    font-weight:700;
    color:var(--ink);
  }

  p{ margin:0; }
  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; }
  svg{ display:block; }

  ::selection{ background:var(--violet); color:#fff; }

  .wrap{
    max-width:var(--max);
    margin:0 auto;
    padding-left:var(--pad);
    padding-right:var(--pad);
  }

  .eyebrow{
    font-family:var(--mono);
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--violet-deep);
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:.55em;
  }
  .eyebrow::before{
    content:"";
    width:.4em;
    height:.4em;
    border-radius:50%;
    background:var(--violet);
    box-shadow:0 0 .6rem rgba(124,58,237,.7);
    flex:none;
  }
  section.dark .eyebrow{ color:#C9B7FA; }
  section.dark .eyebrow::before{ box-shadow:0 0 .8rem rgba(124,58,237,.9); }

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.85rem 1.7rem;
    border-radius:999px;
    font-weight:600;
    font-size:.95rem;
    border:1px solid transparent;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--violet);
    color:#fff;
    box-shadow:0 0 0 0 rgba(124,58,237,0), 0 8px 24px -8px rgba(124,58,237,.55);
  }
  .btn-primary:hover{
    background:var(--violet-deep);
    box-shadow:0 0 2.4rem rgba(124,58,237,.4), 0 10px 30px -8px rgba(91,33,182,.6);
    transform:translateY(-2px);
  }
  .btn-ghost{
    color:var(--ink);
    border-color:rgba(11,11,15,.14);
    background:rgba(255,255,255,.5);
  }
  .btn-ghost:hover{
    border-color:rgba(11,11,15,.28);
    background:#fff;
    transform:translateY(-2px);
  }
  .btn-glass{
    color:#fff;
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.18);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .btn-glass:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.32);
    box-shadow:0 0 2rem rgba(124,58,237,.35);
    transform:translateY(-2px);
  }
  .btn svg{ width:1rem; height:1rem; transition:transform .35s var(--ease); }
  .btn:hover svg{ transform:translateX(3px); }

  /* ---------- Keyboard focus ---------- */
  /* Visible ring only for keyboard users; a mid-violet that reads on both the
     light body and the dark nav/contact surfaces. Outline follows each
     element's own border-radius, so pill buttons keep their shape. */
  :focus-visible{
    outline:2px solid #A78BFA;
    outline-offset:3px;
  }
  :focus:not(:focus-visible){ outline:none; }

  /* ---------- Nav ---------- */
  header.nav{
    position:sticky;
    top:0;
    z-index:100;
    width:100%;
  }
  .nav-inner{
    max-width:var(--max);
    margin:0 auto;
    padding: clamp(.9rem,2vw,1.1rem) var(--pad);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    flex-wrap:nowrap;
    transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease);
    border-bottom:1px solid transparent;
  }
  .logo{ flex:none; }
  .nav-cta-wrap{ flex:none; }
  header.nav.scrolled .nav-inner{
    background:rgba(251,251,253,.72);
    backdrop-filter:blur(18px) saturate(1.4);
    -webkit-backdrop-filter:blur(18px) saturate(1.4);
    border-bottom-color:rgba(11,11,15,.08);
  }
  .logo{
    display:flex;
    align-items:center;
    gap:.55rem;
    font-family:var(--display);
    font-weight:700;
    font-size:1.15rem;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  .logo svg{ width:1.6rem; height:1.6rem; flex:none; }
  .nav-links{
    display:flex;
    align-items:center;
    gap:2.1rem;
    list-style:none;
    margin:0; padding:0;
  }
  .nav-links a{
    font-size:.92rem;
    font-weight:500;
    color:var(--ink-3);
    position:relative;
    padding:.2rem 0;
    transition:color .25s ease;
  }
  .nav-links a::after{
    content:"";
    position:absolute;
    left:0; right:100%;
    bottom:-2px;
    height:1.5px;
    background:var(--violet);
    transition:right .3s var(--ease);
  }
  .nav-links a:hover{ color:var(--ink); }
  .nav-links a:hover::after{ right:0; }
  .nav-cta-wrap{ display:flex; align-items:center; gap:1.5rem; }
  .nav-toggle{
    display:none;
    background:none; border:none; padding:.4rem;
    flex-direction:column; align-items:center; justify-content:center; gap:5px;
    width:32px; height:32px;
    margin:-6px;
    position:relative;
  }
  .nav-toggle::before{
    content:"";
    position:absolute;
    inset:-6px;
    min-width:44px; min-height:44px;
    margin:auto;
  }
  .nav-toggle span{
    width:22px; height:2px; background:var(--ink); display:block; border-radius:2px;
    transition:transform .3s var(--ease), opacity .3s var(--ease);
  }

  @media (max-width: 960px){
    .nav-links{ display:none; }
    .nav-toggle{ display:flex; }
    header.nav.nav-open .nav-links{
      display:flex;
      position:absolute;
      top:100%;
      left:0;
      right:0;
      flex-direction:column;
      background:rgba(251,251,253,.98);
      backdrop-filter:blur(18px);
      padding:1.2rem var(--pad);
      gap:1.1rem;
      border-bottom:1px solid rgba(11,11,15,.08);
    }
  }
  .nav-cta-wrap .cta-short{ display:none; }
  @media (max-width: 480px){
    .nav-cta-wrap{ gap:.6rem; }
    .nav-cta-wrap .btn-primary{
      padding:.65rem 1rem;
      font-size:.8rem;
    }
    .nav-cta-wrap .btn-primary svg{ display:none; }
    .nav-cta-wrap .cta-full{ display:none; }
    .nav-cta-wrap .cta-short{ display:inline; }
    .logo{ font-size:.98rem; }
    .logo svg{ width:1.35rem; height:1.35rem; }
  }
  @media (max-width: 360px){
    .nav-inner{ padding-left:1rem; padding-right:1rem; }
  }

  /* ---------- Ambient graph canvas (shared) ---------- */
  .graph-ambient{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
  }
  .graph-ambient svg{ width:100%; height:100%; }
  .g-node{ animation: drift 14s ease-in-out infinite; transform-origin:center; }
  .g-node.d2{ animation-duration:18s; animation-delay:-3s; }
  .g-node.d3{ animation-duration:22s; animation-delay:-9s; }
  .g-node.d4{ animation-duration:16s; animation-delay:-6s; }
  @keyframes drift{
    0%,100%{ transform:translate(0,0); }
    25%{ transform:translate(6px,-10px); }
    50%{ transform:translate(-8px,4px); }
    75%{ transform:translate(4px,9px); }
  }
  .g-pulse{ animation: pulse 5s ease-in-out infinite; }
  .g-pulse.p2{ animation-delay:-1.6s; }
  .g-pulse.p3{ animation-delay:-3.1s; }
  @keyframes pulse{
    0%,100%{ opacity:.35; }
    50%{ opacity:1; }
  }
  .g-line{ stroke-dasharray:4 6; animation: dash 30s linear infinite; }
  @keyframes dash{ to{ stroke-dashoffset:-200; } }

  /* ---------- Reveal ---------- */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
  }
  .reveal.in{ opacity:1; transform:none; }
  .reveal-stagger > *{ transition-delay:calc(var(--i,0) * 90ms); }

  /* ================= HERO ================= */
  .hero{
    position:relative;
    padding-top:clamp(5.5rem,11vw,8.5rem);
    padding-bottom:clamp(5rem,9vw,7rem);
    background:
      radial-gradient(60% 50% at 82% 8%, rgba(103,232,249,.16), transparent 60%),
      radial-gradient(55% 45% at 12% 25%, rgba(124,58,237,.13), transparent 60%),
      var(--white);
    overflow:hidden;
  }
  .hero-inner{
    position:relative;
    z-index:2;
    max-width:820px;
  }
  .hero h1{
    font-size:clamp(2.5rem, 5.6vw, 4rem);
    line-height:1.05;
    margin-top:1.1rem;
    color:var(--ink);
  }
  .hero .sub{
    margin-top:1.6rem;
    font-size:clamp(1.05rem,1.6vw,1.25rem);
    line-height:1.6;
    color:var(--ink-3);
    max-width:640px;
  }
  .hero-ctas{
    margin-top:2.4rem;
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
  }
  .chips{
    margin-top:3.2rem;
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
  }
  .chip{
    font-family:var(--mono);
    font-size:.78rem;
    letter-spacing:.01em;
    padding:.5rem 1rem;
    border-radius:999px;
    border:1px solid rgba(11,11,15,.12);
    background:rgba(255,255,255,.6);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    color:var(--ink-2);
    transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .chip:hover{
    border-color:rgba(124,58,237,.45);
    box-shadow:0 0 1.4rem rgba(124,58,237,.18);
    transform:translateY(-2px);
  }

  /* ================= SOLUTIONS ================= */
  .section{ padding:var(--section-pad) 0; position:relative; }
  .section-head{ max-width:680px; margin-bottom:clamp(2.5rem,5vw,4rem); }
  .section-head h2{
    font-size:clamp(1.9rem,3.6vw,2.75rem);
    margin-top:.9rem;
    line-height:1.1;
  }
  .section-head .section-sub{
    margin-top:1rem;
    font-size:1.02rem;
    line-height:1.55;
    color:var(--ink-3);
  }

  .cards3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
  }
  @media (max-width:960px){ .cards3{ grid-template-columns:1fr; } }

  /* -- breadth strip: quiet footnote of horizontal reach, subordinate to the 3 cards -- */
  .breadth-strip{
    margin-top:clamp(1.8rem,3vw,2.2rem);
    padding-top:clamp(1.3rem,2.4vw,1.6rem);
    border-top:1px solid rgba(11,11,15,.08);
  }
  .breadth-label{
    font-family:var(--mono);
    font-size:.68rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ink-3);
    opacity:.75;
    margin-bottom:.75rem;
  }
  .breadth-chips{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
  }
  .breadth-chip{
    font-family:var(--mono);
    font-size:.74rem;
    letter-spacing:.005em;
    padding:.42rem .85rem;
    border-radius:999px;
    border:1px solid rgba(11,11,15,.09);
    background:transparent;
    color:var(--ink-3);
    text-decoration:none;
    transition:border-color .3s ease, color .3s ease;
  }
  .breadth-chip:hover{
    border-color:rgba(124,58,237,.35);
    color:var(--ink-2);
  }
  .breadth-foot{
    margin-top:1.1rem;
    font-size:.92rem;
    color:var(--ink-3);
  }
  .breadth-foot a{
    color:var(--violet-deep);
    font-weight:600;
    border-bottom:1px solid rgba(124,58,237,.35);
    padding-bottom:1px;
    transition:border-color .25s ease, color .25s ease;
    white-space:nowrap;
  }
  .breadth-foot a:hover{
    color:var(--violet);
    border-color:var(--violet);
  }

  .s-card{
    position:relative;
    background:#fff;
    border:1px solid rgba(11,11,15,.08);
    border-radius:20px;
    padding:2.1rem 1.9rem 2.4rem;
    display:flex;
    flex-direction:column;
    gap:1.1rem;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .s-card:hover{
    transform:translateY(-6px);
    border-color:rgba(124,58,237,.3);
    box-shadow:0 0 2.5rem rgba(124,58,237,.16), 0 24px 40px -20px rgba(11,11,15,.18);
  }
  .s-tag{
    align-self:flex-start;
    font-family:var(--mono);
    font-size:.7rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:.32rem .7rem;
    border-radius:999px;
    background:var(--violet-wash);
    color:var(--violet-deep);
    font-weight:600;
  }
  .s-card h3{ font-size:1.3rem; line-height:1.28; }
  .s-card p{ color:var(--ink-3); font-size:.98rem; line-height:1.6; }
  .s-card-icon{
    width:2.6rem; height:2.6rem;
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(145deg, var(--violet-wash), #fff);
    border:1px solid rgba(124,58,237,.18);
    transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  }
  .s-card-icon svg{ width:1.3rem; height:1.3rem; }
  .s-card:hover .s-card-icon{
    transform:translateY(-2px) scale(1.06);
    border-color:rgba(124,58,237,.4);
    box-shadow:0 0 1.3rem rgba(124,58,237,.22);
  }
  .s-card-link{
    margin-top:auto;
    padding-top:.3rem;
    align-self:flex-start;
    font-size:.88rem;
    font-weight:600;
    color:var(--violet-deep);
    border-bottom:1px solid rgba(124,58,237,.35);
    padding-bottom:1px;
    transition:border-color .25s ease, color .25s ease, transform .3s var(--ease);
  }
  .s-card-link:hover{ color:var(--violet); border-color:var(--violet); }
  .s-card:hover .s-card-link{ transform:translateX(3px); }

  /* ================= PLATFORM (dark) ================= */
  section.dark{
    background:var(--ink);
    color:#fff;
    position:relative;
    overflow:hidden;
  }
  section.dark h2, section.dark h3{ color:#fff; }
  section.dark .section-head p{ color:rgba(255,255,255,.62); }

  /* mock panel — now the hero visual of the platform section */
  .mockpanel{
    position:relative;
    z-index:2;
    margin:0 auto;
    border-radius:26px;
    padding:2.3rem 2.2rem 2rem;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(28px);
    -webkit-backdrop-filter:blur(28px);
    box-shadow:0 0 4.5rem rgba(124,58,237,.22), 0 40px 80px -30px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.09);
    max-width:820px;
  }
  .mockpanel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:.6rem;
    padding-bottom:1.1rem;
    margin-bottom:1.1rem;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .mockpanel-title{
    font-family:var(--mono);
    font-size:.88rem;
    color:rgba(255,255,255,.85);
    letter-spacing:.02em;
  }
  .mockpanel-title b{ color:var(--cyan); font-weight:600; }
  .status-pill{
    font-family:var(--mono);
    font-size:.68rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:.3rem .65rem;
    border-radius:999px;
    background:rgba(252,181,108,.14);
    color:var(--amber);
    border:1px solid rgba(252,181,108,.3);
  }
  .mockrow{
    display:flex;
    align-items:center;
    gap:.75rem;
    padding:.75rem 0;
    font-family:var(--mono);
    font-size:.86rem;
    color:rgba(255,255,255,.78);
    border-bottom:1px dashed rgba(255,255,255,.08);
  }
  .mockrow:last-of-type{ border-bottom:none; }
  .mockrow .dot{
    width:6px; height:6px; border-radius:50%; flex:none;
    background:var(--cyan);
    box-shadow:0 0 .5rem rgba(103,232,249,.8);
  }
  .mockrow.flag{
    color:var(--amber);
    font-size:.98rem;
    font-weight:600;
    padding:1.1rem 1.2rem;
    margin:.4rem 0;
    border-radius:14px;
    background:rgba(252,181,108,.1);
    border:1px solid rgba(252,181,108,.32);
    box-shadow:0 0 2.2rem rgba(252,181,108,.16);
  }
  .mockrow.flag .dot{
    width:8px; height:8px;
    background:var(--amber);
    box-shadow:0 0 .8rem rgba(252,181,108,.9);
    animation:flagDotPulse 2.4s var(--ease) infinite;
  }
  /* draws the eye to the caught conflict — the product's core moment */
  @keyframes flagDotPulse{
    0%,100%{ box-shadow:0 0 .6rem rgba(252,181,108,.75); }
    50%{ box-shadow:0 0 1.3rem rgba(252,181,108,1); }
  }
  .mockpanel-foot{
    margin-top:1.3rem;
    padding-top:1.2rem;
    border-top:1px solid rgba(255,255,255,.1);
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1rem;
  }
  .mockpanel-foot p{
    font-size:.88rem;
    color:rgba(255,255,255,.68);
    max-width:360px;
    line-height:1.5;
  }
  .mockpanel-actions{
    display:flex;
    gap:.75rem;
    flex:none;
  }
  .mp-btn{
    font-family:var(--body);
    font-size:.85rem;
    font-weight:600;
    padding:.6rem 1.2rem;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.16);
  }
  .mp-btn.approve{ background:var(--violet); color:#fff; border-color:transparent; }
  .mp-btn.approve:hover{ background:var(--violet-deep); box-shadow:0 0 1.4rem rgba(124,58,237,.5); }
  .mp-btn.reject{ background:rgba(255,255,255,.06); color:rgba(255,255,255,.8); }
  .mp-btn.reject:hover{ background:rgba(255,255,255,.12); }

  /* compact pipeline strip — demoted, sits below the panel */
  .pipeline-strip{
    position:relative;
    z-index:2;
    margin-top:3.2rem;
    padding-top:2rem;
    border-top:1px solid rgba(255,255,255,.08);
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1.5rem;
  }
  .pipeline-strip.cols3{ grid-template-columns:repeat(3,1fr); }
  @media (max-width:980px){
    .pipeline-strip, .pipeline-strip.cols3{ grid-template-columns:repeat(2,1fr); gap:1.6rem 1.2rem; }
  }
  @media (max-width:560px){
    .pipeline-strip, .pipeline-strip.cols3{ grid-template-columns:1fr; gap:1.4rem; }
  }
  .ps-item{ display:flex; flex-direction:column; gap:.35rem; }
  .ps-num{
    font-family:var(--mono);
    font-size:.68rem;
    letter-spacing:.08em;
    color:var(--cyan);
    opacity:.85;
  }
  .ps-item h4{
    font-size:.9rem;
    font-weight:600;
    color:#fff;
  }
  .ps-item p{
    font-size:.8rem;
    line-height:1.5;
    color:rgba(255,255,255,.55);
  }

  /* ================= TRUST STRIP ================= */
  .trust-split{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:clamp(2rem,4vw,3.5rem);
    align-items:center;
  }
  @media (max-width:860px){
    .trust-split{ grid-template-columns:1fr; }
  }

  .chat-mock{
    border-radius:22px;
    background:var(--fog);
    border:1px solid rgba(11,11,15,.08);
    padding:1.6rem 1.5rem 1.8rem;
    display:flex;
    flex-direction:column;
    gap:1rem;
    box-shadow:0 30px 60px -32px rgba(11,11,15,.22);
  }
  .chat-bubble{
    max-width:88%;
    padding:.85rem 1.1rem;
    border-radius:16px;
    font-size:.92rem;
    line-height:1.55;
  }
  .chat-bubble.user{
    align-self:flex-end;
    background:var(--violet);
    color:#fff;
    border-bottom-right-radius:4px;
  }
  .chat-bubble.answer{
    align-self:flex-start;
    background:#fff;
    color:var(--ink-2);
    border:1px solid rgba(11,11,15,.08);
    border-bottom-left-radius:4px;
  }
  .chat-chip{
    align-self:flex-start;
    margin-left:.2rem;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-family:var(--mono);
    font-size:.72rem;
    color:var(--violet-deep);
    padding:.4rem .8rem;
    border-radius:999px;
    background:var(--violet-wash);
    border:1px solid rgba(124,58,237,.2);
  }

  .trust-copy h3{
    font-size:1.7rem;
    line-height:1.15;
  }
  .trust-copy .trust-body{
    margin-top:1rem;
    font-size:1.02rem;
    line-height:1.65;
    color:var(--ink-3);
    max-width:460px;
  }
  .trust-badge{
    margin-top:1.8rem;
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    font-family:var(--mono);
    font-size:.78rem;
    color:var(--ink-3);
    opacity:.75;
  }
  .trust-badge svg{ width:.9rem; height:.9rem; flex:none; }

  /* ================= PROOF ================= */
  .proof-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.25rem;
  }
  @media (max-width:860px){ .proof-grid{ grid-template-columns:1fr; } }
  .proof-card{
    padding:2rem 1.6rem;
    border-radius:20px;
    background:linear-gradient(160deg, #fff, var(--violet-wash) 180%);
    border:1px solid rgba(124,58,237,.14);
    position:relative;
    overflow:hidden;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .proof-card:hover{
    transform:translateY(-5px);
    border-color:rgba(124,58,237,.3);
    box-shadow:0 0 2.2rem rgba(124,58,237,.22);
  }
  .proof-num{
    font-family:var(--display);
    font-size:clamp(2.1rem,4vw,2.7rem);
    font-weight:700;
    letter-spacing:-0.02em;
    color:var(--violet-deep);
    line-height:1;
  }
  .proof-label{
    margin-top:.7rem;
    font-size:.9rem;
    color:var(--ink-3);
    line-height:1.45;
  }
  .proof-sub{
    margin-top:.4rem;
    font-family:var(--mono);
    font-size:.76rem;
    color:var(--violet);
  }
  .proof-attr{
    margin-top:2.4rem;
    font-size:.92rem;
    color:var(--ink-3);
    font-style:italic;
    border-left:2px solid var(--violet);
    padding-left:1rem;
  }

  /* ================= CONTACT ================= */
  .contact-section{
    padding:clamp(5.5rem,10vw,8.5rem) 0;
  }
  .contact-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(360px,1fr);
    gap:clamp(2.4rem,5vw,4.8rem);
    align-items:center;
  }
  @media (max-width:900px){
    .contact-grid{ grid-template-columns:minmax(0,1fr); }
  }
  .contact-copy{ min-width:0; }
  .contact-copy h2{
    font-size:clamp(2rem,4.8vw,3.3rem);
    color:#fff;
    margin-top:1rem;
    line-height:1.08;
    max-width:620px;
  }
  .contact-copy .sub{
    margin-top:1.5rem;
    max-width:540px;
    color:rgba(255,255,255,.68);
    font-size:1.08rem;
    line-height:1.65;
  }
  .contact-note{
    margin-top:2rem;
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    color:rgba(255,255,255,.62);
    font-size:.92rem;
    line-height:1.55;
    max-width:460px;
  }
  .contact-note svg{
    width:1.05rem;
    height:1.05rem;
    flex:none;
    margin-top:.16rem;
    color:var(--cyan);
  }
  .contact-card{
    min-width:0;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px;
    padding:clamp(1.4rem,3vw,2.2rem);
    box-shadow:0 0 4rem rgba(124,58,237,.2), 0 36px 80px -44px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.1);
    backdrop-filter:blur(28px);
    -webkit-backdrop-filter:blur(28px);
  }
  .contact-card h3{
    color:#fff;
    font-size:1.45rem;
    line-height:1.18;
  }
  .contact-card .form-intro{
    margin-top:.7rem;
    color:rgba(255,255,255,.62);
    font-size:.95rem;
    line-height:1.55;
  }
  .contact-status{
    margin-top:1.2rem;
    min-height:0;
    outline:none;
  }
  .contact-alert{
    padding:.9rem 1rem;
    border-radius:14px;
    font-size:.9rem;
    line-height:1.45;
    display:none;
  }
  .contact-alert.success{
    color:#D1FAE5;
    background:rgba(16,185,129,.13);
    border:1px solid rgba(16,185,129,.3);
  }
  .contact-alert.error{
    color:#FDE2E2;
    background:rgba(239,68,68,.12);
    border:1px solid rgba(239,68,68,.32);
  }
  .contact-alert.show{ display:block; }
  .contact-form{
    margin-top:1.4rem;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:1rem;
    min-width:0;
  }
  .form-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:1rem;
    min-width:0;
  }
  @media (max-width:620px){
    .form-row{ grid-template-columns:minmax(0,1fr); }
  }
  .form-field{
    display:flex;
    flex-direction:column;
    gap:.42rem;
    min-width:0;
  }
  .form-field label{
    font-size:.82rem;
    font-weight:600;
    color:rgba(255,255,255,.82);
  }
  .form-field .optional{
    color:rgba(255,255,255,.45);
    font-weight:500;
  }
  .form-field input,
  .form-field textarea{
    width:100%;
    border:1px solid rgba(255,255,255,.16);
    border-radius:14px;
    background:rgba(255,255,255,.1);
    color:#fff;
    font:inherit;
    font-size:.95rem;
    padding:.85rem .95rem;
    outline:none;
    transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
  }
  .form-field textarea{
    min-height:128px;
    resize:vertical;
  }
  .form-field input::placeholder,
  .form-field textarea::placeholder{
    color:rgba(255,255,255,.42);
  }
  .form-field input:focus,
  .form-field textarea:focus{
    border-color:rgba(103,232,249,.7);
    background:rgba(255,255,255,.13);
    box-shadow:0 0 0 3px rgba(103,232,249,.16);
  }
  .hp-field{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
  }
  .form-submit{
    width:100%;
    justify-content:center;
    margin-top:.35rem;
    border:none;
  }
  .form-submit[disabled]{
    opacity:.68;
    cursor:not-allowed;
    transform:none;
  }
  .form-foot{
    text-align:center;
    color:rgba(255,255,255,.6);
    font-size:.78rem;
    line-height:1.45;
  }

  /* ================= FOOTER ================= */
  footer{
    background:var(--fog);
    padding:3.5rem 0 2.5rem;
  }
  .footer-top{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:clamp(2rem,5vw,4rem);
    padding-bottom:2.2rem;
    border-bottom:1px solid rgba(11,11,15,.08);
  }
  .footer-brand{ max-width:340px; }
  .footer-brand .logo{ margin-bottom:.9rem; }
  .footer-brand p{ color:var(--ink-3); font-size:.9rem; line-height:1.6; }
  .footer-links{
    flex:1 1 520px;
    display:grid;
    grid-template-columns:repeat(3, minmax(9rem, 1fr));
    gap:clamp(1.4rem,4vw,3rem);
  }
  .footer-col h4{
    font-family:var(--mono);
    font-size:.72rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink-3);
    margin-bottom:.9rem;
  }
  .footer-col a{
    display:flex;
    align-items:center;
    font-size:.9rem;
    color:var(--ink-2);
    padding:.3rem 0;
    min-height:44px;
    transition:color .2s ease;
  }
  .footer-col a:hover{ color:var(--violet); }
  .footer-cta p{
    color:var(--ink-3);
    font-size:.9rem;
    line-height:1.55;
    margin-bottom:.55rem;
  }
  .footer-cta a{
    color:var(--violet-deep);
    font-weight:650;
  }
  .footer-bottom{
    padding-top:1.6rem;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:.5rem;
    font-size:.82rem;
    color:var(--ink-3);
  }
  @media (max-width: 720px){
    .footer-brand{ max-width:none; }
    .footer-links{
      grid-template-columns:1fr;
      flex-basis:100%;
    }
  }

  /* utility */
  .center{ text-align:center; margin-left:auto; margin-right:auto; }
