/* Talentacre: global reach, human connection. */
:root {
 --bg:#151714; --bg-2:#1d201b; --text:#f6f5ef; --muted:#a5aaa0; --mint:#d5f578; --blue:#a5c857;
 --surface:#20231e; --surface-2:#292d25; --border:#f5f5e61f; --border-2:#f5f5e63b; --paper:#f1f0e9; --ink:#20241b;
 --grad:linear-gradient(110deg,#d5f578,#b6d966); --radius:18px; --font-head:'Manrope',system-ui,sans-serif;
 --font-body:'DM Sans',system-ui,sans-serif; --font-mono:'JetBrains Mono',ui-monospace,monospace;
 --ease:cubic-bezier(.2,.8,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-padding-top:100px; }
html:not(.lenis) { scroll-behavior:smooth; } html.lenis,html.lenis body { height:auto; } .lenis.lenis-smooth { scroll-behavior:auto!important; }
body { margin:0; background:var(--bg); color:var(--text); font:400 16px/1.7 var(--font-body); overflow-x:hidden; -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; }
img,svg { display:block; max-width:100%; } a { color:inherit; text-decoration:none; } button,input,textarea,select { font:inherit; }
h1,h2,h3 { margin:0 0 .55em; font-family:var(--font-head); line-height:1.08; letter-spacing:-.055em; }
h1 { font-weight:500; } h2 { font-size:clamp(2.4rem,4.1vw,4rem); font-weight:500; } h3 { font-size:1.35rem; font-weight:600; letter-spacing:-.035em; line-height:1.25; }
p { margin:0 0 1em; } ul,ol { padding:0; margin:0; list-style:none; } ::selection { background:var(--mint); color:var(--ink); }
.container { width:min(1344px,calc(100% - 96px)); margin-inline:auto; } .section { padding:118px 0; position:relative; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link { position:fixed; top:-70px; left:20px; z-index:300; background:var(--mint); color:var(--ink); padding:12px 20px; border-radius:8px; } .skip-link:focus { top:12px; }
:focus-visible { outline:2px solid var(--mint); outline-offset:5px; } .hp { position:absolute; left:-9999px; } .mono { font-family:var(--font-mono); }
.i { width:1.15em; height:1.15em; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.progress { position:fixed; top:0; left:0; width:100%; height:2px; background:var(--mint); transform:scaleX(0); transform-origin:left; z-index:100; }
.grain { position:fixed; inset:0; z-index:90; pointer-events:none; opacity:.025; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }

/* Navigation */
.site-header { position:fixed; inset:0 0 auto; z-index:50; background:#151714e8; border-bottom:1px solid var(--border); transition:transform .4s var(--ease),background .3s; backdrop-filter:blur(20px); }
.site-header.hide { transform:translateY(-100%); } .site-header.scrolled { background:#151714f5; }
.nav { display:flex; justify-content:space-between; align-items:center; height:88px; }
.brand { display:inline-flex; align-items:center; gap:10px; min-height:44px; font:700 1.5rem var(--font-head); letter-spacing:-.06em; }
.brand b { font-weight:500; color:var(--mint); }
.nav-links { display:flex; align-items:center; gap:32px; font-size:.85rem; }
.nav-links a:not(.btn) { color:#c5c8bf; padding:12px 0; transition:color .2s; position:relative; }
.nav-links a:not(.btn)::after { content:''; height:1px; position:absolute; inset:auto 0 4px; background:var(--mint); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.nav-links a:hover,.nav-links a.current { color:var(--mint); } .nav-links a:hover::after,.nav-links a.current::after { transform:scaleX(1); }
.nav-toggle { display:none; width:48px; height:48px; position:relative; border:0; background:transparent; cursor:pointer; }
.nav-toggle span { position:absolute; left:12px; width:24px; height:2px; background:var(--text); transition:transform .3s; }
.nav-toggle span:first-child { top:19px; } .nav-toggle span:last-child { top:27px; }
.nav-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); } .nav-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }

/* Shared elements */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:14px; border:1px solid transparent; border-radius:6px; padding:17px 24px; min-height:56px; font:600 .9rem var(--font-body); position:relative; cursor:pointer; transition:transform .3s var(--ease),background .3s,box-shadow .3s; }
.btn-primary { color:var(--ink); background:var(--mint); } .btn-primary:hover { background:#e2ffa0; box-shadow:0 8px 30px #d5f57820; }
.btn-ghost { background:transparent; border-color:var(--border-2); color:var(--text); } .btn-ghost:hover { background:var(--surface-2); }
.btn-sm { padding:11px 18px; min-height:44px; font-size:.82rem; } .btn .i { transition:transform .3s; } .btn:hover .i { transform:translateX(3px); }
.btn.full { width:100%; } .btn:disabled { opacity:.6; pointer-events:none; }
.button-arrow { display:grid; place-items:center; width:26px; height:26px; margin-left:14px; border-left:1px solid #20241b30; padding-left:12px; }
.text-link { display:inline-flex; gap:16px; align-items:center; font-size:.9rem; font-weight:500; transition:color .3s; } .text-link .i { transform:rotate(-40deg); } .text-link:hover { color:var(--mint); }
.eyebrow { display:flex; align-items:center; gap:14px; color:var(--mint); font:400 .66rem var(--font-mono); text-transform:uppercase; letter-spacing:.14em; margin-bottom:28px; }
.idx { color:var(--muted); border:1px solid var(--border); padding:3px 7px; border-radius:3px; font-size:.65rem; letter-spacing:0; }
.dot { display:inline-block; width:7px; height:7px; background:var(--mint); border-radius:50%; box-shadow:0 0 0 4px #d5f57812; flex-shrink:0; }
.grad { color:var(--mint); } .muted-heading { color:#92978a; } .glass { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.section-head { max-width:780px; margin-bottom:56px; } .section-head>p:last-child { max-width:550px; color:var(--muted); font-size:1rem; margin-top:24px; }
.reveal { opacity:0; transform:translateY(25px); transition:opacity .8s var(--ease-out),transform .8s var(--ease-out); } .reveal.in { opacity:1; transform:none; }
.hero-in { opacity:0; transform:translateY(20px); transition:opacity 1s var(--ease-out),transform 1s var(--ease-out); } .ready .hero-in { opacity:1; transform:none; }
.hero-copy h1 { transition-delay:.1s; } .hero-copy .lead { transition-delay:.2s; } .hero-copy .hero-cta { transition-delay:.3s; } .hero-proof { transition-delay:.4s; } .hero-visual { transition-delay:.2s; }

/* Hero */
.hero { position:relative; overflow:hidden; padding:156px 0 0; background:radial-gradient(ellipse at 85% 35%,#343e2526,transparent 55%),var(--bg); }
.hero-inner { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:18px; }
.hero-copy { position:relative; z-index:3; padding-bottom:28px; min-width:0; }
.hero h1 { font-size:clamp(3.5rem,6.15vw,6.3rem); line-height:1.06; margin:0 0 28px; letter-spacing:-.07em; }
.hero-emphasis { color:var(--mint); white-space:nowrap; position:relative; }
.hero-emphasis::after { content:''; position:absolute; bottom:-8px; left:0; width:100%; height:8px; border-top:2px solid var(--mint); border-radius:50%; opacity:.45; transform:rotate(-2deg); }
.lead { font-size:1.02rem; color:var(--muted); max-width:425px; line-height:1.8; }
.hero-cta { display:flex; align-items:center; gap:27px; margin:33px 0; }
.hero-proof { display:flex; gap:14px; align-items:center; border-top:1px solid var(--border); padding-top:25px; max-width:440px; }
.proof-mark { display:grid; place-items:center; width:42px; height:42px; background:#d5f5780b; border:1px solid #d5f57830; border-radius:50%; color:var(--mint); }
.hero-proof p { font-size:.8rem; line-height:1.8; margin:0; } .hero-proof p span { color:var(--muted); font-size:.72rem; }
.hero-visual { position:relative; height:570px; min-width:0; isolation:isolate; background:radial-gradient(circle at center,#d5f57809,transparent 62%); }
.hero-visual::before { content:''; position:absolute; inset:35px 0; background:linear-gradient(#a3b77b09 1px,transparent 1px),linear-gradient(90deg,#a3b77b09 1px,transparent 1px); background-size:42px 42px; mask-image:radial-gradient(ellipse,#000 20%,transparent 72%); }
.visual-corner { position:absolute; width:22px; height:22px; opacity:.4; border-color:var(--mint); }
.corner-tl { top:25px; left:12px; border-top:1px solid; border-left:1px solid; } .corner-br { bottom:25px; right:12px; border-bottom:1px solid; border-right:1px solid; }
.network-caption { position:absolute; top:12px; left:45px; right:18px; display:flex; gap:12px; align-items:center; color:#b5c297; font:.57rem var(--font-mono); letter-spacing:.1em; }
.network-caption .dot { width:5px; height:5px; } .caption-index { margin-left:auto; color:#788269; }
#webgl { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.globe-labels { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
.g-label { position:absolute; top:0; left:0; display:flex; align-items:center; gap:6px; white-space:nowrap; color:#e0e7d2; font:400 .55rem var(--font-mono); text-transform:uppercase; letter-spacing:.08em; transition:opacity .3s; }
.g-label::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--mint); box-shadow:0 0 12px var(--mint); }
.g-label span { background:#151714b8; border:1px solid #d5f57828; border-radius:3px; padding:4px 6px; }
.globe-hit { position:absolute; inset:40px 0 80px; z-index:3; pointer-events:none; }
.scene-loaded .globe-hit { pointer-events:auto; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.scene-loaded .globe-hit:active { cursor:grabbing; }
.connection-card { position:absolute; z-index:4; left:-5px; bottom:108px; display:flex; align-items:center; gap:13px; padding:17px 19px; background:#f0f2e8; border:1px solid white; color:var(--ink); border-radius:10px; box-shadow:0 20px 60px #0003; transform:rotate(-5deg); animation:float-card 7s ease-in-out infinite; pointer-events:none; }
.connection-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:7px; background:#d5f578; }
.connection-card small { display:block; font:.5rem var(--font-mono); letter-spacing:.13em; color:#727a66; margin-bottom:5px; }
.connection-card strong { display:block; font:600 .86rem var(--font-head); letter-spacing:-.035em; } .connection-check { color:#4c6535; padding-left:10px; }
@keyframes float-card { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-10px) rotate(-3deg); } }
.hero-hud { position:absolute; bottom:40px; right:23px; z-index:4; display:grid; gap:5px; font:.53rem var(--font-mono); text-align:right; letter-spacing:.1em; color:#899477; pointer-events:none; }
.hud-line { color:var(--mint); } .hud-hint { font:.65rem var(--font-body); letter-spacing:0; opacity:.8; }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; padding:27px 0; border-top:1px solid var(--border); margin-top:46px; }
.hero-bottom a { display:inline-flex; gap:18px; align-items:center; color:#c2c7b8; font-size:.75rem; } .hero-bottom a .i { transform:rotate(90deg); color:var(--mint); }
.hero-bottom>span { font:.56rem var(--font-mono); letter-spacing:.15em; color:#7f8873; }

/* Offline sphere fallback */
.orbital-fallback { position:absolute; inset:70px 20px 80px; display:grid; place-items:center; transition:opacity .7s; } .scene-loaded .orbital-fallback { opacity:0; }
.orbital-sphere { position:relative; width:72%; aspect-ratio:1; border:1px solid #c9ee7880; border-radius:50%; overflow:hidden; background:radial-gradient(circle at 30% 25%,#5c6b39,#252e1d 40%,#151714 76%); box-shadow:inset -20px -15px 50px #0006,0 0 60px #d5f57812; }
.orbital-sphere span { position:absolute; inset:0; border:1px solid #d5f57830; border-radius:50%; transform:scaleX(.35) rotate(25deg); }
.orbital-sphere span:nth-child(2) { transform:scaleX(.72) rotate(25deg); } .orbital-sphere span:nth-child(3) { transform:rotate(25deg); }
.orbital-sphere i { position:absolute; inset:0; border:1px solid #d5f57830; border-radius:50%; transform:scaleY(.4) rotate(-25deg); }
.orbital-sphere i:nth-of-type(2) { transform:scaleY(.7) rotate(-25deg); } .orbital-sphere i:nth-of-type(3) { inset:15%; transform:scaleY(.35) rotate(-25deg); }
.orbit { position:absolute; width:93%; height:47%; border:1px solid #d5f57840; border-radius:50%; transform:rotate(-32deg); }
.orbit::after { content:''; position:absolute; top:16%; left:12%; width:7px; height:7px; background:var(--mint); border-radius:50%; box-shadow:0 0 18px var(--mint); }
.orbit-two { transform:rotate(35deg); height:30%; border-color:#d5f57822; }

/* Accent ribbon */
.marquee { overflow:hidden; background:var(--mint); color:var(--ink); padding:24px 0; }
.marquee-track { display:flex; align-items:center; gap:42px; width:max-content; animation:marquee 45s linear infinite; font:500 1.1rem var(--font-head); letter-spacing:-.03em; white-space:nowrap; }
.marquee-track .i { width:19px; height:19px; } .marquee:hover .marquee-track { animation-play-state:paused; } @keyframes marquee { to { transform:translateX(-50%); } }

/* Editorial paper sections */
.about,#services,#industries,#process,#faq { --text:#20241b; --muted:#6a7163; --surface:#e9e9e0; --surface-2:#e2e5d8; --border:#20241b20; --border-2:#20241b38; background:var(--paper); color:var(--text); }
:is(.about,#services,#industries,#process,#faq) .eyebrow { color:#546b31; } :is(.about,#services,#industries,#process,#faq) :focus-visible { outline-color:#4c6535; }
.about-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.about-grid>*,.planner>*,.why-grid>*,.contact-grid>* { min-width:0; }
.about .big { font:400 1.45rem/1.6 var(--font-head); letter-spacing:-.04em; margin-bottom:24px; } .about .big strong { font-weight:500; }
.about .big+p { color:var(--muted); font-size:.94rem; }
.facts { display:grid; grid-template-columns:1fr 1fr; gap:23px; margin:34px 0 0; padding-top:27px; border-top:1px solid var(--border); }
.facts dt { font:.6rem var(--font-mono); color:var(--muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; } .facts dd { margin:0; font-size:.8rem; }
.stats { background:var(--paper); color:var(--ink); padding:0 0 70px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid #20241b25; }
.stat { position:relative; padding:35px 25px; border-right:1px solid #20241b25; display:grid; gap:12px; }
.stat:first-child { padding-left:0; } .stat:last-child { border-right:0; }
.stat-i { position:absolute; top:35px; right:25px; color:#727e5b; width:20px; height:20px; }
.stat .num { font:500 clamp(2.6rem,4.2vw,4rem) var(--font-head); line-height:1; letter-spacing:-.065em; }
.stat .label { font-size:.72rem; color:#747b6b; } .footnote { color:#747b6b; font-size:.63rem; margin-top:14px; }
#services { padding-top:55px; }
#services .section-head { max-width:none; display:grid; grid-template-columns:1fr .6fr; column-gap:70px; align-items:end; }
#services .section-head .eyebrow { grid-column:1/-1; } #services .section-head h2 { margin:0; } #services .section-head>p:last-child { margin:0 0 5px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card { position:relative; overflow:hidden; background:#f9f8f3; border:1px solid #20241b18; border-radius:12px; padding:30px; display:flex; flex-direction:column; transition:transform .25s,border-color .3s,box-shadow .3s,opacity .8s; }
.card:hover { border-color:#9eac7c; box-shadow:0 14px 35px #262f1810; } .card:first-child { background:#e0ecc3; border-color:#c5d6a5; }
.card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:42px; }
.card-icon { display:grid; place-items:center; color:#526537; width:42px; height:42px; border:1px solid #64774a30; border-radius:50%; }
.card-icon .i { width:21px; height:21px; } .card-n { color:#969d8a; font:.58rem var(--font-mono); }
.card h3 { font-size:1.27rem; max-width:240px; } .card>p { color:var(--muted); font-size:.85rem; margin:10px 0 28px; }
.card ul { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:22px; border-top:1px solid var(--border); }
.card li { font-size:.62rem; color:#5b674c; padding:5px 9px; border:1px solid #63784b26; border-radius:4px; }
.service-link { display:inline-flex; align-items:center; gap:10px; font-size:.73rem; font-weight:600; margin-top:23px; color:#3f5229; align-self:flex-start; }
.service-link .i { transform:rotate(-35deg); transition:transform .3s; } .service-link:hover .i { transform:rotate(0); }

/* Hiring model finder */
#planner { background:radial-gradient(ellipse at 12% 70%,#5d733724,transparent 50%),var(--bg); }
.planner { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }
.planner-copy>p:last-child { color:var(--muted); max-width:360px; margin-top:30px; }
.planner-ui { padding:0 30px 30px; display:grid; gap:22px; background:#23271e; border-color:#d5f5782b; box-shadow:0 25px 90px #0002; }
.planner-head { display:flex; gap:18px; align-items:center; border-bottom:1px solid var(--border); padding:20px 30px; margin:0 -30px 2px; color:var(--muted); font:.56rem var(--font-mono); letter-spacing:.05em; }
.dots { display:flex; gap:5px; } .dots i { width:6px; height:6px; background:#667057; border-radius:50%; } .dots i:first-child { background:var(--mint); }
.planner-ui fieldset { min-width:0; padding:0; border:0; margin:0; } .planner-ui legend { font-size:.82rem; font-weight:500; margin-bottom:12px; }
.chips { display:flex; gap:8px; flex-wrap:wrap; } .chips label { cursor:pointer; position:relative; } .chips input { position:absolute; opacity:0; width:1px; height:1px; }
.chips span { display:inline-block; padding:9px 14px; background:#191c16; border:1px solid var(--border); border-radius:5px; font-size:.75rem; color:var(--muted); transition:color .25s,background .25s,border-color .25s; }
.chips input:checked+span { background:var(--mint); color:var(--ink); border-color:var(--mint); }
.chips input:focus-visible+span { outline:2px solid var(--mint); outline-offset:4px; } .chips label:hover span { border-color:#d5f57870; }
.planner-result { display:flex; align-items:flex-start; gap:15px; border-top:1px solid #d5f57845; background:#d5f57809; padding:21px 17px; border-radius:7px; }
.pr-icon { display:grid; place-items:center; width:37px; height:37px; background:var(--mint); color:var(--ink); border-radius:5px; flex-shrink:0; }
.pr-body { display:grid; gap:7px; min-width:0; } .pr-label { color:var(--mint); font:.54rem var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.pr-title { font:600 1.1rem var(--font-head); letter-spacing:-.03em; } .pr-desc { font-size:.75rem; color:var(--muted); line-height:1.7; }
.planner-result.flash { animation:flash .4s var(--ease); } @keyframes flash { from { opacity:.4; transform:translateY(5px); } to { opacity:1; transform:none; } }

/* Industry directory and process */
.industries { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; counter-reset:industry; }
.industries li { display:flex; align-items:center; gap:22px; padding:25px 0; border-bottom:1px solid var(--border); font-size:.96rem; counter-increment:industry; transition:padding .3s,color .3s,opacity .8s,transform .8s; }
.industries li::after { content:'0' counter(industry) ' ↗'; margin-left:auto; white-space:nowrap; color:#8b957d; font:.65rem var(--font-mono); }
.industries .i { color:#62734b; width:23px; height:23px; } .industries li:hover { padding-left:8px; color:#5b7236; }
#process { border-top:1px solid #20241b20; } #process>.container { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
#process .section-head { position:sticky; top:120px; align-self:start; margin-bottom:0; }
.timeline { position:relative; --p:0; }
.timeline::before,.timeline::after { content:''; position:absolute; left:23px; top:27px; bottom:72px; width:1px; background:#b7beaa; }
.timeline::after { background:#6c853e; transform:scaleY(var(--p)); transform-origin:top; }
.timeline li { position:relative; display:grid; grid-template-columns:48px 1fr; gap:26px; padding:0 0 34px; }
.step { display:grid; place-items:center; position:relative; z-index:1; width:48px; height:48px; border-radius:50%; background:var(--paper); border:1px solid #c3c7b8; color:#7d8870; transition:background .3s,color .3s; }
.step .i { width:21px; height:21px; } .timeline li.active .step { background:var(--mint); color:var(--ink); border-color:#b8cf88; }
.step-n { font:.55rem var(--font-mono); text-transform:uppercase; color:#7c8b68; letter-spacing:.12em; }
.timeline h3 { margin:6px 0 10px; font-size:1.3rem; } .timeline p { max-width:430px; color:var(--muted); font-size:.86rem; margin:0; }

/* Principles and candidate invitation */
.why-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; } .why-grid>div>p:last-child { color:var(--muted); max-width:350px; margin-top:26px; }
.why-list { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .why-list li { padding:28px; border-radius:10px; transition:transform .25s,opacity .8s; }
.why-i { width:26px; height:26px; color:var(--mint); margin-bottom:34px; } .why-list h3 { font-size:1.12rem; } .why-list p { color:var(--muted); font-size:.8rem; margin:13px 0 0; }
.candidates { padding:0 0 115px; }
.cand-inner { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:70px; padding:65px; border-radius:14px; background:var(--mint); color:var(--ink); border:0; }
.cand-inner::before { content:''; position:absolute; width:440px; height:440px; border:1px solid #20241b15; border-radius:50%; right:-100px; top:-170px; box-shadow:0 0 0 50px #20241b08,0 0 0 100px #20241b05; pointer-events:none; }
.cand-inner>* { position:relative; } .cand-inner .eyebrow { color:#526832; } .cand-inner .idx { border-color:#20241b35; color:#526832; }
.cand-inner h2 { font-size:clamp(2.3rem,3.5vw,3.7rem); } .cand-inner p:last-child { max-width:580px; font-size:.9rem; color:#52603e; margin-bottom:0; }
.cand-inner .btn { flex-shrink:0; background:var(--ink); color:var(--mint); } .cand-inner .btn:hover { background:#333b2a; }

/* FAQ */
.faq-wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; } .faq { min-width:0; }
.faq details { border-bottom:1px solid var(--border); } .faq details:first-child { border-top:1px solid var(--border); }
.faq summary { position:relative; padding:24px 42px 24px 0; cursor:pointer; list-style:none; font-weight:500; font-size:.9rem; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::before,.faq summary::after { content:''; position:absolute; right:8px; top:32px; height:1px; width:12px; background:#687855; transition:transform .3s; }
.faq summary::after { transform:rotate(90deg); } .faq details[open] summary::after { transform:rotate(0); }
.faq details p { padding:0 32px 23px 0; margin:0; color:var(--muted); font-size:.83rem; } .faq details a { color:#4c6535; text-decoration:underline; }

/* Contact and footer */
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:start; }
.contact-grid>div>p:not(.eyebrow) { color:var(--muted); max-width:390px; margin-top:26px; }
.contact-mail { display:inline-flex; align-items:center; gap:16px; margin-top:24px; }
.cm-icon { width:46px; height:46px; display:grid; place-items:center; border:1px solid #d5f57845; border-radius:50%; color:var(--mint); }
.contact-mail small { display:block; text-transform:uppercase; color:var(--muted); font:.54rem var(--font-mono); letter-spacing:.1em; margin-bottom:7px; }
.contact-mail>span:last-child { font-size:1rem; } .contact-mail:hover { color:var(--mint); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:23px 18px; padding:35px; border-radius:12px; }
.field { display:grid; gap:10px; min-width:0; } .full { grid-column:1/-1; } .field label { font-size:.75rem; color:#c2c7b8; }
.field input,.field select,.field textarea { width:100%; min-width:0; padding:13px 14px; border:1px solid var(--border); border-radius:5px; background:#181b15; color:var(--text); font-size:.82rem; transition:border-color .2s; }
.field textarea { resize:vertical; min-height:120px; } .field select option { background:var(--bg); } .field input::placeholder,.field textarea::placeholder { color:#7e8774; }
.field input:focus,.field select:focus,.field textarea:focus { outline:0; border-color:var(--mint); box-shadow:0 0 0 3px #d5f57810; }
.field .invalid { border-color:#f5a28b; } .form-status { min-height:1em; font-size:.8rem; margin:0; }
.form-status:empty { display:none; } .form-status.ok { color:var(--mint); } .form-status.err { color:#f5ad97; } .form-status a { text-decoration:underline; }
.site-footer { padding:0 0 30px; background:var(--bg); }
.footer-cta { display:flex; align-items:center; justify-content:space-between; gap:35px; border-block:1px solid var(--border); padding-block:65px; margin-bottom:60px; }
.footer-big { font:500 clamp(2.5rem,4.7vw,5rem)/1.08 var(--font-head); letter-spacing:-.06em; margin:0; max-width:680px; }
.footer-grid { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:45px; }
.footer-grid .brand { margin-bottom:17px; } .footer-grid p { color:var(--muted); font-size:.78rem; max-width:285px; }
.footer-grid h3 { color:#c4cbb8; font:.57rem var(--font-mono); text-transform:uppercase; letter-spacing:.1em; margin-bottom:22px; }
.footer-grid ul { display:grid; gap:10px; } .footer-grid li a { color:var(--muted); font-size:.75rem; } .footer-grid li a:hover { color:var(--mint); }
.copyright { display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--border); padding-top:22px; margin-top:48px; margin-bottom:0; color:#8d9582; font-size:.65rem; }
.copyright .mono { font-size:.52rem; text-transform:uppercase; letter-spacing:.1em; }

/* Native pointer with a subtle trailing accent */
.cursor { position:fixed; inset:0; pointer-events:none; z-index:100; display:none; } .has-cursor .cursor { display:block; }
.cursor-dot { display:none; } .cursor-ring { position:absolute; top:0; left:0; width:28px; height:28px; margin:-14px; border-radius:50%; border:1px solid #a0b57580; transition:width .3s,height .3s,margin .3s; }
.cursor.hover .cursor-ring { width:44px; height:44px; margin:-22px; border-color:#8ea55c; }

/* Responsive */
@media (min-width:1600px) { .hero { padding-top:190px; } .hero-visual { height:630px; } .hero-bottom { margin-top:60px; } }
@media (min-width:1081px) and (max-height:850px) {
 .hero { padding-top:128px; } .hero h1 { font-size:clamp(3.5rem,5.6vw,5rem); margin-bottom:22px; }
 .hero-copy { padding-bottom:0; } .hero-copy .eyebrow { margin-bottom:20px; } .hero-visual { height:490px; }
 .hero-cta { margin-block:26px; } .hero-proof { padding-top:18px; } .hero-bottom { margin-top:30px; padding-block:24px; }
}
@media (max-width:1200px) {
 .container { width:calc(100% - 64px); } .nav-links { gap:22px; } .hero h1 { font-size:6.15vw; } .hero-visual { height:510px; }
 .hero-cta { gap:20px; } .hero-cta .btn { padding-inline:20px; } .text-link { font-size:.8rem; gap:8px; }
 .about-grid,.why-grid,.faq-wrap,#process>.container { gap:55px; } .planner,.contact-grid { gap:60px; } .card { padding:25px; }
 .connection-card { left:10px; bottom:95px; padding:14px; }
}
@media (max-width:1080px),(max-height:500px) and (orientation:landscape) {
 .nav { height:76px; } .nav-toggle { display:block; z-index:2; }
 .nav-links { position:fixed; inset:0; height:100dvh; display:flex; flex-direction:column; justify-content:center; gap:26px; background:#151714fa; padding:90px 24px 40px; opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s; overflow-y:auto; }
 .nav-links.open { opacity:1; visibility:visible; } .nav-links a:not(.btn) { font:500 1.7rem var(--font-head); padding:8px 15px; } .nav-links .btn { min-height:52px; padding:14px 26px; }
 .hero { padding-top:127px; } .hero-visual { height:460px; } .hero h1 { font-size:6.3vw; } .hero .eyebrow { font-size:.54rem; gap:10px; } .hero .lead { font-size:.9rem; }
 .hero-cta { flex-wrap:wrap; gap:20px; } .hero-proof { padding-top:18px; }
 .connection-card strong { font-size:.7rem; } .connection-card small { font-size:.43rem; } .connection-icon { width:30px; height:30px; }
 .cards { grid-template-columns:repeat(2,1fr); } .section { padding:85px 0; }
 .about-grid { grid-template-columns:.8fr 1.2fr; gap:40px; } .about .big { font-size:1.2rem; }
 .planner,.why-grid,.contact-grid { grid-template-columns:1fr; gap:40px; }
 .planner-copy>p:last-child,.why-grid>div>p:last-child { max-width:500px; } .planner-ui { max-width:700px; }
 #process>.container,.faq-wrap { grid-template-columns:1fr; gap:40px; } #process .section-head { position:static; } .timeline { max-width:700px; }
 .cand-inner { padding:45px; gap:30px; } .candidates { padding-top:0; }
 .footer-grid { grid-template-columns:1.3fr 1fr 1fr; gap:35px; } .footer-grid>:last-child { grid-column:2/-1; }
}
@media (max-width:760px) {
 .container { width:calc(100% - 40px); } .brand { font-size:1.35rem; } .nav { height:70px; }
 .hero { padding-top:116px; } .hero-inner { grid-template-columns:1fr; gap:0; } .hero-copy { padding-bottom:0; }
 .hero .eyebrow { font-size:.58rem; margin-bottom:26px; } .hero h1 { font-size:clamp(3.35rem,10vw,4.9rem); max-width:650px; margin-bottom:29px; }
 .hero .lead { max-width:450px; font-size:.95rem; } .hero-cta { margin:27px 0; gap:22px; } .hero-proof { max-width:450px; }
 .hero-visual { height:450px; width:min(100%,560px); margin:25px auto 0; } .network-caption { font-size:.5rem; }
 .connection-card { bottom:95px; left:6px; } .connection-card strong { font-size:.8rem; } .connection-card small { font-size:.48rem; }
 .hero-hud { bottom:33px; } .hero-bottom { margin-top:20px; padding-block:22px; } .hero-bottom>span { display:none; }
 h2 { font-size:clamp(2.3rem,7vw,3.2rem); } .section { padding:72px 0; } .eyebrow { font-size:.6rem; margin-bottom:24px; }
 .about-grid { grid-template-columns:1fr; gap:28px; } .about .big { font-size:1.3rem; } .facts { gap:23px 18px; }
 .stats { padding-bottom:40px; } .stats-grid { grid-template-columns:1fr 1fr; }
 .stat { padding:25px 20px; } .stat:first-child { padding-left:20px; } .stat:nth-child(2) { border-right:0; } .stat:nth-child(-n+2) { border-bottom:1px solid #20241b25; }
 .stat-i { top:25px; right:20px; width:17px; } .stat .num { font-size:2.6rem; } .stat .label { font-size:.64rem; max-width:135px; }
 .marquee { padding:21px 0; } .marquee-track { font-size:.9rem; gap:28px; }
 #services { padding-top:36px; } #services .section-head { grid-template-columns:1fr; gap:20px; } #services .section-head .eyebrow { margin-bottom:0; }
 .section-head { margin-bottom:36px; } .cards { grid-template-columns:1fr; gap:14px; } .card { padding:28px; } .card-top { margin-bottom:30px; } .card h3 { max-width:none; } .card>p { max-width:450px; }
 .planner-ui { padding:0 22px 22px; } .planner-head { margin-inline:-22px; padding-inline:22px; font-size:.5rem; gap:10px; }
 .chips span { padding:11px 12px; } .pr-title { font-size:1rem; } .industries { grid-template-columns:1fr; } .industries li { font-size:.9rem; padding-block:24px; gap:16px; }
 .timeline li { gap:20px; } .timeline h3 { font-size:1.2rem; } .why-list { gap:12px; } .why-list li { padding:22px; } .why-i { margin-bottom:24px; }
 .cand-inner { padding:35px 28px; flex-direction:column; align-items:flex-start; gap:30px; } .cand-inner h2 { font-size:2.2rem; } .cand-inner .btn { width:100%; }
 .contact-form { padding:24px; gap:20px 14px; } .contact-grid { gap:36px; }
 .footer-cta { padding-block:42px; flex-direction:column; align-items:flex-start; margin-bottom:45px; } .footer-cta .btn { width:100%; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:35px 24px; } .footer-grid>:first-child,.footer-grid>:last-child { grid-column:1/-1; }
 .footer-grid li a { display:inline-block; padding-block:5px; } .copyright { flex-direction:column; gap:12px; margin-top:35px; } .cursor { display:none!important; }
}
@media (max-width:390px) {
 .hero h1 { font-size:12vw; } .hero-cta { gap:20px; } .hero-cta .btn { width:100%; } .hero-visual { height:390px; }
 .connection-card { padding:12px; gap:10px; } .connection-check { display:none; } .why-list,.contact-form,.facts { grid-template-columns:1fr; }
 .planner-head { font-size:.43rem; } .hero-hud { font-size:.47rem; }
}
@media (max-height:500px) and (orientation:landscape) { .hero { padding-top:115px; } .hero-visual { height:400px; } .nav-links { gap:12px; } .nav-links a:not(.btn) { font-size:1.25rem; } }
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .reveal,.hero-in { opacity:1!important; transform:none!important; } .cursor { display:none!important; }
}
