:root{--color-paper:oklch(99% .004 25);--color-paper-2:oklch(96% .006 25);--color-paper-3:oklch(92% .008 25);--color-ink:oklch(18% .012 25);--color-ink-2:oklch(28% .012 25);--color-muted:oklch(48% .014 25);--color-rule:oklch(82% .01 25);--color-rule-2:oklch(72% .012 25);--color-accent:oklch(62% .195 27);--color-accent-dark:oklch(49% .185 27);--color-accent-soft:oklch(92% .035 27);--color-accent-ink:oklch(99% .004 25);--color-on-accent:var(--color-accent-ink);--color-dark-surface:oklch(15% .012 25);--color-dark-surface-2:oklch(22% .012 25);--color-light-on-dark:oklch(96% .006 25);--color-light-muted:oklch(77% .01 25);--color-focus:oklch(68% .22 27);--color-success:oklch(54% .14 145);--color-error:oklch(55% .21 25);--color-overlay:oklch(10% .01 25/.68);--color-overlay-clear:oklch(10% .01 25/0);--color-shadow:oklch(10% .01 25/.18);--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-body:"Manrope", "Segoe UI", sans-serif;--font-icon:"Font Awesome 7 Free";--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:clamp(1.05rem, 1vw + .8rem, 1.25rem);--text-xl:clamp(1.4rem, 2vw, 2rem);--text-2xl:clamp(2rem, 4vw, 3.8rem);--text-3xl:clamp(2.75rem, 5vw, 5.25rem);--text-display:clamp(4rem, 9.5vw, 9rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.16s;--dur-base:.32s;--dur-slow:.48s;--rule-hairline:1px;--rule-strong:2px;--radius-sm:.25rem;--radius-md:.5rem;--radius-pill:999px;--shadow-soft:0 1rem 3rem var(--color-shadow);--container:90rem;--reading:68ch}@font-face{font-family:Barlow Condensed;src:url(/assets/barlow-condensed-400-Dc2u_eUW.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/assets/barlow-condensed-600-DepVgxBB.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/assets/barlow-condensed-700-v1xN8_Wq.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/assets/manrope-latin-DHIcAJRg.woff2)format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html,body{min-width:20rem;margin:0;overflow-x:clip}html{scroll-behavior:smooth;background:var(--color-paper)}body{color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);opacity:1;line-height:1.7;transform:none}body.is-ready{opacity:1;transform:none}body.is-leaving{opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);transform:scale(.995)}img,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}.fa-solid,.fa-brands{text-align:center;width:1.25em;display:inline-block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;min-width:0;font-family:var(--font-display);letter-spacing:-.025em;font-weight:700;line-height:1.02}h1{font-size:var(--text-display)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl);line-height:1.05}p{max-width:var(--reading)}::selection{background:var(--color-accent);color:var(--color-on-accent)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.skip-link{top:var(--space-md);left:var(--space-md);z-index:300;padding:var(--space-sm) var(--space-md);background:var(--color-paper);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:min(calc(100% - clamp(2rem, 7vw, 8rem)), var(--container));margin-inline:auto}.narrow{width:min(100% - clamp(2rem,12vw,14rem),70rem);margin-inline:auto}.section{padding-block:clamp(3.5rem,7vw,7rem)}.section--tight{padding-block:clamp(var(--space-xl), 5vw, var(--space-3xl))}.section--dark{background:var(--color-dark-surface);color:var(--color-light-on-dark)}.section--soft{background:var(--color-paper-2)}.muted{color:var(--color-muted)}.on-dark-muted{color:var(--color-light-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-progress{z-index:400;background:var(--color-accent);transform-origin:0;width:100%;height:3px;position:fixed;inset:0 auto auto 0;transform:scaleX(0)}.site-header{z-index:200;height:6.5rem;color:var(--color-light-on-dark);transition:color var(--dur-base) var(--ease-out);align-items:center;display:flex;position:fixed;inset:0 0 auto}.site-header:before{content:"";background:linear-gradient(to bottom, var(--color-overlay), var(--color-overlay-clear));opacity:1;transition:opacity var(--dur-base) var(--ease-out);pointer-events:none;position:absolute;inset:0}.site-header__inner{width:min(calc(100% - clamp(2rem, 6vw, 7rem)), var(--container));min-height:4.5rem;padding:var(--space-xs) var(--space-md);align-items:center;gap:var(--space-xl);transition:max-width var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), border-radius var(--dur-base) var(--ease-out);margin-inline:auto;display:flex;position:relative;transform:translateY(0)}.site-header.is-floating:before{opacity:0}.site-header.is-floating .site-header__inner{background:color-mix(in oklch, var(--color-dark-surface) 94%, transparent);width:min(100% - 2rem,72rem);min-height:4rem;color:var(--color-light-on-dark);box-shadow:var(--shadow-soft);border-radius:var(--radius-sm);transform:translateY(var(--space-sm));-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%)}.brand{flex:none;align-items:center;display:inline-flex}.brand img{object-fit:contain;object-position:left center;width:10rem;height:4.4rem}.site-header.is-floating .brand img{width:8.5rem;height:3.55rem}.nav{margin-left:auto}.nav__list{align-items:center;gap:clamp(var(--space-md), 2.2vw, var(--space-xl));margin:0;padding:0;list-style:none;display:flex}.nav__link{align-items:center;gap:var(--space-xs);min-height:2.75rem;font-size:var(--text-sm);white-space:nowrap;font-weight:700;display:inline-flex;position:relative}.nav__link:after{content:"";background:var(--color-accent);transform-origin:100%;height:2px;transition:transform var(--dur-fast) var(--ease-out);position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav__link:hover:after,.nav__link[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.nav__item{position:relative}.nav__dropdown{top:calc(100% + var(--space-xs));width:20rem;max-height:min(70vh,34rem);padding:var(--space-sm);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);position:absolute;left:50%;overflow:auto;transform:translate(-50%,-.5rem)}.nav__item:hover .nav__dropdown,.nav__item:focus-within .nav__dropdown{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)}.nav__dropdown a{justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:700;display:flex}.nav__dropdown a:hover{background:var(--color-paper-2);color:var(--color-accent-dark)}.header-cta{margin-left:var(--space-sm)}.menu-toggle{color:currentColor;min-width:3rem;min-height:3rem;font-size:var(--text-lg);background:0 0;margin-left:auto;display:none}.menu-toggle:after{content:"Menu";font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.icons-loaded .menu-toggle:after{display:none}.button{justify-content:center;align-items:center;gap:var(--space-sm);border:var(--rule-strong) solid transparent;background:var(--color-accent);min-height:3.25rem;color:var(--color-on-accent);font-family:var(--font-display);letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);padding:.85rem 1.25rem;font-size:1.2rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.button:hover{background:var(--color-accent-dark)}.button:active{box-shadow:none;transform:translateY(0)}.button[disabled],.button[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.button.is-loading{color:#0000;pointer-events:none}.button.is-loading:after{content:"";border:2px solid var(--color-on-accent);border-top-color:#0000;border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite spin;position:absolute}.button--outline{color:currentColor;background:0 0;border-color:currentColor}.button--outline:hover{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-paper)}.button--dark{background:var(--color-dark-surface);color:var(--color-light-on-dark)}.text-link{align-items:center;gap:var(--space-sm);padding-block:var(--space-xs);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-bottom:1px solid;font-weight:800;line-height:1.2;display:inline-flex}.text-link:hover{color:var(--color-accent-dark)}.hero{isolation:isolate;background:var(--color-dark-surface);width:100vw;max-width:none;min-height:clamp(43rem,88svh,66rem);color:var(--color-light-on-dark);align-items:end;margin-inline:calc(50% - 50vw);display:grid;position:relative;overflow:clip}.hero--inner{min-height:clamp(38rem,78svh,58rem)}.hero__media,.hero__media img,.hero__media video{width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero__media{z-index:-2;overflow:hidden}.hero__media img,.hero__media video{object-fit:cover;object-position:center;transform:none}.hero__media:after{content:"";background:linear-gradient(90deg, var(--color-overlay) 0%, color-mix(in oklch, var(--color-overlay) 58%, transparent) 38%, var(--color-overlay-clear) 72%);pointer-events:none;position:absolute;inset:0}.hero__content{z-index:1;padding-block:clamp(7rem,10vh,8rem) clamp(10rem,14vh,11rem);position:relative}.hero h1{max-width:11ch;margin-bottom:var(--space-lg);text-transform:uppercase}.hero--inner h1{max-width:16ch;font-size:var(--text-3xl)}.hero__lead{max-width:38rem;margin-bottom:var(--space-xl);color:var(--color-light-on-dark);font-size:var(--text-lg);line-height:1.55}.hero__actions{gap:var(--space-md);flex-wrap:wrap;display:flex}.breadcrumb{gap:var(--space-sm);margin:0 0 var(--space-xl);color:var(--color-light-muted);font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.breadcrumb a{white-space:nowrap}.breadcrumb li:not(:last-child):after{content:"/";margin-left:var(--space-sm);color:var(--color-accent)}.proof-strip{background:var(--color-dark-surface);color:var(--color-light-on-dark)}.proof-strip__inner{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.proof-item{align-items:center;gap:var(--space-md);min-height:6.25rem;padding:var(--space-md) var(--space-lg);border-right:var(--rule-hairline) solid var(--color-dark-surface-2);display:flex}.proof-item:last-child{border:0}.proof-item i{color:var(--color-accent);font-size:1.35rem}.proof-item strong{font-size:var(--text-sm);display:block}.proof-item span{color:var(--color-light-muted);font-size:var(--text-xs);display:block}.photo-band{background:var(--color-dark-surface);width:100vw;max-width:none;height:clamp(20rem,62svh,42rem);max-height:80svh;margin-inline:calc(50% - 50vw);position:relative;overflow:hidden}.photo-band img{object-fit:cover;width:100%;min-width:100%;max-width:none;height:100%;transform:scale(1.02)}.photo-band__caption{inset:auto auto var(--space-lg) var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-paper);font-size:var(--text-sm);font-weight:800;position:absolute}.project-video{aspect-ratio:16/9;object-fit:cover;background:var(--color-dark-surface-2);width:100%;max-height:75vh}.section-intro{gap:clamp(var(--space-xl), 5vw, var(--space-4xl));margin-bottom:clamp(var(--space-2xl), 5vw, 4.5rem);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:end;display:grid}.section-intro h2{text-transform:uppercase;max-width:16ch;margin:0;font-size:clamp(3rem,4.75vw,5rem)}.section-intro p{margin:0 0 var(--space-sm);font-size:var(--text-lg)}.service-index{border-top:var(--rule-strong) solid var(--color-ink)}.service-row{gap:var(--space-xl);min-height:8.25rem;padding-block:var(--space-lg);border-bottom:var(--rule-hairline) solid var(--color-rule);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);grid-template-columns:4.5rem minmax(12rem,.8fr) minmax(0,1.2fr) auto;align-items:center;display:grid}.service-row:hover{background:var(--color-paper-2)}.service-row__icon{color:var(--color-accent);text-align:center;font-size:1.8rem}.service-row h3{text-transform:uppercase;margin:0;font-size:clamp(1.6rem,3vw,2.6rem)}.service-row p{color:var(--color-muted);margin:0;line-height:1.5}.service-row__arrow{font-size:var(--text-xl)}.years-band{gap:var(--space-3xl);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;display:grid}.years-band__number{font-family:var(--font-display);color:var(--color-accent);font-size:clamp(8rem,22vw,19rem);font-weight:700;line-height:.75}.years-band h2{max-width:14ch;margin-bottom:var(--space-xl);text-transform:uppercase}.process{border-top:var(--rule-strong) solid currentColor;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.process li{padding:var(--space-2xl);border-right:var(--rule-hairline) solid var(--color-rule)}.process li:last-child{border:0}.process__number{margin-bottom:var(--space-xl);color:var(--color-accent);font-family:var(--font-display);font-size:4rem;font-weight:700;line-height:1;display:block}.process h3{margin-bottom:var(--space-md);text-transform:uppercase}.process p{color:var(--color-muted);margin:0}.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:var(--space-sm);display:grid}.gallery-item{background:var(--color-paper-3);cursor:zoom-in;grid-column:span 4;min-height:20rem;position:relative;overflow:hidden}.gallery-item:nth-child(7n+1){grid-area:span 2/span 6;min-height:41rem}.gallery-item:nth-child(5n+2){grid-column:span 5}.gallery-item:nth-child(4n+3){grid-column:span 3}.gallery-item[hidden]{display:none}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out), filter var(--dur-slow) var(--ease-out)}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:attr(data-label);inset:auto var(--space-md) var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--color-paper);font-size:var(--text-xs);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:800;position:absolute;transform:translateY(.5rem)}.gallery-item:hover:after{opacity:1;transform:none}.gallery-filters{gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.gallery-more{margin-top:var(--space-xl)}.filter-button{min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hairline) solid var(--color-rule-2);cursor:pointer;white-space:nowrap;background:0 0;font-weight:800}.filter-button:hover,.filter-button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.lightbox{z-index:500;padding:var(--space-xl);background:var(--color-overlay);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);place-items:center;display:grid;position:fixed;inset:0}.lightbox.is-open{opacity:1;visibility:visible;transition-delay:0s}.lightbox img{object-fit:contain;max-width:min(92vw,90rem);max-height:86vh;box-shadow:var(--shadow-soft);transition:transform var(--dur-base) var(--ease-out);transform:scale(.97)}.lightbox.is-open img{transform:scale(1)}.lightbox__close{top:var(--space-lg);right:var(--space-lg);background:var(--color-paper);width:3.25rem;height:3.25rem;color:var(--color-ink);font-size:var(--text-xl);cursor:pointer;position:absolute}.values-layout{gap:clamp(var(--space-xl), 7vw, var(--space-5xl));grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.values-layout h2{text-transform:uppercase;max-width:13ch}.values-list{border-top:var(--rule-strong) solid currentColor;margin:0}.values-list div{gap:var(--space-xl);padding-block:var(--space-xl);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:10rem minmax(0,1fr);display:grid}.values-list dt{font-family:var(--font-display);font-size:var(--text-xl);text-transform:uppercase;font-weight:700}.values-list dd{color:var(--color-muted);margin:0}.content-grid{gap:clamp(var(--space-2xl), 6vw, var(--space-5xl));grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.content-grid__title{position:sticky;top:8rem}.content-grid__title h2{text-transform:uppercase;font-size:clamp(3rem,4.5vw,4.75rem)}.prose p{margin-bottom:var(--space-xl);font-size:var(--text-lg)}.feature-list{border-top:var(--rule-strong) solid currentColor;margin:0}.feature-list__row{gap:var(--space-lg);padding-block:var(--space-xl);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:3rem minmax(12rem,.65fr) minmax(0,1.35fr);align-items:start;display:grid}.feature-list__row i{color:var(--color-accent);padding-top:var(--space-xs);font-size:1.35rem}.feature-list__row dt{font-family:var(--font-display);text-transform:uppercase;font-size:1.35rem;font-weight:700;line-height:1.05}.feature-list__row dd{color:var(--color-muted);margin:0}.estimate{gap:clamp(var(--space-xl), 6vw, var(--space-4xl));padding:clamp(var(--space-xl), 6vw, var(--space-4xl));background:var(--color-paper-2);grid-template-columns:minmax(15rem,.7fr) minmax(0,1.3fr);display:grid}.estimate--form-only{grid-template-columns:minmax(0,1fr)}.estimate h2{text-transform:uppercase;max-width:none;font-size:clamp(3.25rem,4.6vw,4.75rem)}.form-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{min-width:0}.field--full{grid-column:1/-1}.field label{margin-bottom:var(--space-xs);font-size:var(--text-xs);font-weight:800;display:block}.field input,.field select,.field textarea{width:100%;min-height:3.25rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:0}.field textarea{resize:vertical;min-height:8rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-ink-2)}.field input[disabled],.field select[disabled],.field textarea[disabled]{opacity:.55;cursor:not-allowed}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-error)}.field__error{min-height:1lh;margin:var(--space-2xs) 0 0;color:var(--color-error);font-size:var(--text-xs)}.form-status{min-height:1.5rem;margin:var(--space-md) 0 0;font-weight:800}.form-status.is-success{color:var(--color-success)}.form-status.is-error{color:var(--color-error)}.honeypot{position:absolute;left:-9999px}.contact-layout{gap:clamp(var(--space-xl), 7vw, var(--space-5xl));grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);display:grid}.contact-layout>div>h2{font-size:clamp(3.5rem,4.75vw,5rem)}.contact-layout .estimate{gap:clamp(var(--space-lg), 2vw, var(--space-xl));padding:clamp(var(--space-xl), 3.5vw, 3.5rem);grid-template-columns:minmax(17rem,.8fr) minmax(22rem,1.2fr)}.contact-layout .estimate--form-only{grid-template-columns:minmax(0,1fr)}.contact-list{margin:0}.contact-list div{padding-block:var(--space-xl);border-bottom:var(--rule-hairline) solid var(--color-rule)}.contact-list dt{margin-bottom:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.contact-list dd{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:700;line-height:1.1}.contact-list a{overflow-wrap:anywhere}.map-frame{margin-top:var(--space-3xl);aspect-ratio:16/7;filter:grayscale()contrast(1.1);border:0;width:100%}.faq{border-top:var(--rule-strong) solid currentColor}.faq details{border-bottom:var(--rule-hairline) solid var(--color-rule)}.faq summary{padding:var(--space-xl) 3.5rem var(--space-xl) 0;font-family:var(--font-display);font-size:var(--text-xl);cursor:pointer;font-weight:700;line-height:1.1;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";top:var(--space-xl);right:var(--space-sm);color:var(--color-accent);font-size:var(--text-xl);transition:transform var(--dur-fast) var(--ease-out);position:absolute}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding:0 0 var(--space-xl);color:var(--color-muted);margin:0}.site-footer{padding-block:clamp(var(--space-3xl), 8vw, var(--space-5xl)) var(--space-xl);background:var(--color-dark-surface);color:var(--color-light-on-dark)}.footer-mast{gap:var(--space-4xl);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;display:grid}.footer-brand img{width:min(100%,20rem);height:auto;margin-bottom:var(--space-lg)}.footer-brand p{color:var(--color-light-muted)}.footer-links{gap:var(--space-2xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.footer-links h2{margin-bottom:var(--space-lg);text-transform:uppercase;font-size:1.25rem}.footer-links ul{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:var(--space-sm)}.footer-links a{color:var(--color-light-muted);font-size:var(--text-sm)}.footer-links a:hover{color:var(--color-light-on-dark)}.footer-meta{justify-content:space-between;gap:var(--space-md);margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:var(--rule-hairline) solid var(--color-dark-surface-2);color:var(--color-light-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.socials{gap:var(--space-sm);display:flex}.socials a{border:var(--rule-hairline) solid var(--color-dark-surface-2);place-items:center;width:2.75rem;height:2.75rem;display:grid}.socials a:hover{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.whatsapp{right:clamp(var(--space-md), 2vw, var(--space-xl));bottom:clamp(var(--space-md), 2vw, var(--space-xl));z-index:250;background:var(--color-success);width:3.75rem;height:3.75rem;color:var(--color-on-accent);box-shadow:var(--shadow-soft);animation:float-soft 3.2s var(--ease-in-out) infinite;border-radius:50%;place-items:center;font-size:1.75rem;display:grid;position:fixed}.whatsapp img{filter:brightness(0)invert();width:1.75rem;height:1.75rem}.whatsapp:after{content:"Chat with us";right:calc(100% + var(--space-sm));padding:var(--space-xs) var(--space-sm);background:var(--color-dark-surface);color:var(--color-light-on-dark);font-size:var(--text-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:800;position:absolute;transform:translate(.5rem)}.whatsapp:hover{box-shadow:0 0 0 .5rem color-mix(in oklch, var(--color-success) 24%, transparent), var(--shadow-soft);animation-play-state:paused}.whatsapp:hover:after{opacity:1;transition-delay:.8s;transform:none}.whatsapp:focus-visible:after{opacity:1;transition-delay:0s;transform:none}.back-to-top{right:clamp(var(--space-md), 2vw, var(--space-xl));bottom:calc(clamp(var(--space-md), 2vw, var(--space-xl)) + 4.5rem);z-index:240;border:var(--rule-hairline) solid var(--color-rule);background:var(--color-paper);opacity:0;visibility:hidden;cursor:pointer;width:3rem;height:3rem;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);place-items:center;display:grid;position:fixed;transform:translateY(.75rem)}.back-to-top.is-visible{opacity:1;visibility:visible;transition-delay:0s;transform:none}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transform:translateY(1.5rem)}.js .reveal[data-reveal=left]{transform:translate(-1.5rem)}.js .reveal[data-reveal=right]{transform:translate(1.5rem)}.js .reveal[data-reveal=zoom]{transform:scale(.97)}.js .reveal.is-visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-.35rem)}}@media (width<=72rem){.header-cta{display:none}.site-header__inner,.nav__list{gap:var(--space-md)}.proof-strip__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:var(--rule-hairline) solid var(--color-dark-surface-2)}}@media (width<=60rem){.site-header{height:5.5rem}.site-header__inner{width:calc(100% - 2rem)}.brand img{width:8.25rem;height:3.55rem}.menu-toggle{place-items:center;display:inline-grid}.nav{padding:var(--space-lg);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);margin:0;position:fixed;inset:5.5rem 1rem auto;transform:translateY(-.75rem)}.nav.is-open{opacity:1;visibility:visible;transition-delay:0s;transform:none}.nav__list{display:block}.nav__link{width:100%;min-height:3.25rem;font-size:var(--text-base)}.nav__dropdown{width:100%;max-height:0;box-shadow:none;opacity:1;visibility:visible;transition:max-height var(--dur-base) var(--ease-out);padding:0;position:static;overflow:hidden;transform:none}.nav__item:hover .nav__dropdown,.nav__item:focus-within .nav__dropdown{max-height:34rem;transform:none}.hero__media:after{background:linear-gradient(90deg, var(--color-overlay) 0%, color-mix(in oklch, var(--color-overlay) 75%, transparent) 60%, var(--color-overlay-clear) 100%)}.section-intro,.years-band,.values-layout,.content-grid,.estimate,.contact-layout,.footer-mast,.contact-layout .estimate{grid-template-columns:minmax(0,1fr)}.content-grid__title{position:static}.service-row{gap:var(--space-md);grid-template-columns:3.5rem minmax(0,1fr) auto}.service-row p{grid-column:2/-1}.process{grid-template-columns:minmax(0,1fr)}.process li{border-right:0;border-bottom:var(--rule-hairline) solid var(--color-rule)}.gallery-item,.gallery-item:nth-child(7n+1),.gallery-item:nth-child(5n+2),.gallery-item:nth-child(4n+3){grid-area:auto/span 6;min-height:24rem}}@media (width<=40rem){.container,.narrow{width:calc(100% - 2rem)}.section{padding-block:3.5rem}h1{font-size:clamp(3.5rem,19vw,5.25rem)}.hero,.hero--inner{min-height:min(44rem,100svh)}.hero__content{padding-block:6rem 8rem}.hero__actions{grid-template-columns:minmax(0,1fr);display:grid}.button{width:100%;min-height:3.5rem}.breadcrumb{gap:var(--space-xs)}.proof-strip__inner{grid-template-columns:minmax(0,1fr)}.proof-item,.proof-item:nth-child(2){border-right:0;border-bottom:var(--rule-hairline) solid var(--color-dark-surface-2)}.service-row{grid-template-columns:2.5rem minmax(0,1fr) auto;min-height:7rem}.service-row p{display:none}.feature-list__row{grid-template-columns:2rem minmax(0,1fr)}.feature-list__row dd{grid-column:2}.form-grid{grid-template-columns:minmax(0,1fr)}.field--full{grid-column:auto}.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-item,.gallery-item:nth-child(7n+1),.gallery-item:nth-child(5n+2),.gallery-item:nth-child(4n+3){grid-column:auto;min-height:22rem}.photo-band{height:min(58svh,30rem);max-height:80svh}.values-list div{gap:var(--space-sm);grid-template-columns:minmax(0,1fr)}.footer-links{grid-template-columns:minmax(0,1fr)}.map-frame{aspect-ratio:4/3}.whatsapp{width:3.5rem;height:3.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.12s!important;animation-duration:1ms!important;animation-iteration-count:1!important}.hero__media img,.hero__media video,.photo-band img{transform:none!important}.reveal{transform:none}.js .reveal{opacity:1;transform:none}}
