:root{
  --ink:#0a1624;
  --ink-2:#14263a;
  --paper:#f4f1ea;
  --paper-2:#fbfaf7;
  --line:rgba(10,22,36,.16);
  --muted:#6d747d;
  --accent:#b99155;
  --accent-2:#d6bf98;
  --white:#ffffff;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper-2);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.eyebrow{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.display{font-size:clamp(3rem,7vw,7.5rem);line-height:.92;letter-spacing:-.055em;font-weight:650;margin:0}
.h2{font-size:clamp(2.2rem,4.3vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:0}
.lead{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55;color:#42505e;max-width:760px}
.small{font-size:.92rem;color:var(--muted)}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:.28s ease;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(251,250,247,.92);backdrop-filter:blur(18px);border-bottom-color:var(--line)}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;font-weight:750;letter-spacing:.14em;font-size:.88rem}
.brand-mark{width:39px;height:39px;border:1px solid currentColor;display:grid;place-items:center;font-size:.74rem;letter-spacing:-.04em}
.nav-links{display:flex;align-items:center;gap:27px;font-size:.91rem}
.nav-links a{opacity:.75;transition:.2s ease}
.nav-links a:hover,.nav-links a.active{opacity:1}
.nav-cta{padding:11px 17px;border:1px solid var(--ink);opacity:1!important}
.menu-btn{display:none;border:0;background:transparent;font-size:1.5rem;padding:8px}

/* Hero */
.hero{min-height:100vh;padding:150px 0 72px;position:relative;overflow:hidden;background:
 radial-gradient(circle at 85% 15%,rgba(185,145,85,.18),transparent 30%),
 linear-gradient(135deg,#f8f5ef 0%,#fbfaf7 55%,#ede7dc 100%)}
.hero-grid{min-height:calc(100vh - 222px);display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:48px}
.hero-copy{padding-bottom:46px;position:relative;z-index:3}
.hero-copy .lead{margin:30px 0 36px;max-width:690px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--ink);font-weight:650;font-size:.92rem;transition:.2s ease}
.btn.dark{background:var(--ink);color:var(--white)}
.btn:hover{transform:translateY(-2px)}
.hero-art{height:72vh;min-height:520px;position:relative;border-left:1px solid rgba(10,22,36,.18);overflow:hidden}
.hero-art::before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,transparent 49.7%,rgba(10,22,36,.08) 50%,transparent 50.3%),
 linear-gradient(0deg,transparent 49.7%,rgba(10,22,36,.08) 50%,transparent 50.3%);background-size:92px 92px}
