:root{--ivory:#f4efe6;--charcoal:#202522;--terracotta:#b85c42;--olive:#727b62;--blue:#356bfa;--line:#d8d4ca;--muted:#62665f;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:15px;line-height:1.7;background-image:url('assets/texture.svg')}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:13px;font-size:14px;letter-spacing:2px;font-weight:700}.wordmark-dot{color:var(--terracotta);margin-left:-12px}.header nav{display:flex;gap:35px;align-items:center;font-size:13px}.header nav>a:hover,.text-link:hover{color:var(--blue)}.nav-contact{border:1px solid var(--charcoal);padding:10px 18px}.nav-contact span{margin-left:22px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:15px;padding-top:66px}.hero-copy{padding-top:38px;z-index:1}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:1.7px;line-height:1.8;font-weight:400;margin:0 0 25px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--olive);border-radius:50%;margin-right:9px;vertical-align:middle}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.8px;line-height:.99;margin:0}h1{font-size:clamp(64px,6.4vw,96px)}h1 em,h2 em{font-weight:400;color:var(--terracotta)}.hero-description{max-width:410px;margin:30px 0;color:var(--muted);font-size:15px;line-height:1.85}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 23px;font-size:12px;font-weight:500;min-height:48px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--charcoal);color:var(--ivory)}.primary:hover{background:#3b443d}.text-link{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.text-link span{margin-left:12px}.hero-art{margin:0;position:relative;align-self:start}.hero-art picture>img{width:100%;height:auto}.layer-label{position:absolute;right:1%;font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:1px;display:flex;align-items:center;gap:10px}.layer-label:before{content:'';height:1px;width:38px;background:var(--blue)}.layer-label span{color:var(--charcoal);font-size:10px}.label-interface{top:42%}.label-api{top:57%}.label-data{top:72%}.hero-art figcaption{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:1.6px;margin:5px 20px;color:var(--muted)}.hero-baseline{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:35px;padding:23px 0;font:9px var(--mono);letter-spacing:1.5px;color:var(--muted)}.hero-baseline a span{margin-left:12px}.section{padding-top:105px;padding-bottom:105px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:22px}h2{font-size:clamp(48px,4.7vw,68px);line-height:1.06;letter-spacing:-1.8px}.section-heading>p{color:var(--muted);font-size:13px;margin-bottom:6px;margin-right:36px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-visual{position:relative;overflow:hidden;background:#e9e4da;aspect-ratio:1.31}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover .project-visual img{transform:scale(1.025)}.project-index{position:absolute;left:18px;top:14px;z-index:1;font:10px var(--mono);color:var(--muted)}.concept-label{font-size:9px;line-height:1.6;color:var(--muted);margin:12px 0 20px}.project-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.project h3{font-weight:500;font-size:17px;letter-spacing:-.5px;margin:0}.project-title>span{color:var(--terracotta)}.project-description{font-size:12px;color:var(--muted);min-height:42px;margin:7px 0 20px}dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:0}dl>div{display:flex;justify-content:space-between;gap:10px;font-size:10px;padding:4px 0}dt{color:var(--muted)}dd{margin:0}.case-study{display:flex;justify-content:space-between;font-size:11px;padding-top:17px;color:var(--muted)}.expertise{background:#eae7dd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.architecture{display:grid;grid-template-columns:1fr 70px 1fr 70px 1fr;align-items:center;margin-top:65px}.architecture article{text-align:center;position:relative;padding:0 10px}.architecture-number{position:absolute;left:12%;top:0;font:10px var(--mono);color:var(--muted)}.arch-icon{width:90px;height:98px;border:1px solid var(--terracotta);border-radius:50px 50px 0 0;margin:0 auto 22px;display:flex;justify-content:center;align-items:center;gap:5px;color:var(--terracotta);font-family:var(--serif);font-size:34px}.frontend-icon span{width:8px;height:22px;border:1px solid var(--olive)}.frontend-icon span:nth-child(2){height:35px}.data-icon{flex-direction:column;gap:0}.data-icon i{width:36px;height:11px;border:1px solid var(--olive);border-radius:50%;margin-top:-2px}.connector{color:var(--blue);position:relative;text-align:center;margin-top:-50px;font-size:20px}.connector:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#356bfa66}.connector{background:transparent}.architecture h3{font-family:var(--serif);font-size:30px;font-weight:500;margin:0 0 6px}.architecture article p{font:11px var(--mono);color:var(--muted)}.architecture-details{max-width:680px;margin:45px auto 0;border-top:1px solid #c8c9bd;border-bottom:1px solid #c8c9bd}.architecture-details summary{cursor:pointer;list-style:none;font-size:12px;padding:17px 0;display:flex;justify-content:space-between}.architecture-details summary::-webkit-details-marker{display:none}.architecture-details[open] summary>span{transform:rotate(45deg)}.architecture-explanation{padding-bottom:18px;font-size:13px;color:var(--muted)}.annotation{font:10px/1.8 var(--mono)}.about{display:grid;grid-template-columns:.8fr 1fr;gap:110px;align-items:center}.portrait{position:relative;padding:20px 26px 0;background-image:url('assets/motif.svg');background-size:96px}.portrait-frame{min-height:410px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e6e3d7;border:1px solid #cbcbbc;border-radius:220px 220px 0 0;padding:20px;text-align:center}.portrait-frame img{opacity:.5;margin-bottom:28px}.portrait-frame>span{font:9px var(--mono);letter-spacing:1.4px;color:var(--muted)}.portrait-frame>p{font:italic 27px var(--serif);margin:15px 0}.portrait-frame small{font-size:11px;color:var(--muted)}.portrait-caption{display:block;background:var(--ivory);text-align:center;padding:20px 0 0;font:9px var(--mono);letter-spacing:2px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:490px;margin:27px 0}.about h2{font-size:54px}.experience{border-top:1px solid var(--line);margin-top:30px;padding-top:23px;display:grid;grid-template-columns:.8fr 1fr;gap:20px}.experience .eyebrow{font-size:8px;letter-spacing:1px}.experience h3{font-size:12px;font-weight:500;margin:10px 0;line-height:1.6}.experience p{font-size:11px;line-height:1.8;color:var(--muted)}.experience p span{font-size:10px}.contact{background:var(--charcoal);color:var(--ivory);position:relative;overflow:hidden}.contact .wrap{position:relative}.contact .eyebrow{color:#c1c4b8}.contact h2{font-size:86px;max-width:750px}.contact h2 em{color:#d99075}.contact p:not(.eyebrow){color:#c4c6bc;font-size:14px;margin:26px 0 32px}.light{background:var(--ivory);color:var(--charcoal)}.light:hover{background:#e4ddcf}.email-placeholder{font:10px var(--mono);color:#b7bcaf;border-bottom:1px solid #646b60;padding:12px 0}.contact-motif{position:absolute;right:6%;top:95px;width:155px;height:155px;opacity:.6;filter:brightness(1.4)}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 0;font-size:10px;color:var(--muted)}footer a{font-size:11px}.skip-link{position:fixed;top:-80px;left:20px;z-index:20;padding:10px 20px;background:var(--charcoal);color:white}.skip-link:focus{top:10px}
@media(min-width:1500px){.hero{padding-top:75px}.hero-copy{padding-top:60px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}h1{font-size:72px}.hero-copy{padding-top:16px}.hero .actions{gap:12px}.hero-description{font-size:14px}.layer-label:before{width:15px}.layer-label{right:0;font-size:8px}.layer-label span{font-size:9px}.about{gap:60px}.about h2{font-size:45px}.project-grid{gap:20px}.project h3{font-size:15px}.contact h2{font-size:76px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{padding:21px 0;position:relative}.wordmark{font-size:12px;letter-spacing:1.5px}.wordmark img{width:22px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:8px 0;font-size:12px;min-height:44px}.header nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;background:var(--ivory);padding:20px;z-index:10;border-bottom:1px solid var(--line)}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{padding:12px}.nav-contact{margin-top:8px}.hero{grid-template-columns:1fr;padding-top:38px;gap:10px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:24px}h1{font-size:clamp(58px,10.2vw,80px);letter-spacing:-2.6px;line-height:1.01}.hero-description{max-width:420px;font-size:14px;line-height:1.8;margin:25px 0}.hero .actions{gap:20px}.button{padding:15px 19px;font-size:11px;gap:24px}.text-link{font-size:11px}.hero-art{max-width:490px;width:100%;margin:18px auto 0}.layer-label:before{width:28px}.layer-label{right:2%}.hero-art figcaption{font-size:8px;margin-inline:5px;letter-spacing:1px}.hero-baseline{margin-top:25px;padding:19px 0;font-size:8px;letter-spacing:.5px}.hero-baseline>span:last-child{display:none}.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:20px;font-size:12px}.eyebrow{font-size:9px;margin-bottom:18px}h2{font-size:49px;letter-spacing:-1.6px}.project-grid{grid-template-columns:1fr;gap:42px}.project h3{font-size:20px}.project-description{min-height:0;font-size:13px}.concept-label{font-size:10px}.project-visual{aspect-ratio:1.4}dl>div{font-size:11px}.case-study{font-size:12px}.architecture{grid-template-columns:1fr;margin-top:40px;gap:20px}.architecture article{padding:12px 0}.architecture-number{left:15%;top:20px}.arch-icon{width:75px;height:83px;margin-bottom:15px}.architecture article p{font-size:11px}.connector{margin:0 auto;width:1px;height:30px;font-size:0;background:#356bfa66}.connector:before{width:5px;height:5px;background:var(--blue);border-radius:50%;left:-2px;top:25px}.architecture-details{margin-top:30px}.about{grid-template-columns:1fr;gap:40px}.portrait{width:min(340px,100%);margin:auto;padding-inline:20px}.portrait-frame{min-height:330px}.about h2{font-size:48px}.about-copy>p:not(.eyebrow){font-size:14px}.experience{grid-template-columns:1fr 1fr;gap:15px}.experience .eyebrow{font-size:7px}.contact h2{font-size:65px}.contact-motif{right:-55px;top:50px;opacity:.16}.contact p:not(.eyebrow){font-size:13px;max-width:320px}.desktop-break{display:none}.contact .actions{gap:18px}.email-placeholder{font-size:9px}footer{font-size:9px;padding:24px 0}footer img{display:none}}


