@import url('https://rsms.me/inter/inter.css');

:root{
  --ink:#0b0b0b;
  --muted:#656565;
  --line:#dedede;
  --soft:#f5f5f3;
  --accent:#e8ff38;
  --white:#fff;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;font-feature-settings:"liga" 1,"calt" 1;background:#fff}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:700;letter-spacing:-.04em}
.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:18px;font-weight:800}
.nav-links{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:500}
.nav-links a:not(.nav-cta){opacity:.78}
.nav-links a:hover{opacity:1}
.nav-cta{border:1px solid #111;border-radius:100px;padding:12px 17px}
.nav-cta span{margin-left:9px}
.menu-btn{display:none;border:0;background:none;font-size:24px}
.hero{min-height:780px;padding-top:78px;position:relative;overflow:hidden;display:flex;align-items:center}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
.hero-inner{position:relative;padding:95px 0 80px}
.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.13em;color:#6a6a6a}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:30px}
.dot{width:7px;height:7px;border-radius:50%;background:#111}
.hero h1{font-size:clamp(64px,9vw,132px);line-height:.9;letter-spacing:-.075em;margin:0;max-width:980px;font-weight:700}
.hero h1 em{font-style:normal;color:#6f6f6f}
.hero-copy{max-width:600px;font-size:19px;line-height:1.65;color:#555;margin:42px 0 30px}
.hero-actions{display:flex;align-items:center;gap:28px}
.btn{display:inline-flex;align-items:center;gap:28px;padding:17px 22px;border-radius:2px;font-size:13px;font-weight:650;transition:.2s transform,.2s background}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:#111;color:#fff}
.btn-light{background:#fff;color:#111}
.text-link{font-size:13px;font-weight:650;border-bottom:1px solid #111;padding-bottom:4px}
.text-link span{margin-left:18px}
.hero-meta{display:flex;align-items:center;gap:14px;margin-top:100px;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.hero-meta i{width:4px;height:4px;border-radius:50%;background:#aaa}
.hero-side{position:absolute;right:18px;bottom:34px;font-size:10px;letter-spacing:.12em;writing-mode:vertical-rl;color:#888}
.section{padding:125px 0}
.intro{border-top:1px solid var(--line)}
.intro-grid,.about-grid{display:grid;grid-template-columns:25% 1fr;gap:40px}
.intro h2,.about h2,.approach h2{font-size:clamp(42px,5.3vw,72px);line-height:1.03;letter-spacing:-.06em;margin:0 0 28px;font-weight:600}
.intro h2 span,.about h2 span,.approach h2 span{color:#8a8a8a}
.lead{max-width:760px;color:#5c5c5c;font-size:18px;line-height:1.75;margin:0 0 30px}
.services{background:var(--soft)}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:58px}
.section-head p{margin:0;color:#666;font-size:14px}
.service-list{border-top:1px solid #ccc}
.service{display:grid;grid-template-columns:10% 1fr 60px;gap:20px;padding:32px 0;border-bottom:1px solid #ccc;transition:.25s;padding-left:0}
.service:hover{padding-left:14px;background:rgba(255,255,255,.45)}
.service-no{font-size:11px;color:#888}
.service h3{margin:0 0 9px;font-size:26px;letter-spacing:-.04em;font-weight:600}
.service p{margin:0;max-width:650px;color:#6a6a6a;line-height:1.6;font-size:14px}
.service-arrow{font-size:24px;text-align:right}
.statement{background:#111;color:#fff;padding:150px 0}
.statement-label{font-size:10px;letter-spacing:.15em;color:#999;margin:0 0 50px}
.statement h2{font-size:clamp(48px,7vw,100px);line-height:.98;letter-spacing:-.07em;margin:0;font-weight:600}
.statement h2 span{color:var(--accent)}
.approach-grid{display:grid;grid-template-columns:45% 1fr;gap:80px;margin-top:65px}
.approach-intro p{max-width:430px;color:#666;line-height:1.7}
.steps{border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}
.step>span{font-size:11px;color:#888}
.step h3{margin:0 0 7px;font-size:20px;letter-spacing:-.03em}
.step p{margin:0;color:#666;line-height:1.6;font-size:14px;max-width:600px}
.industry-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:60px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.industry-card{min-height:260px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}
.industry-card:hover{background:#111;color:#fff}
.industry-card span{font-size:10px;color:#888}
.industry-card h3{font-size:28px;letter-spacing:-.04em;margin:48px 0 12px}
.industry-card p{font-size:14px;color:#777;line-height:1.6;max-width:420px}
.industry-card:hover p{color:#bbb}
.about{border-top:1px solid var(--line)}
.about-points{border-top:1px solid var(--line);margin-top:45px}
.about-points div{display:grid;grid-template-columns:200px 1fr;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}
.about-points span{color:#777}
.contact{background:#111;color:#fff;padding:135px 0}
.contact-inner{max-width:var(--max)}
.light{color:#aaa}
.contact h2{font-size:clamp(54px,7.5vw,105px);line-height:.94;letter-spacing:-.07em;margin:55px 0 25px;font-weight:600}
.contact h2 em{font-style:normal;color:var(--accent)}
.contact p{color:#aaa;max-width:500px;line-height:1.6}
.contact-email{display:block;font-size:clamp(25px,4vw,50px);letter-spacing:-.05em;margin:48px 0 36px;border-bottom:1px solid #444;padding-bottom:14px;width:max-content;max-width:100%}
.contact-email span{font-size:.55em;margin-left:20px}
footer{background:#111;color:#fff;border-top:1px solid #333}
.footer-top{padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-top p{color:#999;font-size:12px;margin:0}
.footer-brand .brand-mark{background:#fff;color:#111}
.back-top{font-size:12px}
.footer-bottom{border-top:1px solid #333;padding:20px 0 28px;display:flex;justify-content:space-between;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:800px){
 .container{width:min(calc(100% - 34px),var(--max))}
 .nav{height:68px}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid #ddd;padding:22px;flex-direction:column;align-items:flex-start;gap:20px}.nav-links.open{display:flex}.menu-btn{display:block}
 .hero{min-height:720px}.hero-inner{padding:80px 0 50px}.hero h1{font-size:clamp(57px,16vw,92px)}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-meta{margin-top:65px;flex-wrap:wrap}.hero-side{display:none}
 .section{padding:90px 0}.intro-grid,.about-grid,.approach-grid{grid-template-columns:1fr;gap:35px}.intro-grid>.section-kicker,.about-grid>.section-kicker{margin-bottom:0}.section-head{display:block}.section-head p{margin-top:18px}
 .service{grid-template-columns:35px 1fr 30px}.service h3{font-size:21px}.service p{font-size:13px}
 .statement{padding:100px 0}.statement h2{font-size:48px}.industry-grid{grid-template-columns:1fr;margin-top:40px}.industry-card{min-height:220px}
 .about-points div{grid-template-columns:1fr;gap:6px}.contact{padding:100px 0}.contact-email{font-size:25px}
 .footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-top{gap:18px}
}
