@font-face{font-family:Geologica;src:url('/assets/geologica-latin.0df4fc8d5458.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#172027;--night:#111820;--paper:#f6f5f1;--muted:#59605e;--amber:#e4bc58;--warm:#8a6727;--space:clamp(5rem,9vw,9rem);--content:82rem;--ease:cubic-bezier(.22,1,.36,1);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7.5rem}body{margin:0;background:var(--night);color:var(--ink);font:400 1.0625rem/1.65 Geologica,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550;letter-spacing:-.045em;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3rem,5.8vw,5.4rem)}h2{font-size:clamp(2.25rem,3.6vw,3.5rem)}h3{font-size:clamp(1.35rem,2vw,1.8rem);font-weight:550;letter-spacing:-.035em}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px;border-radius:3px}img,svg{display:block;max-width:100%}button,summary{font:inherit}::selection{background:var(--amber);color:var(--ink)}.container{width:min(var(--content),calc(100% - 7rem));margin-inline:auto}.section{padding-block:var(--space);position:relative}.eyebrow{font-size:.75rem;line-height:1.6;font-weight:550;letter-spacing:.16em;text-transform:uppercase}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-200%);padding:12px 20px;background:var(--paper);color:var(--ink);z-index:20}.skip-link:focus{transform:none}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;color:var(--paper);transition:background .25s,box-shadow .25s}.nav-wrap{width:min(90rem,calc(100% - 5rem));min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:auto}.brand{position:relative;display:block;width:267px;flex-shrink:0}.brand img{width:267px;height:auto}.logo-dark{display:none}.desktop-nav{display:flex;align-items:center;gap:2.75rem;font-size:.875rem}.desktop-nav>a:not(.nav-contact){transition:color .18s}.desktop-nav>a:not(.nav-contact):hover{color:var(--amber)}.nav-contact{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.8rem 1.3rem;background:rgba(246,245,241,.1);border-radius:5px;transition:background .18s}.nav-contact:hover{background:rgba(246,245,241,.2)}.mobile-menu{display:none}
.hero{min-height:min(930px,100svh);min-height:max(770px,100svh);position:relative;color:var(--paper);display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#111820}.hero-picture,.hero-shade,.ambient-light{position:absolute;inset:0;z-index:-1}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(11,17,23,.7) 0%,rgba(11,17,23,.35) 44%,rgba(11,17,23,.03) 75%),linear-gradient(0deg,#111820 0%,transparent 18%,transparent 90%,rgba(17,24,32,.3))}.hero-content{padding-block:160px 120px}.hero .eyebrow{color:#deddd4;display:flex;gap:1.1rem;align-items:center;letter-spacing:.12em}.eyebrow-dot{height:4px;width:4px;background:var(--amber);border-radius:50%}.hero h1{max-width:880px;margin-top:2.1rem;font-weight:550;line-height:1.06}.hero h1 span{color:#e9cb80}.hero-description{max-width:470px;margin-top:2rem;color:#d6d7d3;font-size:1rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:1rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:56px;padding:.9rem 1.5rem;border-radius:4px;font-size:.875rem;font-weight:550;transition:color .18s,background .18s,transform .18s}.button span{font-size:1.25rem;line-height:1}.button-amber{background:var(--amber);color:#172027}.button-amber:hover{background:#f0cc79;transform:translateY(-2px)}.button-quiet{color:var(--paper);background:rgba(17,24,32,.15)}.button-quiet:hover{background:rgba(246,245,241,.08)}.hero-note{display:flex;gap:1.75rem;flex-wrap:wrap;margin-top:3rem;font-size:.75rem;color:#b9bdb9}.hero-note a:hover{color:var(--paper)}.image-credit{position:absolute;bottom:26px;right:42px;color:#bbc0b8;font-size:.625rem;letter-spacing:.04em}.scroll-cue{position:absolute;bottom:35px;left:50%;font-size:1.5rem;transition:transform .18s}.scroll-cue:hover{transform:translateY(4px)}.ambient-light{background:radial-gradient(ellipse at 70% 50%,rgba(228,188,88,.07),transparent 65%);animation:breathe 9s ease-in-out infinite alternate;pointer-events:none}@keyframes breathe{to{opacity:.2}}
.services{background:linear-gradient(180deg,#ecece7 0%,#f6f5f1 20%,#f6f5f1 88%,#ecebe5 100%)}.services-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem);align-items:start}.services-intro{position:sticky;top:7rem;padding-block:1.5rem}.services-intro h2{margin-top:1.5rem}.warm-text{color:var(--warm)}.services-intro>p:not(.eyebrow){max-width:350px;margin-top:1.5rem;color:var(--muted);font-size:1rem;line-height:1.85}.text-link{display:inline-flex;align-items:center;gap:2rem;font-size:.9rem;font-weight:550;margin-top:2rem;transition:color .18s}.text-link span{font-size:1.3rem;transition:transform .18s}.text-link:hover{color:var(--warm)}.text-link:hover span{transform:translate(3px,-3px)}.service-groups{display:grid;gap:1.5rem}.service-group{padding:2.5rem;background:linear-gradient(125deg,#e9e8e1,#eae9e3 45%,#e0e2dc);border-radius:7px}.service-group-light{background:linear-gradient(125deg,#ede5d4,#eee7d9 55%,#e9e2d4)}.service-group-care{background:linear-gradient(125deg,#e3e8e4,#e4e8e3 55%,#dce2dd)}.group-heading{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;position:relative}.group-number{grid-column:1/-1;font-size:.7rem;color:#64706a;letter-spacing:.08em}.group-heading h3{grid-column:1}.service-symbol{grid-column:2;grid-row:2;width:37px;height:37px;fill:none;stroke:#59655c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.group-description{font-size:.875rem;color:#56605a;margin-top:1rem;max-width:380px;line-height:1.75}.service-detail{margin-top:.85rem}.service-detail:first-of-type{margin-top:1.5rem}.service-detail summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9375rem;font-weight:550;padding-block:.35rem}.service-detail summary::-webkit-details-marker{display:none}.detail-toggle{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:rgba(255,255,255,.45);display:grid;place-items:center;font-size:1rem;font-weight:400;line-height:1;transition:transform .18s,background .18s}.service-detail[open] .detail-toggle{transform:rotate(45deg);background:rgba(255,255,255,.8)}.service-detail p{font-size:.875rem;line-height:1.8;color:#505b55;margin:.65rem 2rem .8rem 0}.service-detail summary:hover{color:#76571b}
.about{background:linear-gradient(180deg,#ecebe5,#eeece5 65%,#f3efe5);padding-top:4rem}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.about-art{position:relative;min-height:490px;display:flex;align-items:center;justify-content:center;isolation:isolate}.about-art>img{width:185px;height:auto;opacity:.85;filter:drop-shadow(0 10px 30px rgba(131,94,22,.08));margin-bottom:2rem}.art-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(213,182,111,.24),transparent 66%);z-index:-1}.art-caption{position:absolute;bottom:18px;text-align:center;left:0;right:0;color:#7b776a;font-size:.75rem;line-height:1.8;letter-spacing:.06em}.about-copy h2{margin-top:1.5rem}.about-copy>p:not(.eyebrow){font-size:1rem;margin-top:1.5rem;color:var(--muted);line-height:1.9;max-width:530px}.about-copy strong{color:var(--ink);font-weight:550}.owner-name{margin-top:2rem;font-size:1.2rem;font-weight:550}.owner-name span{display:block;margin-top:.25rem;font-size:.8rem;font-weight:400;color:var(--muted)}.credentials{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.75rem;color:#5d625a}
.contact{padding-block:7rem 6rem;background:var(--night);color:var(--paper);position:relative;overflow:hidden;isolation:isolate}.contact-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 0%,#60482040,transparent 60%),linear-gradient(180deg,#1a2023,#111820 75%)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem 5rem;align-items:end}.contact .eyebrow{color:#c6b48b}.contact h2{margin-top:1.5rem;font-size:clamp(2.5rem,4.1vw,4rem)}.contact h2 span{color:#e9cb80}.contact-heading>p:last-child{color:#bfc4bd;font-size:.9375rem;line-height:1.8;margin-top:1.75rem}.contact-links{display:flex;flex-direction:column;gap:1.8rem;padding-bottom:.4rem;align-items:start}.phone-link{font-size:clamp(1.6rem,2.55vw,2.5rem);line-height:1.3;letter-spacing:-.04em;display:flex;gap:1.5rem;align-items:center;white-space:nowrap}.phone-link>span,.email-link>span{font-size:1.5rem;color:var(--amber);transition:transform .18s}.phone-link:hover>span,.email-link:hover>span{transform:translate(3px,-3px)}.email-link{display:flex;align-items:center;gap:1.2rem;font-size:clamp(.875rem,1.35vw,1.15rem);overflow-wrap:anywhere}.coverage{color:#acb4ad;font-size:.8rem;line-height:1.8;grid-column:2}.site-footer{padding:2rem 0 2.5rem;color:#f6f5f1;background:var(--night)}.footer-inner{display:grid;grid-template-columns:1.3fr 1.3fr 1fr auto;gap:2rem;align-items:center}.footer-brand{max-width:212px}.footer-brand img{width:212px;height:auto}.site-footer p{font-size:.65rem;line-height:1.9;color:#c4c9c2}.site-footer p span{color:#9ca69d}.copyright{white-space:nowrap}.back-top{font-size:.7rem;display:flex;gap:1rem;white-space:nowrap}.back-top:hover{color:var(--amber)}
.reveal{opacity:1;transform:none}.reveal.pending{opacity:0;transform:translateY(16px);transition:opacity .52s var(--ease),transform .52s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(min-width:1700px){.hero-picture img{object-position:center 60%}}@media(max-width:1100px){.container{width:calc(100% - 5rem)}.hero h1{font-size:clamp(3.2rem,6.7vw,4.75rem)}.hero{min-height:800px}.hero-picture img{object-position:60% center}.services-layout,.about-layout{gap:3rem;grid-template-columns:.85fr 1.15fr}.service-group{padding:2rem}.contact-content{gap:3rem}.phone-link{font-size:1.75rem}.footer-inner{grid-template-columns:1fr 1fr;gap:1.5rem 3rem}.back-top{justify-self:end}}
@media(max-width:700px){:root{--space:5rem}html{scroll-padding-top:2rem}.container{width:calc(100% - 3rem)}.nav-wrap{width:calc(100% - 3rem);min-height:96px;gap:1rem}.brand,.brand img{width:224px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative;font-size:.8rem}.mobile-menu summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.menu-icon{font-size:1.5rem;transition:transform .18s;line-height:1}.mobile-menu[open] .menu-icon{transform:rotate(45deg)}.mobile-menu nav{position:absolute;right:0;top:55px;width:min(300px,calc(100vw - 3rem));padding:1.5rem;background:var(--paper);color:var(--ink);display:grid;gap:1.25rem;border-radius:6px;box-shadow:0 20px 60px #0004;font-size:1rem}.menu-phone{font-size:.875rem;color:#76571b}.hero{min-height:860px;min-height:max(800px,100svh);align-items:start}.hero-content{padding-block:151px 180px}.hero .eyebrow{font-size:.625rem;letter-spacing:.08em;gap:.6rem}.hero h1{font-size:clamp(2.6rem,8.8vw,3.8rem);line-height:1.08;letter-spacing:-.05em;margin-top:1.8rem}.hero h1 br{display:none}.hero h1 span{display:block;max-width:360px;margin-top:.1rem}.hero-description{font-size:1rem;max-width:345px;margin-top:1.75rem;line-height:1.8}.hero-picture img{object-position:67% center;opacity:.72}.hero-shade{background:linear-gradient(90deg,#111820bf,#11182080 80%),linear-gradient(0deg,#111820,transparent 25%,#11182026 80%)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button{min-height:54px;padding:.85rem 1.15rem;font-size:.8125rem;gap:1.5rem}.button-quiet{padding-inline:.5rem;gap:1rem}.hero-note{gap:.65rem 1.25rem;max-width:320px;line-height:1.8;margin-top:2.25rem;font-size:.6875rem}.image-credit{bottom:22px;right:24px;font-size:.5625rem}.scroll-cue{bottom:55px;left:24px;font-size:1.4rem}.services-layout,.about-layout{display:block}.services-intro{position:static;padding:0;margin-bottom:2.5rem}.services-intro h2{font-size:2.6rem}.services-intro>p:not(.eyebrow){max-width:440px}.service-group{padding:1.65rem;border-radius:6px}.service-groups{gap:1rem}.group-heading h3{font-size:1.5rem}.group-number{font-size:.75rem}.group-description,.service-detail p,.service-detail summary{font-size:1rem}.service-symbol{width:32px;height:32px}.group-heading{gap:.75rem}.about{padding-top:1rem}.about-art{min-height:320px;margin-bottom:3rem}.about-art>img{width:130px;margin-bottom:2.5rem}.art-caption{bottom:0;font-size:.75rem}.about h2{font-size:2.6rem}.about-copy>p:not(.eyebrow){font-size:1rem}.credentials{gap:.5rem;font-size:.8rem;display:grid}.contact{padding-block:5rem 4rem}.contact-content{display:block}.contact h2{font-size:2.65rem}.contact-heading>p:last-child{font-size:1rem}.contact-links{margin-top:3rem;gap:1.5rem}.phone-link{font-size:clamp(1.4rem,6.6vw,2.2rem);gap:1rem}.email-link{font-size:clamp(.84rem,3.7vw,1.1rem);gap:.7rem}.coverage{margin-top:2.5rem;font-size:.875rem}.desktop-break{display:none}.footer-inner{grid-template-columns:1fr 1fr;gap:1.75rem 1rem}.footer-brand{grid-column:1/-1}.footer-brand img{width:220px}.site-footer p{font-size:.75rem}.site-footer .copyright{grid-column:1/-1;grid-row:4;white-space:normal}.site-footer p:not(.copyright){grid-column:1/-1}.back-top{grid-column:2;grid-row:4;font-size:.75rem}.eyebrow{font-size:.75rem}.text-link{font-size:1rem}}
@media(max-width:360px){.container,.nav-wrap{width:calc(100% - 2.5rem)}.brand,.brand img{width:198px}.menu-word{display:none}.hero h1{font-size:2.55rem}.hero .eyebrow{font-size:.5625rem}.hero-actions{gap:.75rem}.button{gap:1rem}.button-quiet{font-size:.75rem;gap:.5rem}.footer-inner{display:flex;align-items:start;flex-direction:column}.phone-link{gap:.65rem}.contact h2,.services-intro h2,.about h2{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}.button:hover{transform:none}}
/* Broad tonal dissolves connect the sections without rules or decorative strips. */
html{scroll-padding-top:0}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(0deg,#ecece7 0%,rgba(236,236,231,.85) 12%,rgba(236,236,231,0) 100%);pointer-events:none;z-index:0}
.scroll-cue,.image-credit{z-index:1;color:#47514c}
.about{background:linear-gradient(180deg,#ecebe5,#eeece5 65%,#f3efe5 calc(100% - 110px),#1a2023 100%)}
.contact{min-height:100svh;display:flex;align-items:center}
@media(max-width:700px){.hero::after{height:80px}.scroll-cue{bottom:22px}.image-credit{max-width:200px;text-align:right}.about{padding-bottom:7rem;background:linear-gradient(180deg,#ecebe5,#eeece5 75%,#f3efe5 calc(100% - 90px),#1a2023 100%)}}
/* Keep content usable when the browser enlarges text independently of the viewport. */
h1,h2,h3{overflow-wrap:anywhere}.desktop-nav{gap:clamp(1rem,3vw,2.75rem);min-width:0;flex-wrap:wrap;justify-content:flex-end}.contact-content,.contact-links,.about-copy,.service-groups,.group-heading h3{min-width:0}.phone-link{max-width:100%;white-space:normal;flex-wrap:wrap}.email-link{max-width:100%;word-break:break-word}.eyebrow{overflow-wrap:anywhere}
.service-group{min-width:0}.group-heading{grid-template-columns:minmax(0,1fr) auto}.service-detail summary{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow-wrap:anywhere}.group-description,.service-detail p,.about-copy p,.contact p{overflow-wrap:anywhere}
@media(max-width:700px){.service-group{padding:clamp(1.2rem,5vw,1.65rem)}.service-detail p{margin-right:0}}
/* Motion direction: light arrives, settles, then responds to the visitor. */
:root{--ease-soft:cubic-bezier(.16,1,.3,1);--light-color:#ffd28b}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.action-icon{width:20px;height:20px;flex:none;transition:transform .25s var(--ease-soft)}
.button:hover .action-icon{transform:rotate(-8deg)}
.hero-note{align-items:center;gap:1rem 1.6rem}
.availability{display:inline-flex;align-items:center;gap:.65rem;padding:.35rem .75rem;border-radius:100px;background:#16352c;color:#bbefce;font-size:.6875rem;line-height:1.7;white-space:nowrap;transition:background .18s,color .18s}
.hero-note .availability:hover{background:#20503c;color:#dbffe7}
.status-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#6cdd98;position:relative}
.status-dot::after{content:"";position:absolute;inset:-4px;border:1px solid #6cdd98;border-radius:50%;animation:status-pulse 2.8s ease-out infinite}
@keyframes status-pulse{0%,40%{opacity:0;transform:scale(.5)}55%{opacity:.6;transform:scale(.7)}100%{opacity:0;transform:scale(1.5)}}
.hero-light-field{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 89% 54%,#efb85e26 0%,#edb55b0c 28%,transparent 54%);mix-blend-mode:screen;animation:light-drift 12s ease-in-out infinite alternate;transform-origin:80% 55%}
@keyframes light-drift{from{opacity:.3;transform:translate3d(0,1.5%,0) scale(.98)}to{opacity:.9;transform:translate3d(-1%,-1%,0) scale(1.08)}}
.hero-picture img{animation:architectural-settle 4.5s var(--ease-soft) both}
@keyframes architectural-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
.scroll-cue{display:flex;align-items:center;gap:.6rem;font-size:.625rem;letter-spacing:.1em;left:50%;transform:translateX(-50%);text-transform:uppercase;white-space:nowrap}
.scroll-cue:hover{transform:translateX(-50%);color:#172027}
.scroll-orb{display:block;width:18px;height:26px;border:1px solid currentColor;border-radius:20px;position:relative}
.scroll-orb::after{content:"";position:absolute;left:7px;top:5px;height:4px;width:2px;border-radius:2px;background:currentColor;animation:scroll-orbit 2.5s ease-in-out infinite}
@keyframes scroll-orbit{0%,25%{transform:translateY(0);opacity:.2}55%{opacity:1}85%,100%{transform:translateY(9px);opacity:0}}
.button{position:relative;overflow:hidden;isolation:isolate}
.button-amber::before{content:"";position:absolute;inset:-70% auto -70% -80%;width:55%;background:linear-gradient(90deg,transparent,#fff5,transparent);transform:skewX(-20deg);transition:translate .65s var(--ease-soft);z-index:-1;pointer-events:none}
.button-amber:hover::before{translate:360% 0}
.button-quiet{padding-inline:1rem;background:#f6f5f108}
.button-quiet:hover{background:#f6f5f116}
.nav-contact{gap:0}
.text-link{gap:0;transition:color .2s,opacity .2s}
.text-link:hover{opacity:.75}
.service-group{position:relative;overflow:hidden;isolation:isolate;transition:box-shadow .3s var(--ease-soft),translate .3s var(--ease-soft)}
.service-group::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 0%,#fff9,transparent 70%);opacity:0;transition:opacity .4s}
@media(hover:hover){.service-group:hover{translate:0 -3px;box-shadow:0 18px 45px -30px #17202740}.service-group:hover::after{opacity:1}.service-group:hover .service-symbol{transform:translateY(-2px) rotate(-4deg)}}
.service-symbol{transition:transform .4s var(--ease-soft);stroke-width:1.7}
.service-detail[open] p{animation:detail-arrive .4s var(--ease-soft) both}
@keyframes detail-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.reveal.pending{transform:translateY(22px);transition:opacity .56s var(--ease-soft),transform .56s var(--ease-soft)}
.reveal.visible{opacity:1;transform:none}
.service-group.visible .group-heading,.about-copy.visible .owner-name,.contact-heading.visible h2{animation:detail-arrive .5s var(--ease-soft) both}
.lighting-demo{margin-top:2.5rem;max-width:370px;--light-color:#ffd28b;isolation:isolate}
.lighting-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-size:.75rem;color:#5b6058;line-height:1.6}
.light-readout{font-size:.625rem;letter-spacing:.06em;color:#777c71;white-space:nowrap;font-variant-numeric:tabular-nums}
.light-scene{position:relative;overflow:hidden;border-radius:7px;background:#172027}
.lighting-art{width:100%;height:auto}
.light-stop{stop-color:var(--light-color);transition:stop-color .75s ease}
.lamp-emitter{fill:var(--light-color);transition:fill .75s ease}
.scene-label{position:absolute;left:1.25rem;bottom:1rem;font-size:.5rem;color:#c5c4b8;letter-spacing:.11em;text-transform:uppercase}
.lighting-demo[data-light="neutral"]{--light-color:#f1eee0}
.lighting-demo[data-light="cool"]{--light-color:#c2ddf7}
.lighting-controls{display:none;margin-top:.65rem;gap:.35rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.lighting-demo.enhanced .lighting-controls{display:grid}
.lighting-controls button{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.55rem .4rem;border:0;border-radius:4px;background:transparent;color:#62685d;font-size:.625rem;line-height:1.5;transition:background .2s,color .2s}
.lighting-controls button[aria-pressed="true"]{background:#deded5;color:#172027}
.lighting-controls button:hover{background:#e4e4dc;color:#172027}
.swatch{display:block;width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1px #17202722;flex:none}
.swatch-warm{background:#ddb46d}.swatch-neutral{background:#eee9d9}.swatch-cool{background:#b8cbdc}
.about-art{overflow:hidden;min-height:510px}
.art-halo{background:radial-gradient(ellipse at 47% 46%,#cda44b27,transparent 63%);animation:halo-breathe 8s ease-in-out infinite alternate}
@keyframes halo-breathe{to{opacity:.4;transform:scale(1.08)}}
.brand-medallion{width:240px;height:240px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#f8f4e799,#ded9c766 78%);position:relative;z-index:1}
.brand-medallion img{width:125px;height:135px;opacity:.9}
.brand-orbit{position:absolute;left:50%;top:46%;width:365px;height:365px;border:1px solid #a28c5830;border-radius:50%;transform:translate(-50%,-50%)}
.orbit-two{width:430px;height:430px;border-color:#a28c5814}
.brand-orbit::before{content:"";position:absolute;top:19%;left:9%;width:5px;height:5px;border-radius:50%;background:#b49754}
.orbit-two::before{top:82%;left:14%;width:3px;height:3px;opacity:.5}
.art-coordinate{position:absolute;top:8px;left:0;right:0;text-align:center;font-size:.55rem;letter-spacing:.16em;color:#797562}
.about-art.visible .brand-medallion{animation:brand-arrive .9s var(--ease-soft) both}
.about-art.visible .orbit-one{animation:orbit-arrive 1.1s var(--ease-soft) both}
.about-art.visible .orbit-two{animation:orbit-arrive 1.4s var(--ease-soft) both}
@keyframes brand-arrive{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes orbit-arrive{from{opacity:0;transform:translate(-50%,-50%) scale(.88) rotate(-15deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
.contact-links a{transition:color .25s}
.contact-links a:hover{color:#e9cb80}
.footer-tools{display:grid;justify-items:end;gap:.75rem}
.motion-toggle{font:inherit;font-size:.625rem;color:#a6afa7;background:none;border:0;padding:0;cursor:pointer;text-align:right;line-height:1.8}
.motion-toggle[hidden]{display:none}.motion-toggle:hover{color:#e4bc58}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important;transition:none!important}
body.motion-paused .reveal.pending{opacity:1;transform:none}
@supports(animation-timeline:view()){ @media(prefers-reduced-motion:no-preference){.hero-picture{animation:hero-light-exit linear both;animation-timeline:view();animation-range:exit 0% exit 100%}@keyframes hero-light-exit{from{opacity:1;transform:scale(1)}to{opacity:.62;transform:scale(1.045)}}}}
@media(max-width:1100px){.lighting-demo{max-width:340px}.brand-orbit{width:290px;height:290px}.orbit-two{width:350px;height:350px}.brand-medallion{width:200px;height:200px}.brand-medallion img{width:110px;height:auto}}
@media(max-width:700px){.hero-note{max-width:100%;gap:.8rem 1rem}.availability{font-size:.6875rem}.hero-note .availability{padding:.3rem .7rem}.hero-actions{gap:.5rem}.button{gap:1rem}.button-quiet{padding-inline:1rem}.action-icon{width:18px;height:18px}.scroll-cue{left:24px;transform:none;font-size:.5rem;gap:.5rem;bottom:22px}.scroll-cue:hover{transform:none}.scroll-orb{width:14px;height:22px}.scroll-orb::after{left:5px;top:4px}.hero-light-field{opacity:.6;animation:none}.lighting-demo{max-width:100%;margin-top:2rem}.lighting-caption{font-size:.75rem}.light-readout{font-size:.625rem}.lighting-controls button{font-size:.75rem;min-height:44px}.scene-label{font-size:.5rem}.about-art{min-height:380px}.brand-orbit{width:270px;height:270px}.orbit-two{width:340px;height:340px}.brand-medallion{width:200px;height:200px}.art-coordinate{top:0;font-size:.6rem}.art-caption{font-size:.7rem}.footer-tools{display:flex;align-items:start;gap:1rem;grid-column:1/-1;justify-content:space-between;width:100%}.footer-tools .back-top{font-size:.75rem}.motion-toggle{font-size:.75rem;text-align:left}.site-footer .copyright{grid-row:auto}.footer-inner .back-top{grid-row:auto;grid-column:auto}}
@media(max-width:360px){.hero-actions{gap:.75rem}.button{padding:.85rem 1rem;font-size:.8125rem}.button-quiet{font-size:.8125rem}.hero-note{gap:.75rem 1rem}.scroll-cue{left:20px}.brand-orbit{width:240px;height:240px}.orbit-two{width:290px;height:290px}.brand-medallion{width:180px;height:180px}}
@media(prefers-reduced-motion:reduce){.hero-picture,.hero-picture img,.hero-light-field,.art-halo,.status-dot::after,.scroll-orb::after{animation:none!important;transform:none}.reveal.pending{opacity:1;transform:none}.button:hover::before{translate:0 0}.service-group:hover{translate:0 0}.service-symbol,.action-icon{transform:none!important}}
.reveal{transition:opacity .56s var(--ease-soft),transform .56s var(--ease-soft)}
@media(prefers-reduced-motion:reduce){.reveal{transition:none!important}}
.lighting-controls button{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}.lighting-caption{flex-wrap:wrap}.scene-label{right:1rem}.footer-tools{min-width:0}
@media(max-width:700px){.footer-tools{flex-wrap:wrap}.lighting-controls button{column-gap:.35rem}}
/* Lakeside residence: one photographic scene stays in view through the introduction. */
.hero.residence-hero{--scene-height:max(820px,100svh);min-height:0;display:block;overflow:clip;background:#0c1520;isolation:isolate}
.residence-stage{position:sticky;top:0;height:var(--scene-height);width:100%;overflow:hidden;z-index:0;isolation:isolate;background:#0c1520;--light-x:70%;--light-y:67%}
.residence-visual{position:absolute;inset:0;overflow:hidden;z-index:0;animation:residence-arrive 4.5s var(--ease-soft) both}
@keyframes residence-arrive{from{transform:scale(1.035)}to{transform:scale(1)}}
.hero.residence-hero .hero-picture,.relight-picture{position:absolute;inset:0;z-index:0;animation:none;transform:none;opacity:1}
.hero.residence-hero .hero-picture img,.relight-picture img{width:100%;height:100%;object-fit:cover;object-position:center;animation:none;transform:none;opacity:1}
.relight-picture{z-index:1;opacity:0;pointer-events:none;transition:opacity .6s ease;-webkit-mask-image:radial-gradient(ellipse 300px 240px at var(--light-x) var(--light-y),#000 6%,#000a 34%,transparent 86%);mask-image:radial-gradient(ellipse 300px 240px at var(--light-x) var(--light-y),#000 6%,#000a 34%,transparent 86%)}
.relight-picture img{filter:brightness(1.7) saturate(1.12)}
.residence-stage.has-pointer .relight-picture,.residence-stage.has-zone .relight-picture{opacity:.8}
.house-radiance{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.4;animation:residence-glimmer 8s ease-in-out infinite alternate}
.radiance-facade{background:radial-gradient(ellipse 25% 26% at 78% 39%,#ffd59513,transparent 80%)}
.radiance-steps{background:radial-gradient(ellipse 23% 12% at 60% 79%,#ffc46f1c,transparent 80%);animation-delay:-3s}
.radiance-glass{background:radial-gradient(ellipse 28% 10% at 77% 65%,#c8dfed10,transparent 80%);animation-delay:-5s}
@keyframes residence-glimmer{from{opacity:.2}to{opacity:.8}}
.residence-hero .hero-shade{z-index:3;background:linear-gradient(90deg,#07101aeb 0%,#07101ac2 24%,#07101a48 46%,#07101a0d 68%,#07101a12 100%),linear-gradient(180deg,#07101a55,transparent 20%,transparent 68%,#07101a85)}
.residence-vignette{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(0deg,#08131fc4,transparent 27%,transparent 84%,#07101a40)}
.residence-hero .hero-content{position:relative;z-index:2;min-height:var(--scene-height);margin-top:calc(var(--scene-height) * -1);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:170px 165px;pointer-events:none}
.residence-hero .hero-content>*{pointer-events:auto}
.residence-hero .hero-content>.eyebrow{font-size:.6875rem;letter-spacing:.13em;color:#d8dfdf;gap:.8rem}
.residence-hero h1{max-width:720px;font-size:clamp(3.4rem,5.6vw,5.6rem);line-height:1.04;letter-spacing:-.055em;margin-top:2rem;text-wrap:initial}
.residence-hero h1 span{color:#eed393}
.residence-hero .hero-description{max-width:400px;margin-top:1.8rem;color:#d3d9db;text-wrap:pretty}
.residence-hero .hero-actions{margin-top:2rem;gap:.75rem}
.residence-hero .hero-note{margin-top:2rem;gap:1.1rem}
.residence-hero .button-quiet{background:#07101a65}
.residence-hero .button-quiet:hover{background:#f6f5f11a}
.residence-hero .scroll-cue{left:0;bottom:45px;transform:none;color:#d6dedb;font-size:.55rem}
.residence-hero .scroll-cue:hover{transform:none;color:#f6f5f1}
.residence-controls{display:none;position:absolute;right:56px;bottom:69px;z-index:5;color:#f6f5f1;max-width:330px}
.residence-stage.enhanced .residence-controls{display:block}
.scene-control-title{font-size:.625rem;font-weight:550;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#e4e4d9;margin-bottom:.75rem}
.residence-zones{display:flex;flex-wrap:wrap;gap:.4rem}
.residence-zones button{font:550 .6875rem/1.4 Geologica,sans-serif;min-height:40px;padding:.6rem 1.1rem;color:#e4e9e4;background:#09131fb8;border:1px solid #f6f5f12a;border-radius:100px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.residence-zones button:hover{background:#27313bbf;border-color:#f6f5f16b}
.residence-zones button[aria-pressed="true"]{background:#e4bc58;color:#172027;border-color:#e4bc58}
.pointer-hint,.touch-hint{font-size:.5625rem;line-height:1.8;color:#c7d0cb;margin-top:.6rem}
.touch-hint{display:none}
.residence-hero .image-credit{color:#a9b5b4;bottom:27px;right:56px;z-index:5;font-size:.5625rem;line-height:1.7;letter-spacing:.03em}
.residence-story{position:relative;z-index:2;min-height:72svh;display:flex;align-items:center;padding-block:7rem 10rem;pointer-events:none}
.residence-story-copy{max-width:570px;pointer-events:auto}
.residence-story .eyebrow{font-size:.625rem;letter-spacing:.12em;color:#d7d8ce}
.residence-story h2{font-size:clamp(2.8rem,4vw,4rem);line-height:1.08;margin-top:1.5rem;text-wrap:initial}
.residence-story h2 span{color:#eed393}
.residence-story-copy>p:not(.eyebrow){max-width:400px;font-size:1rem;line-height:1.85;color:#d3d9db;margin-top:1.5rem}
.residence-story .text-link{color:#eed393}
.hero.residence-hero::after{height:180px;background:linear-gradient(0deg,#ecece7,rgba(236,236,231,.72) 16%,rgba(236,236,231,.15) 50%,transparent);z-index:3}
body.motion-paused .residence-visual{animation:none;transform:none}
body.motion-paused .residence-stage.has-pointer:not(.has-zone) .relight-picture{opacity:0}
@media(min-width:1700px){.hero.residence-hero h1{font-size:6rem}}
@media(max-width:1100px) and (min-width:701px){.residence-hero h1{font-size:4.1rem;max-width:560px}.residence-hero .hero-description{max-width:350px}.residence-controls{right:40px;bottom:65px}.residence-hero .image-credit{right:40px}.residence-hero .hero-content>.eyebrow{font-size:.625rem}.residence-hero .hero-content{padding-block:180px 180px}}
@media(max-width:700px){.hero.residence-hero{--scene-height:max(940px,100svh)}.residence-hero .hero-content{min-height:var(--scene-height);padding-block:150px 335px;justify-content:flex-start;margin-top:calc(var(--scene-height) * -1)}.residence-hero .hero-content>.eyebrow{font-size:.5625rem;letter-spacing:.065em;gap:.5rem;flex-wrap:wrap}.residence-hero h1{font-size:clamp(2.8rem,12vw,4rem);max-width:100%;margin-top:1.6rem;line-height:1.04;letter-spacing:-.055em}.residence-hero h1 br{display:block}.residence-hero h1 span{max-width:none;margin-top:0}.residence-hero .hero-description{font-size:1rem;max-width:330px;margin-top:1.5rem}.residence-hero .hero-note{gap:1rem;max-width:100%;margin-top:1.8rem}.residence-hero .hero-actions{margin-top:1.8rem;gap:.6rem}.residence-hero .button{font-size:.8125rem;min-height:54px;padding:.85rem 1rem;gap:.7rem}.residence-hero .hero-shade{background:linear-gradient(180deg,#07101ab8 0%,#07101ab8 20%,#07101a96 42%,#07101a2b 65%,#07101a14 78%,#07101a99 100%),linear-gradient(90deg,#07101a65,transparent 85%)}.residence-vignette{background:linear-gradient(0deg,#08131fc4,transparent 25%)}.residence-hero .hero-picture img,.relight-picture img{object-position:center;opacity:1}.residence-controls{right:24px;left:24px;bottom:68px;max-width:none}.residence-zones button{min-height:44px;font-size:.75rem;padding:.6rem 1rem}.scene-control-title{font-size:.625rem;margin-bottom:.6rem}.pointer-hint{display:none}.touch-hint{display:block;font-size:.625rem;max-width:310px}.residence-hero .image-credit{left:24px;right:24px;bottom:24px;text-align:left;font-size:.5rem;max-width:none}.residence-hero .scroll-cue{left:0;bottom:250px;font-size:.5rem}.residence-story{min-height:70svh;padding-block:5rem 8rem}.residence-story h2{font-size:clamp(2.3rem,9vw,3rem)}.residence-story-copy>p:not(.eyebrow){font-size:1rem;max-width:330px}.residence-story .eyebrow{font-size:.5625rem}.house-radiance{animation-duration:10s}.relight-picture{-webkit-mask-image:radial-gradient(ellipse 190px 165px at var(--light-x) var(--light-y),#000 6%,#000a 34%,transparent 86%);mask-image:radial-gradient(ellipse 190px 165px at var(--light-x) var(--light-y),#000 6%,#000a 34%,transparent 86%)}.hero.residence-hero::after{height:130px}}
@media(max-width:360px){.residence-controls{left:20px;right:20px}.residence-zones button{padding:.6rem .9rem;font-size:.6875rem}.residence-hero .image-credit{left:20px;right:20px}.residence-hero .button{font-size:.75rem}.residence-hero .hero-note{font-size:.625rem}}
@media(prefers-reduced-motion:reduce){.residence-visual,.house-radiance{animation:none!important;transform:none}.relight-picture,.residence-zones button{transition:none}.residence-stage.has-pointer:not(.has-zone) .relight-picture{opacity:0}}
/* Scene controls belong to the text flow so enlarged text cannot cover them. */
.residence-hero.enhanced .residence-controls{display:block}.residence-hero .residence-controls{right:0;bottom:69px}
@media(max-width:700px){.residence-hero .residence-controls{left:0;right:0;bottom:68px}}
.residence-visual{user-select:none}.residence-visual img{pointer-events:none}
/* Leave proportional space for multiline controls when text is enlarged. */
.residence-hero .hero-content{padding-bottom:max(165px,10rem)}
@media(max-width:700px){.residence-hero .hero-content{padding-bottom:max(335px,16rem)}.residence-hero .scroll-cue{position:static;margin-top:2.5rem;align-self:flex-start}}
/* Broad caustic-like fields: one registered photograph, no torch or geometry distortion. */
.residence-stage{--flow-x:0px;--flow-y:0px}
.residence-hero .relight-picture{opacity:.46;transition:none;pointer-events:none;-webkit-mask-image:url('/assets/organic-light-field.2ca48976fb17.svg');mask-image:url('/assets/organic-light-field.2ca48976fb17.svg');-webkit-mask-size:165% 175%;mask-size:165% 175%;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-position:calc(32% + var(--flow-x)) calc(38% + var(--flow-y));mask-position:calc(32% + var(--flow-x)) calc(38% + var(--flow-y));animation:champagne-flow 17s ease-in-out infinite alternate}
.residence-hero .flow-warm img{filter:brightness(1.38) saturate(1.06)}
.residence-hero .flow-pearl{opacity:.27;-webkit-mask-size:195% 155%;mask-size:195% 155%;animation:pearl-flow 23s ease-in-out infinite alternate}
.residence-hero .flow-pearl img{filter:brightness(1.24) saturate(.84) hue-rotate(5deg)}
@keyframes champagne-flow{0%{-webkit-mask-position:calc(22% + var(--flow-x)) calc(28% + var(--flow-y));mask-position:calc(22% + var(--flow-x)) calc(28% + var(--flow-y));opacity:.32}50%{opacity:.53}100%{-webkit-mask-position:calc(80% + var(--flow-x)) calc(72% + var(--flow-y));mask-position:calc(80% + var(--flow-x)) calc(72% + var(--flow-y));opacity:.42}}
@keyframes pearl-flow{0%{-webkit-mask-position:calc(85% - var(--flow-x)) calc(24% - var(--flow-y));mask-position:calc(85% - var(--flow-x)) calc(24% - var(--flow-y));opacity:.14}50%{opacity:.30}100%{-webkit-mask-position:calc(26% - var(--flow-x)) calc(83% - var(--flow-y));mask-position:calc(26% - var(--flow-x)) calc(83% - var(--flow-y));opacity:.22}}
.residence-hero .hero-shade{background:linear-gradient(90deg,#07101aa6 0%,#07101a78 24%,#07101a26 45%,transparent 68%),linear-gradient(180deg,#07101a30,transparent 21%,transparent 72%,#07101a38)}
.residence-hero .residence-vignette{background:linear-gradient(0deg,#08131f82,transparent 23%,transparent 88%,#07101a18)}
.residence-hero h1{text-shadow:0 2px 30px #03101a66}
.residence-hero .hero-description,.residence-hero .hero-content>.eyebrow{text-shadow:0 1px 12px #03101a99}
.atmospheric-flow{position:absolute;inset:-12%;z-index:4;pointer-events:none;overflow:hidden;transform:translate3d(calc(var(--flow-x) * .25),calc(var(--flow-y) * .25),0);mix-blend-mode:screen;-webkit-mask-image:url('/assets/organic-light-field.2ca48976fb17.svg');mask-image:url('/assets/organic-light-field.2ca48976fb17.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%}
.light-ribbon{position:absolute;inset:-15%;background:radial-gradient(ellipse 54% 34% at 26% 34%,#ffda9b21,transparent 77%),radial-gradient(ellipse 55% 42% at 77% 72%,#ffe0b419,transparent 80%);opacity:.6;animation:champagne-drift 19s ease-in-out infinite alternate;transform-origin:center}
.ribbon-pearl{background:radial-gradient(ellipse 50% 36% at 68% 30%,#b9daf21a,transparent 80%),radial-gradient(ellipse 44% 38% at 20% 78%,#d4e4ee10,transparent 78%);animation:pearl-drift 25s ease-in-out infinite alternate;opacity:.5}
@keyframes champagne-drift{from{transform:translate3d(-7%,-4%,0) rotate(-9deg) scale(.94);opacity:.45}to{transform:translate3d(6%,5%,0) rotate(8deg) scale(1.1);opacity:.8}}
@keyframes pearl-drift{from{transform:translate3d(6%,-5%,0) rotate(8deg) scale(1.08);opacity:.3}to{transform:translate3d(-5%,5%,0) rotate(-9deg) scale(.96);opacity:.65}}
.residence-flow-hint{position:absolute;right:0;bottom:72px;display:flex;align-items:center;gap:.65rem;font-size:.625rem;color:#d1dcd7;line-height:1.8;letter-spacing:.02em;text-shadow:0 1px 10px #07101a}
.flow-hint-dot{width:5px;height:5px;border-radius:50%;background:#e7cd91;box-shadow:0 0 12px #e7cd9177}.mobile-flow-hint{display:none}
.flow-out-of-view .relight-picture,.flow-out-of-view .light-ribbon{animation-play-state:paused!important}
@media(max-width:700px){.residence-hero .hero-shade{background:linear-gradient(180deg,#07101a9c 0%,#07101a94 20%,#07101a70 42%,#07101a15 65%,#07101a0a 78%,#07101a61 100%),linear-gradient(90deg,#07101a38,transparent 85%)}.residence-hero .residence-vignette{background:linear-gradient(0deg,#08131f82,transparent 23%)}.residence-hero .relight-picture{-webkit-mask-size:190% 160%;mask-size:190% 160%;opacity:.34}.residence-hero .flow-pearl{opacity:.17}.residence-flow-hint{left:0;right:auto;bottom:72px;font-size:.625rem}.desktop-flow-hint{display:none}.mobile-flow-hint{display:inline}.light-ribbon{animation-duration:23s}.ribbon-pearl{animation-duration:29s}}
@media(prefers-reduced-motion:reduce){.residence-hero .relight-picture,.light-ribbon{animation:none!important}.atmospheric-flow{transform:none}.residence-hero .flow-warm{opacity:.25}.residence-hero .flow-pearl{opacity:.1}.residence-flow-hint{display:none}}
.residence-hero h1 span{color:#f3dfaa}.residence-hero .hero-description{text-shadow:0 1px 7px #03101acc,0 0 22px #03101a66}

/* Final optical polish: clear type, quiet depth and no work in hidden tabs. */
.residence-hero .hero-description{color:#eef0eb;line-height:1.85;max-width:380px;text-shadow:0 1px 5px #03101ae6,0 2px 20px #03101a99}
.residence-story-copy{padding-block:1.5rem}
.residence-story h2{letter-spacing:-.05em}
.residence-story-copy>p:not(.eyebrow){color:#edf0e9;text-shadow:0 1px 8px #03101acc}
.service-group{border-radius:12px}.light-scene{border-radius:10px}
.brand-medallion{box-shadow:inset 0 1px 1px #fff9,0 20px 65px -35px #67512555}
body.page-inactive *,body.page-inactive *::before,body.page-inactive *::after{animation-play-state:paused!important}
@media(max-width:700px){.residence-hero .flow-pearl{display:none}.residence-hero .hero-description{max-width:330px}.service-group{border-radius:9px}}

/* Company contact channels share the same quiet, deliberate visual language. */
.button-whatsapp{color:#e2f3e7;background:#173c32;gap:1.3rem;box-shadow:inset 0 0 0 1px #8cbb9a33}
.button-whatsapp:hover{color:#fff;background:#235341;transform:translateY(-2px)}
.hero-actions .button-whatsapp{background:#142c29d9;backdrop-filter:blur(10px)}
.hero-actions .button-whatsapp:hover{background:#235341}
.contact-channel{display:grid;gap:.55rem;max-width:100%;min-width:0}
.contact-label{font-size:.625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#bfc7bd}
.contact-links .button-whatsapp{font-size:.875rem;min-height:48px;padding:.65rem 1.1rem}
@media(max-width:700px){.hero-actions .button-whatsapp{font-size:.8125rem;gap:.8rem}.contact-label{font-size:.6875rem}}
@media(prefers-reduced-motion:reduce){.button-whatsapp:hover{transform:none}}

/* Keep the skyline inside the desktop crop; let the second view reveal the lake. */
@media(min-width:701px){.hero.residence-hero .hero-picture img,.residence-hero .relight-picture img{object-position:left center}.residence-story-copy{margin-left:auto}}

.residence-story-copy{position:relative;isolation:isolate;text-shadow:0 2px 16px #03101ad9}
.residence-story-copy::before{content:"";position:absolute;inset:-5rem -6rem;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#07101ac9 0%,#07101a94 42%,#07101a36 62%,transparent 75%)}
/* Service chapters: an editorial index and a quiet continuation of the ground lights. */
.services{--chapter-glow:#dbb878;isolation:isolate}
.services::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60px 90px at 4% 10%,#d1ae5920,transparent 75%),radial-gradient(circle 4px at 4% 10%,#d9ba7766,transparent),radial-gradient(ellipse 70px 100px at 45% 29%,#d1ae5915,transparent 75%),radial-gradient(circle 3px at 45% 29%,#d9ba7755,transparent),radial-gradient(ellipse 70px 110px at 5% 52%,#d1ae591c,transparent 75%),radial-gradient(circle 4px at 5% 52%,#d9ba7766,transparent),radial-gradient(ellipse 70px 110px at 45% 75%,#d1ae5917,transparent 75%),radial-gradient(circle 3px at 45% 75%,#d9ba7755,transparent),radial-gradient(ellipse 70px 110px at 7% 95%,#d1ae591c,transparent 75%)}
.services-intro{top:2rem;padding-block:.5rem}
.services-intro h2{font-size:clamp(2.35rem,3.2vw,3rem)}
.services-intro>p:not(.eyebrow):not(.service-position){max-width:370px;line-height:1.75;margin-top:1.25rem}
.service-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .6rem;margin-top:1.65rem;max-width:370px}
.service-index a{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.45rem .6rem;color:#62665c;font-size:.75rem;line-height:1.5;border-radius:5px;transition:background .25s,color .25s}
.service-index a>span{font-size:.5625rem;font-variant-numeric:tabular-nums;color:#84785b}
.service-index a:hover,.service-index a[aria-current="location"]{background:#ded9cb;color:#252d28}
.service-index a[aria-current="location"]>span{color:#70511d}
.services-intro .service-position{display:flex;align-items:baseline;gap:.45rem;font-size:.6875rem;margin-top:1.2rem;color:#5b635c;font-variant-numeric:tabular-nums}
.service-current{font-size:1.2rem;letter-spacing:-.04em;color:#7b5d2b}
.service-current-label{margin-left:.5rem;font-size:.6875rem}
.services-intro .lighting-demo{max-width:270px;margin-top:1.3rem}
.services-intro .lighting-demo .light-scene{aspect-ratio:2/1}
.services-intro .lighting-art{margin-top:-13%}
.services-intro .lighting-caption{font-size:.625rem}
.services-intro .lighting-controls button{font-size:.625rem;min-height:38px}
.service-groups{gap:1.5rem}
.service-chapter{padding:2.8rem;scroll-margin-top:2rem;transition:background .4s,box-shadow .4s,translate .3s}
.service-chapter .group-number{font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:#666a5c}
.service-chapter .group-heading h3{font-size:clamp(1.6rem,2.25vw,2.1rem);max-width:400px;line-height:1.12}
.service-chapter .group-description{font-size:.9375rem;max-width:470px;line-height:1.8;margin-top:1.4rem}
.service-context{font-size:.625rem;color:#6c715f;line-height:1.8;margin-top:1rem;letter-spacing:.035em}
.service-chapter .service-detail:first-of-type{margin-top:1.5rem}
.service-chapter .service-detail{margin-top:.35rem}
.service-chapter .service-detail summary{font-size:.9375rem;min-height:48px;padding-block:.6rem;gap:1.5rem;line-height:1.55}
.service-detail-body{padding:.1rem 0 1rem;animation:detail-arrive .4s var(--ease-soft) both}
.service-chapter .service-detail-body p{margin:.2rem 0 .8rem;font-size:.875rem;line-height:1.85}
.service-detail-body ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;color:#4d594f;font-size:.8125rem;line-height:1.65}
.service-detail-body li{position:relative;padding-left:1rem}
.service-detail-body li::before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:#99814f}
.service-cta{display:inline-flex;align-items:center;gap:.6rem;max-width:100%;flex-wrap:wrap;font-size:.75rem;font-weight:500;min-height:44px;margin-top:1.5rem;color:#344c3d;transition:color .2s}
.service-cta:hover{color:#745821}
.service-cta-dot{width:5px;height:5px;background:#718d68;border-radius:50%;box-shadow:0 0 14px #718d6833}
.service-cta-channel{margin-left:.2rem;font-size:.5625rem;font-weight:400;color:#61705c}
.chapter-power{background:linear-gradient(135deg,#e8e8e0,#e1e3da)}
.chapter-wiring{background:linear-gradient(135deg,#e7e7e1,#e4dfd1)}
.chapter-smart{background:linear-gradient(135deg,#e2e8e1,#dce3db)}
.chapter-lighting{background:linear-gradient(135deg,#eee5d2,#e9dfc8)}
.chapter-commercial{background:linear-gradient(135deg,#dfe5e1,#d9e0dd)}
.chapter-service{background:linear-gradient(135deg,#e9e7db,#e0e2d7)}
.service-chapter.active-chapter{box-shadow:0 20px 70px -42px #7660344d}
@media(max-width:1100px),(max-height:850px){.services-intro{position:static}.service-index{grid-template-columns:1fr}.service-chapter{padding:2rem}}
@media(max-width:700px){.services-layout{display:block}.services-intro h2{font-size:2.6rem}.service-index{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:.35rem}.service-index a{font-size:.75rem;padding:.5rem;gap:.5rem}.services-intro .lighting-demo{max-width:360px;margin-top:1.5rem}.services-intro .lighting-demo .light-scene{aspect-ratio:1.8/1}.services-intro .lighting-caption{font-size:.75rem}.services-intro .lighting-controls button{min-height:44px;font-size:.75rem}.service-position{display:none!important}.service-groups{gap:1.25rem}.service-chapter{padding:1.5rem;scroll-margin-top:1rem}.service-chapter .group-heading h3{font-size:1.8rem}.service-chapter .group-description{font-size:1rem;line-height:1.8}.service-chapter .service-detail summary{font-size:1rem;gap:1rem;min-height:54px}.service-chapter .service-detail-body p,.service-detail-body ul{font-size:.9375rem}.service-context{font-size:.6875rem}.service-cta{font-size:.875rem}.service-cta-channel{font-size:.625rem}.services::before{opacity:.65}}
@media(max-width:360px){.services-intro h2{font-size:2.25rem}.service-chapter{padding:1.25rem}.service-chapter .group-heading h3{font-size:1.6rem}.service-index a{font-size:.6875rem}}
/* Release action system: identical geometry and solid fills for every primary CTA. */
:root{--cta-width:12rem;--cta-height:3.5rem;--cta-radius:6px}
.action-pair{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));width:min(100%,calc(var(--cta-width)*2 + .75rem));gap:.75rem!important;align-items:stretch!important}
.action-pair .button,.service-chapter .service-cta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:0;min-height:var(--cta-height);padding:1rem 1.2rem;border:1px solid transparent;border-radius:var(--cta-radius);font:550 .875rem/1.5 Geologica,Arial,sans-serif;letter-spacing:0;box-shadow:none;backdrop-filter:none;transition:background .2s,color .2s,transform .2s}
.action-pair .button{width:100%;height:100%}
.action-pair .button-amber{background:#e4bc58;color:#172027}
.action-pair .button-whatsapp,.service-chapter .service-cta{background:#204a3b;color:#e8f5ed}
.action-pair .button-amber:hover{background:#f0cc79;color:#172027;transform:translateY(-2px)}
.action-pair .button-whatsapp:hover,.service-chapter .service-cta:hover{background:#2d604a;color:#fff;transform:translateY(-2px)}
.action-pair .action-icon,.service-chapter .service-cta .action-icon{width:20px;height:20px;flex:0 0 20px;transform:none!important}
.action-pair .button::before,.service-chapter .service-cta::before{display:none}
.contact-links{gap:1.65rem;align-items:stretch}
.contact-actions{margin:0}
.contact-phone{display:grid;gap:.5rem}
.contact-phone p{font-size:1.125rem;line-height:1.5;letter-spacing:-.025em;color:#e4e9e1}
.service-chapter .service-cta{width:min(100%,var(--cta-width));flex-wrap:nowrap;margin-top:1.7rem}
.service-chapter .service-cta .action-icon{opacity:1}
@media(max-width:700px){.action-pair .button,.service-chapter .service-cta{min-height:var(--cta-height);font-size:.875rem;padding:1rem}.contact-phone p{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.action-pair .button:hover,.service-chapter .service-cta:hover{transform:none}}
@media(max-width:1100px){.contact-content{display:block}.contact-links{margin-top:2.75rem}.coverage{margin-top:2.5rem}}
.action-pair .button:focus-visible{outline:3px solid #f6f5f1;outline-offset:4px}
.service-chapter .service-cta:focus-visible{outline-color:var(--ink)}
/* Text enlargement must reflow labels without changing the pair's equality. */
.action-pair{grid-auto-rows:1fr}
.action-pair .button,.service-chapter .service-cta{padding:clamp(12px,1rem,16px) clamp(16px,1.2rem,19.2px);gap:clamp(10px,.8rem,12.8px)}
.button .button-label{font:inherit;line-height:inherit;min-width:0;overflow-wrap:anywhere;text-align:left}
@media(max-width:360px){.service-chapter{padding:20px}}
