/* Homepage design system: the same midnight surfaces and cool light as the hero. */
:root{--bg:#050609;--bg-elev:#0b111b;--bg-card:#0c131e;--line:#29374a;--line-soft:#192333;--text:#eef3fb;--text-muted:#acb8c9;--text-dim:#93a2b8;--brand-bright:#b4d4f5;--radius:18px;--maxw:1120px}
body{background:var(--bg)}
.section{padding:92px 0;border-top:1px solid var(--line-soft);background:var(--bg)}
.section>.wrap{position:relative}
.section h2{font-family:var(--font);font-size:clamp(30px,3.8vw,48px);font-weight:750;line-height:1.08;letter-spacing:-.045em;margin:18px 0 0;max-width:22ch;color:var(--text)}
.section h3{font-family:var(--font);font-weight:650;letter-spacing:-.025em}
.section>.wrap>.eyebrow{display:inline-flex;align-items:center;padding:6px 11px;border:1px solid #76b8fb35;border-radius:999px;background:#13223945;color:#b6cce5;font-size:10px;font-weight:500;letter-spacing:.075em;text-transform:none}
.section .lede{font-size:15px;line-height:1.75;margin-top:18px;max-width:62ch;color:var(--text-muted)}
.steps,.work-grid,.contact-grid{margin-top:36px;gap:20px}
.step,.work-card,.contact-prompt,.replaces{background:linear-gradient(145deg,#101a28,#090e17);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 1px #ffffff04}
.step{padding:28px}.step p{font-size:14px;line-height:1.75}.step h3{font-size:18px;margin:22px 0 12px}.step::before{font:500 12px/1 var(--font);letter-spacing:.1em;color:#98abc4;top:30px;right:28px}
.step .sico{background:#18273b;border:1px solid #354c66;color:#b4d4f5;border-radius:12px;width:42px;height:42px}
.section .btn-primary{border:1px solid #7bb4ee80;border-radius:9px;background:linear-gradient(180deg,#172b40,#09121c 65%,#235477);box-shadow:0 4px 18px #5dc9ff24,inset 0 -2px 7px #76d2ff60;font:600 13px var(--font);padding:13px 20px;color:#f4f8ff}
.section .btn-primary:hover{border-color:#b4d4f5;filter:brightness(1.15)}
#what{background:radial-gradient(ellipse at 85% 40%,#10223b55,transparent 65%),var(--bg);color:var(--text);margin:0;padding:92px 0;border-radius:0;border-top:1px solid var(--line-soft)}
#what h2{color:var(--text)}#what .eyebrow{color:#b6cce5}#what .lede{color:var(--text-muted)}
.svc-list{gap:0 44px;margin-top:36px}.svc-row{padding:25px 0;gap:20px;border-color:var(--line)}.svc-row:nth-last-child(-n+2){border-bottom-color:var(--line)}
.svc-num{font:500 12px/1.6 var(--font);color:#91aac9;padding-top:2px}.svc-body h3{font:650 18px/1.2 var(--font);color:var(--text);margin-bottom:12px}.svc-body p{font-size:14px;line-height:1.75;color:var(--text-muted)}
.replaces{padding:26px;margin-top:36px}.replaces h3{color:#c2cfe0;font:500 10px var(--font);letter-spacing:.12em}.tool{background:#0b1420;border-color:#29374a;color:#b5c3d6;font-size:12px;padding:8px 12px;border-radius:8px}.tool s,.tool em{color:#99a9bf;font-size:11px}.replaces-total{border-color:var(--line);font-size:13px;gap:12px 28px}.replaces-total b{font-size:20px;font-weight:650}.replaces-total .was{color:#a0afc3}.replaces-total .now{color:#d3e7ff}
.work-card{padding:24px}.work-card-top{gap:16px;margin-bottom:24px}.work-num{font:500 12px/1.6 var(--font);color:#91aac9;min-width:22px}.work-kind{color:#a9c6e7;font-size:9px;font-weight:500;letter-spacing:.09em;margin-bottom:10px}.work-card-top h3{font-size:18px;margin-bottom:10px}.work-card-top p{font-size:13px;line-height:1.7}
#areas>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:70px;align-items:start}
#areas .eyebrow{justify-self:start}#areas h2,#areas .lede,#areas .chips{grid-column:1}#areas .skymap{grid-column:2;grid-row:1/5;align-self:center;width:100%;max-width:420px;margin:0;justify-self:end;background:radial-gradient(ellipse at 60% 30%,#17345677,transparent 65%),#080d15;border-color:var(--line);border-radius:var(--radius)}
.chips{gap:8px;margin-top:26px}.chip{padding:7px 11px;font-size:11px;background:#0c1420;border-color:#29374a;color:#b5c3d6}.chip svg{width:12px;height:12px;color:#a9c6e7}
.faq{max-width:900px;margin-top:36px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,#101a28,#090e17)}.faq details{padding:0 24px;border-color:var(--line)}.faq details:last-child{border-bottom:0}.faq summary{font-size:15px;font-weight:550;padding:23px 0;line-height:1.5}.faq summary .pm{width:28px;height:28px;border-radius:50%;border-color:#3a4d65;color:#bed6f2}.faq details[open] summary .pm{background:#223b57;border-color:#789abd}.faq p{padding:0 0 24px;font-size:14px;line-height:1.8}
#contact{background:radial-gradient(ellipse at 50% 100%,#15335766,transparent 75%),var(--bg)}.contact-grid{gap:24px;align-items:stretch}.contact-methods{gap:12px}.method{background:#0c1420;border-color:var(--line);border-radius:14px;padding:20px;align-items:center}.method b{font-size:14px}.method>span>span{font-size:12px}.method:hover{background:#142237;border-color:#6687ad}.method svg{color:#bed6f2}.contact-prompt{padding:30px;display:flex;flex-direction:column;justify-content:center}.contact-prompt h3{font-size:23px;line-height:1.2}.contact-prompt p{font-size:14px;line-height:1.75}.contact-prompt .btn{align-self:flex-start}
footer{background:#050609;border-color:var(--line-soft);padding-top:44px;font-size:12px}footer .brand{font-family:var(--font)}footer .brand b{color:#b4d4f5}.foot-links{gap:14px 22px}.foot-links a{min-height:32px}.foot-bottom{font-size:11px;line-height:1.8}.lang-float{background:#0a101be6}
/* In flow above the hero on narrow screens, so it has to match the hero's
   backdrop rather than sit there as a lighter band. */
@media(max-width:760px){.lang-float{background:#050609}}.lang button[aria-pressed="true"]{background:#263f5e}
@media(max-width:820px){.section,#what{padding:64px 0}#areas>.wrap{grid-template-columns:1fr;gap:0}#areas .skymap{grid-column:1;grid-row:auto;justify-self:center;margin-top:30px;max-width:400px}.contact-grid{grid-template-columns:1fr}.section h2{max-width:24ch}}
@media(max-width:700px){.section h2{font-size:32px}.svc-list{grid-template-columns:1fr}.svc-row:nth-last-child(-n+2){border-bottom:0}.svc-row:last-child{border-bottom:1px solid var(--line)}.steps,.work-grid{gap:14px}.step,.work-card,.contact-prompt{padding:22px}.replaces{padding:20px}.faq details{padding:0 18px}.faq summary{font-size:14px}.section .lede{font-size:14px}.replaces-total{flex-direction:column}.contact-prompt h3{font-size:21px}}
/* Short descriptions and meaningful visuals keep each section easy to scan. */
.svc-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#152338;border:1px solid #354c66;color:#b4d4f5}.svc-icon svg{width:21px;height:21px}
.svc-body h3{font-size:17px}.svc-body p{max-width:40ch}.svc-row{gap:16px;padding:26px 0}
.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.work-example{padding:0;display:flex;flex-direction:column}.work-image{padding:16px 16px 0;background:radial-gradient(ellipse at 50% 60%,#24436166,transparent 75%)}.work-image img{display:block;width:100%;height:auto;border-radius:9px;border:1px solid #ffffff26}.work-example-copy{padding:22px 18px}.work-example-copy h3{font-size:18px;margin-bottom:10px}.work-example-copy p{font-size:13px;line-height:1.65;color:var(--text-muted)}
@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-image{padding:20px 24px 0}.work-image img{max-width:220px;margin:auto}}
@media(max-width:480px){.work-grid{grid-template-columns:1fr}.work-example{display:grid;grid-template-columns:42% 1fr;align-items:center}.work-image{padding:14px 0 14px 14px}.work-example-copy{padding:18px 14px}.work-example-copy h3{font-size:17px}.work-example-copy p{font-size:12px}}
