@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--paper:#f5f3ee;--ink:#232522;--muted:#6d706a;--line:#d7d4cc;--copper:#c56539;--copper-dark:#974324;--panel:#ebe9e2;--white:#fffefa}:root[data-theme=dark]{--paper:#202321;--ink:#f2f0e9;--muted:#a7aaa2;--line:#424741;--copper:#e18552;--copper-dark:#f0a77c;--panel:#292d2a;--white:#2b302c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--copper);outline-offset:4px}.site-shell{min-height:100vh;overflow:hidden}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.eyebrow,.meta,.mono,.project-index,.tag{font-family:DM Mono,monospace}.eyebrow{color:var(--copper);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.site-header{border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-weight:800;letter-spacing:-.04em;font-size:18px;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:26px;font-size:13px;color:var(--muted)}.nav-links a:hover{color:var(--copper)}.controls{display:flex;gap:8px;align-items:center}.control{border:1px solid var(--line);background:transparent;color:var(--muted);min-width:34px;height:30px;padding:0 8px;cursor:pointer;font-size:11px}.control.active,.control:hover{color:var(--ink);border-color:var(--copper)}.hero{min-height:650px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;grid-gap:80px;gap:80px;padding:92px 0 100px}.hero h1{max-width:730px;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.075em;margin:20px 0 28px}.hero-copy{max-width:580px;color:var(--muted);font-size:18px;line-height:1.7}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--ink);font-size:13px;font-weight:700;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover{background:var(--copper-dark);border-color:var(--copper-dark)}.button.secondary:hover{color:var(--copper);border-color:var(--copper)}.technical-plate{position:relative;aspect-ratio:1/1;max-width:480px;justify-self:end;background:var(--panel);border:1px solid var(--line);overflow:hidden}.technical-plate:after,.technical-plate:before{content:"";position:absolute;inset:11%;border:1px solid var(--line);border-radius:50%}.technical-plate:after{inset:27%;border-radius:0;transform:rotate(45deg)}.trace{position:absolute;background:var(--copper);opacity:.85;height:2px;transform-origin:left}.trace.one{width:62%;left:14%;top:32%;transform:rotate(16deg)}.trace.two{width:52%;left:34%;top:68%;transform:rotate(-28deg)}.trace.three{width:40%;left:50%;top:17%;transform:rotate(90deg)}.trace.four{width:29%;left:18%;top:76%;transform:rotate(-70deg)}.node{position:absolute;width:10px;height:10px;background:var(--paper);border:2px solid var(--copper);border-radius:50%}.node.a{left:13%;top:31%}.node.b{left:73%;top:49%}.node.c{left:49%;top:16%}.node.d{left:17%;top:75%}.plate-label{position:absolute;left:24px;bottom:22px;font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.section{padding:100px 0;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:44px}.page-intro h1,.section-heading h2{margin:12px 0 0;font-size:clamp(32px,4vw,56px);letter-spacing:-.06em;line-height:1}.section-heading p{max-width:420px;color:var(--muted);line-height:1.6;font-size:14px}.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:70px 1fr 1.2fr 100px;grid-gap:24px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}.project-row:hover{padding-left:12px;padding-right:12px;color:var(--copper)}.project-index{color:var(--muted);font-size:12px}.project-row h3{margin:0 0 6px;font-size:24px;letter-spacing:-.04em}.project-type{color:var(--muted);font-size:12px}.project-summary{color:var(--muted);line-height:1.55;font-size:13px}.arrow{text-align:right;font-size:24px}.tag-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.tag{color:var(--muted);font-size:10px;border:1px solid var(--line);padding:5px 8px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.field{padding:20px 0;border-bottom:1px solid var(--line);font-size:18px;letter-spacing:-.03em}.field:nth-child(odd){margin-right:50px}.field:before{content:"↳";color:var(--copper);margin-right:14px;font-family:DM Mono}.method-band{background:var(--ink);color:var(--paper);padding:80px 0}.method-band .eyebrow{color:var(--copper)}.method-intro{max-width:650px;font-size:24px;line-height:1.35;letter-spacing:-.04em;margin:18px 0 60px}.method-list{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:0;gap:0;border-top:1px solid rgba(255,255,255,.22)}.method-step{padding:18px 16px 0 0;border-right:1px solid rgba(255,255,255,.22);margin-right:16px;color:var(--muted);font-size:12px}.method-step:last-child{border:0}.method-step span{display:block;color:var(--copper);font-family:DM Mono;font-size:11px;margin-bottom:24px}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:90px;gap:90px;align-items:start}.about-copy{font-size:28px;line-height:1.28;letter-spacing:-.05em;margin:0}.muted-copy{color:var(--muted);line-height:1.7}.cta{border-top:1px solid var(--line);text-align:center;padding:110px 0 120px}.cta h2{max-width:660px;margin:16px auto;font-size:clamp(34px,5vw,64px);letter-spacing:-.07em;line-height:1}.cta p{max-width:450px;margin:0 auto;color:var(--muted);line-height:1.6}.cta .actions{justify-content:center}.site-footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.page-intro{padding:110px 0 80px;max-width:760px}.page-intro p{color:var(--muted);font-size:18px;line-height:1.6;max-width:590px;margin-top:26px}.detail-header{padding:100px 0 64px;border-bottom:1px solid var(--line)}.detail-header h1{font-size:clamp(48px,8vw,100px);letter-spacing:-.08em;line-height:.9;margin:16px 0}.detail-header p{max-width:650px;color:var(--muted);font-size:17px;line-height:1.6}.detail-grid{display:grid;grid-template-columns:240px 1fr;grid-gap:72px;gap:72px;padding:70px 0}.detail-aside{font-size:12px;color:var(--muted)}.detail-aside strong{color:var(--ink);display:block;margin-bottom:20px}.detail-content{max-width:720px}.detail-block{margin-bottom:48px}.detail-block h2{font-size:22px;letter-spacing:-.04em;margin:0 0 16px}.detail-block p{color:var(--muted);line-height:1.75;margin:0}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.gallery-box{aspect-ratio:1.5;background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden}.gallery-box:after{content:"TECHNICAL IMAGE / TO BE ADDED";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font:10px DM Mono;letter-spacing:.08em;text-align:center}.back-link{display:inline-block;color:var(--copper);font:11px DM Mono;text-transform:uppercase;letter-spacing:.08em;margin-bottom:28px}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.skill{background:var(--paper);padding:28px}.skill h3{margin:0 0 18px;font-size:18px}.skill p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.tool-list{display:flex;gap:10px;flex-wrap:wrap}.tool{padding:8px 11px;border:1px solid var(--line);font:11px DM Mono;color:var(--muted)}.empty-state{border:1px dashed var(--line);padding:55px;text-align:center;color:var(--muted);line-height:1.6}.category-list{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 50px}.category{border:1px solid var(--line);padding:9px 12px;font:11px DM Mono;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:100px;gap:100px}.form{display:grid;grid-gap:20px;gap:20px}.form label{display:grid;grid-gap:8px;gap:8px;font:11px DM Mono;text-transform:uppercase;letter-spacing:.07em}.form input,.form textarea{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);padding:13px 12px;outline:none}.form textarea{min-height:160px;resize:vertical}.form input:focus,.form textarea:focus{border-color:var(--copper)}.form-message{font-size:13px;line-height:1.5;color:var(--copper-dark)}@media (max-width:800px){.container{width:min(100% - 28px,600px)}.nav{min-height:68px;flex-wrap:wrap;padding:14px 0;gap:12px}.nav-links{order:3;width:100%;justify-content:space-between;gap:10px}.hero{grid-template-columns:1fr;gap:44px;padding:70px 0 80px;min-height:auto}.hero h1{font-size:clamp(48px,16vw,80px)}.hero-copy{font-size:16px}.technical-plate{width:100%;justify-self:stretch}.section{padding:72px 0}.section-heading{display:block;margin-bottom:30px}.project-row{grid-template-columns:38px 1fr 24px;gap:12px}.project-row .tag-list,.project-summary{grid-column:2/4}.arrow{grid-column:3;grid-row:1}.contact-grid,.field-grid,.split{grid-template-columns:1fr;gap:34px}.field:nth-child(odd){margin-right:0}.method-list{grid-template-columns:1fr;gap:0}.method-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding:18px 0;margin:0}.method-step span{display:inline-block;margin:0 18px 0 0}.method-intro{font-size:21px;margin-bottom:30px}.about-copy{font-size:25px}.detail-grid{grid-template-columns:1fr;gap:30px;padding:45px 0}.detail-aside{order:2}.detail-header{padding:75px 0 48px}.gallery,.skills-grid{grid-template-columns:1fr}.page-intro{padding:75px 0 55px}.cta{padding:80px 0}.footer-inner{display:block;line-height:2}.footer-inner span{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.project-row{transition:none}}