.tower{position:absolute;bottom:0;background:linear-gradient(180deg,#203851,#0a1624);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.tower::after{content:"";position:absolute;inset:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 17px),repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 2px,transparent 2px 22px)}
.t1{left:11%;width:25%;height:62%}.t2{left:38%;width:20%;height:82%}.t3{left:61%;width:29%;height:49%}
.t2::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-68px;width:1px;height:68px;background:var(--ink)}
.hero-note{position:absolute;right:0;top:18%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#66717d}

/* Sections */
.section{padding:112px 0;border-top:1px solid var(--line)}
.section.dark{background:var(--ink);color:white;border-top:0}
.section.dark .lead,.section.dark .small{color:#b7c0c9}
.section-head{display:grid;grid-template-columns:.42fr 1fr;gap:48px;align-items:start;margin-bottom:66px}
.section-head .h2{max-width:850px}

.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.stat-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.stat{padding:35px;min-height:175px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.stat:nth-child(2n){border-right:0}.stat:nth-last-child(-n+2){border-bottom:0}
.stat strong{font-size:2.2rem;letter-spacing:-.04em}
.stat span{font-size:.85rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}

.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2c3a49;border:1px solid #2c3a49}
.business-card{min-height:470px;background:var(--ink);padding:36px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.3s ease}
.business-card:hover{background:#11283d}
.business-card .num{color:var(--accent-2);font-size:.78rem;letter-spacing:.18em}
.business-card h3{font-size:2rem;line-height:1.05;letter-spacing:-.035em;margin:22px 0 14px}
.business-card p{color:#aeb8c2;margin:0 0 26px;max-width:330px}
.business-card .link{margin-top:auto;color:white;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.business-visual{height:165px;margin:26px -36px -36px;position:relative;opacity:.9}
.fiber{background:radial-gradient(circle at 20% 70%,#4d8bb9 0 2px,transparent 3px),radial-gradient(circle at 48% 35%,#9dc8e5 0 2px,transparent 3px),radial-gradient(circle at 75% 55%,#d7ecf7 0 2px,transparent 3px),linear-gradient(135deg,#08131d,#173d59)}
.fiber::before,.fiber::after{content:"";position:absolute;width:150%;height:1px;background:linear-gradient(90deg,transparent,#8ec1df,transparent);transform:rotate(-18deg);left:-15%;top:55%}.fiber::after{top:34%;transform:rotate(12deg)}
.buildings{background:linear-gradient(180deg,#263a4d,#0a1624)}
.buildings::before{content:"";position:absolute;left:8%;bottom:0;width:22%;height:74%;background:#b99155;box-shadow:115px 35px 0 #6e7b86,230px -5px 0 #c9b28e,345px 62px 0 #44586b}
.network{background:radial-gradient(circle at 20% 30%,rgba(185,145,85,.8) 0 3px,transparent 4px),radial-gradient(circle at 63% 47%,rgba(255,255,255,.7) 0 3px,transparent 4px),radial-gradient(circle at 83% 22%,rgba(185,145,85,.65) 0 3px,transparent 4px),linear-gradient(135deg,#08131d,#2b3440)}
.network::before{content:"";position:absolute;inset:0;background:linear-gradient(26deg,transparent 48.8%,rgba(255,255,255,.18) 49%,rgba(255,255,255,.18) 49.3%,transparent 49.5%),linear-gradient(-18deg,transparent 48.8%,rgba(185,145,85,.25) 49%,rgba(185,145,85,.25) 49.3%,transparent 49.5%)}

.approach{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.approach-copy{padding:64px}
.approach-graphic{min-height:540px;background:var(--paper);position:relative;overflow:hidden;border-left:1px solid var(--line)}
.circle{position:absolute;border:1px solid rgba(10,22,36,.2);border-radius:50%}
.c1{width:440px;height:440px;right:-80px;top:-100px}.c2{width:300px;height:300px;left:-80px;bottom:-60px}.c3{width:180px;height:180px;right:18%;bottom:20%;background:var(--accent);border:0;opacity:.85}
.approach-list{margin:34px 0 0;padding:0;list-style:none}
.approach-list li{padding:18px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:.98rem}
.approach-list span:first-child{font-weight:700}
.approach-list span:last-child{color:var(--muted);text-align:right}

.cta{padding:95px 0;background:var(--paper);border-top:1px solid var(--line)}
.cta-box{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.cta .h2{max-width:900px}

/* Page hero */
.page-hero{padding:170px 0 95px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero .lead{margin-top:28px}
.detail-grid{display:grid;grid-template-columns:.5fr 1fr;gap:64px}
.detail-list{list-style:none;padding:0;margin:0}
.detail-list li{padding:15px 0;border-bottom:1px solid var(--line)}
.detail-list strong{display:block;margin-bottom:4px}
.banner{min-height:360px;margin-top:65px;background:var(--ink);position:relative;overflow:hidden}
.banner::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(185,145,85,.22) 20% 21%,transparent 21% 38%,rgba(255,255,255,.08) 38% 39%,transparent 39%)}
.banner-copy{position:absolute;left:45px;bottom:40px;color:white;max-width:630px}
.banner-copy h3{font-size:2.4rem;margin:0 0 10px;letter-spacing:-.04em}
.banner-copy p{color:#c0c8d0;margin:0}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.contact-card{background:var(--ink);color:white;padding:44px}
.contact-card a{display:block;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.contact-card .small{color:#b9c1ca}
.form{display:grid;gap:18px}
.form label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.form input,.form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 0;outline:none}
.form textarea{min-height:130px;resize:vertical}
.form button{justify-self:start}

footer{background:#07111c;color:white;padding:58px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}
.footer-title{font-size:1.4rem;letter-spacing:.08em;margin-bottom:18px}
.footer-links a{display:block;color:#b3bdc8;margin:8px 0}
.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:#8f9ba7;font-size:.82rem}

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

@media(max-width:900px){
 .container{width:min(calc(100% - 30px),var(--max))}
 .nav{height:72px}.nav-links{display:none}.menu-btn{display:block}.nav-links.open{display:flex;position:absolute;left:15px;right:15px;top:72px;background:var(--paper-2);border:1px solid var(--line);padding:22px;flex-direction:column;align-items:stretch;gap:14px}
 .hero{padding-top:110px}.hero-grid{grid-template-columns:1fr;align-items:center}.hero-art{height:46vh;min-height:350px;border-left:0;border-top:1px solid var(--line)}
 .section{padding:76px 0}.section-head,.who-grid,.detail-grid,.contact-grid,.cta-box{grid-template-columns:1fr;gap:28px}.section-head{margin-bottom:40px}
 .business-grid{grid-template-columns:1fr}.business-card{min-height:390px}.approach{grid-template-columns:1fr}.approach-copy{padding:38px 26px}.approach-graphic{min-height:330px;border-left:0;border-top:1px solid var(--line)}
 .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding-top:125px}
}
@media(max-width:560px){.display{font-size:3.4rem}.h2{font-size:2.5rem}.stat-panel{grid-template-columns:1fr}.stat{border-right:0!important}.stat:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.actions{flex-direction:column;align-items:stretch}.btn{width:100%}}
