:root{--ink:#17342f;--deep:#112a25;--paper:#f7f5f1;--gold:#d8aa69;--muted:#56665f;--line:#d5dbd5;font-family:Arial,Helvetica,sans-serif;font-size:16px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ae793a;outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4.1vw,3.7rem);line-height:1.12;margin-bottom:1.4rem}h2 em,h1 em{font-weight:400;color:#a67236}p{line-height:1.75}.shell{width:min(100% - 4rem,1280px);margin-inline:auto}.section{padding-block:6.5rem}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;line-height:1.5;color:#8e602d;margin:0 0 1.4rem}.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:.8rem;background:white}.skip:focus{left:8px}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--gold);z-index:50;pointer-events:none}
.site-header{position:sticky;top:0;z-index:20;background:#f7f5f1f5;border-bottom:1px solid #d5dbd5b0;backdrop-filter:blur(14px)}.nav{min-height:92px;display:flex;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;flex-shrink:0}.brand-mark{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-size:1.08rem;letter-spacing:.055em}.brand small{display:block;font-size:.75rem;color:var(--muted);margin-top:.25rem}.nav nav{display:flex;gap:1.65rem;margin-left:auto}.nav nav a{font-size:.875rem;text-decoration:none;position:relative;padding:.75rem 0;white-space:nowrap}.nav nav a::after{content:'';position:absolute;bottom:.35rem;left:0;right:0;height:1px;background:#9b6b31;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav nav a:hover::after{transform:scaleX(1)}.nav-call{font-size:.875rem;text-decoration:none;white-space:nowrap;border:1px solid #c8cfc8;padding:.85rem 1rem}.nav-call span{margin-left:.7rem}
.hero{background:var(--ink);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;min-height:660px;gap:3.5rem}.hero-copy{padding:5.5rem 0 4.5rem;align-self:center;animation:enter .85s ease both}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(3rem,4.85vw,4.65rem);line-height:1.08;margin:0 0 1.8rem}h1 em{color:var(--gold)}.hero-lead{font-size:1.25rem;line-height:1.55;max-width:32ch;margin-bottom:1rem}.hero-description{font-size:1rem;max-width:53ch;color:#d4dfd8;line-height:1.8}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;padding:1rem 1.3rem;min-height:54px;text-decoration:none;font-size:.9rem;font-weight:700;transition:background .2s,transform .2s}.button-gold{background:var(--gold);color:var(--deep)}.button:hover{transform:translateY(-3px);background:#e5b978}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:700;font-size:.875rem;text-decoration:none}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.text-link.light{color:#f4eee3}.hero-note{font-size:.8rem;color:#b7c6bd;margin:1.8rem 0 0}.hero-visual{position:relative;min-width:0;margin-right:calc((min(100vw - 4rem,1280px) - 100vw)/2);overflow:hidden}.hero-visual picture,.hero-visual img{width:100%;height:100%;display:block}.hero-visual img{object-fit:cover;object-position:48% center;animation:image-enter 1.5s cubic-bezier(.2,.6,.3,1) both}.hero-visual::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#102720c9);pointer-events:none}.image-label{position:absolute;z-index:1;bottom:5rem;left:2.5rem;color:#fff}.image-label span{display:block;font-size:.9rem;margin-bottom:.5rem}.image-label strong{font-family:Georgia,serif;font-weight:400;font-size:2rem;letter-spacing:-.025em}.hero-visual figcaption{position:absolute;bottom:1.25rem;left:2.5rem;z-index:1;font-size:.75rem;color:white}.credentials{border-bottom:1px solid var(--line);background:#e9eee8}.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr)}.credentials p{margin:0;padding:1.35rem 1rem;font-size:.9rem;font-weight:700;border-right:1px solid #ccd5cc;text-align:center}.credentials p:last-child{border:0}.credentials span{font-family:Georgia,serif;font-weight:400;color:#947041;margin-right:.8rem}
.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:4rem;align-items:end;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin:0;max-width:44ch}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.service-card{padding:2.2rem 1.9rem;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:transform .3s,box-shadow .3s,border-color .3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #18332e0d;border-color:#a9bbab}.service-card::before{content:'';height:3px;background:var(--gold);position:absolute;top:-1px;left:-1px;right:-1px;transform:scaleX(0);transform-origin:left;transition:transform .3s}.service-card:hover::before{transform:scaleX(1)}.service-num{font-size:.75rem;letter-spacing:.14em;color:#8c632e;font-weight:700}.service-card h3{font-size:1.8rem;line-height:1.2;margin:1.6rem 0 1.2rem}.service-card p{font-size:1rem;color:var(--muted)}.service-card ul{list-style:none;margin:.3rem 0 2rem;padding:0;font-size:.875rem;line-height:1.7}.service-card li{padding:.4rem 0;border-bottom:1px solid #edf0eb}.service-card li::before{content:'—';color:#a77333;margin-right:.55rem}.service-card .text-link{padding-top:1.3rem;margin-top:auto;border-top:1px solid var(--line)}
.dossier-section{background:#e8ede7;padding-block:6rem}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:5.5rem;align-items:center}.editorial-image{position:relative;align-self:stretch;min-height:520px}.editorial-image img{height:100%;width:100%;object-fit:cover}.editorial-image figcaption{position:absolute;bottom:1rem;left:1rem;font-size:.75rem;padding:.4rem .65rem;background:#f7f5f1e8}.dossier-copy>p:not(.eyebrow){color:var(--muted)}.dossier-copy h3{font-family:Arial,Helvetica,sans-serif;font-size:.95rem;font-weight:700;margin:1.8rem 0 .6rem}.document-list{padding:0;margin:0 0 1rem;list-style:none}.document-list li{border-bottom:1px solid #c7d2c7;padding:.85rem 0;font-size:.9rem;line-height:1.5}.document-list span{color:#906532;font-size:.75rem;letter-spacing:.05em;margin-right:.9rem}.dossier-copy .fine-print{font-size:.875rem;line-height:1.6}.dossier-copy .text-link{margin-top:.8rem}.architecture-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:start}.architecture-gallery figure{min-width:0}.architecture-gallery img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .6s}.plan-open{border:1px solid #dbdcd3;background:#f0eee6;padding:0;display:block;width:100%;cursor:zoom-in;overflow:hidden;position:relative;color:var(--ink)}.plan-open>span{position:absolute;bottom:1rem;right:1rem;background:var(--ink);color:white;padding:.65rem .9rem;font-size:.8rem}.plan-open:hover img{transform:scale(1.04)}.building-card{margin-top:4rem}.building-card img{aspect-ratio:1.3;object-position:center}.architecture-gallery figcaption{display:flex;flex-direction:column;gap:.6rem;padding-top:1.1rem}.architecture-gallery figcaption strong{font-weight:400;font-family:Georgia,serif;font-size:1.35rem}.architecture-gallery figcaption>span{font-size:.75rem;line-height:1.6;color:var(--muted)}.gallery-note{font-size:.8rem;color:var(--muted);max-width:90ch;margin:2rem 0 0}
.method-section{background:var(--ink);color:white;padding:6rem 0}.method-section .eyebrow,.method-section h2 em{color:var(--gold)}.method-section .section-heading>p{color:#c6d5cb}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;padding:0;margin:3rem 0 0}.steps li{border-top:1px solid #6a7f70;padding-top:1.2rem}.steps li>span{font-family:Georgia,serif;font-size:2.5rem;color:var(--gold)}.steps h3{font-size:1.45rem;line-height:1.25;margin:1.5rem 0 1rem}.steps p{font-size:1rem;color:#c6d5cb}.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem}.faq-heading>p:not(.eyebrow){color:var(--muted);max-width:33ch}.faq-heading .text-link{margin-top:1rem}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;padding:1.4rem 0;font-size:1rem;line-height:1.55;list-style:none;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.45rem;font-weight:400;color:#91662e;transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{color:var(--muted);font-size:1rem;margin:0 2rem 1.5rem 0}.faq-list details[open]>p{animation:enter .3s ease}
.contact-section{background:#e4eae2;padding:6rem 0}.contact-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:5rem}.contact-section h2{font-size:clamp(2.5rem,3.6vw,3.5rem)}.contact-section p:not(.eyebrow){color:var(--muted);max-width:51ch}.contact-section .button{margin-top:1rem;background:var(--ink);color:white}.contact-section .button:hover{background:#2c5043}.contact-section address{font-style:normal;border-left:1px solid #bac8b9;padding-left:2.7rem;display:flex;flex-direction:column;gap:1.2rem;line-height:1.7;font-size:.9rem}.address-label{font-size:.75rem;letter-spacing:.15em;color:#85612d;font-weight:700}.contact-section address strong{font-family:Georgia,serif;font-size:1.6rem;font-weight:400}.contact-section address a{font-size:.875rem;text-underline-offset:5px}.contact-section address small{font-size:.8rem;color:var(--muted)}footer{background:var(--deep);color:#c8d8cd}.footer-inner{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;padding-block:1.5rem;line-height:1.6}footer a{text-decoration:none}.mobile-call{display:none}.plan-dialog{border:0;background:var(--paper);color:var(--ink);padding:1.5rem;width:min(100% - 2rem,1100px);max-height:92dvh;box-shadow:0 20px 80px #0004}.plan-dialog::backdrop{background:#081b16d9;backdrop-filter:blur(6px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.dialog-heading .eyebrow{margin:0 0 .5rem}.dialog-heading h2{font-size:1.6rem;letter-spacing:-.02em}.dialog-heading button{font-size:2rem;background:none;border:1px solid var(--line);width:44px;height:44px;cursor:pointer;flex-shrink:0;color:var(--ink)}.plan-dialog>img{width:100%;height:auto}.plan-dialog>p{font-size:.8rem;margin:1rem 0 0}.has-dialog{overflow:hidden}
.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.service-card:nth-child(2),.steps li:nth-child(2){transition-delay:70ms}.service-card:nth-child(3),.steps li:nth-child(3){transition-delay:140ms}.steps li:nth-child(4){transition-delay:210ms}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes image-enter{from{transform:scale(1.075)}to{transform:scale(1)}}
@media(min-width:1500px){.hero-visual{margin-right:0}.hero-grid{gap:4rem}.hero{padding-block:1.5rem}}
@media(max-width:1100px){.nav{gap:1.5rem}.nav nav{gap:1rem}.nav-call{display:none}.hero-grid{gap:2.5rem}.hero-copy{padding-block:4rem}.split-grid{gap:3rem}.faq-section{gap:3rem}.service-card{padding:1.7rem 1.4rem}.contact-grid{gap:3rem}.actions{gap:1.1rem}}
@media(max-width:800px){html{scroll-padding-top:135px}.shell{width:calc(100% - 2.5rem)}.nav{flex-wrap:wrap;gap:.25rem;padding-block:.5rem;min-height:0}.brand-mark{width:49px;height:49px}.nav nav{width:100%;margin:0;justify-content:space-between;gap:.8rem}.nav nav a{font-size:.8rem;padding:.75rem 0}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:3.5rem 0 3rem}.hero h1{font-size:clamp(3.2rem,7.5vw,4.8rem)}.hero-description{max-width:60ch}.hero-visual{height:380px;margin-inline:-1.25rem;min-width:0}.hero-visual img{object-position:center 52%}.image-label{bottom:4rem;left:1.5rem}.hero-visual figcaption{left:1.5rem}.credentials p{font-size:.8rem;padding:1.1rem .7rem}.credentials span{display:block;margin:0 0 .3rem}.section{padding-block:4.5rem}.section-heading{grid-template-columns:1fr;gap:1.3rem;margin-bottom:2.2rem}.section-heading>p{max-width:60ch}.service-grid{grid-template-columns:1fr}.service-card{padding:2rem}.service-card h3 br{display:none}.service-card h3{margin:1.2rem 0}.service-card ul{margin-bottom:1.3rem}.split-grid{grid-template-columns:1fr;gap:2.5rem}.editorial-image{min-height:0;height:350px}.dossier-section,.method-section,.contact-section{padding-block:4.5rem}.architecture-gallery{grid-template-columns:1fr 1fr;gap:1rem}.architecture-gallery img{aspect-ratio:1.2}.building-card{margin-top:3rem}.steps{grid-template-columns:1fr 1fr;gap:2.5rem 2rem}.faq-section{grid-template-columns:1fr;gap:2.5rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-section address{border-left:0;border-top:1px solid #bac8b9;padding:2rem 0 0}.footer-inner{flex-direction:column}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;justify-content:space-between;align-items:center;gap:1rem;background:var(--ink);color:white;text-decoration:none;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));font-size:.8rem;box-shadow:0 -3px 20px #0002}.mobile-call strong{color:var(--gold);font-size:.9rem}body{padding-bottom:62px}.plan-dialog{padding:1rem}}
@media(max-width:480px){.shell{width:calc(100% - 2rem)}.hero h1{font-size:2.9rem}.hero-visual{margin-inline:-1rem;height:300px}.hero-copy{padding-top:2.7rem}.hero-lead{font-size:1.15rem}.hero-description{font-size:.95rem}.actions{align-items:flex-start;flex-direction:column}.actions .button{width:100%}.actions .text-link{padding-block:.4rem}.credentials-grid{grid-template-columns:1fr}.credentials p{border-right:0;border-bottom:1px solid #ccd5cc;text-align:left;padding:.75rem 0}.credentials span{display:inline;margin-right:.8rem}.architecture-gallery{grid-template-columns:1fr;gap:2rem}.building-card{margin-top:0}.architecture-gallery img{aspect-ratio:1.5}.steps{gap:1.5rem 1rem}.steps h3{font-size:1.25rem}.steps p{font-size:.9rem}.editorial-image{height:280px}.service-card{padding:1.6rem}.brand small{font-size:.75rem}.nav nav a{font-size:.75rem}.section,.dossier-section,.method-section,.contact-section{padding-block:3.7rem}.contact-section .button{width:100%;font-size:.8rem}}
.hero-slides{position:absolute;inset:0;overflow:hidden}.hero-visual .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.15s ease;pointer-events:none}.hero-visual .hero-slide.is-active{opacity:1}.hero-visual .hero-slide img{animation:none;transform:scale(1.02)}.hero-visual .hero-slide.is-active img{animation:cinematic-drift 8s linear both}.hero-visual.is-paused .hero-slide img{animation-play-state:paused}.slideshow-controls{position:absolute;top:1.5rem;right:1.5rem;z-index:3;display:flex;align-items:center;gap:.4rem;padding:.35rem;background:#112a25e6;color:white;border:1px solid #ffffff30;backdrop-filter:blur(8px)}.slideshow-controls button{border:1px solid #ffffff38;background:transparent;color:white;min-width:44px;min-height:44px;cursor:pointer;transition:background .2s}.slideshow-controls button:hover{background:#ffffff22}.slideshow-controls button[data-slide-pause]{font-size:.75rem;padding-inline:.7rem}.slideshow-controls button:disabled{cursor:default;opacity:.7}.slide-counter{font-size:.75rem;letter-spacing:.1em;padding:.5rem}.hero-copy{animation:none}.hero-copy>*{animation:enter .8s cubic-bezier(.16,.8,.3,1) both}.hero-copy h1{animation-delay:.12s}.hero-copy .hero-lead{animation-delay:.23s}.hero-copy .hero-description{animation-delay:.34s}.hero-copy .actions{animation-delay:.45s}.hero-copy .hero-note{animation-delay:.55s}.image-label{animation:enter 1s .5s both}.site-header{transition:box-shadow .3s,background .3s}.site-header.is-scrolled{box-shadow:0 6px 24px #17342f12;background:#f7f5f1fc}.brand-mark{transition:transform .4s}.brand:hover .brand-mark{transform:rotate(-5deg) scale(1.06)}.button span{transition:transform .25s}.button:hover span{transform:translate(4px,-3px)}.motion-ready .reveal{transform:translateY(40px);transition:opacity .85s ease,transform .85s cubic-bezier(.16,.8,.3,1)}.motion-ready .reveal.visible{transform:translateY(0)}.motion-ready .service-card.visible:hover{transform:translateY(-7px)}.editorial-image{overflow:hidden}.editorial-image img{transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}.editorial-image:hover img{transform:scale(1.045)}.steps li{position:relative;border-top-color:#49675a}.steps li::before{content:'';position:absolute;height:2px;top:-1px;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1s .2s ease}.steps li.visible::before{transform:scaleX(1)}.inspiration-heading{margin-top:5rem;border-top:1px solid var(--line);padding-top:3rem}.inspiration-heading .eyebrow{margin-bottom:.9rem}.inspiration-heading h3{font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.03em;margin-bottom:2rem}.inspiration-heading em{color:#a67236}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.photo-card{min-width:0}.photo-card:nth-child(2){margin-top:2.5rem;transition-delay:100ms}.photo-card:nth-child(3){transition-delay:200ms}.photo-frame{position:relative;overflow:hidden;background:#d9ddd4}.photo-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .9s cubic-bezier(.16,.8,.3,1),filter .6s}.photo-card:hover .photo-frame img{transform:scale(1.065);filter:saturate(1.08)}.photo-frame::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#112a2566);pointer-events:none}.photo-index{position:absolute;bottom:1.2rem;left:1.2rem;color:white;font:2.4rem Georgia,serif;z-index:1}.photo-card figcaption{display:flex;flex-direction:column;gap:.55rem;padding-top:1.2rem}.photo-card figcaption strong{font:1.3rem Georgia,serif}.photo-card figcaption>span{font-size:.75rem;color:var(--muted);line-height:1.6}.plan-dialog[open]{animation:dialog-enter .3s ease}.plan-dialog[open]::backdrop{animation:backdrop-enter .3s ease}@keyframes cinematic-drift{from{transform:scale(1.02)}to{transform:scale(1.11)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.slideshow-controls{top:1rem;right:1rem}.photo-gallery{gap:1rem}.photo-card figcaption strong{font-size:1.15rem}.photo-frame img{aspect-ratio:3/4}.inspiration-heading{margin-top:3rem;padding-top:2.5rem}}
@media(max-width:600px){.photo-gallery{grid-template-columns:1fr;gap:2rem}.photo-card:nth-child(2){margin-top:0}.photo-frame img{aspect-ratio:3/2}.photo-card figcaption strong{font-size:1.35rem}.slideshow-controls{top:.7rem;right:.7rem}.slide-counter{padding:.25rem}.slideshow-controls{gap:.25rem}.image-label strong{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.reading-progress{display:none}.hero-visual .hero-slide img{transform:none}.steps li::before{transform:scaleX(1)}}
.mobile-contact{display:none}.contact-whatsapp{margin-top:1.5rem}.contact-section .fine-print{font-size:.875rem}
@media(max-width:800px){.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--ink);color:white;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 20px #0002}.mobile-contact a{flex:1;min-height:58px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.9rem;font-weight:700;padding:.8rem}.mobile-contact a+a{background:var(--gold);color:var(--deep)}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}}
