/* ════════════════════════════════════════════════════════════
   DATUMETRY — Landing Page styles (v2 · card hero)
   One rounded ink card holds nav + headline + orbit + tech strip.
   Below it: calm editorial sections, no card grids.
   Every section = one future CMS block. Also serves the
   FAQ and Portfolio subpages (.subpage + .sitenav).
   ════════════════════════════════════════════════════════════ */

html,body{overflow-x:clip;}

/* ── page atmosphere: faint aurora wash at the top of the paper ── */
body.landing{position:relative;}
body.landing::before{content:"";position:absolute;top:0;left:0;right:0;height:110vh;
  pointer-events:none;z-index:0;
  background:
    radial-gradient(55% 42% at 16% -6%, rgba(110,59,242,.11), transparent 62%),
    radial-gradient(48% 38% at 84% -7%, rgba(25,194,255,.09), transparent 62%),
    radial-gradient(40% 30% at 50% -5%, rgba(52,21,238,.06), transparent 60%);}
body.landing > *{position:relative;z-index:1;}

/* ════════ HERO — full-bleed dark, Resolve lattice ════════ */
.hero{position:relative;overflow:hidden;min-height:min(92svh,940px);
  display:flex;flex-direction:column;isolation:isolate;}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;}
.hero .glow{z-index:0;background:
  radial-gradient(48% 58% at 80% 40%, rgba(110,59,242,.30), transparent 62%),
  radial-gradient(58% 72% at 90% 96%, rgba(52,21,238,.42), transparent 60%),
  radial-gradient(42% 56% at 60% 110%, rgba(25,194,255,.26), transparent 60%);}
/* scrim: keep the headline (left) legible, let the lattice breathe (right) */
.hero-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(100deg,
    var(--ink) 0%, rgba(11,14,22,.92) 26%, rgba(11,14,22,.45) 58%, rgba(11,14,22,.16) 80%, rgba(11,14,22,.52) 100%);}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom, transparent, var(--ink));}

/* nav */
.cardnav-shell{position:relative;z-index:6;padding-top:clamp(16px,2.4vw,26px);}
.cardnav{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff;}
.cardnav .links{display:flex;align-items:center;gap:4px;}
.cardnav .navlink{opacity:.82;padding:8px 13px;border-radius:var(--r-pill);
  transition:opacity var(--t2),background var(--t2);}
.cardnav .navlink:hover{opacity:1;background:rgba(255,255,255,.07);}
.cardnav .navlink:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,.6);}
.cardnav .navside{display:flex;align-items:center;gap:10px;}
.cardnav .burger{display:none;border-color:rgba(255,255,255,.32);color:#fff;}
.cardnav .burger i{background:currentColor;}
.cardnav-shell .mpanel{display:none;position:absolute;left:var(--pad);right:var(--pad);
  top:calc(100% + 10px);z-index:20;margin:0;}
.cardnav-shell.open .mpanel{display:flex;}
@media(max-width:880px){
  .cardnav .links{display:none;}
  .cardnav .burger{display:inline-flex;}
}

/* headline */
.hero-inner{position:relative;z-index:4;flex:1;display:flex;align-items:center;
  padding-block:clamp(48px,9vw,108px);}
.hcopy{display:flex;flex-direction:column;gap:20px;color:#fff;max-width:43rem;}
.hero-eyebrow{color:rgba(246,246,242,.6);}
.hcopy h1{font-size:clamp(33px,5.2vw,64px);font-weight:800;letter-spacing:-.026em;
  line-height:1.03;max-width:15ch;}
.hsub{color:rgba(246,246,242,.74);font-size:clamp(15.5px,1.6vw,19px);line-height:1.6;max-width:46ch;}
.hcta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;}
.btn.hero-light{background:#F6F6F2;color:#0B0E16;}
.btn.hero-light:hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 26px -10px rgba(0,0,0,.6);}
.btn.hero-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28);}
.btn.hero-ghost:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.1);transform:translateY(-2px);}

