:root{--bg:#f7f4ee;--ink:#171b1c;--red:#d74b36;--line:#d9d6d0;--muted:#666b6b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Archivo',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(100% - 64px,1320px);margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:80px;display:flex;align-items:center;gap:42px}.logo{display:inline-flex;align-items:center;gap:12px;font-size:22px;letter-spacing:.075em;font-weight:900;line-height:1}.logo small{display:block;font-size:9px;letter-spacing:.33em;margin-top:7px}.logo-symbol{font-size:30px;letter-spacing:-.12em;border:2px solid currentColor;padding:6px 12px 6px 8px}.logo-symbol span,.red{color:var(--red)}.links{display:flex;gap:30px;margin-left:auto}.links a{font-size:13px;font-weight:700}.links a:hover,.links .selected{color:var(--red)}.navcta{background:var(--ink);color:white;font-size:13px;font-weight:700;padding:15px 19px;white-space:nowrap}.navcta:hover{background:var(--red)}.menu{display:none}.grid-bg{background-image:linear-gradient(to right,rgba(40,40,40,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(40,40,40,.035) 1px,transparent 1px);background-size:64px 64px}.eyebrow{font:500 12px/1.5 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.gray{color:var(--muted)}.hero-layout{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;padding-top:70px;padding-bottom:65px}.hero-title{font-weight:900;font-stretch:115%;letter-spacing:-.075em;line-height:.99;font-size:clamp(64px,8vw,124px);margin:28px 0}.hero-title em{font-style:normal;color:var(--red)}.lead{font-size:clamp(17px,1.65vw,21px);line-height:1.65;max-width:650px;color:#5d6261}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;font-size:14px;font-weight:750;cursor:pointer;border:1px solid var(--ink);transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--red);border-color:var(--red);color:#fff}.primary:hover{background:#b83a28}.outline{background:transparent}.outline:hover{background:var(--ink);color:white}.phone{font:500 13px 'JetBrains Mono',monospace;text-decoration:underline;text-underline-offset:5px}.scaffold-wrap{position:relative;min-width:0}.scaffold{display:block;width:100%;height:auto;max-height:610px}.draw{fill:none;stroke:var(--ink);stroke-width:2.3;stroke-linecap:square;stroke-dasharray:1;stroke-dashoffset:1;animation:assemble 1.1s ease forwards;animation-delay:calc(var(--n)*27ms)}.draw.brace{stroke:#999;stroke-width:1.2}.draw.deck{stroke-width:5}.draw.redline{stroke:var(--red);stroke-width:5}@keyframes assemble{to{stroke-dashoffset:0}}.strip{border-top:1px solid var(--line);background:rgba(255,255,255,.4)}.strip-items{display:grid;grid-template-columns:repeat(3,1fr)}.strip-items span{padding:18px 26px;border-right:1px solid var(--line);font-weight:700}.strip-items span:first-child{padding-left:0}.strip-items b{font:12px 'JetBrains Mono',monospace;color:var(--red);margin-right:16px}.section{padding:110px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-heading>p{max-width:380px;color:var(--muted)}.display{font-size:clamp(48px,6.3vw,92px);line-height:1.04;letter-spacing:-.068em;font-weight:900;font-stretch:110%;margin:22px 0}.display-sm{font-size:clamp(42px,5vw,72px);line-height:1.06;letter-spacing:-.065em;margin:20px 0 28px}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:70px 1.1fr 1fr 35px;gap:20px;align-items:center;padding:27px 16px;border-bottom:1px solid var(--line);transition:background .2s}.service-row:hover{background:#e9e6df}.service-row>span{font:13px 'JetBrains Mono',monospace;color:var(--muted)}.service-row strong{font-size:clamp(20px,2.6vw,35px);line-height:1.2;letter-spacing:-.04em}.service-row p{margin:0;color:var(--muted)}.service-row b{font-size:24px;color:var(--red)}.dark{background-color:#171b1c;color:white}.dark .display{margin-bottom:60px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3a3f40;list-style:none;padding:1px;margin:0}.step{background:#171b1c;padding:35px;min-height:255px}.step-number{display:flex;align-items:center;justify-content:space-between;color:var(--red);font:13px 'JetBrains Mono',monospace}.step-number span{width:45px;height:1px;background:#43484a}.step h3{font-size:27px;letter-spacing:-.04em;margin:38px 0 12px}.step p{color:#afb5b3;margin:0}.zones{display:grid;grid-template-columns:1fr 2fr;gap:80px}.zones>div:first-child>p{max-width:370px;color:var(--muted)}.zone-list>div{display:flex;align-items:baseline;gap:26px;border-top:1px solid var(--ink);padding:25px 0}.zone-list>div:last-child{border-bottom:1px solid var(--ink)}.zone-list small{font:12px 'JetBrains Mono',monospace;color:var(--muted)}.zone-list strong{font-size:clamp(32px,5vw,68px);letter-spacing:-.06em;line-height:1.1}.zone-list span{margin-left:auto;font:11px 'JetBrains Mono',monospace;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-all{grid-template-columns:repeat(4,1fr)}.photo{margin:0;position:relative;overflow:hidden;background:#d4d1cb;min-height:350px}.photo img{width:100%;height:100%;min-height:350px;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .7s}.photo:hover img{transform:scale(1.05)}.photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:white;display:flex;flex-direction:column}.photo small{font:11px 'JetBrains Mono',monospace;color:#ff806e;text-transform:uppercase}.photo strong{font-size:20px}.textlink{font-weight:750;text-decoration:underline;text-underline-offset:6px}.textlink:hover{color:var(--red)}.cta{background:var(--red);color:white;padding:80px 0}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.cta h2{font-size:clamp(48px,6vw,86px);letter-spacing:-.07em;line-height:1.04;margin:16px 0 0}.light{background:white;color:var(--ink);border-color:white}.page-hero{padding:90px 0 100px;border-bottom:1px solid var(--line)}.page-hero .display{max-width:1050px}.page-hero .lead{max-width:780px}.service-detail{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:52px 0;border-top:1px solid var(--line);scroll-margin-top:110px}.service-detail:last-child{border-bottom:1px solid var(--line)}.service-detail h2{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.05em;margin:0 0 14px}.service-detail p{max-width:850px;color:var(--muted);font-size:18px}.about{display:grid;grid-template-columns:5fr 7fr;gap:65px}.about-point{display:grid;grid-template-columns:65px 1fr;gap:16px;padding:25px 0;border-top:1px solid var(--line)}.about-point:last-child{border-bottom:1px solid var(--line)}.about-point small{font:13px 'JetBrains Mono',monospace;color:var(--red)}.about-point h2{font-size:26px;letter-spacing:-.04em;margin:0}.about-point p{color:var(--muted);margin:8px 0}.contact{display:grid;grid-template-columns:1fr 2fr;gap:70px}.contact aside{display:flex;flex-direction:column;align-items:start;gap:12px}.contact aside .eyebrow:not(:first-child){margin-top:26px}.contact aside a{font-size:20px;font-weight:750}.contact aside p{margin:0}.quote{border:1px solid var(--line);background:#fff}.form-note{padding:22px 28px;background:var(--ink);color:white;font-size:14px}.fields{padding:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.fields label{display:flex;flex-direction:column;font-weight:700;font-size:14px;gap:8px}.fields input,.fields select,.fields textarea{border:1px solid #bdbeb9;background:white;border-radius:0;padding:12px 14px;min-width:0;width:100%;outline-offset:2px}.fields input:focus,.fields textarea:focus,.fields select:focus{outline:2px solid var(--red)}.fields .full{grid-column:1/-1}.fields .consent{display:flex;flex-direction:row;align-items:start;font-weight:400}.fields .consent input{width:auto;margin:6px}.consent a{text-decoration:underline}.legal{max-width:800px}.legal h2{margin-top:38px}.legal p{color:var(--muted)}footer{background:var(--ink);color:white;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid>div{display:flex;flex-direction:column;align-items:start;gap:12px}.footer-grid p{color:#aeb4b3}.footer-grid b{font:12px 'JetBrains Mono',monospace;color:#aeb4b3;margin-bottom:10px}.footer-grid a:hover{color:#ff8b7a}.foot-bottom{border-top:1px solid #414546;margin-top:55px;padding-top:24px;display:flex;justify-content:space-between;color:#aeb4b3;font-size:13px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.links{gap:15px}.nav{gap:20px}.navcta{display:none}.hero-layout{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:50px 1fr 25px}.service-row p{display:none}.gallery-all{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.container{width:min(100% - 36px,1320px)}.nav{height:68px}.logo{font-size:18px}.logo-symbol{font-size:23px}.menu{display:block;margin-left:auto;border:0;background:none;font-size:26px;cursor:pointer}.links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);padding:20px;flex-direction:column;gap:0;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0001}.links.open{display:flex}.links a{padding:14px 0;border-bottom:1px solid var(--line)}.hero-layout{grid-template-columns:1fr;gap:0;padding-top:52px;padding-bottom:25px}.hero-title{font-size:clamp(62px,13vw,95px)}.hero .lead{font-size:17px}.scaffold-wrap{max-width:450px;margin:auto;width:100%}.strip-items span{font-size:12px;padding:14px 8px}.strip-items b{display:none}.section{padding:70px 0}.section-heading{display:block}.section-heading>p{margin-top:20px}.display{font-size:clamp(44px,10vw,72px)}.steps{grid-template-columns:1fr 1fr}.step{padding:24px;min-height:230px}.step h3{font-size:22px;margin-top:25px}.step p{font-size:14px}.zones,.about,.contact{grid-template-columns:1fr;gap:30px}.gallery,.gallery-all{grid-template-columns:repeat(2,1fr)}.gallery .photo{min-height:240px}.gallery .photo img{min-height:240px}.cta-inner{display:block}.cta .btn{margin-top:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding:60px 0}.service-detail{grid-template-columns:55px 1fr}.fields{padding:20px}}@media(max-width:480px){.steps,.gallery,.gallery-all{grid-template-columns:1fr}.step{min-height:0}.zone-list strong{font-size:36px}.zone-list span{font-size:9px}.fields{grid-template-columns:1fr}.fields label{grid-column:1/-1}.service-row strong{font-size:21px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.draw{animation:none;stroke-dashoffset:0}.btn,.photo img{transition:none}}

/* Cross-browser and responsive hardening — no external icon fonts */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}img,svg{max-width:100%}img{height:auto}
.ui-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;flex-shrink:0}
a .ui-icon,button .ui-icon{transition:transform .25s ease}
a:hover>.ui-icon,button:hover>.ui-icon{transform:translate(2px,-2px)}
.menu .ui-icon{width:26px;height:26px}
.btn{gap:9px}.phone{display:inline-flex;align-items:center;gap:8px}
.service-row>b .ui-icon{width:25px;height:25px}
.textlink{display:inline-flex;align-items:center;gap:6px}
.wa-float{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:95;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;color:white;box-shadow:0 9px 28px rgba(0,0,0,.24);transition:transform .25s,box-shadow .25s;isolation:isolate}
.wa-float svg{width:34px;height:34px}.wa-float:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.26)}
.wa-tip{position:absolute;right:72px;white-space:nowrap;background:var(--ink);color:#fff;padding:10px 14px;font-size:12px;font-weight:700;border-radius:3px;opacity:0;pointer-events:none;transform:translateX(8px);transition:opacity .2s,transform .2s}
.wa-float:hover .wa-tip,.wa-float:focus-visible .wa-tip{opacity:1;transform:none}
.photo-cover-link{display:block;min-width:0;position:relative;overflow:hidden}.photo-cover-link:focus-visible{outline:3px solid var(--red);outline-offset:3px}.photo-cover-link .photo{height:100%}
.blog-read{margin-top:10px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.blog-read .ui-icon{width:15px;height:15px}
.blog-grid{align-items:stretch}.blog-grid .photo-cover-link{aspect-ratio:4/5}.blog-grid .photo{min-height:100%}.blog-grid .photo img{height:100%;width:100%;object-fit:cover}
.article-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,85px);align-items:start}.article-media img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.article-content{max-width:660px}.article-content h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.05em;line-height:1.1;margin:22px 0}.article-content p{color:var(--muted);font-size:17px}.article-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.article-disclaimer{font-size:12px!important;margin-top:30px}
/* Scroll-linked movement is enhancement only; all content remains visible without JS. */
.scaffold-wrap{transform:translate3d(0,var(--scaffold-shift,0px),0);will-change:transform}
.scaffold .redline{stroke-width:5}
.reveal{transition-duration:.65s}
@media(max-width:760px){.article-layout{grid-template-columns:1fr}.wa-float{width:56px;height:56px;right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.wa-float svg{width:31px;height:31px}.wa-tip{display:none}.hero-title{overflow-wrap:normal}.hero-layout{min-height:0}.scaffold-wrap{max-width:min(100%,400px)}.gallery-all{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.gallery-all{grid-template-columns:1fr}.section-heading{margin-bottom:30px}.step{padding:24px}.hero-title{font-size:clamp(50px,12vw,72px)}.buttons .btn{width:100%}.service-row{gap:10px;padding-left:0;padding-right:0}.service-row strong{min-width:0;overflow-wrap:anywhere}.footer-grid{padding-right:58px}}
@media(prefers-reduced-motion:reduce){.scaffold-wrap{transform:none!important}.wa-float,.wa-tip,.ui-icon{transition:none!important}}

/* Brand identity update — three red architectural bars */
.logo-mark{display:block;width:42px;height:42px;flex:0 0 42px;object-fit:contain}
.logo{gap:13px}
@media(max-width:480px){.logo-mark{width:34px;height:34px;flex-basis:34px}.logo{gap:9px}}
