:root{--yellow:#FCB400;--graphite:#1D1F21;--white:#fff;--muted:#707475;--line:#dedfdb;--soft:#f5f5f1;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--graphite);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a36c00;outline-offset:5px}.container{width:min(1280px,88%);margin-inline:auto}.section{padding-block:110px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{font-size:clamp(2.2rem,4.1vw,3.75rem);line-height:1.12;letter-spacing:-.055em}h3{letter-spacing:-.035em}p{line-height:1.75}.muted{color:var(--muted)}.yellow{color:var(--yellow)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';height:7px;width:7px;background:var(--yellow)}.light{color:var(--white)}.skip-link{position:fixed;top:-100px;left:20px;padding:14px;background:var(--yellow);z-index:99}.skip-link:focus{top:10px}.header{position:sticky;top:0;background:rgba(255,255,255,.98);z-index:20;border-bottom:1px solid #eee}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{width:182px;flex-shrink:0}.brand img{width:100%}.header nav{display:flex;align-items:center;gap:32px;font-size:13px}.header nav>a{position:relative;padding-block:10px}.header nav>a.active:after{content:'';position:absolute;bottom:0;left:0;width:18px;height:2px;background:var(--yellow)}.header nav>a:hover{color:#805600}.header nav .nav-cta{border:1px solid var(--line);padding:13px 16px;margin-left:12px;font-weight:600;display:flex;gap:22px}.nav-cta span{font-size:18px}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:690px;color:white;display:flex;flex-direction:column;justify-content:center;background:var(--graphite)}.hero-image{position:absolute;inset:0;z-index:-2;background:url('assets/residenciales-condominios-sin-personas.jpg') center 57%/cover}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(19,24,24,.86),rgba(19,24,24,.55) 52%,rgba(19,24,24,.12))}.hero-content{padding-block:78px 100px}.hero .eyebrow{font-size:10px;letter-spacing:2.1px}.hero .eyebrow span{display:none}h1{font-size:clamp(2.9rem,5.25vw,5.2rem);line-height:1.055;letter-spacing:-.06em}h1 em{font-style:normal;color:var(--yellow)}.hero-description{font-size:16px;line-height:1.7;margin-top:28px;color:#e5e6e2}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:18px 23px;font-size:13px;font-weight:700;line-height:1.4;border:0;transition:background .2s,transform .2s}.button span{font-size:20px;line-height:1}.button-yellow{background:var(--yellow);color:var(--graphite)}.button-yellow:hover{background:#ffd161;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;font-weight:600;border-bottom:1px solid #9c9e96;padding-block:12px}.text-link span{font-size:20px}.text-link:hover{border-color:var(--yellow)}.hero-bottom{position:absolute;bottom:24px;left:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.hero-bottom .yellow{font-size:20px;margin-left:16px}.principles{border-bottom:1px solid var(--line)}.principles-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px;font-size:12px}.principles-inner span{display:flex;align-items:center;justify-content:center;gap:22px;border-right:1px solid var(--line)}.principles-inner span:first-child{justify-content:start}.principles-inner span:last-child{border:0}.principles b{font-size:10px;color:#797c7b;font-weight:400}.section-heading{margin-bottom:52px}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.about-photo{margin:0;position:relative}.about-photo img{width:100%;height:410px;object-fit:cover}.about-photo figcaption{font-size:9px;letter-spacing:1.3px;padding-top:16px;display:flex;justify-content:space-between}.about-photo figcaption span{font-size:17px}.about-story h3{font-size:30px;line-height:1.25;margin-bottom:24px}.about-story p:not(.eyebrow){font-size:14px;color:#626665;margin-bottom:17px}.about-story .text-link{margin-top:10px}.purpose-grid{margin-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.purpose-grid article{border-top:1px solid var(--line);padding-top:26px}.index{font-size:10px;letter-spacing:1.6px;color:#686c6a}.purpose-grid h3{font-size:25px;margin:20px 0 14px}.purpose-grid p{font-size:14px;color:#626665;max-width:490px}.services{background:var(--soft)}.services-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:48px}.services-heading>p{font-size:14px;color:#626665;padding-bottom:5px}.process{background:var(--graphite);color:white}.process-heading{display:flex;justify-content:space-between;gap:30px}.process-heading h2{font-size:clamp(1.9rem,3vw,2.75rem)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:65px}.process-grid article{padding-top:24px;border-top:1px solid #4a4c4b}.process-grid article>span{color:var(--yellow);font-size:13px}.process-grid h3{font-size:25px;margin:26px 0 15px}.process-grid p{font-size:14px;color:#bfc1bd}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.contact h2{font-size:clamp(2.8rem,4.6vw,4.3rem)}.underlined{position:relative;display:inline-block;z-index:0}.underlined:after{content:'';position:absolute;left:0;bottom:5px;width:100%;height:9px;background:var(--yellow);z-index:-1}.contact-info>p:not(.eyebrow){font-size:14px;color:#626665;margin-top:24px}.contact-links{margin-top:35px;display:grid;gap:24px}.contact-links>a,.contact-links>div{display:grid;gap:8px}.contact-links span{font-size:9px;letter-spacing:1.5px;color:#686c69}.contact-links strong{font-size:18px;font-weight:500}.contact-links strong span{font-size:18px;margin-left:8px;color:var(--graphite)}.contact-links a:hover strong{color:#805600}.contact-form{background:var(--soft);padding:38px}.contact-form h3{font-size:24px}.contact-form>p{font-size:12px;color:#626665;margin-top:9px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-top:25px;min-width:0}.field label{font-size:11px;font-weight:600;display:block;margin-bottom:10px}.field label span{color:#856000}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #c5c8c0;padding:12px 0;background:transparent;border-radius:0;color:var(--graphite);font-size:12px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#777c74;opacity:1}.field select{padding-right:14px}.field textarea{resize:vertical;min-height:90px}.contact-form .button{width:100%;margin-top:25px}.contact-form .form-note{font-size:10px;margin-top:14px;line-height:1.6}.contact-form #form-status{color:var(--graphite)}#form-status a{text-decoration:underline}.footer{background:var(--graphite);color:#fff;padding:43px 0 22px}.footer-bottom{border-top:1px solid #444743;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#bfc1bd}
@media(min-width:1600px){.hero-bottom{left:calc((100% - 1280px)/2)}}
@media(max-width:1050px){.header nav{gap:20px}.header nav .nav-cta{margin:0;font-size:11px;gap:10px}.brand{width:155px}.about-grid{gap:6%}.contact{gap:6%}.contact-form{padding:28px}.hero{min-height:630px}.section{padding-block:85px}}
@media(max-width:800px){html{scroll-padding-top:80px}.container{width:88%}.header-inner{height:78px}.brand{width:155px}.menu-toggle{width:42px;height:42px;border:1px solid var(--line);background:white;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.menu-toggle span{height:1px;width:19px;background:var(--graphite);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:20px 6% 30px;border-bottom:1px solid var(--line);align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:14px}.header nav .nav-cta{margin-top:8px;justify-content:space-between;font-size:13px}.hero{min-height:620px}.hero-image{background-position:70% center}.hero:before{background:linear-gradient(90deg,rgba(19,24,24,.87),rgba(19,24,24,.42))}.hero-content{padding-block:65px 100px}h1{font-size:clamp(2.6rem,6.7vw,4rem)}.hero-description{font-size:14px}.hero-bottom{font-size:8px;letter-spacing:1px}.principles-inner{font-size:10px;gap:15px}.principles-inner span{gap:10px;justify-content:start}.principles-inner b{display:none}.section{padding-block:65px}.about-grid{grid-template-columns:1fr;gap:36px}.about-photo img{height:350px}.about-story h3{font-size:28px}.about-story p:not(.eyebrow){max-width:600px}.purpose-grid{margin-top:45px;gap:6%}.services-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:35px}.process-heading{display:block}.process-heading .eyebrow{margin-bottom:28px}.process-grid{gap:5%;margin-top:45px}.process-grid h3{font-size:21px}.process-grid p{font-size:12px}.contact{grid-template-columns:1fr;gap:45px}.contact-links{grid-template-columns:1fr 1fr}.contact-form{padding:32px}}
@media(max-width:480px){.hero{min-height:635px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px;gap:8px}.hero-actions{align-items:start;flex-direction:column;gap:14px}.hero-actions .button{width:100%}.hero-bottom{font-size:7px;letter-spacing:.7px}.hero-bottom .yellow{margin-left:4px}.hero-description br{display:none}.principles-inner{font-size:9px;padding-block:20px;gap:12px}.principles-inner span{line-height:1.6;padding-right:10px}.section{padding-block:58px}.section-heading{margin-bottom:30px}.eyebrow{font-size:9px;margin-bottom:21px}h2{font-size:2.15rem}.about-photo img{height:285px}.about-photo figcaption{font-size:7px}.purpose-grid{grid-template-columns:1fr;gap:28px}.purpose-grid h3{font-size:23px;margin-top:16px}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.process-grid article{position:relative;padding:22px 0 0 43px}.process-grid article>span{position:absolute;left:0;top:25px}.process-grid h3{margin:0 0 10px}.process-grid p{font-size:13px;max-width:300px}.contact-links{grid-template-columns:1fr}.contact-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.footer-bottom{flex-direction:column;gap:10px;line-height:1.6}.contact h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Refined navigation, service catalogue and footer. */
html{scroll-padding-top:150px}.header{box-shadow:0 3px 22px rgba(29,31,33,.035)}.header-top{height:31px;border-bottom:1px solid #eeeeea;background:var(--soft);font-size:10px;color:#646a63}.header-top .container{display:flex;align-items:center;justify-content:space-between;height:100%}.header-top p{display:flex;align-items:center;gap:8px;line-height:1.3}.header-top a{display:flex;gap:15px;align-items:center}.location-dot{width:5px;height:5px;border-radius:50%;background:var(--yellow);display:inline-block;flex-shrink:0}.header-inner{height:94px}.brand{width:215px}.header nav{gap:8px;font-size:12px}.header nav>a{padding:13px 17px;border-radius:6px;transition:background .2s,color .2s}.header nav>a.active{background:#f6f5ef;color:var(--graphite)}.header nav>a.active:after{width:4px;height:4px;border-radius:50%;bottom:6px;left:calc(50% - 2px)}.header nav>a:hover{background:var(--soft);color:var(--graphite)}.header nav .nav-cta{height:38px;align-items:center;justify-content:center;padding:0 14px;margin-left:16px;border:0;background:var(--yellow);gap:10px;font-size:12px;line-height:1;white-space:nowrap;border-radius:5px}.header nav .nav-cta:hover{background:#ffd161}.nav-cta svg{width:19px;height:19px}.nav-cta span{font-size:12px;line-height:1}.nav-cta span:last-child{font-size:16px;margin-left:4px}.services-heading{margin-bottom:44px}.services-description>p{font-size:14px;color:#626665}.services-description .text-link{margin-top:10px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{display:flex;flex-direction:column;background:var(--white);border:1px solid #e1e3dc;border-radius:10px;min-height:345px;padding:28px;scroll-margin-top:150px;transition:border-color .2s,box-shadow .2s,transform .2s}.service-card:hover,.service-card:focus-within{border-color:#cfb574;box-shadow:0 8px 28px rgba(29,31,33,.06);transform:translateY(-3px)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.card-icon{width:47px;height:47px;border-radius:10px;background:#fff7df;color:var(--graphite);display:grid;place-items:center}.card-icon svg{width:25px;height:25px}.card-number{font-size:10px;letter-spacing:1px;color:#7a8078}.card-body h3{font-size:24px;line-height:1.2;margin-bottom:14px;letter-spacing:-.035em}.card-body p{font-size:13px;color:#626961;line-height:1.8}.card-bottom{margin-top:auto;padding-top:27px}.card-bottom>span{display:block;font-size:10px;letter-spacing:.1px;color:#757a72;margin-bottom:17px}.card-link{border-top:1px solid #e6e8e0;padding-top:17px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;gap:10px}.card-link b{font-size:20px;font-weight:400;line-height:1;transition:transform .2s}.card-link:hover b{transform:translate(2px,-2px)}.service-card-featured{grid-column:span 2;isolation:isolate;position:relative;overflow:hidden;background:var(--graphite);border-color:var(--graphite);color:white;padding:32px}.service-card-featured:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/llave-en-mano.jpg') center/cover}.service-card-featured:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(22,27,25,.97),rgba(22,27,25,.78) 55%,rgba(22,27,25,.25))}.service-card-featured .card-top{margin-bottom:24px}.service-card-featured .card-icon{background:var(--yellow)}.service-card-featured .card-number{color:#d5d9d1}.service-card-featured .card-body{max-width:390px}.service-card-featured h3{font-size:35px}.service-card-featured .card-body p{color:#e1e5dc;font-size:14px}.service-card-featured .card-bottom>span{color:#d1d8c9}.service-card-featured .card-link{border-color:#697160}.service-card-featured .card-link b{color:var(--yellow)}.services-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;font-size:12px}.services-bottom p{color:#656b62}.services-bottom a{font-weight:600;white-space:nowrap}.services-bottom a span{padding-left:16px;font-size:18px}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;border-bottom:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding-block:22px}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:15px;font-weight:500;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;color:#686f63;flex-shrink:0}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{font-size:13px;color:#626961;padding-top:18px;max-width:540px}.footer{padding:0;background:var(--graphite)}.footer-invitation{display:flex;justify-content:space-between;align-items:center;padding-block:62px;gap:30px;border-bottom:1px solid #41453f}.footer-invitation .eyebrow{color:#cbd0c5;font-size:9px;margin-bottom:20px}.footer-invitation h2{font-size:clamp(2.5rem,4.6vw,4rem);line-height:1.04}.footer-invitation h2 span{color:var(--yellow)}.footer-invitation .button{border-radius:5px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1.1fr 1.1fr;gap:5%;padding-block:55px}.footer-brand img{width:225px;max-width:100%;margin-left:-17px}.footer-brand>p{font-size:12px;color:#aeb6a7;line-height:1.9;margin-top:18px}.coverage{margin-top:24px;font-size:10px;display:flex;align-items:center;gap:8px;color:#d5dbcd}.footer-column{display:flex;flex-direction:column;align-items:start;gap:13px;min-width:0}.footer-column h3{font-size:12px;font-weight:600;letter-spacing:0;color:white;margin-bottom:10px}.footer-column>a{font-size:11px;color:#bcc4b5;line-height:1.4;transition:color .2s}.footer-column>a:hover{color:var(--yellow)}.footer-contact{font-style:normal}.footer-column .footer-phone{font-size:17px;letter-spacing:-.5px;color:white;white-space:nowrap}.footer-phone span{color:var(--yellow);margin-left:5px}.footer-contact p{color:#aeb6a7;font-size:11px;line-height:1.7;margin-top:9px}.footer-column .footer-whatsapp{display:flex;align-items:center;gap:9px;font-size:10px;margin-top:8px;color:var(--yellow)}.footer-whatsapp svg{width:19px;height:19px;flex-shrink:0}.footer-bottom{align-items:center;border-color:#41453f;font-size:10px;color:#9fa998;gap:20px;padding-block:24px}.footer-bottom p{line-height:1.5}.footer-bottom>span{margin-left:auto}.back-top{display:flex;align-items:center;gap:18px;color:#e0e4da}.back-top span{border:1px solid #5b6554;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;font-size:15px}.back-top:hover{color:var(--yellow)}
@media(max-width:1100px){.brand{width:190px}.header nav>a{padding-inline:12px}.header nav .nav-cta{margin-left:8px;padding-inline:13px}.service-card{padding:24px;min-height:365px}.card-body h3{font-size:22px}.footer-grid{grid-template-columns:1.2fr .7fr 1fr 1.1fr;gap:3%}.footer-column .footer-phone{font-size:15px}.footer-brand img{width:200px;margin-left:-13px}}
@media(max-width:960px){html{scroll-padding-top:132px}.header-inner{height:78px}.brand{width:190px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid var(--line);border-radius:5px;background:white;flex-direction:column;justify-content:center;align-items:center;gap:7px}.menu-toggle span{height:1px;width:19px;background:var(--graphite);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:109px;left:0;right:0;max-height:calc(100dvh - 109px);overflow-y:auto;background:white;padding:20px 6% 28px;box-shadow:0 14px 20px rgba(29,31,33,.06);border-bottom:1px solid var(--line);align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:8px}.header nav>a{padding:14px 16px;font-size:14px}.header nav>a.active:after{bottom:auto;top:calc(50% - 2px);left:auto;right:17px}.header nav .nav-cta{height:44px;margin:6px 0 0;justify-content:start;gap:12px;padding:0 16px}.nav-cta span:last-child{margin-left:auto}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{min-height:335px;scroll-margin-top:132px}.service-card-featured{min-height:330px}.service-card:last-child{grid-column:span 2}.service-card:last-child .card-body{max-width:500px}.service-card:last-child .card-top{margin-bottom:20px}.footer-grid{grid-template-columns:1.3fr 1fr;gap:40px 12%;padding-block:45px}.footer-brand{grid-column:auto}.footer-brand img{width:225px}.footer-column>a{font-size:12px}.footer-column .footer-phone{font-size:18px}.footer-column .footer-whatsapp{font-size:11px}.footer-grid .footer-column:nth-child(3){grid-row:2;grid-column:1}.footer-invitation{padding-block:48px}.footer-invitation .button{gap:20px;padding:17px;font-size:12px}.faq{gap:6%}.faq-list summary{font-size:14px}}
@media(max-width:600px){.header-top{font-size:9px}.header-top a{gap:5px}.header-top p{gap:6px}.header-top .container{width:90%}.header-inner{height:76px}.brand{width:175px}.header nav{top:107px;max-height:calc(100dvh - 107px)}.services-heading{gap:20px}.services-description>p{font-size:13px}.services-description>p br{display:none}.services-grid{grid-template-columns:1fr;gap:16px}.service-card,.service-card-featured,.service-card:last-child{grid-column:auto;padding:25px;min-height:320px}.service-card-featured{min-height:360px}.card-top{margin-bottom:26px}.card-body h3{font-size:25px}.service-card-featured h3{font-size:32px}.card-body p{font-size:13px}.card-bottom{padding-top:25px}.card-bottom>span{font-size:10px}.card-link{font-size:12px;min-height:43px}.services-bottom{flex-direction:column;align-items:start;gap:12px;font-size:12px;margin-top:24px}.faq{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:14px}.faq-list details{padding-block:20px}.footer-invitation{align-items:start;flex-direction:column;gap:28px;padding-block:42px}.footer-invitation h2{font-size:42px}.footer-invitation .eyebrow{font-size:8px;letter-spacing:1.6px}.footer-invitation .button{width:100%;font-size:12px;padding:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding-block:37px}.footer-brand{grid-column:1/-1}.footer-brand img{width:215px;margin-left:-14px}.footer-brand>p{font-size:12px;margin-top:12px}.footer-brand>p br{display:none}.coverage{margin-top:18px}.footer-grid .footer-column:nth-child(3){grid-column:2;grid-row:auto}.footer-contact{grid-column:1/-1;border-top:1px solid #41453f;padding-top:28px}.footer-column{gap:14px}.footer-column h3{font-size:12px;margin-bottom:7px}.footer-column>a{font-size:11px;line-height:1.6}.footer-contact p{margin-top:0}.footer-column .footer-phone{font-size:22px}.footer-column .footer-whatsapp{font-size:12px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:14px 20px;padding-block:23px}.footer-bottom p{grid-column:1/-1;font-size:9px}.footer-bottom>span{margin-left:0;font-size:8px}.back-top{font-size:9px;gap:9px}.back-top span{height:28px;width:28px}.hero-content{padding-block:65px 100px}}

/* Brand notice, privacy and first-visit experience. */
[hidden]{display:none!important}.header nav .nav-cta>svg{display:block;width:18px;height:18px;flex:0 0 18px;overflow:visible}
.footer-social{margin-top:23px}.footer-social>p{font-size:9px;color:#aeb6a7;letter-spacing:.4px;margin-bottom:12px}.social-icons{display:flex;align-items:center;gap:10px}.social-placeholder{display:grid;place-items:center;width:36px;height:36px;border:1px solid #545c4e;border-radius:50%;color:var(--white)}.social-placeholder svg{display:block;width:17px;height:17px}.footer-legal{display:flex;justify-content:space-between;align-items:start;gap:50px;padding:26px 0;border-top:1px solid #41453f}.footer-legal>p{max-width:730px;font-size:10px;line-height:1.9;color:#abb3a4}.footer-legal strong{color:#d6ddce;font-weight:500}.footer-legal-links{display:flex;flex-direction:column;gap:12px;align-items:start;flex-shrink:0}.footer-legal-links a,.footer-legal-links button{font-size:10px;line-height:1.6;color:#d6ddce}.footer-legal-links button{padding:0;border:0;background:none;text-align:left}.footer-legal-links a:hover,.footer-legal-links button:hover{color:var(--yellow)}
.form-consent{display:flex;align-items:start;gap:10px;margin-top:24px;font-size:10px;line-height:1.7;color:#626961}.form-consent input{margin:3px 0 0;width:15px;height:15px;accent-color:var(--graphite);flex-shrink:0}.form-consent a{color:var(--graphite);text-decoration:underline;text-underline-offset:3px}.form-consent+button.button{margin-top:20px}
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:22px;background:var(--white);border:1px solid #dedfd7;border-radius:12px;padding:24px 28px;box-shadow:0 10px 70px rgba(29,31,33,.18);max-width:1230px;margin-inline:auto}.cookie-symbol{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;background:#fff4d6;border-radius:10px}.cookie-symbol svg{width:24px;height:24px}.cookie-copy{flex:1;min-width:0}.cookie-copy h2{font-size:20px;letter-spacing:-.035em;margin-bottom:8px;line-height:1.2}.cookie-copy p{font-size:11px;color:#626961;line-height:1.75;max-width:780px}.cookie-copy p a{text-decoration:underline;text-underline-offset:2px;color:var(--graphite)}.cookie-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.cookie-actions>a{font-size:11px;text-decoration:underline;text-underline-offset:4px}.cookie-actions .button{font-size:11px;padding:14px 17px;border-radius:5px;gap:20px}.cookie-actions .button span{font-size:15px}
.privacy-page{padding-block:50px 100px}.privacy-heading{border-bottom:1px solid var(--line);padding-bottom:46px}.privacy-heading>.text-link{margin-bottom:42px;font-size:12px}.privacy-heading .eyebrow{margin-bottom:25px}.privacy-heading h1{font-size:clamp(44px,6vw,80px);line-height:1.02;letter-spacing:-.065em}.privacy-heading h1>span{color:#707475}.privacy-heading>p:not(.eyebrow){font-size:14px;color:#626961;margin-top:22px}.privacy-heading .policy-date{font-size:10px!important;margin-top:16px!important}.privacy-layout{display:grid;grid-template-columns:260px 1fr;gap:8%;padding-top:50px;align-items:start}.privacy-index{position:sticky;top:160px;display:flex;flex-direction:column;gap:15px}.privacy-index p{font-size:9px;font-weight:600;letter-spacing:1.5px;margin-bottom:8px}.privacy-index a{font-size:12px;color:#626961;line-height:1.5}.privacy-index a:hover{color:var(--graphite);text-decoration:underline;text-underline-offset:4px}.privacy-content{max-width:760px}.privacy-content section{margin-bottom:42px;scroll-margin-top:155px}.privacy-content h2{font-size:25px;letter-spacing:-.035em;margin-bottom:20px;line-height:1.3}.privacy-content p{font-size:14px;color:#626961;margin-top:14px;line-height:1.9;overflow-wrap:anywhere}.privacy-content strong{font-weight:600;color:var(--graphite)}.privacy-content a{text-decoration:underline;text-underline-offset:3px;color:var(--graphite)}.privacy-content code{font-size:12px;background:var(--soft);padding:3px 5px}
.preloader{display:none}.js-loading{overflow:hidden}.js-loading .preloader{--load-progress:0%;display:grid;place-items:center;position:fixed;inset:0;z-index:100;background:var(--graphite);color:var(--white);isolation:isolate;overflow:hidden;animation:loader-safety 5s step-end forwards}.preloader-video,.preloader-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.preloader-video{filter:grayscale(.65);opacity:.55}.preloader-shade{z-index:-1;background:linear-gradient(180deg,rgba(29,31,33,.65),rgba(29,31,33,.85))}.preloader-content{width:min(510px,78%);text-align:center}.preloader-eyebrow{font-size:9px;letter-spacing:2.5px;color:#e6e8e2;margin-bottom:25px}.preloader-logo{position:relative;width:clamp(180px,22vw,240px);aspect-ratio:1;margin-inline:auto}.preloader-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.loader-monochrome{filter:grayscale(1);opacity:.5}.loader-color{clip-path:inset(0 calc(100% - var(--load-progress)) 0 0);transition:clip-path .18s linear}.preloader-meta{display:flex;justify-content:space-between;gap:20px;text-align:left;font-size:8px;letter-spacing:1.4px;color:#d9ddd3;margin-top:24px}.preloader-meta #loader-percent{color:var(--yellow);font-size:10px;letter-spacing:0;font-variant-numeric:tabular-nums}.loader-track{height:2px;background:rgba(255,255,255,.2);margin-top:13px;overflow:hidden}.loader-track>span{display:block;background:var(--yellow);height:100%;width:var(--load-progress);transition:width .18s linear}.preloader-status{font-size:11px;color:#c7cdbf;margin-top:20px}.skip-preloader{position:absolute;bottom:40px;right:6%;border:1px solid #859079;background:rgba(29,31,33,.35);color:white;font-size:10px;padding:12px 16px;border-radius:4px;display:flex;gap:25px;align-items:center}.skip-preloader span{font-size:18px}.skip-preloader:hover{background:var(--yellow);color:var(--graphite)}.preloader-caption{position:absolute;bottom:48px;left:6%;font-size:8px;color:#aeb7a3;letter-spacing:1px}
@keyframes loader-safety{to{visibility:hidden;pointer-events:none}}
@media(max-width:960px){.cookie-banner{gap:17px;padding:21px}.cookie-symbol{display:none}.cookie-actions{flex-direction:column;gap:14px;align-items:stretch;text-align:center}.cookie-actions .button{justify-content:center}.footer-legal{gap:28px}.privacy-layout{grid-template-columns:200px 1fr;gap:6%}.privacy-index{top:140px}.privacy-content section{scroll-margin-top:135px}}
@media(max-width:600px){.footer-legal{flex-direction:column;gap:20px;padding-block:25px}.footer-legal>p{font-size:9px}.footer-legal-links{flex-direction:row;gap:24px;flex-wrap:wrap}.footer-legal-links a,.footer-legal-links button{font-size:10px}.cookie-banner{left:12px;right:12px;bottom:12px;padding:21px;gap:16px;align-items:stretch;flex-direction:column;max-height:calc(100dvh - 24px);overflow-y:auto}.cookie-copy h2{font-size:20px}.cookie-copy p{font-size:10px}.cookie-actions{flex-direction:row;justify-content:space-between;align-items:center}.cookie-actions .button{padding:13px 19px}.privacy-page{padding-block:30px 50px}.privacy-heading{padding-bottom:30px}.privacy-heading>.text-link{margin-bottom:32px}.privacy-heading>p:not(.eyebrow){font-size:13px}.privacy-layout{grid-template-columns:1fr;gap:40px;padding-top:30px}.privacy-index{position:static;display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;border-bottom:1px solid var(--line);padding-bottom:28px}.privacy-index p{grid-column:1/-1}.privacy-index a{font-size:10px}.privacy-content h2{font-size:22px}.privacy-content p{font-size:13px}.preloader-content{width:84%}.preloader-eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:15px}.preloader-meta{font-size:6px;letter-spacing:.9px;margin-top:18px}.skip-preloader{bottom:30px;font-size:9px;padding:10px 13px;gap:15px}.preloader-caption{bottom:42px;font-size:7px}.preloader-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){.js-loading .preloader{display:none}.js-loading{overflow:visible}}

.services-description{max-width:400px}

/* Social icons are presentation-only until official profiles are supplied. */
.header-social{gap:12px}.header-social .social-placeholder{width:22px;height:22px;border:0;border-radius:0;color:var(--graphite)}.header-social .social-placeholder svg{width:13px;height:13px}.footer-brand .footer-symbol{width:104px;height:104px;margin-left:0;object-fit:contain}
/* Editorial depth: service scope and residential project context. */
.about-photo img{height:470px}.about-story h3{font-size:29px}.purpose-grid p{max-width:none}.residential-focus{padding:0 0 100px}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:55px;border-top:1px solid var(--line)}.focus-intro>p:not(.eyebrow){font-size:14px;color:#626961;line-height:1.9;margin-top:23px;max-width:520px}.focus-points{padding-top:8px}.focus-points article{display:grid;grid-template-columns:30px 1fr;gap:17px;padding-block:23px;border-bottom:1px solid var(--line)}.focus-points article:first-child{padding-top:0}.focus-points article:last-child{border-bottom:0;padding-bottom:0}.focus-points article>span{color:#7c846f;font-size:10px;letter-spacing:.5px;padding-top:6px}.focus-points h3{font-size:24px;margin-bottom:12px;line-height:1.25}.focus-points p{font-size:13px;color:#626961;line-height:1.9}.service-scope{margin:18px 0 0;padding-left:15px;font-size:11px;color:#626961;line-height:1.7;display:grid;gap:7px}.service-scope li::marker{color:#a47700}.service-card-featured .service-scope{color:#e1e5dc}.service-card-featured .service-scope li::marker{color:var(--yellow)}.services-bottom>p{max-width:760px}.process-heading{align-items:end;gap:60px}.process-intro{font-size:13px;color:#bfc1bd;max-width:360px}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4%;margin-top:50px}.process-grid h3{font-size:23px;line-height:1.25}.process-grid p{font-size:13px;line-height:1.85}.process-note{font-size:11px;color:#bfc1bd;border-top:1px solid #4a4c4b;padding-top:23px;margin-top:40px}.contact-info>p:not(.eyebrow){max-width:400px}.contact-form>p{line-height:1.8}
@media(max-width:1000px){.focus-grid{gap:7%}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 8%}.process-heading{gap:35px}.process-intro{max-width:300px}}
@media(max-width:800px){.about-photo img{height:350px}.residential-focus{padding-bottom:65px}.focus-grid{grid-template-columns:1fr;gap:35px;padding-top:40px}.focus-intro>p:not(.eyebrow){max-width:none}.focus-points{padding-top:0}.process-intro{max-width:550px;margin-top:25px}.process-grid h3{font-size:22px}.process-grid p{font-size:13px}.service-scope{font-size:11px}}
@media(max-width:480px){.about-photo img{height:285px}.about-story h3{font-size:27px}.residential-focus{padding-bottom:58px}.focus-intro>p:not(.eyebrow){font-size:13px}.focus-points h3{font-size:22px}.focus-points article{grid-template-columns:23px 1fr;gap:12px}.process-grid{grid-template-columns:1fr;gap:28px}.process-grid article{padding-left:38px}.process-grid h3{font-size:21px}.process-grid p{max-width:none}.process-intro{font-size:12px}.process-note{font-size:11px}.service-scope{font-size:10px}.service-card-featured .card-body p{font-size:13px}}
/* Services use the same editorial format as process and footer. */
.services{background:var(--graphite);color:var(--white)}
.services .eyebrow{color:var(--white)}
.services h2{font-size:clamp(1.9rem,3vw,2.75rem)}
.services h2 .muted{color:var(--white)}
.services-description{max-width:360px}
.services-description>p{font-size:13px;color:#bfc1bd}
.services-description .text-link{color:var(--white);border-bottom-color:#4a4c4b}
.services .service-card{background:var(--white);border:1px solid #e1e3dc;border-radius:10px;color:var(--graphite);padding:28px}
.services .service-card:hover,.services .service-card:focus-within{border-color:var(--yellow);box-shadow:0 8px 28px rgba(0,0,0,.12);transform:none}
.services .card-icon{background:#fff7df;color:var(--graphite);border-radius:10px;width:44px;height:44px;place-items:center}
.services .card-number{color:#747b6c}
.services .card-body p,.services .service-scope{color:#626961}
.services .service-scope li::marker{color:#a47700}
.services .card-bottom>span{color:#626961}
.services .card-link{border-top-color:#e1e3dc;color:var(--graphite)}
.services .card-link b{color:var(--graphite)}
.services .service-card-featured{background:var(--white);border-color:#e1e3dc;padding:28px}
.services .service-card-featured .card-icon{background:var(--yellow);color:var(--graphite);place-items:center;width:42px;height:42px}
.services .service-card-featured .card-body p,.services .service-card-featured .service-scope{color:#626961}
.services .service-card-featured .card-link{border-color:#e1e3dc}
.services-bottom p{color:#bfc1bd}
.services-bottom a{color:var(--white)}
.services-bottom a span{color:var(--yellow)}
.services a:focus-visible{outline-color:var(--yellow)}

/* The featured service keeps its own photo alongside a white content area. */
.services .service-card-featured:before{inset:0 0 0 auto;width:42%;height:100%;background-position:65% center}
.services .service-card-featured:after{display:none}
.services .service-card-featured .card-top,.services .service-card-featured .card-body,.services .service-card-featured .card-bottom{max-width:52%}
.services .service-card-featured .service-scope li::marker{color:#a47700}
.services .service-card a:focus-visible{outline-color:#a36c00}
@media(max-width:600px){.services .service-card{padding:25px}.services .service-card-featured{padding-top:205px}.services .service-card-featured:before{inset:0 0 auto;width:100%;height:180px;background-position:center 58%}.services .service-card-featured .card-top,.services .service-card-featured .card-body,.services .service-card-featured .card-bottom{max-width:none}}
/* Contact form: clear fields and a direct route from the primary calls to action. */
.contact-form{border:1px solid #e1e3dc;border-radius:10px;padding:38px}.contact-form-heading .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:18px}.contact-form-heading h3{font-size:27px;line-height:1.2}.contact-form-heading>p:not(.eyebrow){font-size:12px;color:#626961;line-height:1.8;margin-top:14px}.contact-form .field label{font-size:11px}.contact-form .field input,.contact-form .field select,.contact-form .field textarea{padding:13px 12px;border:1px solid #d5d9ce;border-radius:5px;background:white}.contact-form .field input:focus,.contact-form .field select:focus,.contact-form .field textarea:focus{border-color:#96711c}.field label .field-optional{color:#70776a;font-weight:400}.contact-form .button{border-radius:5px}.contact-form #form-status{border-top:1px solid #d5d9ce;padding-top:15px;margin-top:18px;font-size:12px;line-height:1.8}.contact-form #form-status a{color:var(--graphite);text-decoration:underline}.contact-form .form-note{font-size:10px}
@media(max-width:600px){.contact-form{padding:27px 23px}.contact-form-heading h3{font-size:25px}.contact-form .form-row{grid-template-columns:1fr;gap:0}.contact-form .button{gap:12px;padding-inline:17px;font-size:12px}}
.contact-form .button:disabled{cursor:wait;opacity:.65;transform:none}.contact-form #form-status[data-state="success"]{color:#356132}.contact-form #form-status[data-state="error"]{color:#8d3526}.contact-form[aria-busy="true"] #form-status{color:#626961}

/* Local vector icons: fixed geometry, independent of installed fonts. */
.ui-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nav-cta .ui-icon{width:18px;height:18px;flex:0 0 18px}
.card-link b{display:inline-flex;align-items:center;justify-content:center}
.card-link .ui-icon{width:20px;height:20px;flex-basis:20px}
.faq-list summary>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;transition:transform .2s}
.back-top .ui-icon{width:16px;height:16px;flex-basis:16px}
@media(prefers-reduced-motion:reduce){.faq-list summary>span{transition:none}}
