:root{--navy:#071b35;--blue:#0867f8;--muted:#5f6d7d;--line:#dce4ed;--light:#f2f6fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);font-family:Arial,Helvetica,sans-serif;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #0084ff;outline-offset:6px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);background:white;position:relative;z-index:10}.brand{font-size:23px;font-weight:900;letter-spacing:-1px;line-height:1.1}.brand>span{color:var(--blue)}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:1.3px;margin-top:9px}nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:600}.nav-cta{border:1px solid var(--navy);padding:12px 22px}.nav-cta span{margin-left:20px}.menu{display:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:660px;padding:72px 5.5% 60px;gap:6%}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--blue);margin:0 0 22px}h1{font-size:clamp(44px,4.7vw,72px);line-height:1.08;letter-spacing:-3px;margin:0;font-weight:700}h1 span{color:var(--blue)}.intro{color:var(--muted);font-size:18px;max-width:485px;line-height:1.75;margin:26px 0 30px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.button{padding:16px 23px;display:inline-flex;justify-content:space-between;align-items:center;gap:27px;border:0;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0052ce;transform:translateY(-2px)}.text-link{font-size:14px;border-bottom:1px solid var(--line);padding:10px 0}.hero-foot{display:flex;align-items:center;gap:14px;margin-top:43px;font-size:10px;letter-spacing:1px;color:var(--muted);flex-wrap:wrap}.hero-foot i{width:3px;height:3px;background:var(--muted);border-radius:50%}.brand-stage{background:var(--light);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:24px 28px;position:relative;overflow:hidden}.brand-stage:before{content:"";height:4px;position:absolute;top:0;left:0;width:70px;background:var(--blue)}.stage-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1px;color:var(--muted)}.brand-stage img{display:block;width:90%;height:auto;margin:auto;max-height:340px;object-fit:contain}.stage-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.stage-bottom p{font-size:16px;line-height:1.4;margin:0}.stage-bottom a{font-size:28px}.strip{padding:26px 5.5%;background:var(--navy);color:white;display:flex;gap:25px;align-items:center;justify-content:space-between}.strip>span{font-size:18px;font-weight:600}.strip p{margin:0;font-size:14px;color:#b9c9de}.section{padding:95px 5.5%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:42px}h2{font-size:clamp(34px,3.5vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:0}.section-head>p{max-width:390px;color:var(--muted);margin:0;font-size:16px}.systems-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.system-card{padding:30px;border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .2s}.system-card:hover{border-color:var(--blue)}.card-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:28px}.category{letter-spacing:1.5px;color:var(--blue)}.system-visual{height:158px;margin:0 0 27px;padding:25px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;background:#eef4fc}.education span{background:white;border:1px solid #d3e2f8;padding:8px 14px;font-size:13px}.education span:last-child{background:none;border:none;width:100%;text-align:center;font-size:18px;letter-spacing:-.5px;font-weight:600}.pos{background:var(--navy);color:white;flex-direction:column;gap:7px}.pos b{font-size:30px;letter-spacing:-1px}.pos span{font-size:13px;color:#b8c9de}h3{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin:0 0 12px}.system-card>p{color:var(--muted);margin:0 0 20px;max-width:480px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0 0 28px}.tags li{font-size:12px;padding:4px 10px;background:var(--light)}.card-link{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;font-size:14px;font-weight:600;display:flex;justify-content:space-between}.card-link:hover{color:var(--blue)}.system-note{color:var(--muted);font-size:13px;margin:23px 0 0}.services{background:var(--light)}.service-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:25px;align-items:center;border-top:1px solid #cfd9e6;padding:29px 0}.service-row>span{color:var(--blue);font-size:13px}.service-row h3{font-size:22px;margin:0}.service-row p{margin:0;color:var(--muted);font-size:15px}.service-row:last-child{border-bottom:1px solid #cfd9e6}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%}.about-title h2>span{color:#718096}.signature{font-size:18px;margin:35px 0 0;font-weight:600}.signature span{font-weight:400;font-size:13px;display:block;color:var(--muted);margin-top:4px}.about-copy>p{color:var(--muted);margin:0 0 22px}.about-copy>p.large{color:var(--navy);font-size:21px;line-height:1.65}.about-detail{display:grid;grid-template-columns:90px 1fr;gap:12px;border-top:1px solid var(--line);padding-top:24px;font-size:14px}.about-detail span{font-size:11px;letter-spacing:1px;color:var(--muted);padding-top:3px}.about-detail strong{font-weight:500}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact .eyebrow{color:#80b5ff}.contact h2{font-size:clamp(40px,4.4vw,64px)}.contact h2 span{color:#80b5ff}.contact>div>p:not(.eyebrow){color:#b9c9de;max-width:390px;margin:25px 0}.contact-email{display:block;font-size:clamp(16px,1.9vw,25px);margin:35px 0 6px}.phone{color:#b9c9de}form{display:flex;flex-direction:column;align-self:center}label{font-size:14px;margin-bottom:8px}input,select,textarea{background:#102944;border:1px solid #40536b;color:white;border-radius:0;padding:13px 15px;width:100%;margin-bottom:21px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#a5b5c9}textarea{resize:vertical;min-height:110px}form .button{width:100%;padding:18px 20px}.form-note{font-size:12px;color:#b9c9de;margin:12px 0 0}footer{display:flex;align-items:center;justify-content:space-between;padding:35px 5.5%;gap:25px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}footer .brand{font-size:20px}.skip{position:absolute;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:5px}@media(min-width:1600px){header,.hero,.section,.strip,footer{padding-left:max(5.5%,calc((100vw - 1420px)/2));padding-right:max(5.5%,calc((100vw - 1420px)/2))}}@media(max-width:1000px){nav{gap:18px}.hero{gap:4%;padding-top:50px;min-height:580px}h1{letter-spacing:-2px}.hero-foot{font-size:9px;gap:8px}.brand-stage{padding:20px}.stage-top{font-size:9px}.section{padding-top:75px;padding-bottom:75px}.contact{gap:6%}}@media(max-width:720px){header{height:82px}.brand{font-size:20px}.menu{display:block;background:none;border:1px solid var(--line);padding:7px 11px;font-size:14px}.menu span{margin-left:10px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:25px 5.5%;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column}nav a{padding:9px 0}.nav-cta{padding:12px!important;text-align:center}.hero{grid-template-columns:1fr;padding-top:42px;gap:36px}.hero h1{font-size:clamp(42px,9vw,61px)}.intro{font-size:17px}.hero-foot{margin-top:28px;font-size:9px}.brand-stage{min-height:300px}.brand-stage img{width:65%;max-height:245px}.strip{display:block}.strip p{margin-top:7px}.section{padding-top:60px;padding-bottom:60px}.section-head{display:block}.section-head>p{margin-top:23px;max-width:none}.systems-grid{grid-template-columns:1fr}.system-card{padding:24px}.service-row{grid-template-columns:26px 1fr;gap:12px}.service-row p{grid-column:2}.service-row h3{font-size:21px}.about,.contact{grid-template-columns:1fr;gap:40px}.about-copy>p.large{font-size:20px}footer{flex-wrap:wrap}footer p{order:3;width:100%;margin:0}.contact-email{font-size:21px}.eyebrow{font-size:11px;letter-spacing:1.5px}.system-visual{padding:16px}.pos b{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Motion is progressive: content remains visible without JavaScript. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
header{position:sticky;top:0;height:88px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);transition:box-shadow .35s ease}header.scrolled{box-shadow:0 5px 22px #071b350b}nav{gap:24px}nav>a:not(.nav-cta){position:relative}nav>a:not(.nav-cta):after{content:"";height:2px;background:var(--blue);position:absolute;bottom:-5px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}nav>a:hover:after,nav>a:focus-visible:after{transform:scaleX(1)}.system-card,.project-card{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .3s}.button,.nav-cta{transition:transform .3s var(--ease-out),background .25s,box-shadow .25s}.button:hover{box-shadow:0 8px 23px #0867f830}.card-link span,.text-link span,.project-link span{display:inline-block;transition:transform .3s var(--ease-out)}.card-link:hover span,.text-link:hover span,.project-link:hover span{transform:translate(3px,-2px)}.reveal{opacity:1;transform:none}.reveal.pending{opacity:0;transform:translateY(22px)}.reveal.in-view{opacity:1;transform:translateY(0);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out)}
.projects{background:#f3f6fb;scroll-margin-top:20px}.projects .section-head>p{max-width:420px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.project-card{background:white;border:1px solid var(--line);overflow:hidden;border-radius:12px;display:flex;flex-direction:column}.project-preview{display:block;position:relative;aspect-ratio:1.7;overflow:hidden;background:#e9eff8;border-bottom:1px solid var(--line)}.project-preview iframe{width:1200px;height:820px;border:0;transform:scale(var(--preview-scale,.42));transform-origin:top left;pointer-events:none;display:block}.project-preview img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}.project-preview:after{content:"Open project ↗";position:absolute;right:18px;bottom:18px;padding:10px 15px;background:#071b35;color:white;font-size:13px;border-radius:6px;box-shadow:0 3px 14px #071b3530}.project-copy{padding:27px;display:flex;flex-direction:column;flex:1}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;letter-spacing:.8px;margin-bottom:16px;color:var(--muted)}.project-meta b{color:var(--blue);font-weight:500;background:#edf4ff;padding:4px 8px;border-radius:4px;letter-spacing:0}.project-copy h3{font-size:24px}.project-copy p{color:var(--muted);margin:0 0 22px}.project-link{margin-top:auto;display:flex;justify-content:space-between;font-size:14px;font-weight:600;border-top:1px solid var(--line);padding-top:16px}.projects-note{margin:24px 0 0;font-size:13px;color:var(--muted)}
@media(hover:hover){.system-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #071b3510}.project-preview:hover img{transform:scale(1.035)}}
@media(max-width:1000px){nav{gap:15px;font-size:13px}.brand{font-size:21px}.nav-cta{padding:10px 14px}.nav-cta span{margin-left:8px}}
@media(max-width:720px){header{height:82px}nav{top:82px}.project-grid{grid-template-columns:1fr}.project-copy{padding:23px}.project-meta{font-size:12px}.projects{scroll-margin-top:0}}
@media(prefers-reduced-motion:reduce){.reveal.pending,.reveal.in-view{opacity:1;transform:none;transition:none}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:721px) and (max-width:900px){header{height:82px}.menu{display:block;background:none;border:1px solid var(--line);padding:7px 11px;font-size:14px}.menu span{margin-left:10px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:25px 5.5%;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column}nav a{padding:9px 0}.nav-cta{padding:12px!important;text-align:center}}
