
:root{--ink:#162923;--cream:#f3f0e8;--gold:#d5b784;--muted:#66716a;--line:#d7d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-family:'Italiana',Georgia,serif;font-weight:400;font-style:normal;color:inherit}h2{font-size:clamp(2.7rem,5vw,5.2rem);line-height:1.12;letter-spacing:-.035em}h3{font-size:clamp(2rem,3vw,3.2rem);line-height:1.2;letter-spacing:-.025em}.wrap{width:min(1240px,88%);margin:auto}.section{padding-block:110px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;display:block;margin-bottom:27px}.eyebrow.light{color:var(--gold)}.divider{display:inline-block;width:25px;height:1px;background:currentColor;vertical-align:middle;margin:0 12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 23px;font-size:14px;min-height:54px;border:1px solid transparent;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button span{font-size:23px;line-height:1}.cream{background:var(--cream);color:var(--ink)}.cream:hover{background:var(--gold)}.outline{border-color:#ffffff80;color:white}.outline:hover{background:#ffffff18}:focus-visible{outline:3px solid #c49645;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:1000;padding:12px;background:white;color:black}.skip:focus{top:0}header{height:98px;position:absolute;top:0;left:0;width:100%;padding:0 6%;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff35;z-index:10}.wordmark{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:.12em;line-height:1.4}.mark{font-family:Georgia,serif;font-size:40px;letter-spacing:-.3em;margin-right:8px;color:var(--gold)}.brand-sub{display:block;font-size:9px;letter-spacing:.22em}header nav{display:flex;align-items:center;gap:32px;font-size:14px}header nav a{padding-block:8px}header nav a:hover{color:var(--gold)}.nav-contact{border-bottom:1px solid #fff7}.menu{display:none;background:transparent;border:1px solid #ffffff70;color:white;padding:9px 12px;font-size:14px}#mobile-nav{position:absolute;top:98px;left:0;right:0;z-index:20;background:var(--ink);padding:18px 6%}#mobile-nav a{display:block;padding:12px}.hero{position:relative;overflow:hidden;min-height:860px;color:white;background:#1a2923}.hero-bg,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-bg{height:112%;top:-6%;object-position:center 65%;will-change:transform}.hero-shade{background:linear-gradient(90deg,rgba(10,28,23,.9),rgba(11,28,24,.5) 65%,rgba(11,28,24,.48)),linear-gradient(0deg,#10271bd9,transparent 35%)}.hero-inner{position:relative;display:grid;grid-template-columns:1.3fr .75fr;gap:9%;align-items:center;padding-top:190px;padding-bottom:80px;min-height:775px}.hero h1{font-size:clamp(2.8rem,4.8vw,4.8rem);line-height:1.15;letter-spacing:-.045em}.hero h1 em{font-size:1.17em;color:#decba8}.hero-copy>p{max-width:510px;color:#e2e4dd;margin:26px 0 31px;font-size:17px;line-height:1.85}.owner{max-width:365px;width:100%;justify-self:end}.portrait{aspect-ratio:4/4.7;border:1px solid #ffffff55;background:linear-gradient(150deg,#ece6d817,#ece6d804);backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#eadcc3;gap:12px;border-radius:170px 170px 0 0}.portrait small{font-size:12px;color:#e4e4df}.portrait svg{opacity:.7;margin-bottom:15px}.owner-caption{border-left:1px solid var(--gold);margin-top:24px;padding-left:21px}.owner-caption>span{font-size:10px;letter-spacing:.13em;color:var(--gold)}.owner-caption p{font-family:Georgia,serif;font-size:23px;line-height:1.45;margin-top:9px}.hero-bottom{position:relative;display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding:26px 0;color:#e4e5df;font-size:12px;letter-spacing:.08em}.hero-bottom a{font-size:14px;letter-spacing:0}.hero-bottom a span{padding-left:20px}.story{display:grid;grid-template-columns:1fr 1fr;gap:55px 80px}.story-text p{margin-bottom:22px;color:#505d55;font-size:17px}.story-text details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:24px}details[open] summary span{transform:rotate(45deg)}.timeline{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid var(--line);padding-top:40px}.timeline>div{padding-left:28px;border-left:1px solid var(--line)}.timeline>div:first-child{border-left:0;padding-left:0}.timeline strong{font-weight:400;font-size:49px;letter-spacing:-.05em}.timeline strong span{font-size:14px;letter-spacing:0;margin-left:8px;color:var(--muted)}.timeline p{font-size:14px;color:var(--muted);margin-top:5px}.estancia{background:#e5e8de}.project-top{display:flex;align-items:center;justify-content:space-between}.location{font-size:12px;letter-spacing:.1em}.project-intro{display:grid;grid-template-columns:1fr .7fr;gap:15%;align-items:center;margin-bottom:58px}.project-intro h2{font-size:clamp(4rem,8vw,8rem);line-height:.95}.project-intro h2 em{font-size:1.12em}.residencial{font-family:'DM Sans',Arial,sans-serif;display:block;font-size:12px;letter-spacing:.5em;margin-top:26px}.project-intro p{color:#566155;max-width:400px}.project-intro .lead{font-size:27px;line-height:1.4;color:var(--ink);margin-bottom:20px}.text-link{display:inline-block;border-bottom:1px solid #9aa596;margin-top:27px;padding-bottom:9px;font-size:14px}.text-link span{padding-left:30px}.project-image{margin-bottom:85px}.image-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;overflow:hidden;text-align:left;color:inherit}.image-open img{width:100%;transition:transform .8s}.image-open:hover img{transform:scale(1.025)}.zoom-label{position:absolute;right:20px;bottom:20px;background:#142a24e0;color:white;padding:8px 14px;font-size:13px}.project-image>figcaption{font-size:12px;color:#586357;margin-top:13px}.project-details{display:grid;grid-template-columns:1fr .85fr;gap:12%;scroll-margin-top:50px}.features>p{color:#4c594d}.features ul{padding:0;margin:23px 0;list-style:none}.features li{padding:13px 0;border-bottom:1px solid #c8cec1;font-size:16px}.features li span{font-size:12px;color:#76826f;margin-right:20px}.features small{font-size:12px;color:#5b6656;display:block;line-height:1.7}.amenities{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;margin-top:70px;align-items:start}.amenities figure:nth-child(2){margin-top:65px}.amenities img{aspect-ratio:1.5;object-fit:cover}.amenities figure:nth-child(2) img{aspect-ratio:1.2}.amenities figcaption{margin-top:15px;font-size:16px}.amenities figcaption span{font-size:11px;letter-spacing:.15em;display:block;margin-bottom:5px;color:#62715a}.plan{border-top:1px solid #c1cbb8;border-bottom:1px solid #c1cbb8;margin-top:65px}.plan summary{font-size:17px}.plan img{max-height:740px;object-fit:contain;background:#cbb593}.plan p{font-size:13px;padding:16px 0}.portfolio-cover{position:relative;min-height:670px;display:grid;align-items:center;color:white;overflow:hidden}.portfolio-cover picture,.portfolio-cover picture img,.portfolio-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portfolio-cover picture img{object-position:center 53%;}.portfolio-shade{background:linear-gradient(90deg,#10211deb,#10211d88 60%,#10211d35)}.portfolio-title{position:relative;padding-block:80px}.portfolio-title h2{font-size:clamp(3.4rem,6.5vw,6rem)}.portfolio-title p{margin:24px 0 30px;color:#e4e8df}.gallery{display:grid;grid-template-columns:.85fr 1fr;gap:40px 85px}.gallery-title{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.gallery-title p{font-size:20px;line-height:1.5}.gallery-title .eyebrow{margin:0}.house img{width:100%;object-fit:cover}.house.tall img{aspect-ratio:4/4.7}.house.wide{margin-top:100px}.house.wide img{aspect-ratio:1.6}.house figcaption{margin-top:22px}.house figcaption span{font-size:11px;letter-spacing:.13em;color:var(--muted)}.house h3{font-size:26px;margin-top:9px}.gallery-note{grid-column:1/-1;font-size:12px;color:#727b70}.contact{background:var(--ink);color:var(--cream)}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center}.contact h2{font-size:clamp(2.7rem,4.2vw,4.2rem)}.contact h2 em{color:var(--gold)}.contact p{color:#c8d0c6;max-width:460px;margin-top:26px}.contact-actions{padding-left:40px;border-left:1px solid #ffffff30}.contact-label{font-size:11px;letter-spacing:.1em}.phone{font-size:30px;display:block;letter-spacing:-.02em;margin:17px 0 28px}.contact-actions .button{width:100%}.contact .contact-note{font-size:12px;line-height:1.8}.contact-location{display:block;font-size:14px;margin-top:28px;color:var(--gold)}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:35px;font-size:12px;color:#65705f}.footer-title{font-family:Georgia,serif;font-size:20px;color:var(--ink)}.draft{position:fixed;bottom:12px;left:12px;background:#f3f0e8e8;color:#394c3f;padding:6px 10px;font-size:9px;letter-spacing:.13em;z-index:25;border:1px solid #c5cabc;backdrop-filter:blur(5px);pointer-events:none}dialog{border:0;padding:55px 18px 20px;background:#101c19;color:white;width:min(1200px,95vw);max-height:94dvh;overflow:auto}dialog::backdrop{background:#07100dec;backdrop-filter:blur(7px)}#lightbox-image{max-height:75dvh;width:100%;object-fit:contain}#lightbox-caption{font-size:14px;text-align:center;margin:15px auto 0}#close-lightbox{position:absolute;right:18px;top:12px;color:white;background:transparent;border:1px solid #ffffff60;padding:6px 14px}body.modal-open{overflow:hidden}.motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero-inner{padding-top:220px;min-height:900px}.hero{min-height:980px}}
@media(max-width:1000px){header nav{gap:18px}.wordmark{font-size:14px}.hero-inner{gap:7%;grid-template-columns:1.15fr .8fr}.hero h1{font-size:3.3rem}.section{padding-block:80px}.story{gap:45px}.contact-grid{gap:35px}.contact-actions{padding-left:25px}.phone{font-size:25px}.gallery{gap:35px}}
@media(max-width:760px){header{height:80px}header nav{display:none}.menu{display:block}#mobile-nav{top:80px}.hero-inner{grid-template-columns:1fr;padding-top:130px;gap:45px;padding-bottom:50px}.hero h1{font-size:clamp(2.9rem,9vw,4rem)}.hero-copy>p{font-size:16px}.owner{justify-self:start;width:76%;max-width:300px}.portrait{aspect-ratio:1.2;border-radius:130px 130px 0 0}.owner-caption p{font-size:21px}.hero-bg{height:100%;top:0}.hero-bottom{font-size:10px}.hero-bottom a{font-size:12px}.hero-bottom a span{padding-left:8px}.story{grid-template-columns:1fr;gap:30px}.section{padding-block:68px}.story-text p{font-size:16px}.timeline{grid-template-columns:1fr 1fr;gap:30px;margin-top:0;padding-top:30px}.timeline>div:nth-child(3){border-left:0;padding-left:0}.timeline strong{font-size:43px}.timeline p{font-size:13px}.project-intro{grid-template-columns:1fr;gap:35px;margin-bottom:35px}.project-intro h2{font-size:5rem}.project-top .eyebrow{font-size:10px}.location{font-size:10px}.project-intro .lead{font-size:24px}.project-image{margin-bottom:50px}.project-details{grid-template-columns:1fr;gap:30px}.amenities{gap:25px;grid-template-columns:1fr;margin-top:40px}.amenities figure:nth-child(2){margin-top:0}.amenities figure:nth-child(2) img{aspect-ratio:1.4}.plan{margin-top:40px}.portfolio-cover{min-height:600px}.portfolio-cover picture img{object-position:50% 40%}.portfolio-title h2{font-size:3.8rem}.portfolio-shade{background:#101e1bc2}.gallery{grid-template-columns:1fr;gap:35px}.gallery-title{display:block}.gallery-title p{margin-top:20px}.house.wide{margin-top:0}.house.tall img{aspect-ratio:1}.gallery-note{margin-top:0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-actions{padding:30px 0 0;border-left:0;border-top:1px solid #ffffff30}.contact h2{font-size:2.8rem}.phone{font-size:29px}footer{flex-direction:column;align-items:start;padding-bottom:55px;gap:16px}.eyebrow{font-size:11px}.zoom-label{right:12px;bottom:12px}.project-image .image-open img{min-height:260px;object-fit:cover}.contact-actions .button{max-width:380px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}.hero-bg{transform:none!important}}

/* Panoramas, warm gold and deep olive */
:root{--ink:#222b20;--cream:#f0e3c9;--gold:#e3bf6e;--muted:#a99b7e;--line:#cdb57d44}
body{background:#222b20;color:#f5eddc}.section{padding-block:64px}.hero{min-height:760px}.hero-inner{min-height:690px;padding-top:150px;padding-bottom:55px}.hero-shade{background:linear-gradient(90deg,#182219ed,#22281b70),linear-gradient(0deg,#222b20,transparent 45%)}.hero h1 em{color:var(--gold)}.cream{background:linear-gradient(110deg,#ebd4a0,#d5ad60);color:#20281c}.story{gap:35px 65px}.story-text p{color:#e0d9c8}.story h2 em,.timeline strong{color:var(--gold)}.story-photo{margin-top:28px}.story-photo img{width:100%;aspect-ratio:2.5;object-fit:cover}.story-photo figcaption{font-size:13px;color:#c6b89a;margin-top:10px}.timeline{margin-top:0;padding-top:24px}.timeline p,.timeline strong span{color:#c6b89a}.timeline strong{font-size:42px}.estancia{padding:0;background:#353b29;color:#f5eddc}.panorama{position:relative;isolation:isolate;overflow:hidden;background:#20271d;min-height:560px;display:grid;align-items:end}.panorama:before{content:"";position:absolute;inset:-20px;z-index:-2;background-image:var(--scene);background-size:cover;background-position:center;filter:blur(18px);opacity:.5}.panorama-photo{grid-area:1/1;width:100%;height:auto;align-self:center;object-fit:contain}.panorama-main .panorama-photo{aspect-ratio:1600/983}.panorama-access .panorama-photo{aspect-ratio:1672/941}.panorama-water .panorama-photo{aspect-ratio:1755/1241;max-height:800px}.panorama-shade{position:absolute;inset:0;background:linear-gradient(0deg,#162016f5 0%,#172017a8 29%,#1720170a 75%);pointer-events:none}.panorama-copy{grid-area:1/1;position:relative;z-index:2;padding-block:45px;align-self:end;pointer-events:none}.panorama-copy a,.panorama-copy button{pointer-events:auto}.panorama-copy h2{font-size:clamp(3.5rem,7vw,7rem)}.panorama-copy h2 em,.panorama-copy h3 em{color:var(--gold)}.panorama-copy h3{font-size:clamp(2.7rem,5vw,5rem)}.panorama-copy .eyebrow{margin-bottom:15px}.panorama-copy .residencial{margin-top:15px;font-size:14px}.panorama-copy p{margin-top:20px;max-width:580px;color:#f0eadc;font-size:18px}.panorama-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:23px}.panorama-copy small{display:block;font-size:12px;color:#d8cfbb;margin-top:16px}.panorama-copy .text-link{color:var(--gold);background:none;border:0;border-bottom:1px solid #e3bf6e80;padding:0 0 8px;font:inherit;font-size:14px;margin-top:20px}.project-details{padding-block:55px;gap:8%;align-items:center}.details-intro{margin-top:22px;color:#ded8c7;max-width:470px}.project-details .eyebrow{color:var(--gold)}.project-details h3 em{color:var(--gold)}.features ul{margin-top:0;margin-bottom:14px}.features li{border-color:#e1cb9140}.features li span,.features small{color:#d5c7a9}.plan-wrap{padding-block:25px}.plan{margin:0;border-color:#d5bd824d}.plan summary{padding-block:18px}.gallery{gap:28px 36px;padding-block:50px;background:transparent}.gallery-title{margin:0}.gallery-title .eyebrow{color:var(--gold)}.gallery-title p{font-size:18px}.house.wide{margin-top:0}.house.tall img,.house.wide img{aspect-ratio:1.35;object-fit:cover}.house figcaption{margin-top:15px}.house figcaption span,.gallery-note{color:#c9b997}.house h3{font-size:24px;color:#f2e6ca}.portfolio-cover{min-height:560px}.portfolio-title{padding-block:65px}.portfolio-title em{color:var(--gold)}.contact{background:linear-gradient(120deg,#45472c,#252f22)}.contact p{color:#e1dbc9}.contact-label{font-size:12px}.contact-location{color:var(--gold)}footer{color:#cabc9f}.footer-title{color:var(--gold)}.brand-sub,.owner-caption>span,.house figcaption span{font-size:12px}.draft{font-size:12px;background:#222b20e8;color:#e6d2a3;border-color:#e3bf6e50}.motion .panorama.reveal{transform:translateY(35px);transition:opacity 1.1s ease,transform 1.1s ease}.motion .panorama.visible{transform:none}.motion .panorama .panorama-photo{opacity:.5;transition:opacity 1.4s ease}.motion .panorama.visible .panorama-photo{opacity:1}
@media(min-width:1600px){.hero{min-height:820px}.hero-inner{min-height:750px;padding-top:160px}}
@media(max-width:760px){.section{padding-block:42px}.hero-inner{padding-top:125px;padding-bottom:35px}.hero-bottom{font-size:12px}.owner{width:65%;max-width:240px}.portrait{aspect-ratio:1.4}.story{gap:25px}.story-photo img{aspect-ratio:2}.timeline{gap:22px}.project-details{padding-block:35px;gap:25px}.panorama{min-height:0;display:flex;flex-direction:column;align-items:stretch}.panorama-photo{position:relative;width:100%;height:auto;max-height:none!important;order:0;z-index:0}.panorama-shade{background:linear-gradient(0deg,#1e281eef,#1e281ea0 55%,transparent 85%)}.panorama-copy{padding-block:25px;order:1;width:88%;margin:auto;align-self:auto}.panorama-copy h2{font-size:3.6rem}.panorama-copy h3{font-size:2.65rem}.panorama-copy p{font-size:16px;margin-top:15px}.panorama-copy .eyebrow{font-size:12px;letter-spacing:.1em}.panorama-actions{gap:12px}.panorama-actions .button{padding:12px 16px;gap:12px}.panorama-copy .residencial{font-size:12px}.gallery{gap:28px}.house.tall img{aspect-ratio:1.15}.house.wide img{aspect-ratio:1.6}.gallery-title p{margin-top:12px}.portfolio-cover{min-height:490px}.portfolio-title{padding-block:50px}.contact-grid{gap:25px}.plan-wrap{padding-block:18px}.plan summary{font-size:16px}.project-details .eyebrow{font-size:12px}footer{padding-top:25px}.location,.project-top .eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){.motion .panorama .panorama-photo{opacity:1}.motion .panorama.reveal{transform:none}}

/* Preserve complete project photos; portrait framing is intentional. */
.owner{max-width:390px}.portrait{position:relative;display:block;width:100%;aspect-ratio:4/4.7;overflow:hidden;border-radius:12px;background:#434b3c;padding:0;backdrop-filter:none;border:1px solid #d5b78490}.portrait img{position:absolute;width:170%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-42%,-70%)}
.hero-bg{top:0;height:100%;width:100%;object-fit:contain;object-position:center;will-change:auto;transform:none!important}.hero{background:#222b20}.hero-shade{background:linear-gradient(90deg,#182219e0,#22281b60),linear-gradient(0deg,#222b20,transparent 30%)}
.story-photo img,.house.tall img,.house.wide img,.panorama .panorama-photo,.plan img{aspect-ratio:auto;object-fit:contain;object-position:center;height:auto;min-height:0;max-height:none;width:100%}.image-open:hover img{transform:none}.image-open{overflow:visible}.gallery{grid-template-columns:1fr;gap:38px}.gallery .house{margin:0;width:100%;grid-column:1/-1}.house.tall .image-open{background:linear-gradient(115deg,#313a2b,#19251b)}.house.tall img{max-height:85vh;max-height:85svh;object-fit:contain;width:100%;height:auto}.house.wide img{width:100%;height:auto}.portfolio-cover{display:grid;min-height:0;overflow:visible;background:#253022}.portfolio-cover picture{position:relative;inset:auto;width:100%;height:auto;grid-area:1/1;align-self:center}.portfolio-cover picture img{position:static;width:100%;height:auto;object-fit:contain;object-position:center}.portfolio-title{grid-area:1/1;align-self:center}.portfolio-shade{pointer-events:none}.panorama-water .panorama-photo{max-height:none}
@media(max-width:760px){.owner{justify-self:center;width:90%;max-width:350px}.portrait{aspect-ratio:4/4.7;border-radius:10px}.hero-inner{gap:35px}.hero-bg{object-fit:contain;object-position:center top}.hero-shade{background:linear-gradient(0deg,#222b20 25%,#222b20b0 75%)}.gallery{grid-template-columns:1fr;gap:30px}.house.tall img{max-height:80svh}.house.wide img,.story-photo img{aspect-ratio:auto;height:auto}.portfolio-cover{display:flex;flex-direction:column}.portfolio-cover picture{position:relative;height:auto}.portfolio-shade{background:linear-gradient(0deg,#17231bed,#17231b55)}.portfolio-title{padding-block:30px}.portfolio-title h2{font-size:3rem}}

/* Transparent image action and page-four backdrop. */
.panorama-actions .button.outline,.panorama-actions .button.outline:hover,.panorama-actions .button.outline:active{background:transparent;background-image:none;color:#fff;border-color:#ffffff80}
.panorama-water .panorama-shade{background:linear-gradient(0deg,rgba(17,28,18,.88),rgba(17,28,18,.42) 55%,rgba(17,28,18,.2))}

/* Centered photo panels with consistent side gutters. */
:root{--photo-width:min(1120px,92%)}
.estancia{background:var(--ink)}
.hero{width:min(1360px,94%);margin-inline:auto;min-height:800px}
.hero-inner{width:90%;grid-template-columns:1.15fr 1fr;gap:5%;min-height:730px;padding-top:145px}
.hero .owner{width:100%;max-width:450px;justify-self:center}
.hero-bg{width:100%;height:100%;object-fit:contain;object-position:center top}
.hero-shade{background:linear-gradient(90deg,rgba(12,23,15,.9),rgba(12,23,15,.58)),linear-gradient(0deg,#222b20,transparent 35%)}
.hero h1{font-size:clamp(2.8rem,4.5vw,4.5rem)}
.panorama,.portfolio-cover{width:var(--photo-width);margin-inline:auto;min-height:0}
.panorama+.panorama{margin-top:28px}
.panorama:before{display:none}
.panorama .panorama-photo{width:100%;height:auto;max-height:660px;object-fit:contain;margin-inline:auto}
.panorama-copy,.portfolio-title{width:88%;padding-block:32px}
.panorama-copy h2{font-size:clamp(3rem,5.5vw,5.3rem)}
.panorama-copy h3{font-size:clamp(2.5rem,4vw,4rem)}
.panorama-shade,.panorama-water .panorama-shade{background:linear-gradient(90deg,rgba(10,22,14,.72),rgba(10,22,14,.35)),linear-gradient(0deg,rgba(10,22,14,.87),rgba(10,22,14,.12) 85%)}
.portfolio-shade{background:linear-gradient(90deg,rgba(10,22,14,.87),rgba(10,22,14,.48))}
.portfolio-title h2{font-size:clamp(3rem,5vw,4.8rem)}
.portfolio-cover picture img{max-height:630px;object-fit:contain}
.gallery{width:var(--photo-width)}
.gallery .house{width:min(960px,100%);justify-self:center}
.house.tall img{max-height:600px;max-height:min(600px,72svh)}
.house.wide img{max-height:590px;object-fit:contain}
.house.tall .image-open{background:transparent}
.story-photo{width:100%;margin-inline:auto}
.story-photo img,.plan img{margin-inline:auto;object-fit:contain}
.plan img{max-height:620px}
.panorama-copy h2,.panorama-copy h3,.panorama-copy p,.portfolio-title h2,.portfolio-title p{ text-shadow:0 2px 16px #0008 }
@media(min-width:1600px){.hero{min-height:830px}.hero-inner{min-height:760px;padding-top:145px}}
@media(max-width:760px){
 :root{--photo-width:92%}
 .hero{width:94%;min-height:0}
 .hero-inner{width:90%;grid-template-columns:1fr;padding-top:125px;padding-bottom:35px;min-height:0;gap:32px}
 .hero .owner{width:100%;max-width:400px}
 .hero h1{font-size:clamp(2.6rem,8.6vw,3.8rem)}
 .hero-bg{object-position:center 8%}
 .hero-shade{background:linear-gradient(0deg,#222b20 15%,#142015c9 65%,#14201599)}
 .panorama-copy,.portfolio-title{width:88%;padding-block:26px}
 .panorama-copy h2{font-size:3.2rem}
 .panorama-copy h3{font-size:2.55rem}
 .panorama-shade,.panorama-water .panorama-shade{background:linear-gradient(0deg,#132016f2,#13201699 65%,#13201655)}
 .portfolio-title h2{font-size:2.8rem}
 .panorama+.panorama{margin-top:20px}
 .house.tall img{max-height:65svh}
 .gallery{padding-block:35px}
}

/* Construction carousel: complete photographs, native swipe and quiet captions. */
.construction-carousel{width:var(--photo-width);margin-inline:auto}
.carousel-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}
.carousel-heading h2{font-size:clamp(2.6rem,4.2vw,4.2rem)}.carousel-heading h2 em{color:var(--gold)}
.carousel-heading p{color:#d9d0be;font-size:16px}.carousel-heading .eyebrow{margin-bottom:16px}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;border:1px solid #d5b78435;background:#1c251b;border-radius:4px}
.carousel-track::-webkit-scrollbar{display:none}
.construction-slide{flex:0 0 100%;min-width:0;position:relative;scroll-snap-align:start;scroll-snap-stop:always}
.construction-photo{display:block;border:0;background:transparent;padding:0;width:100%;cursor:zoom-in}
.construction-photo img{width:100%;height:clamp(290px,48vw,560px);object-fit:contain;object-position:center;display:block}
.construction-slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 24px 16px;background:linear-gradient(0deg,#111b15ee,#111b1570 65%,transparent);pointer-events:none;color:#fff}
.construction-slide figcaption span{font-size:12px;letter-spacing:.14em;color:#e6cd97}
.construction-slide h3{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.3;margin-top:4px;text-shadow:0 1px 6px #000}
.carousel-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.carousel-count{font-size:14px;color:var(--gold);font-variant-numeric:tabular-nums;min-width:64px}
.carousel-dots{display:flex;gap:4px}.carousel-dots button{border:0;background:transparent;width:32px;height:44px;padding:12px;position:relative}.carousel-dots button:after{content:"";display:block;width:8px;height:8px;border:1px solid #d5b784;border-radius:50%;transition:background .3s}.carousel-dots button[aria-pressed="true"]:after{background:var(--gold)}
.carousel-arrows{display:flex;gap:10px}.carousel-arrows button{width:46px;height:46px;border:1px solid #d5b78480;background:transparent;color:var(--gold);font-size:23px;transition:background .25s}.carousel-arrows button:hover:not(:disabled){background:#d5b78420}.carousel-arrows button:disabled{opacity:.3;cursor:default}
.carousel-note{margin-top:12px;font-size:12px;color:#c6b89a}
@media(max-width:760px){.carousel-heading{display:block}.carousel-heading p{margin-top:15px}.construction-photo img{height:clamp(280px,85vw,440px)}.construction-slide figcaption{padding:24px 14px 12px}.construction-slide h3{font-size:18px}.carousel-navigation{gap:8px}.carousel-dots{gap:0}.carousel-dots button{width:27px;padding-inline:9px}.carousel-arrows{gap:6px}.carousel-arrows button{width:44px}.carousel-count{min-width:54px}}
@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}

/* AF brand and a shared centered page width. */
:root{--photo-width:min(1360px,94%)}
.wrap{width:min(1360px,94%)}
header{width:min(1360px,94%);left:50%;transform:translateX(-50%);padding-inline:3%;height:106px}
.wordmark{gap:13px;letter-spacing:.08em}.site-logo{width:78px;height:78px;object-fit:contain;border-radius:50%;flex-shrink:0}.brand-name{font-size:22px;line-height:1.2}.brand-sub{font-size:12px;letter-spacing:.15em;margin-top:6px}
.hero{width:var(--photo-width);min-height:720px}.hero-inner{width:90%;grid-template-columns:1.4fr 1fr;min-height:650px;gap:6%;padding-top:150px;padding-bottom:48px}.hero .owner{max-width:340px;width:100%;justify-self:center}.hero-bottom{width:90%}
.story{padding-inline:3%}.project-details,.plan-wrap{padding-inline:3%}.panorama,.construction-carousel{width:var(--photo-width)}
.panorama .panorama-photo{max-height:760px}.construction-photo img{height:clamp(290px,52vw,680px)}.carousel-heading{padding-inline:1%}
.contact-grid{padding-inline:3%}.footer-brand{display:flex;align-items:center;gap:14px;color:var(--gold);font-size:16px}.footer-brand .site-logo{width:62px;height:62px}footer.wrap{padding-inline:3%}
@media(min-width:1600px){.hero{min-height:740px}.hero-inner{min-height:670px;padding-top:150px}}
@media(max-width:760px){header{height:86px;padding-inline:3%}.site-logo{width:60px;height:60px}.brand-name{font-size:18px}.brand-sub{font-size:10px;letter-spacing:.1em}.wordmark{gap:9px}#mobile-nav{top:86px;left:3%;right:3%}.hero{min-height:0}.hero-inner{width:90%;grid-template-columns:1fr;min-height:0;padding-top:125px;gap:28px;padding-bottom:30px}.hero .owner{max-width:275px;width:83%;justify-self:center}.owner-caption p{font-size:20px}.story,.project-details,.plan-wrap{padding-inline:2%}.construction-photo img{height:clamp(280px,87vw,460px)}.contact-grid{padding-inline:2%}.footer-brand .site-logo{width:56px;height:56px}}

/* Owner identity and concise opening. */
.wordmark{align-items:center}.wordmark .brand-name{display:block;white-space:nowrap;font-size:clamp(16px,1.35vw,22px);line-height:1.3;letter-spacing:.015em}.hero-copy>.button{margin-top:28px}.owner-caption p{font-family:'DM Sans',Arial,sans-serif;font-size:26px;line-height:1.3;color:var(--gold)}
@media(max-width:1050px) and (min-width:761px){header nav{gap:14px;font-size:13px}.wordmark{gap:8px}.wordmark .site-logo{width:60px;height:60px}.wordmark .brand-name{font-size:16px}}
@media(max-width:760px){.wordmark .brand-name{font-size:clamp(13px,3.7vw,18px)}.wordmark{gap:8px}.wordmark .site-logo{width:52px;height:52px}.owner-caption p{font-size:23px}.hero-copy>.button{margin-top:24px}}

.project-carousel{width:var(--photo-width);margin-inline:auto;scroll-margin-top:24px}.project-carousel .carousel-heading h3 em{color:var(--gold)}.project-carousel .carousel-track{background:#1d261c}.project-carousel .construction-photo img{height:clamp(260px,48vw,660px);object-fit:contain}.project-carousel .construction-slide figcaption{position:static;background:#263022;padding:15px 22px;display:flex;align-items:baseline;gap:18px;min-height:65px}.project-carousel .construction-slide h3{font-size:20px;margin:0;text-shadow:none}.project-carousel .carousel-navigation{margin-top:12px}@media(max-width:760px){.project-carousel .construction-photo img{height:auto;aspect-ratio:842/596;object-fit:contain}.project-carousel .construction-slide figcaption{padding:13px 14px;gap:12px;min-height:70px}.project-carousel .construction-slide h3{font-size:17px}}

/* Full opening backdrop and restrained header identity. */
.hero .hero-bg{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
#header .wordmark .site-logo{width:62px;height:62px}
#header .wordmark .brand-name{font-family:'Manrope','DM Sans',Arial,sans-serif;font-size:19px;font-weight:500;letter-spacing:.015em;line-height:1.3}
@media(max-width:1050px) and (min-width:761px){#header .wordmark .site-logo{width:52px;height:52px}#header .wordmark .brand-name{font-size:16px}}
@media(max-width:760px){#header .wordmark .site-logo{width:44px;height:44px}#header .wordmark .brand-name{font-size:clamp(13px,3.6vw,17px)}.hero .hero-bg{object-fit:cover;object-position:center}}

/* Separate the opening panel from the header and balance the story columns. */
#header{position:relative;left:auto;top:auto;transform:none;margin-inline:auto}
.hero{margin-top:26px;min-height:0}
.hero-inner{padding-top:64px;padding-bottom:56px;min-height:570px}
.story{align-items:center;column-gap:clamp(32px,5vw,72px);row-gap:30px}
.story>.section-heading{grid-column:1/-1}
.story>.story-photo{margin:0;align-self:center}
.story>.story-text{align-self:center;max-width:620px;width:100%;justify-self:center}
.story>.story-text p:last-child{margin-bottom:0}
@media(min-width:1600px){.hero{min-height:0}.hero-inner{min-height:590px;padding-top:64px}}
@media(max-width:760px){.hero{margin-top:18px}.hero-inner{padding-top:42px;padding-bottom:32px;min-height:0}.story{grid-template-columns:1fr;row-gap:26px}.story>.section-heading{grid-column:auto}.story>.story-text{max-width:none}}

.story>.story-photo img{width:100%;height:auto;max-height:760px;object-fit:contain;object-position:center}

.ambientes-carousel{width:var(--photo-width);margin-inline:auto;padding-top:12px}.ambientes-carousel h3 em{color:var(--gold)}.ambientes-carousel .construction-photo img{height:clamp(300px,49vw,660px);object-fit:contain}.ambientes-carousel .construction-slide figcaption{position:static;padding:14px 22px;min-height:66px;background:#263022;display:flex;align-items:baseline;gap:18px}.ambientes-carousel .construction-slide h3{margin:0;font-size:20px;text-shadow:none}.carousel-track{overflow-anchor:none}.construction-slide{contain:layout paint}@media(max-width:760px){.ambientes-carousel .construction-photo img{height:clamp(280px,85vw,420px)}.ambientes-carousel .construction-slide figcaption{padding:12px 14px}.ambientes-carousel .construction-slide h3{font-size:18px}}

/* Compact story, attached carousel controls and balanced contact. */
#trajetoria{width:min(1200px,94%);padding:44px 2%;grid-template-columns:.8fr 1.2fr;column-gap:clamp(28px,4vw,56px);row-gap:24px}
#trajetoria .section-heading h2{font-size:clamp(2rem,3vw,3.05rem);line-height:1.15}
#trajetoria .section-heading .eyebrow{margin-bottom:16px}
#trajetoria>.story-photo{width:100%;max-width:385px;justify-self:center}
#trajetoria>.story-photo img{max-height:510px;width:100%;height:auto;object-fit:contain}
#trajetoria .story-text p{font-size:16px;line-height:1.65;margin-bottom:16px}
#trajetoria .timeline{padding-top:22px;margin-top:0}
#trajetoria .timeline strong{font-size:36px}
#ambientes .carousel-track{border-bottom:0;border-radius:4px 4px 0 0}
#ambientes .carousel-navigation{margin-top:0;background:#263022;border:1px solid #d5b78435;border-top:0;border-radius:0 0 4px 4px;padding:10px 22px 16px;gap:16px}
#contato{padding-block:64px}
#contato .contact-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(70px,10vw,160px);align-items:center;width:min(1360px,94%);padding-inline:3%;margin-inline:auto}
#contato .contact-grid>div:first-child{max-width:560px;justify-self:start}
#contato h2{font-size:clamp(2rem,3vw,3rem);line-height:1.18;letter-spacing:-.025em}
#contato .contact-actions{width:100%;max-width:440px;justify-self:end;padding:0;border:0}
#contato .contact-actions .button{max-width:none}
#header .wordmark{transform-origin:center;transition:transform .3s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#header .wordmark:hover{transform:scale(1.035)}}
@media(max-width:760px){
 #trajetoria{grid-template-columns:1fr;padding-block:34px;row-gap:24px}
 #trajetoria .section-heading h2{font-size:clamp(1.9rem,7vw,2.45rem)}
 #trajetoria>.story-photo{max-width:290px}
 #trajetoria>.story-photo img{max-height:390px}
 #trajetoria .timeline strong{font-size:32px}
 #ambientes .carousel-navigation{padding:8px 10px 12px;gap:8px}
 #contato{padding-block:42px}
 #contato .contact-grid{grid-template-columns:1fr;gap:30px;padding-inline:3%}
 #contato .contact-grid>div:first-child,#contato .contact-actions{width:100%;max-width:520px;justify-self:center}
 #contato h2{font-size:2.15rem}
 #contato .contact-actions{padding-top:26px;border-top:1px solid #ffffff30}
}

/* Subtle visual rhythm between topics and a non-interactive owner portrait. */
.topic-divider{display:block;width:min(1240px,86%);height:1px;border:0;margin:22px auto;background:linear-gradient(90deg,transparent,rgba(184,153,98,.28) 18%,rgba(184,153,98,.28) 82%,transparent);flex-shrink:0}
#historia .portrait{cursor:default}
#historia .portrait img{transition:transform .45s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#historia .portrait:hover img{transform:translate(-42%,-70%) scale(1.035)}}
@media(prefers-reduced-motion:reduce){#historia .portrait img{transition:none}}
@media(max-width:760px){.topic-divider{width:88%;margin-block:16px}}

/* Image-only carousels and a compact, centered implantation panel. */
#ambientes .carousel-navigation,#portfolio .carousel-navigation,#projeto .carousel-navigation{justify-content:center;gap:24px}
#estancia .plan-wrap{width:min(1000px,90%);margin-inline:auto;padding:8px 0 22px}
#estancia .plan{margin:0}
#estancia .plan summary{padding-block:16px}
#estancia .plan p{text-align:center;padding:12px 0;margin:0}
#projeto{padding-bottom:22px}
#contato{padding-top:36px}
@media(max-width:760px){#estancia .plan-wrap{width:90%;padding-block:4px 16px}#projeto{padding-bottom:16px}#contato{padding-top:28px}}
