:root { color:#e8eef3; background:#0d1e31; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-synthesis:none; text-rendering:optimizeLegibility; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; min-width:320px; background:#f5f2ed; } a { color:inherit; } .skip { position:fixed; left:12px; top:-80px; z-index:100; padding:10px 14px; color:#0d1e31; background:#fff; }.skip:focus { top:12px; }
.site-header { position:absolute; inset:0 0 auto; z-index:10; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; padding:25px clamp(22px,5vw,78px); color:#d7e1e9; }.logo { display:flex; align-items:center; gap:12px; text-decoration:none; }.logo span { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; font-size:11px; font-weight:800; }.logo strong { font-size:12px; letter-spacing:.02em; }.site-header nav { display:flex; gap:24px; }.site-header nav a { color:#9eb0c0; font-size:10px; font-weight:700; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; }.languages { position:relative; justify-self:end; }.languages summary { padding:8px 11px; border:1px solid rgba(255,255,255,.22); border-radius:999px; cursor:pointer; font-size:10px; list-style:none; }.languages summary::-webkit-details-marker { display:none; }.languages div { position:absolute; right:0; top:40px; display:grid; min-width:150px; overflow:hidden; border:1px solid #d6dde3; border-radius:12px; color:#263d54; background:#fff; box-shadow:0 16px 40px rgba(0,0,0,.2); }.languages div a { padding:10px 13px; border-bottom:1px solid #e8ecef; font-size:11px; text-decoration:none; }.languages div a:last-child { border:0; }
.hero { display:grid; min-height:760px; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); background:#0d1e31; }.hero-copy { display:flex; padding:160px clamp(30px,8vw,130px) 80px; flex-direction:column; justify-content:center; }.eyebrow { margin:0 0 18px; color:#56c8b7; font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }.hero h1 { max-width:780px; margin:0; color:#f6f8fa; font-size:clamp(54px,7vw,106px); line-height:.9; letter-spacing:-.07em; }.lead { max-width:680px; margin:33px 0 27px; color:#a9bac8; font-size:clamp(16px,1.6vw,21px); line-height:1.62; }.cta { display:inline-flex; width:max-content; align-items:center; gap:24px; padding:14px 18px; border-radius:4px; color:#10263d; background:#65d4c3; font-size:12px; font-weight:800; text-decoration:none; }.hero small { max-width:560px; margin-top:16px; color:#6f8497; font-size:10px; line-height:1.55; }.hero figure { position:relative; min-height:650px; margin:0; overflow:hidden; }.hero img { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.03); }.hero figure::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#0d1e31 0,transparent 28%),linear-gradient(0deg,rgba(8,22,36,.7),transparent 50%); }.hero figcaption { position:absolute; right:40px; bottom:42px; z-index:1; display:flex; align-items:end; flex-direction:column; color:#dfe8ee; }.hero figcaption strong { font-size:18px; }.hero figcaption span { margin-top:5px; color:#a8bbc9; font-size:10px; }
.services { padding:110px clamp(25px,7vw,110px) 120px; color:#192f45; }.services>header { display:grid; max-width:750px; grid-template-columns:1fr; margin-bottom:55px; }.services h2,.experience h2,.process h2,.closing h2 { margin:0; font-size:clamp(38px,5vw,70px); line-height:1; letter-spacing:-.055em; }.services>header>p:last-child { max-width:590px; margin:22px 0 0; color:#69798a; line-height:1.65; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ccd3d8; border-left:1px solid #ccd3d8; }.service-grid article { min-height:245px; padding:27px; border-right:1px solid #ccd3d8; border-bottom:1px solid #ccd3d8; }.service-grid article>span { color:#59a89c; font:800 10px/1 ui-monospace,monospace; }.service-grid h3 { max-width:260px; margin:48px 0 13px; font-size:19px; letter-spacing:-.025em; }.service-grid p { max-width:340px; margin:0; color:#718092; font-size:12px; line-height:1.65; }
.experience { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; padding:110px clamp(25px,7vw,110px); color:#e9eff3; background:#173047; }.experience>div>p:not(.eyebrow) { max-width:730px; margin:31px 0 23px; color:#a9b9c5; font-size:15px; line-height:1.75; }.experience a { color:#67d0c0; font-size:11px; font-weight:800; text-underline-offset:5px; }.experience ul { margin:44px 0 0; padding:0; border-top:1px solid rgba(255,255,255,.17); list-style:none; }.experience li { padding:17px 0; border-bottom:1px solid rgba(255,255,255,.17); color:#c5d1da; font-size:12px; }
.process { padding:110px clamp(25px,7vw,110px); color:#192f45; }.process>header { margin-bottom:55px; }.process>div { border-top:1px solid #cbd2d7; }.process article { display:grid; grid-template-columns:90px 1fr; gap:28px; padding:27px 0; border-bottom:1px solid #cbd2d7; }.process article>span { color:#57a79b; font:800 11px/1 ui-monospace,monospace; }.process h3 { margin:0 0 8px; font-size:20px; }.process article p { max-width:800px; margin:0; color:#718092; font-size:13px; line-height:1.65; }
.closing { display:flex; padding:110px clamp(25px,7vw,110px); flex-direction:column; align-items:center; text-align:center; color:#eef4f7; background:#0d1e31; }.closing h2 { max-width:900px; }.closing>p:not(.eyebrow) { max-width:600px; margin:25px 0; color:#9db0bf; }.cta.light { color:#0d1e31; background:#fff; } footer { display:flex; justify-content:space-between; gap:20px; padding:25px clamp(25px,7vw,110px); color:#8493a0; background:#0a1929; font-size:9px; }
@media (max-width:900px) { .site-header { grid-template-columns:1fr auto; }.site-header nav { display:none; }.hero { grid-template-columns:1fr; }.hero-copy { min-height:700px; }.hero figure { min-height:560px; }.service-grid { grid-template-columns:repeat(2,1fr); }.experience { grid-template-columns:1fr; gap:30px; } }
@media (max-width:580px) { .site-header { padding:17px; }.logo strong { display:none; }.hero-copy { min-height:650px; padding:130px 22px 60px; }.hero h1 { font-size:54px; }.hero figure { min-height:450px; }.hero figcaption { right:20px; bottom:25px; }.services,.experience,.process,.closing { padding:75px 20px; }.service-grid { grid-template-columns:1fr; }.service-grid article { min-height:210px; }.process article { grid-template-columns:48px 1fr; }.cta { max-width:100%; }.closing h2 { font-size:42px; } footer { align-items:start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
