*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{margin:0;background:#0e1116;color:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:16px;top:-60px;z-index:999;background:#f4f6f8;color:#0e1116;padding:12px 16px}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:rgba(14,17,22,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.075)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:38px;height:38px;color:#f4f6f8}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-type strong{font-size:.76rem;letter-spacing:.3em;font-weight:600}.brand-type small{font-size:.55rem;letter-spacing:.5em;color:#8da4c3;margin-top:5px}.nav{display:flex;align-items:center;gap:30px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#b6c0ca}.nav a{position:relative;padding:10px 0}.nav a:after{content:"";position:absolute;left:0;bottom:4px;width:0;height:1px;background:#8da4c3;transition:width .2s ease}.nav a:hover:after,.nav a:focus-visible:after{width:100%}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.15);color:#f4f6f8;padding:9px 12px;letter-spacing:.14em;font-size:.7rem;cursor:pointer}.hero{position:relative;min-height:82vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.65fr);align-items:center;gap:5vw;padding:8vw 7vw;overflow:hidden;background:radial-gradient(circle at 78% 35%,rgba(141,164,195,.16),transparent 26%),linear-gradient(132deg,#0e1116 0%,#111821 55%,#0b0e12 100%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 48%),linear-gradient(0deg,rgba(0,0,0,.18),transparent 55%);pointer-events:none}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,black 0,rgba(0,0,0,.7) 58%,transparent 100%)}.hero-content{position:relative;z-index:2;max-width:780px}.eyebrow{font-size:.68rem;letter-spacing:.34em;color:#8da4c3;text-transform:uppercase}.hero h1{margin:22px 0 28px;font-weight:400;line-height:.8}.hero h1 span{display:block;font-size:clamp(4.5rem,10vw,8.7rem);letter-spacing:.075em}.hero h1 .hero-system{font-size:clamp(1.2rem,2.3vw,2.05rem);letter-spacing:.66em;color:#aab7c5;margin-top:28px}.hero-copy{max-width:680px;color:#b5bec7;font-size:1.03rem;line-height:1.75}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{padding:14px 19px;border:1px solid rgba(255,255,255,.19);text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;transition:transform .2s ease,border-color .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:#f4f6f8;color:#0e1116;border-color:#f4f6f8}.button-ghost:hover{border-color:#8da4c3}.hero-mark-wrap{position:relative;z-index:2;display:grid;place-items:center}.hero-mark{width:min(38vw,390px);color:#f4f6f8;opacity:.92;filter:drop-shadow(0 20px 60px rgba(141,164,195,.1))}.hero-tag{position:absolute;right:5vw;bottom:4vw;z-index:2;font-size:.6rem;letter-spacing:.28em;color:#687583}.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.075);border-bottom:1px solid rgba(255,255,255,.075)}.pillars article{padding:45px 5vw;border-right:1px solid rgba(255,255,255,.075)}.pillars article:last-child{border-right:none}.pillar-symbol{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;letter-spacing:.18em;color:#8da4c3}.pillars h2{margin:18px 0 10px;font-size:1rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500}.pillars p{margin:0;color:#8996a2;line-height:1.65;font-size:.92rem}.section{padding:90px 5vw}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.15rem,5vw,4.9rem);font-weight:300;letter-spacing:.045em;line-height:1.02;margin:10px 0}.section-note{max-width:480px;color:#8f9ba7;line-height:1.65;margin:0}.photo-grid{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:14px}.photo-card{min-height:400px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.09);background-size:cover;background-position:center;position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease}.photo-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,6,8,.92),rgba(4,6,8,.12) 58%,rgba(4,6,8,.02))}.photo-card:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;opacity:.45}.photo-card:hover{transform:translateY(-4px);border-color:rgba(141,164,195,.48)}.photo-card>*{position:relative;z-index:2}.card-index{font-size:.63rem;letter-spacing:.22em;color:#8da4c3}.card-kicker{font-size:.62rem!important;letter-spacing:.26em;color:#8da4c3!important;margin-bottom:10px!important}.photo-card h3{font-size:1.7rem;font-weight:400;margin:0}.photo-card p{color:#aab3bc;margin:.5rem 0 0}.photo-a{background-image:radial-gradient(circle at 30% 30%,rgba(141,164,195,.18),transparent 25%),linear-gradient(145deg,#17212b,#0a0d11 62%,#1b2730)}.photo-b{background-image:radial-gradient(circle at 70% 20%,rgba(141,164,195,.14),transparent 26%),linear-gradient(145deg,#0a0d11,#1d252c 50%,#090c10)}.photo-c{background-image:radial-gradient(circle at 50% 70%,rgba(141,164,195,.13),transparent 30%),linear-gradient(145deg,#0d141a,#1a2832 50%,#080b0f)}.section-cta{display:flex;justify-content:flex-end;margin-top:22px}.section-cta a{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#9daab6}.section-cta a span{color:#8da4c3;margin-left:8px}.projects{background:#0b0e13;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-card{border:1px solid rgba(255,255,255,.09);padding:30px;min-height:285px;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}.project-card:hover{border-color:rgba(141,164,195,.42);transform:translateY(-3px)}.project-card>span{color:#8da4c3;font-size:.64rem;letter-spacing:.22em}.project-line{width:44px;height:1px;background:#8da4c3;margin:28px 0 34px}.project-card h3{font-size:1.35rem;font-weight:450;margin:0 0 12px}.project-card p{color:#909ca7;line-height:1.7;margin:0}.project-status{margin-top:auto;padding-top:36px;font-size:.58rem;letter-spacing:.2em;color:#667582}.about{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);align-items:center;gap:8vw;max-width:1320px}.about-mark{display:grid;place-items:center;min-height:420px;border:1px solid rgba(255,255,255,.07);background:radial-gradient(circle,rgba(141,164,195,.11),transparent 56%)}.about-mark img{width:min(60%,300px);color:#f4f6f8}.about-copy p{max-width:760px;color:#98a4af;line-height:1.75}.principle-strip{display:flex;gap:34px;justify-content:space-between;overflow:auto;padding:20px 5vw;border-top:1px solid rgba(255,255,255,.075);border-bottom:1px solid rgba(255,255,255,.075);font-size:.58rem;letter-spacing:.24em;color:#758391;white-space:nowrap}.contact{max-width:1050px}.contact>p:not(.eyebrow){max-width:720px;color:#98a4af;line-height:1.75}.contact-placeholder{margin-top:36px;max-width:650px;border-top:1px solid rgba(141,164,195,.3);border-bottom:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;justify-content:space-between;font-size:.62rem;letter-spacing:.22em;color:#7e8b98}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:28px 5vw;border-top:1px solid rgba(255,255,255,.075);font-size:.58rem;letter-spacing:.18em;color:#778490}footer>div:last-child{text-align:right}.footer-brand{display:flex;align-items:center;gap:10px;color:#b6c0ca}.footer-brand img{width:25px;height:25px;color:#b6c0ca}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.photo-card,.project-card{transition:none}}@media (max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:67px;left:0;right:0;flex-direction:column;align-items:flex-start;padding:25px 5vw;background:#0e1116;border-bottom:1px solid rgba(255,255,255,.08)}.nav.open{display:flex}.hero{min-height:78vh;grid-template-columns:1fr;padding-top:100px}.hero-mark-wrap{position:absolute;right:-70px;top:100px;opacity:.14}.hero-mark{width:390px}.hero-content{z-index:3}.hero h1 span{font-size:clamp(4rem,18vw,7rem)}.hero h1 .hero-system{font-size:1.05rem;letter-spacing:.48em}.pillars,.photo-grid,.project-grid,.about{grid-template-columns:1fr}.pillars article{border-right:none;border-bottom:1px solid rgba(255,255,255,.075)}.pillars article:last-child{border-bottom:none}.section-heading{display:block}.section-note{margin-top:16px}.photo-card{min-height:310px}.about-mark{min-height:300px}.about{gap:45px}footer{grid-template-columns:1fr;align-items:start}footer>div:last-child{text-align:left}}@media (max-width:520px){.site-header{padding:12px 4vw}.brand-type strong{font-size:.68rem}.brand-type small{font-size:.5rem}.hero{padding-left:5vw;padding-right:5vw}.hero h1 span{font-size:18vw}.hero h1 .hero-system{font-size:.9rem;letter-spacing:.38em}.section{padding:70px 5vw}.section-heading h2,.about h2,.contact h2{font-size:2.35rem}.principle-strip{justify-content:flex-start}.contact-placeholder{gap:20px;flex-direction:column}.photo-card{min-height:280px}}

.error-page{min-height:75vh;display:grid;align-content:center}.error-code{font-size:clamp(3rem,8vw,7rem);font-weight:300;letter-spacing:.08em;margin:.2em 0}.error-copy{color:#98a4af;max-width:580px;line-height:1.7}