/* ════════ TOOLS LATTICE — compact 2-row grid directly under the hero ════════ */
.tools-band{padding:clamp(22px,3vw,34px) 0 0;border-bottom:1px solid var(--line);}
.tools-eyebrow{display:flex;color:rgba(246,246,242,.5);margin-bottom:clamp(14px,2vw,20px);}
.tools-band .stack-lattice{position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);}
.tools-band .cellgrid{position:relative;z-index:2;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.06);}
.tools-band .cell{aspect-ratio:1.7;border-right:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);position:relative;}
.tools-band .citem{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;--c:rgba(246,246,242,.58);opacity:0;transition:opacity .85s var(--ease-io);}
.tools-band .citem.on{opacity:1;}
.tools-band .cell:hover .citem{--c:#7A8CFF;}
.tools-band .citem .cic{width:25px;height:25px;position:relative;color:var(--c);transition:color .5s;}
.tools-band .citem .cic .micon{position:absolute;inset:0;background:var(--c);transition:background .5s;
  -webkit-mask:var(--msk) center/contain no-repeat;mask:var(--msk) center/contain no-repeat;}
.tools-band .citem .cic svg{position:absolute;inset:0;width:100%;height:100%;}
.tools-band .citem .cic .mono-g{position:absolute;inset:0;border-radius:6px;border:1.4px solid var(--c);color:var(--c);
  display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;letter-spacing:.03em;
  transition:color .5s,border-color .5s;}
.tools-band .citem .cnm{font-size:11.5px;font-weight:650;letter-spacing:.02em;color:var(--c);transition:color .5s;white-space:nowrap;}

/* ════════ ABOUT — merged about + why ════════ */
.about-band{padding-block:clamp(64px,9vw,120px);}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,88px);align-items:start;}
.about-lead{display:flex;flex-direction:column;gap:16px;position:sticky;top:48px;}
.about-lead h2{font-size:clamp(30px,3.6vw,46px);}
.about-lead p{color:var(--text-2);font-size:clamp(15.5px,1.5vw,17.5px);max-width:34ch;}
.points{display:flex;flex-direction:column;}
.point{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:14px 24px;
  padding-block:clamp(20px,2.6vw,28px);border-top:1px solid var(--line);}
.point:last-child{border-bottom:1px solid var(--line);}
.point h4{font-size:16.5px;line-height:1.3;}
.point .ctext{font-size:15px;color:var(--text-2);max-width:52ch;}
@media(max-width:880px){
  .about-grid{grid-template-columns:1fr;}
  .about-lead{position:static;}
  .about-lead h2 br{display:none;}
}
@media(max-width:560px){.point{grid-template-columns:1fr;gap:6px;}}

/* ════════ SERVICES — numbered editorial rows ════════ */
.sec-head.compact{margin-bottom:clamp(22px,3vw,36px);}
.srows{border-top:1px solid var(--line);}
.srow{position:relative;display:grid;grid-template-columns:56px minmax(170px,250px) 1fr;
  gap:clamp(18px,4vw,64px);align-items:start;
  padding-block:clamp(28px,3.6vw,44px);border-bottom:1px solid var(--line);}
.srow::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;
  background:var(--grad);transition:width var(--t4) var(--ease);}
.srow:hover::after{width:100%;}
.srow .snum{font-size:13px;font-weight:750;letter-spacing:.08em;color:var(--accent);padding-top:6px;}
.stitle{display:flex;flex-direction:column;gap:5px;}
.stitle .sico{width:46px;height:46px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.stitle h3{font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:-.02em;}
.stitle .ssub{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.stext{font-size:15.5px;color:var(--text-2);max-width:58ch;padding-top:4px;}
@media(max-width:760px){
  .srow{grid-template-columns:42px 1fr;}
  .srow .stext{grid-column:2;}
}

/* service row reveal + icon micro-animations (gated on JS) */
.js-reveal .srows .srow{opacity:0;transform:translateY(20px);
  transition:opacity .55s var(--ease),transform .55s var(--ease);}
.srows.in .srow{opacity:1;transform:none;}
.srows.in .srow:nth-child(2){transition-delay:.13s;}
.srows.in .srow:nth-child(3){transition-delay:.26s;}
.js-reveal .ic-build rect{opacity:0;}
.srows.in .ic-build rect:nth-child(1){animation:blockIn .4s var(--ease) .4s forwards;}
.srows.in .ic-build rect:nth-child(2){animation:blockIn .4s var(--ease) .6s forwards;}
.srows.in .ic-build rect:nth-child(3){animation:blockIn .4s var(--ease) .8s forwards;}
@keyframes blockIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.js-reveal .ic-connect line{stroke-dasharray:30;stroke-dashoffset:30;}
.srows.in .ic-connect line{animation:lineDraw .6s var(--ease) .7s forwards;}
.js-reveal .ic-connect circle:last-of-type{opacity:.25;}
.srows.in .ic-connect circle:last-of-type{animation:fadeIn .4s ease 1.15s forwards;}
@keyframes lineDraw{to{stroke-dashoffset:0;}}
@keyframes fadeIn{to{opacity:1;}}
.js-reveal .ic-report rect{transform-origin:bottom;transform:scaleY(0);}
.srows.in .ic-report rect:nth-child(1){animation:barUp .5s var(--ease) .85s forwards;}
.srows.in .ic-report rect:nth-child(2){animation:barUp .5s var(--ease) 1s forwards;}
.srows.in .ic-report rect:nth-child(3){animation:barUp .5s var(--ease) 1.15s forwards;}
@keyframes barUp{to{transform:scaleY(1);}}

/* ════════ CONTACT ════════ */
/* contact keeps its band separator — FAQ now follows it */
.contact-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(20px,3vw,32px);align-items:start;}
@media(max-width:920px){.contact-grid{grid-template-columns:1fr;}}
.form-card{padding:clamp(20px,3vw,34px);gap:0;}
.form-card .steps{margin-bottom:28px;}
.panel{display:none;flex-direction:column;gap:26px;}
.panel.cur{display:flex;animation:panelIn var(--t3) var(--ease);}
@keyframes panelIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:620px){.frow{grid-template-columns:1fr;}}

