:root{color-scheme:light;--bg:#f8fbff;--surface:#edf3fa;--text:#142b43;--muted:#53677a;--accent:#245ce0;--line:#d8e2ef;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:white;background:var(--accent)}.wrap{width:min(var(--max),calc(100% - 112px));margin:auto}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--accent);color:white;padding:14px}.skip:focus{top:12px}.header{position:relative;z-index:3}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:1.35rem;letter-spacing:-.05em;font-weight:600}.brand b{font-weight:400;color:var(--muted)}.mark{width:34px;height:34px;display:block;flex:none}nav{display:flex;gap:34px;align-items:center;font-size:.875rem;color:#40566b}.nav-contact{border:1px solid #b7c9dd;padding:12px 19px;border-radius:4px}nav a:hover{color:var(--accent)}.hero{position:relative;isolation:isolate;min-height:660px;display:flex;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 47%,#82cce72b,transparent 60%)}.hero-art{display:none;position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero.has-art .hero-art{display:block}.hero.has-art:before{background:linear-gradient(90deg,#f8fbff 0%,#f8fbffed 26%,#f8fbff66 47%,#f8fbff00 68%),linear-gradient(0deg,#f8fbff 0%,transparent 25%)}.hero-content{padding:84px 0 90px}.eyebrow{margin:0 0 27px;text-transform:uppercase;font-size:.75rem;line-height:1.6;font-family:Consolas,"Courier New",monospace;letter-spacing:.14em;color:var(--accent)}h1{font-size:clamp(3.8rem,6.5vw,6.4rem);line-height:1.015;letter-spacing:-.064em;font-weight:500;margin:0 0 28px;max-width:780px}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.062em;color:var(--accent)}.hero-copy{max-width:440px;font-size:1.0625rem;line-height:1.8;color:#53677a;margin:0 0 34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 23px;border:1px solid var(--accent);border-radius:4px;font-size:.875rem;background:var(--accent);color:#ffffff;transition:background .2s}.button:hover{background:#174ac3}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding-block:22px;color:var(--muted);font-size:.8125rem}.hero-bottom p{margin:0}.hero-bottom span{color:var(--text)}.section{padding-block:100px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:80px}.section-label{font-size:.75rem;font-family:Consolas,"Courier New",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:8px 0 0}.section-label span{color:var(--accent);margin-right:16px}h2{font-size:clamp(2.3rem,4vw,3.7rem);font-weight:400;letter-spacing:-.05em;line-height:1.12;margin:0 0 30px}.intro p.copy{font-size:1.125rem;line-height:1.85;color:var(--muted);max-width:720px;margin:0}.projects{border-top:1px solid var(--line)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-top h2{margin:16px 0 0}.section-aside{max-width:310px;font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 3px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{min-width:0}.project-image{display:block;overflow:hidden;background:var(--surface);border-radius:6px;aspect-ratio:1.3;border:1px solid var(--line)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-image:hover img{transform:scale(1.035)}.project-meta{display:flex;justify-content:space-between;gap:12px;margin:23px 0 13px;font-size:.75rem;font-family:Consolas,"Courier New",monospace;letter-spacing:.03em;color:var(--muted)}.project-meta span:last-child{color:var(--accent)}h3{font-weight:400;font-size:1.5rem;letter-spacing:-.025em;margin:0 0 13px}.project p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 22px}.text-link{display:inline-block;font-size:.875rem;padding:3px 0 7px;border-bottom:1px solid #849bb3;transition:color .2s}.text-link:hover{color:var(--accent);border-color:var(--accent)}.principles{background:#edf4fc;border-block:1px solid var(--line)}.principles .section-top{align-items:start}.principles h2{max-width:670px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:65px}.principle{border-top:1px solid #b7c9dd;padding-top:24px}.number{display:block;color:var(--accent);font-family:Consolas,"Courier New",monospace;font-size:.8125rem;margin-bottom:37px}.principle h3{font-size:1.4rem}.principle p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}.statement{display:grid;grid-template-columns:1fr 2fr;gap:80px}.statement h2{font-size:clamp(2.4rem,4.5vw,4.5rem);max-width:830px}.statement h2 em{font-family:Georgia,"Times New Roman",serif;color:var(--accent);font-weight:400}.statement .copy{font-size:1.125rem;line-height:1.8;color:var(--muted);max-width:680px}.contact{position:relative;background:var(--accent);color:#ffffff;padding:72px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact .eyebrow{color:#dbeaff;margin-bottom:18px}.contact h2{margin:0;max-width:800px}.contact p{line-height:1.7;max-width:590px;font-size:1rem;color:#e7efff;margin-bottom:0}.contact .button{background:#ffffff;color:#245ce0;border-color:#ffffff;white-space:nowrap}.contact .button:hover{background:#e4eeff}.footer{padding:37px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .brand{font-size:1.1rem}.footer-links{display:flex;gap:24px;font-size:.8125rem;color:var(--muted)}.footer small{font-size:.75rem;color:var(--muted)}.menu-button{display:none}.reveal{animation:enter .8s ease both}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(min-width:1600px){.hero{min-height:760px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{min-height:610px}.intro,.statement{grid-template-columns:1fr 2fr;gap:35px}.project-grid{gap:20px}.principle-grid{gap:28px}.section{padding-block:80px}.contact-inner{align-items:flex-start;flex-direction:column}.section-aside{max-width:260px}.hero.has-art:before{background:linear-gradient(90deg,#f8fbfff2,#f8fbffb0 45%,#f8fbff33),linear-gradient(0deg,#f8fbff,transparent 35%)}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{height:82px}.brand{font-size:1.2rem}nav{gap:20px}nav .nav-contact{display:inline-flex;padding:9px 11px}nav a:not(.nav-contact){display:none}.hero{min-height:610px}.hero-content{padding:65px 0 72px}h1{font-size:clamp(3.8rem,11.5vw,5rem);letter-spacing:-.06em}.hero-copy{max-width:360px;font-size:1rem}.hero.has-art .hero-art{object-position:65% center;opacity:.65}.hero.has-art:before{background:linear-gradient(90deg,#f8fbffeb,#f8fbff80),linear-gradient(0deg,#f8fbff,transparent 70%)}.hero-bottom{font-size:.75rem;line-height:1.6}.hero-bottom p:last-child{max-width:110px;text-align:right}.section{padding-block:65px}.intro,.statement{grid-template-columns:1fr;gap:25px}.intro p.copy,.statement .copy{font-size:1rem}.section-top{flex-direction:column;align-items:flex-start;gap:20px}.section-aside{max-width:400px}.project-grid{grid-template-columns:1fr;gap:43px}.project-image{aspect-ratio:1.55}.project-meta{margin-top:19px}.project p{margin-bottom:16px}.principle-grid{grid-template-columns:1fr;gap:35px;margin-top:38px}.number{margin-bottom:20px}.principles h2{font-size:2.7rem}.contact{padding:56px 0}.contact h2{font-size:2.7rem}.footer-inner{flex-wrap:wrap;gap:27px}.footer small{flex-basis:100%}.footer-links{margin-left:auto;gap:17px}.footer-links a{padding-block:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.project-image img,.button{transition:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-page{padding-block:70px 95px;display:grid;grid-template-columns:1fr 1.1fr;gap:95px;align-items:start}.contact-intro h1{font-size:clamp(3.1rem,5vw,4.6rem);line-height:1.07;margin-bottom:25px}.contact-intro .copy{font-size:1.0625rem;line-height:1.8;color:var(--muted);max-width:425px}.direct-contact{display:inline-block;color:var(--accent);margin-top:16px;border-bottom:1px solid var(--line);padding-bottom:6px;font-size:1.0625rem}.contact-form{background:white;border:1px solid var(--line);border-radius:12px;padding:34px;box-shadow:0 16px 50px #214b8710}.form-recipient{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:26px;color:var(--muted);font-size:.875rem}.form-recipient strong{font-weight:500;color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field label{font-size:.875rem;font-weight:500;color:var(--text)}input,textarea{font:inherit;font-size:1rem;width:100%;border:1px solid #b8c9db;border-radius:5px;background:#fcfdff;color:var(--text);padding:13px 14px;line-height:1.5}textarea{resize:vertical;min-height:175px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}input::placeholder,textarea::placeholder{color:#738598}.contact-form .button{cursor:pointer;font:inherit;font-size:.875rem;width:100%}.form-note{font-size:.875rem;line-height:1.7;color:var(--muted);margin:15px 0 0}.form-status{font-size:.875rem;color:var(--text);line-height:1.7;background:var(--surface);padding:15px;border-radius:5px;margin-top:18px}.form-status[hidden]{display:none}.form-status a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.contact-page{gap:45px}.contact-form{padding:27px}}@media(max-width:700px){.contact-page{grid-template-columns:1fr;padding-block:50px 65px;gap:32px}.contact-intro h1{font-size:3.4rem}.contact-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}}
