
:root{--ink:#101010;--paper:#f3f1eb;--white:#fff;--blue:#0799ad;--line:rgba(16,16,16,.18);--muted:#6f6d68;--pad:clamp(18px,3vw,48px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}figure{margin:0}img{display:block;width:100%;height:100%;object-fit:cover;background:#ddd}.wrap{width:min(1600px,100%);margin:auto;padding:0 var(--pad)}
.header{position:fixed;z-index:50;inset:0 0 auto;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);mix-blend-mode:difference;color:#fff;pointer-events:none}.header a,.header button{pointer-events:auto}.brand{font-weight:700;letter-spacing:-.04em;font-size:20px}.nav{display:flex;gap:9px;align-items:center}.pill{border:1px solid currentColor;border-radius:999px;padding:10px 15px;background:transparent;color:inherit;font:inherit;cursor:pointer}.menu-btn{display:none}
.hero{min-height:100vh;background:var(--blue);position:relative;overflow:hidden;display:grid;place-items:center;padding:120px var(--pad) 40px}.hero-name{position:absolute;left:3vw;right:3vw;top:46%;transform:translateY(-50%);font-weight:700;font-size:clamp(76px,14vw,240px);line-height:.75;letter-spacing:.12em;color:white;white-space:nowrap;text-align:center;z-index:1}.hero-portrait{width:min(38vw,540px);height:min(76vh,850px);z-index:2;position:relative;filter:saturate(.9) contrast(1.03)}.hero-portrait>.photo{height:100%}.hero-meta{position:absolute;bottom:32px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;color:white;z-index:3;font-size:13px;text-transform:uppercase;letter-spacing:.16em}.hero-orbit{position:absolute;inset:10% 10%;border:1px solid rgba(255,255,255,.35);border-radius:50%;animation:spin 18s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.section{padding:clamp(84px,11vw,180px) 0;border-top:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;margin-bottom:22px}.section h2,.page-title{font-size:clamp(48px,8vw,132px);line-height:.9;letter-spacing:.08em;font-weight:500;margin:0}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:60px}.lead{font-size:clamp(18px,2vw,30px);max-width:720px;color:#34332f}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.photo{overflow:hidden;position:relative;background:#ccc}.photo.tall{aspect-ratio:4/5}.photo.wide{aspect-ratio:16/10}.photo.square{aspect-ratio:1}.photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}.photo:hover img{transform:scale(1.035);filter:saturate(1.08)}
.trust{padding:40px 0;display:flex;gap:24px;justify-content:space-between;align-items:center;border-block:1px solid var(--line);font-size:14px}.trust-logos{display:flex;gap:30px;opacity:.5;font-weight:700;letter-spacing:.1em}
.philosophy{display:grid;grid-template-columns:.8fr 1.4fr;gap:7vw}.philosophy blockquote{font-size:clamp(30px,4vw,64px);line-height:1.05;margin:0}.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:70px}.strip .photo{aspect-ratio:3/4}.services{display:grid;grid-template-columns:.8fr 1.3fr;gap:8vw}.service-list{display:grid}.service-row{display:grid;grid-template-columns:60px 1fr 80px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);cursor:pointer}.service-row b{font-size:clamp(26px,4vw,54px);font-weight:500}.service-stage{position:sticky;top:110px;height:70vh}.service-stage .photo{height:100%}.hero-img>.photo{height:100%}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.benefit{min-height:330px;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;justify-content:space-between}.benefit strong{font-size:54px;font-weight:500}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 16px}.project-card:nth-child(even){margin-top:110px}.project-card .photo{aspect-ratio:4/5}.project-meta{display:flex;justify-content:space-between;padding-top:12px;font-size:13px}.project-title{font-size:28px;margin:6px 0 0}.testimonials{background:#121212;color:#fff}.quote{font-size:clamp(34px,5vw,80px);line-height:1.03;max-width:1250px;margin:0 0 42px}.quote-meta{display:flex;justify-content:space-between;border-top:1px solid #444;padding-top:18px}.testimonial-controls{display:flex;gap:8px}.round{width:46px;height:46px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;background:none;color:inherit;cursor:pointer}
.blog-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.blog-main{border:1px solid var(--line)}.blog-main .photo{aspect-ratio:16/11}.blog-main .copy{padding:26px}.blog-list{border-top:1px solid var(--line)}.blog-link{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:20px}.blog-link h3{font-size:26px;margin:0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;border:0;background:none;text-align:left;padding:24px 0;font:inherit;font-size:20px;display:flex;justify-content:space-between;cursor:pointer}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq-item.open .faq-a{max-height:180px}.faq-a p{padding:0 0 24px;margin:0;color:var(--muted)}
.cta{background:#0e0e0e;color:#fff}.cta h2{font-size:clamp(60px,10vw,168px);letter-spacing:.08em;line-height:.86;max-width:1400px}.cta-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:55px}.footer{background:#0e0e0e;color:#fff;padding:50px var(--pad) 30px;border-top:1px solid #333}.footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:50px}.footer-brand{font-size:34px}.footer a{display:block;padding:5px 0;opacity:.8}.copyright{display:flex;justify-content:space-between;border-top:1px solid #333;padding-top:22px;margin-top:40px;font-size:12px;opacity:.65}
.page-hero{padding:170px 0 70px}.page-hero p{max-width:700px;font-size:20px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 18px;padding-bottom:130px}.portfolio-grid .project-card:nth-child(even){margin-top:140px}.project-hero{padding:150px 0 40px}.project-kicker{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.project-desc{font-size:clamp(20px,2.5vw,36px);max-width:900px;margin:30px 0 70px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding-bottom:130px}.gallery .photo:nth-child(6n+1){grid-column:span 12;aspect-ratio:16/9}.gallery .photo:nth-child(6n+2),.gallery .photo:nth-child(6n+3){grid-column:span 6;aspect-ratio:4/5}.gallery .photo:nth-child(6n+4){grid-column:span 5;aspect-ratio:4/5}.gallery .photo:nth-child(6n+5){grid-column:6/span 7;aspect-ratio:6/5}.gallery .photo:nth-child(6n+6){grid-column:span 12;aspect-ratio:16/10}
.about-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:center;padding:150px 0 90px}.about-copy h1{font-size:clamp(50px,8vw,120px);letter-spacing:.09em;line-height:.92;font-weight:500;margin:0 0 30px}.about-copy p{font-size:21px;max-width:650px}.about-photo{aspect-ratio:4/5}.gear{display:grid;grid-template-columns:repeat(2,1fr)}.gear-item{padding:26px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}.gear-item b{font-size:28px}.gear-item span{max-width:320px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:160px 0 120px}.contact-grid h1{font-size:clamp(64px,9vw,150px);letter-spacing:.1em;line-height:.88;font-weight:500;margin:0}.form{display:grid;gap:18px}.field{display:grid;gap:8px}.field label{font-size:12px;text-transform:uppercase;letter-spacing:.15em}.field input,.field textarea{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:16px 0;font:inherit;font-size:20px;outline:none}.field textarea{min-height:140px}.submit{justify-self:start;margin-top:12px;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:999px;padding:14px 20px;font:inherit;cursor:pointer}.form-status{min-height:22px;font-size:13px}
.article{max-width:920px;margin:auto;padding:150px var(--pad) 120px}.article .page-title{font-size:clamp(48px,7vw,100px);letter-spacing:.02em}.article .hero-img{aspect-ratio:16/9;margin:50px 0}.article h2{font-size:42px;margin-top:55px}.article h3{font-size:28px;margin-top:40px}.article p{font-size:19px;line-height:1.72;color:#2d2d2a}.legal{max-width:950px;padding:150px var(--pad) 120px;margin:auto}.legal h1{font-size:clamp(54px,8vw,110px);font-weight:500;letter-spacing:.07em}.legal h2{margin-top:46px}.notfound{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}.notfound strong{font-size:clamp(110px,24vw,370px);line-height:.7;color:var(--blue)}
.mobile-drawer{position:fixed;z-index:80;inset:0;background:#0d0d0d;color:white;padding:24px;transform:translateY(-102%);transition:transform .55s cubic-bezier(.2,.8,.2,1)}.mobile-drawer.open{transform:none}.drawer-top{display:flex;justify-content:space-between}.drawer-links{display:grid;margin-top:15vh}.drawer-links a{font-size:clamp(44px,12vw,84px);line-height:1.1;border-bottom:1px solid #333;padding:8px 0}.drawer-close{background:none;color:white;border:1px solid white;border-radius:999px;padding:10px 14px}.reveal{will-change:transform,opacity}
@media(max-width:900px){.nav a{display:none}.nav .menu-btn{display:inline-block}.menu-btn{display:inline-block}.section-intro,.split,.philosophy,.services,.faq-grid,.about-hero,.contact-grid,.footer-grid{grid-template-columns:1fr}.hero-name{font-size:17vw;white-space:normal;line-height:.9}.hero-portrait{width:min(72vw,480px);height:67vh}.strip{grid-template-columns:repeat(3,1fr)}.service-stage{position:relative;top:0;height:auto}.service-stage .photo{aspect-ratio:4/5}.benefit-grid{grid-template-columns:1fr}.projects,.portfolio-grid{grid-template-columns:1fr}.project-card:nth-child(even),.portfolio-grid .project-card:nth-child(even){margin-top:0}.blog-grid{grid-template-columns:1fr}.gallery{gap:7px}.gallery .photo:nth-child(n){grid-column:span 12;aspect-ratio:4/5}.cta-row{align-items:start;flex-direction:column}.gear{grid-template-columns:1fr}.trust{align-items:flex-start;flex-direction:column}.trust-logos{flex-wrap:wrap}}
@media(max-width:560px){.header{height:72px}.cta h2{overflow-wrap:anywhere;word-break:break-word;letter-spacing:.04em}.hero-name{left:0;right:0;letter-spacing:.06em}.hero-meta{gap:10px;flex-wrap:wrap}.hero-meta span{max-width:48%;overflow-wrap:anywhere}.hero{padding-top:90px}.hero-portrait{height:62vh;width:78vw}.hero-meta{font-size:10px}.section{padding:74px 0}.section h2,.page-title{font-size:13vw}.strip{grid-template-columns:repeat(2,1fr)}.service-row{grid-template-columns:42px 1fr 50px}.service-row b{font-size:30px}.contact-grid{padding-top:130px}.copyright{gap:18px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orbit{animation:none}*{transition:none!important}}