/* pill-radio rows for short enumerations */
.pillrow{display:flex;flex-wrap:wrap;gap:9px;}
.pillrow .prad{position:relative;}
.pillrow .prad input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.pillrow .prad span{display:inline-flex;align-items:center;height:38px;padding:0 17px;border-radius:var(--r-pill);
  border:1.5px solid var(--line-strong);background:var(--bg-card);font-size:14px;font-weight:600;color:var(--text-2);
  cursor:pointer;transition:border-color var(--t2),background var(--t2),color var(--t2),transform var(--t1);}
.pillrow .prad:hover span{border-color:var(--text-3);}
.pillrow .prad input:checked + span{background:var(--accent);border-color:var(--accent);color:#fff;}
[data-theme="dark"] .pillrow .prad input:checked + span{color:var(--ink);}
.pillrow .prad input:focus-visible + span{box-shadow:var(--ring);}
.pillrow .prad input:active + span{transform:scale(.95);}

/* prominent tools grid */
.toolsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;}
.toolcard{position:relative;}
.toolcard input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.toolcard span{display:flex;align-items:center;gap:9px;padding:13px 15px;border-radius:var(--r-md);
  border:1.5px solid var(--line-strong);background:var(--bg-card);font-size:14px;font-weight:600;color:var(--text-2);
  cursor:pointer;transition:border-color var(--t2),background var(--t2),color var(--t2),transform var(--t1);}
.toolcard span::before{content:"";width:17px;height:17px;flex:none;border-radius:5px;border:1.5px solid var(--line-strong);
  transition:background var(--t2),border-color var(--t2);}
.toolcard:hover span{border-color:var(--text-3);}
.toolcard input:checked + span{border-color:var(--accent);background:var(--accent-soft);color:var(--text);}
.toolcard input:checked + span::before{background:var(--accent);border-color:var(--accent);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5 7 11.5 12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:13px;background-position:center;background-repeat:no-repeat;}
.toolcard input:focus-visible + span{box-shadow:var(--ring);}
.toolcard input:active + span{transform:scale(.97);}

.formnav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:30px;}
.stepcount{font-size:13.5px;color:var(--text-3);font-weight:600;}
.group-err{display:none;font-size:13px;font-weight:550;color:var(--danger);}
.field.err .group-err,.gfield.err .group-err{display:block;}
.gfield{display:flex;flex-direction:column;gap:10px;}
.gfield > label{font-size:14px;font-weight:650;}
.gfield .help{font-size:13px;color:var(--text-3);}

/* success */
.success{display:none;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:46px 20px;}
.success.show{display:flex;animation:panelIn var(--t4) var(--ease);}
.success .ok{width:64px;height:64px;border-radius:50%;background:var(--success-bg);border:1.5px solid var(--success-bd);
  color:var(--success);display:flex;align-items:center;justify-content:center;}
.success h2{font-size:26px;}
.success p{color:var(--text-2);max-width:46ch;}

