:root{--paper:#f5f3ed;--ink:#1c302b;--muted:#66716a;--line:#d8dcd1;--accent:#c34c29;--navy:#172b35;--cream:#e8ede0;--body-font:"Segoe UI",Arial,sans-serif;--mono:"Consolas","Courier New",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);line-height:1.6}a{color:inherit;text-decoration:none}a,button,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,label:has(+input:focus-visible){outline:3px solid var(--accent);outline-offset:5px}svg{display:block;width:100%;height:auto}.shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}.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}.skip-link{position:absolute;z-index:10;top:-100px;left:20px;padding:12px 20px;background:var(--ink);color:#fff}.skip-link:focus{top:12px}.demo-banner{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:9px 24px;background:#e5e8dc;font-size:12px;font-weight:600;letter-spacing:.01em;border-bottom:1px solid #d2d8c8}.status-dot{width:6px;height:6px;flex:0 0 6px;background:var(--accent);border-radius:50%}.demo-banner a{margin-left:18px;font-weight:400;text-decoration:underline;text-underline-offset:3px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-block:29px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:750;letter-spacing:.07em;line-height:1.3}.wordmark svg{width:35px;height:35px;fill:none;stroke:var(--ink);stroke-width:1.3}.wordmark small{display:block;font-weight:400;font-size:9px;letter-spacing:.075em;margin-top:4px;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:27px;font-size:13px}.site-header nav a{padding:7px 0}.site-header nav a:hover,.text-link:hover,.email-link:hover{color:var(--accent)}.site-header .nav-contact{border:1px solid var(--ink);padding:9px 15px;display:flex;gap:22px;align-items:center}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:56px;align-items:center;padding-block:66px 62px}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:400;margin:0 0 25px}.eyebrow span{color:var(--accent);margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(43px,4.8vw,65px);font-weight:650;line-height:1.055;letter-spacing:-.055em;margin-bottom:28px}h1 span{color:var(--accent)}.hero-text{font-size:15px;color:var(--muted);max-width:400px;margin-bottom:29px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-weight:600;font-size:12px;min-height:49px;padding:14px 19px}.button-dark{background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:background .18s}.button-dark:hover{background:var(--accent);border-color:var(--accent)}.text-link{font-size:12px;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding-block:9px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:33px;font-size:10px;color:var(--muted)}.hero-note p{margin:0}.hero-note strong{font-weight:400}.note-line{height:31px;width:2px;background:var(--accent);flex:0 0 2px}.drawing-card{background:var(--navy);color:var(--cream);border-radius:2px;box-shadow:0 18px 35px #172b3510;min-width:0}.drawing-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:20px 23px 15px;font-family:var(--mono);font-size:9px;letter-spacing:.07em;color:#a8bab9}.drawing-heading span:first-child{display:flex;align-items:center;gap:8px}.drawing-heading i{width:5px;height:5px;display:block;border-radius:50%;background:#d37a4d}.model-switch{border:0;margin:0;padding:0 0 10px;position:relative;text-align:center}.model-switch input{position:absolute;left:0;opacity:0;width:1px;height:1px}.model-switch label{display:inline-block;font-family:var(--mono);font-size:10px;padding:6px 16px;border:1px solid #708b8a;cursor:pointer;margin:0 -2px;background:transparent;color:#bac9c3}.model-switch label:first-of-type{border-radius:3px 0 0 3px}.model-switch label:last-of-type{border-radius:0 3px 3px 0}.model-switch input:checked+label{background:#e8ede0;color:var(--navy);border-color:#e8ede0}.model-switch input:focus-visible+label{outline:3px solid #ed9d75;outline-offset:3px}.drawing{margin-top:12px}.plan-view{display:none}#vista-planta:checked~.drawing .structure-view{display:none}#vista-planta:checked~.drawing .plan-view{display:block}.axis{stroke:#849ba0;stroke-width:.75;stroke-dasharray:5 6;opacity:.45}.ground{stroke:#93a7a6;stroke-width:1;stroke-dasharray:2 5;fill:#b8d0c406}.slab{fill:url(#slab-fill);stroke:#c0d3c0;stroke-width:1}.top-slab{fill:#cfdfca17}.columns{stroke:#b9d1c9;stroke-width:2}.beams{stroke:#dce8d4;stroke-width:1.5}.accent{stroke:#e3915e;stroke-width:2.4}.callout{stroke:#88a0a0;stroke-width:.7}.small-label{fill:#a9bdbc;font-family:var(--mono);font-size:8px;letter-spacing:.035em}.joint{fill:#172b35;stroke:#e3915e;stroke-width:2}.plan-wall{stroke:#dce8d4;stroke-width:2}.plan-fine{stroke:#8aa8a3;stroke-width:.65}.plan-door{stroke:#94aaa4;stroke-width:1}.plan-column{fill:#e3915e;stroke:none}.drawing-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #47616a;padding:16px 23px;font-family:var(--mono);font-size:8px;color:#a8bab9}.drawing-footer span:first-child{color:#e4bea0;letter-spacing:.08em}.discipline-band{border-block:1px solid var(--line)}.discipline-band .shell{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:19px;font-size:12px;letter-spacing:.045em}.plus{font-family:var(--mono);color:var(--accent);font-size:19px;font-weight:300}.section{padding-block:79px 84px}.section-heading{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,2fr);gap:60px;margin-bottom:42px;align-items:start}.section-heading .eyebrow{padding-top:7px}.section-heading h2{font-size:clamp(30px,3vw,40px);line-height:1.12;font-weight:550;letter-spacing:-.04em;margin-bottom:19px}.section-heading p:not(.eyebrow){max-width:540px;font-size:13px;color:var(--muted);margin-bottom:0;line-height:1.85}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:48px minmax(160px,1fr) minmax(0,1.4fr) 178px;gap:25px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line)}.service-number{font-family:var(--mono);font-size:11px;color:var(--accent);padding-top:5px}.service-list h3{font-size:21px;font-weight:550;letter-spacing:-.025em;margin:0}.service-list p{font-size:12px;color:var(--muted);margin:0;line-height:1.9;max-width:410px}.service-tag{font-family:var(--mono);text-transform:uppercase;font-size:8px;letter-spacing:.02em;color:var(--muted);border:1px solid var(--line);padding:6px 10px;justify-self:end;margin-top:2px;white-space:nowrap}.projects-section{background:#e8ebdf;padding-block:76px 61px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start}.project-card summary{list-style:none;cursor:pointer}.project-card summary::-webkit-details-marker{display:none}.project-art{background:#dce3d4;position:relative;border:1px solid #ccd5c4;overflow:hidden}.project-art svg{aspect-ratio:360/260;fill:none}.project-art>span{position:absolute;left:17px;bottom:13px;font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:#596961}.project-volume{fill:#f5f3ed90;stroke:#526d64;stroke-width:1.6}.project-line{stroke:#658476;stroke-width:1.05}.project-accent{stroke:var(--accent);stroke-width:2}.project-arc{stroke:#6c8a7d;stroke-width:1;stroke-dasharray:3 3}.project-point{fill:var(--accent);stroke:none}.terrain{stroke:#879b8b;stroke-width:.9;stroke-dasharray:3 5;fill:#c8d4c626}.art-two{background:#e4e4d9}.art-three{background:#d2dfd9}.project-title{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:19px}.project-title p{font-family:var(--mono);font-size:9px;color:#6a7266;margin-bottom:5px;text-transform:uppercase;letter-spacing:.07em}.project-title h3{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin:0}.project-toggle{font-size:22px;font-weight:300;color:var(--accent);width:28px;text-align:center;border:1px solid #bdc7b6;line-height:28px;transition:transform .18s}.project-card[open] .project-toggle{transform:rotate(45deg)}.project-card summary:hover .project-title h3{color:var(--accent)}.project-description{font-size:12px;color:#56645b;padding:18px 0 0}.project-description p{margin:0 0 12px}.project-description span{font-size:10px;display:block;border-left:2px solid var(--accent);padding-left:10px}.portfolio-note{font-size:10px;color:var(--muted);margin:32px 0 0;padding-top:18px;border-top:1px solid #cbd2c2}.contact-section{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center;padding-block:82px 86px}.contact-section h2{font-size:clamp(36px,4vw,52px);font-weight:550;letter-spacing:-.05em;line-height:1.12;margin:0}.contact-section h2 span{color:var(--accent)}.contact-copy>p:first-child{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:25px}.contact-copy strong{font-weight:600;color:var(--ink)}.contact-button{font-size:11px;gap:25px;max-width:100%}.email-link{display:block;width:max-content;max-width:100%;overflow-wrap:anywhere;margin-top:16px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.contact-note{font-size:10px;color:var(--muted);line-height:1.85;margin:25px 0 0;max-width:355px}.site-footer{border-top:1px solid var(--line);padding-block:26px}.site-footer .shell{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px}.site-footer strong{font-size:11px;letter-spacing:.06em}.site-footer p{color:var(--muted);margin:0;font-size:9px}.site-footer a{display:flex;gap:24px;align-items:center;font-size:10px}
@media(min-width:1500px){.hero{gap:90px;padding-block:85px 80px}.hero h1{font-size:70px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.hero{gap:28px;padding-block:49px}.hero h1{font-size:49px}.site-header nav{gap:20px}.hero-actions{gap:17px}.drawing-heading{padding-inline:17px;font-size:8px}.drawing-footer{padding-inline:17px;font-size:7px}.service-list article{grid-template-columns:32px minmax(140px,.9fr) minmax(0,1.5fr);gap:22px}.service-tag{grid-column:3;justify-self:start;margin-top:-7px}.section-heading{gap:30px}.contact-section{gap:55px}.project-grid{gap:20px}.project-title h3{font-size:17px}}
@media(max-width:820px){.demo-banner{font-size:11px;flex-wrap:wrap;gap:7px;padding-inline:18px}.demo-banner a{margin-left:7px}.site-header{align-items:flex-start;padding-block:22px;gap:22px}.wordmark{font-size:18px;gap:10px}.wordmark small{font-size:8px}.wordmark svg{width:29px;height:29px}.site-header nav{gap:14px;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.site-header .nav-contact{padding:6px 10px;gap:12px}.hero{grid-template-columns:1fr;gap:35px;padding-block:40px 43px}.hero h1{font-size:clamp(44px,7.3vw,64px)}.hero h1 span br{display:none}.hero-text{max-width:530px}.hero-note{margin-top:25px}.drawing-card{width:100%;max-width:580px;justify-self:center}.drawing{max-height:410px}.discipline-band .shell{gap:12px;font-size:10px}.section{padding-block:55px}.section-heading{grid-template-columns:1fr;gap:0;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:34px}.section-heading p:not(.eyebrow){max-width:580px}.service-list article{grid-template-columns:24px minmax(0,1fr) minmax(0,1.3fr);gap:15px;padding-block:23px}.service-list h3{font-size:18px}.service-list p{font-size:11px}.service-tag{font-size:7px}.projects-section{padding-block:55px 45px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.project-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px)}.contact-section{padding-block:58px;gap:35px;grid-template-columns:1fr 1fr}.contact-section h2{font-size:38px}.contact-copy>p:first-child{font-size:12px}.contact-button{font-size:10px;padding-inline:13px;gap:13px}.site-footer .shell{align-items:flex-start;flex-wrap:wrap}.site-footer p{max-width:240px}}
@media(max-width:560px){.shell{width:calc(100% - 36px)}.demo-banner{font-size:10px;column-gap:7px;row-gap:3px}.demo-banner a{width:100%;text-align:center;margin:0;font-size:9px}.site-header{flex-direction:column;gap:17px}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:11px}.site-header .nav-contact{border:0;padding:7px 0}.hero{padding-block:34px}.eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:clamp(37px,10vw,53px);margin-bottom:23px}.hero-text{font-size:13px;margin-bottom:24px}.hero-actions{gap:12px 20px}.button{font-size:11px;min-height:46px;padding:12px 15px;gap:22px}.text-link{font-size:11px}.hero-note{font-size:9px;margin-top:22px}.drawing-heading{font-size:7px;padding:15px 12px 13px;gap:7px}.drawing-heading span{white-space:nowrap}.model-switch label{font-size:9px;padding:6px 14px}.drawing{margin-top:10px;max-height:none}.drawing-footer{font-size:6.5px;padding:13px 12px;gap:8px}.discipline-band .shell{font-size:9px;flex-wrap:wrap;justify-content:flex-start;gap:4px 16px;padding-block:16px}.discipline-band .plus{font-size:14px}.discipline-band .plus:last-of-type{display:none}.discipline-band span:last-child{width:100%}.section{padding-block:43px}.section-heading h2{font-size:30px}.section-heading p:not(.eyebrow){font-size:12px}.service-list article{grid-template-columns:25px minmax(0,1fr);gap:7px 13px;padding-block:21px}.service-number{grid-row:1/4;font-size:10px}.service-list h3{font-size:20px}.service-list p{grid-column:2;font-size:12px}.service-tag{grid-column:2;font-size:7px;margin-top:5px}.projects-section{padding-block:43px 36px}.project-grid{grid-template-columns:1fr;gap:29px}.project-card:last-child{grid-column:auto;max-width:none}.project-title{padding-top:14px}.project-title h3{font-size:20px}.project-art svg{max-height:300px}.portfolio-note{font-size:9px;margin-top:26px}.contact-section{grid-template-columns:1fr;gap:27px;padding-block:47px}.contact-section h2{font-size:42px}.contact-section .eyebrow{margin-bottom:18px}.contact-copy>p:first-child{font-size:13px}.contact-button{font-size:10px;gap:15px;padding:13px 15px}.contact-note{font-size:10px;max-width:none}.site-footer{padding-block:23px}.site-footer .shell{gap:16px}.site-footer p{order:3;max-width:none;width:100%;font-size:9px}.site-footer a{gap:8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