/* contact card */
.contact-card{gap:0;padding:0;overflow:hidden;position:sticky;top:48px;}
@media(max-width:920px){.contact-card{position:static;}}
.contact-card .crow{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--text);transition:background var(--t1);}
.contact-card a.crow{cursor:pointer;}
.contact-card a.crow:hover{background:var(--bg-hover);}
.contact-card .crow:last-child{border-bottom:none;}
.contact-card .cico{flex:none;width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;transition:background var(--t2),color var(--t2);}
.contact-card .crow b{display:block;font-size:15px;font-weight:700;white-space:nowrap;}
.contact-card .crow b + span{display:block;font-size:13px;color:var(--text-2);transition:color var(--t2);}
.contact-card .crow.copied .cico{background:var(--success-bg);color:var(--success);}
.contact-card .crow.copied b + span{color:var(--success);font-weight:650;}

/* ════════ FOOTER — full-bleed ink, bookending the hero ════════ */
.footer-shell{padding:0;}
.footer-card{border-radius:0;color:rgba(246,246,242,.7);border-top:1px solid var(--line);}
.footer-card .fin{position:relative;z-index:2;max-width:1280px;margin:0 auto;
  padding:clamp(40px,5.5vw,64px) clamp(20px,3.6vw,52px) 26px;display:flex;flex-direction:column;gap:36px;}
.footer-card .fcols{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.footer-card .fbrand{display:flex;flex-direction:column;gap:14px;max-width:300px;}
.footer-card .fbrand p{font-size:13.5px;line-height:1.6;}
.footer-card .socials{display:flex;gap:10px;}
.footer-card .socials a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;color:rgba(246,246,242,.72);
  transition:border-color var(--t2),color var(--t2),transform var(--t1);}
.footer-card .socials a:hover{border-color:rgba(255,255,255,.6);color:#fff;transform:translateY(-2px);}
.footer-card .socials svg{width:15px;height:15px;}
.footer-card .fnav{display:flex;gap:56px;flex-wrap:wrap;}
.footer-card .fnav .col{display:flex;flex-direction:column;gap:10px;}
.footer-card .fnav .col b{color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
.footer-card .fnav .col a{font-size:14px;text-decoration:none;color:rgba(246,246,242,.62);transition:color var(--t1);}
.footer-card .fnav .col a:hover{color:#fff;}
.footer-card .fbase{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:13px;color:rgba(246,246,242,.45);}

/* ════════ SUBPAGES (about/services/build/connect/report/Portfolio): solid dark header ════════ */
.sitenav{position:fixed;top:0;left:0;right:0;z-index:60;padding:0;
  background:color-mix(in srgb, var(--ink) 88%, transparent);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);}
.sitenav .topnav,
.sitenav .topnav.solid,
.sitenav .topnav.transparent{max-width:1200px;margin:0 auto;padding:13px var(--pad);
  background:none;border:none;border-radius:0;box-shadow:none;color:var(--text);backdrop-filter:none;}
.sitenav .markbox{color:inherit;}
.sitenav .burger{display:none;}
.sitenav .burger i{background:currentColor;}
.mpanel{max-width:1200px;margin:8px auto 0;background:var(--bg-card);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;display:none;flex-direction:column;}
.mpanel a{padding:15px 22px;font-size:15.5px;font-weight:600;text-decoration:none;color:var(--text);
  border-bottom:1px solid var(--line);transition:background var(--t1);}
.mpanel a:hover{background:var(--bg-hover);}
.mpanel a:last-child{border-bottom:none;}
.sitenav.open .mpanel{display:flex;}
@media(max-width:880px){
  .sitenav .topnav .links{display:none;}
  .sitenav .burger{display:inline-flex;}
}

.subpage{padding-top:clamp(96px,12vh,128px);}
.subpage .page-head{display:flex;flex-direction:column;gap:12px;margin-bottom:clamp(26px,4vw,40px);}
.subpage .page-head h1{font-size:clamp(30px,4.4vw,48px);font-weight:800;letter-spacing:-.025em;}
.subpage .page-head p{color:var(--text-2);font-size:clamp(15px,1.5vw,17px);max-width:54ch;}
.faq-cols{max-width:820px;}

/* coming soon strip (Portfolio) */
.work-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);
  padding:clamp(22px,3.5vw,36px) clamp(22px,3.5vw,40px);}
.work-strip .wtext{display:flex;flex-direction:column;gap:8px;max-width:56ch;}
.work-strip h3{font-size:clamp(19px,2.4vw,24px);}
.work-strip p{color:var(--text-2);font-size:15px;}

/* subpage footer fallback (old class, kept for FAQ/Portfolio) */
footer.site-footer{background:var(--ink);color:rgba(246,246,242,.7);position:relative;overflow:hidden;}
footer.site-footer .fin{position:relative;z-index:2;max-width:1200px;margin:0 auto;
  padding:clamp(44px,6vw,72px) var(--pad) 28px;display:flex;flex-direction:column;gap:36px;}
footer.site-footer .fcols{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
footer.site-footer .fbrand{display:flex;flex-direction:column;gap:14px;max-width:300px;}
footer.site-footer .fbrand p{font-size:13.5px;line-height:1.6;}
footer.site-footer .fnav{display:flex;gap:56px;flex-wrap:wrap;}
footer.site-footer .fnav .col{display:flex;flex-direction:column;gap:10px;}
footer.site-footer .fnav .col b{color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
footer.site-footer .fnav .col a{font-size:14px;text-decoration:none;color:rgba(246,246,242,.62);transition:color var(--t1);}
footer.site-footer .fnav .col a:hover{color:#fff;}
footer.site-footer .fbase{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:13px;color:rgba(246,246,242,.45);}

/* ── scroll reveal helper (JS-gated so content is never stuck hidden) ── */
.js-reveal [data-reveal]{opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);}
.js-reveal [data-reveal].rev-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .js-reveal [data-reveal],.js-reveal .srows .srow{opacity:1;transform:none;}
  .js-reveal .ic-build rect{opacity:1;}
  .js-reveal .ic-connect line{stroke-dashoffset:0;}
  .js-reveal .ic-connect circle:last-of-type{opacity:1;}
  .js-reveal .ic-report rect{transform:scaleY(1);}
}

/* ════════ ABOUT — secondary-offering aside (low-key, on the table) ════════ */
.about-aside{font-size:14px;color:var(--text-2);line-height:1.55;max-width:36ch;
  margin-top:6px;padding-left:14px;border-left:2px solid var(--accent);}

/* ════════ PROCESS — engagement flow as a compact numbered path ════════ */
.flowsteps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(16px,2.4vw,28px);margin:0;padding:0;}
.fstep{display:flex;flex-direction:column;gap:7px;padding-top:16px;border-top:2px solid var(--line);position:relative;}
.fstep::before{content:"";position:absolute;left:0;top:-2px;height:2px;width:34px;background:var(--accent);}
.fstep .fnum{font-size:12.5px;font-weight:750;letter-spacing:.08em;color:var(--accent);}
.fstep h3{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.28;}
.fstep p{font-size:13.5px;color:var(--text-2);line-height:1.5;}
@media(max-width:980px){.flowsteps{grid-template-columns:repeat(2,1fr);gap:24px;}}
@media(max-width:560px){.flowsteps{grid-template-columns:1fr;}}

/* ════════ FAQ — accessible focus ring on the accordion header ════════ */
.acc .acc-h:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}

/* ════════ CONTACT — single-step form reassurance line ════════ */
.form-reassure{font-size:13px;color:var(--text-3);line-height:1.45;max-width:34ch;}
@media(max-width:480px){
  .formnav{flex-direction:column-reverse;align-items:stretch;gap:14px;}
  .formnav .btn{width:100%;}
  .form-reassure{max-width:none;text-align:center;}
}

/* ════════════════════════════════════════════════════════════
   SUBPAGE LAYOUTS (about / services / build / connect / report)
   ════════════════════════════════════════════════════════════ */

/* page head — compact dark hero with a faint top glow */
.pagehead{position:relative;overflow:hidden;padding-top:clamp(112px,15vh,168px);
  padding-bottom:clamp(36px,5vw,60px);}
.pagehead::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(48% 60% at 12% -10%, rgba(110,59,242,.20), transparent 60%),
    radial-gradient(42% 56% at 92% -16%, rgba(25,194,255,.14), transparent 60%);}
.pagehead .wrap{position:relative;z-index:1;}
.pagehead .eyebrow{margin-bottom:14px;}
.pagehead h1{font-size:clamp(34px,5.4vw,60px);font-weight:800;letter-spacing:-.026em;
  line-height:1.03;max-width:16ch;}
.pagehead .lead{margin-top:18px;color:var(--text-2);font-size:clamp(16px,1.7vw,20px);
  line-height:1.55;max-width:54ch;}
.pagehead .headcta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;}

/* generic content rhythm on subpages */
.prose{max-width:62ch;display:flex;flex-direction:column;gap:18px;}
.prose p{color:var(--text-2);font-size:clamp(15.5px,1.6vw,17.5px);line-height:1.6;}
.lead-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:start;}
.lead-row .lr-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px;}
.lead-row .lr-side h2{font-size:clamp(26px,3.4vw,40px);}
.lead-row .lr-side p{color:var(--text-2);max-width:32ch;}
@media(max-width:880px){.lead-row{grid-template-columns:1fr;}.lead-row .lr-side{position:static;}}

/* feature list (what you get) */
.flist{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.6vw,26px);}
@media(max-width:680px){.flist{grid-template-columns:1fr;}}
.fitem{display:flex;flex-direction:column;gap:7px;padding-top:18px;border-top:1px solid var(--line);}
.fitem h3{font-size:17px;font-weight:700;}
.fitem p{font-size:14.5px;color:var(--text-2);line-height:1.55;}

/* CTA band */
.cta-band{text-align:center;}
.cta-band .wrap{display:flex;flex-direction:column;align-items:center;gap:18px;}
.cta-band h2{font-size:clamp(26px,3.6vw,40px);max-width:20ch;}
.cta-band p{color:var(--text-2);max-width:48ch;}

/* ════════ SERVICES OVERVIEW — three linked pillar cards ════════ */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,24px);}
@media(max-width:880px){.pillar-grid{grid-template-columns:1fr;}}
a.pillar-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;
  padding:clamp(22px,3vw,30px);border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--bg-card);position:relative;overflow:hidden;
  transition:border-color var(--t2),transform var(--t2),box-shadow var(--t2);}
a.pillar-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;width:0;
  background:var(--grad);transition:width var(--t4) var(--ease);}
a.pillar-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--sh-2);}
a.pillar-card:hover::after{width:100%;}
a.pillar-card:focus-visible{outline:none;box-shadow:var(--ring);}
.pillar-card .pico{width:46px;height:46px;border-radius:var(--r-sm);background:var(--accent-soft);
  color:var(--accent);display:flex;align-items:center;justify-content:center;}
.pillar-card .pnum{font-size:12.5px;font-weight:750;letter-spacing:.08em;color:var(--accent);}
.pillar-card h3{font-size:clamp(19px,2.2vw,23px);font-weight:700;letter-spacing:-.02em;}
.pillar-card .psub{font-size:12px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);}
.pillar-card p{font-size:14.5px;color:var(--text-2);line-height:1.55;}
.pillar-card .pmore{margin-top:auto;font-size:14px;font-weight:650;color:var(--accent);display:inline-flex;align-items:center;gap:6px;}

/* ════════ TEAM / PROFILE CARDS (landing) ════════ */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,24px);}
@media(max-width:680px){.team-grid{grid-template-columns:1fr;}}
.pcard{display:flex;gap:18px;align-items:flex-start;padding:clamp(20px,3vw,28px);
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);}
.pcard .pavatar{flex:none;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:21px;font-weight:750;letter-spacing:.02em;color:#fff;
  background:linear-gradient(135deg,#6E3BF2,#3415EE);}
.pcard .pbody{display:flex;flex-direction:column;gap:5px;}
.pcard .pname{font-size:18px;font-weight:750;}
.pcard .prole{font-size:12.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.pcard .pbio{font-size:14.5px;color:var(--text-2);line-height:1.55;margin-top:4px;}
.team-note{margin-top:18px;font-size:13.5px;color:var(--text-3);}

/* ════════════════════════════════════════════════════════════
   FORM MODAL (Start a project popup — every page except landing)
   ════════════════════════════════════════════════════════════ */
.form-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-start;justify-content:center;
  padding:clamp(16px,6vh,72px) 16px;overflow-y:auto;opacity:0;transition:opacity .3s var(--ease-io);}
.form-modal.open{opacity:1;}
.form-modal[hidden]{display:none;}
.form-modal-backdrop{position:fixed;inset:0;background:rgba(3,4,8,.66);backdrop-filter:blur(4px);}
.form-modal-card{position:relative;z-index:1;width:100%;max-width:640px;background:var(--bg-card);
  border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);
  padding:clamp(22px,3.4vw,38px);transform:translateY(14px) scale(.99);
  transition:transform .3s var(--ease);}
.form-modal.open .form-modal-card{transform:none;}
.form-modal-card .form-card{padding:0;border:none;background:none;box-shadow:none;}
.form-modal-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);background:var(--bg);color:var(--text-2);font-size:18px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:border-color var(--t2),color var(--t2),background var(--t2);}
.form-modal-x:hover{border-color:var(--text-3);color:var(--text);}
.form-modal-x:focus-visible{outline:none;box-shadow:var(--ring);}
