@font-face { font-family: Manrope; src: url('assets/manrope-regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: Manrope; src: url('assets/manrope-bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: Sora; src: url('assets/sora-regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
:root { --green:#103d3a; --moss:#237a61; --sand:#c9a86a; --ivory:#f8f6f1; --ink:#1c2826; --muted:#596963; --line:#dce0d7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; color:var(--ink); background:var(--ivory); font:400 1rem/1.7 Manrope,Arial,sans-serif; }
body.has-lightbox { overflow:hidden; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { cursor:pointer; color:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
figure,h1,h2,h3,p,dl,dd { margin:0; }
h1,h2,h3 { font-family:Sora,Arial,sans-serif; font-weight:400; line-height:1.25; }
h1 { font-size:clamp(2.5rem,4.7vw,4.2rem); letter-spacing:-.055em; color:var(--green); margin-top:24px; }
h2 { font-size:clamp(1.8rem,2.8vw,2.5rem); letter-spacing:-.04em; color:var(--green); }
h3 { font-size:1.2rem; color:var(--green); letter-spacing:-.025em; }
:focus-visible { outline:3px solid var(--sand); outline-offset:5px; }
.wrap { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:14px; background:var(--green); color:white; }
.skip-link:focus { top:10px; }
.header { border-bottom:1px solid var(--line); }
.header__inner { min-height:96px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { display:flex; gap:13px; align-items:center; color:var(--green); }
.brand__mark { flex-shrink:0; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--green); font-weight:700; letter-spacing:-2px; }
.brand__name { font:400 1.15rem/1.3 Sora,Arial,sans-serif; letter-spacing:-.04em; }
.brand__name small { display:block; font:400 .75rem/1.5 Manrope,Arial,sans-serif; letter-spacing:0; margin-top:4px; }
.navigation { display:flex; gap:28px; font-size:.875rem; font-weight:700; }
.navigation a { padding-block:12px; }
.navigation a:last-child { border-bottom:1px solid var(--sand); }
.navigation span { margin-left:8px; }
.eyebrow { font-size:.75rem; font-weight:700; line-height:1.6; letter-spacing:.13em; color:var(--green); }
.small-rule { display:inline-block; width:24px; height:1px; vertical-align:middle; margin-right:8px; background:var(--sand); }
.gold { color:var(--sand); }
.intro { padding-top:0; }
.intro__hero { position:relative; isolation:isolate; min-height:640px; height:calc(100svh - 96px); max-height:760px; overflow:hidden; background:var(--green); }
.intro__media { position:absolute; inset:0; z-index:-2; }
.intro__media,.intro__media img { width:100%; height:100%; }
.intro__media img { object-fit:cover; object-position:center; }
.intro__shade { display:none; }
.intro__content { position:relative; z-index:0; min-height:inherit; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-block:58px; color:white; }
.intro__content::before { content:""; position:absolute; z-index:-1; top:50%; left:-56px; width:min(820px,75vw); height:300px; transform:translateY(-50%); background:radial-gradient(ellipse 90% 90% at 38% 50%,rgba(5,31,28,.86) 0%,rgba(5,31,28,.74) 54%,rgba(5,31,28,.28) 76%,rgba(5,31,28,0) 100%); filter:blur(10px); }
.eyebrow--light { color:#eef4f0; }
.intro h1 { max-width:820px; margin-top:22px; color:white; font-size:clamp(3.2rem,5.4vw,5.2rem); line-height:1.04; letter-spacing:-.06em; }
.intro h1 em { color:#ead2a3; font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.intro__description { max-width:660px; margin-top:24px; color:#eef4f0; font-size:1.05rem; line-height:1.75; }
.intro__actions { display:flex; align-items:stretch; gap:18px; margin-top:32px; }
.intro__condition { display:grid; grid-template-columns:auto auto; column-gap:26px; align-items:center; min-width:430px; padding:18px 22px; border:1px solid rgba(255,255,255,.42); border-radius:8px; background:rgba(11,49,44,.7); backdrop-filter:blur(5px); }
.intro__condition > span { grid-column:1; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#dfebe6; }
.intro__condition strong { grid-column:1; font:400 2.35rem/1.1 Georgia,'Times New Roman',serif; color:#f3dfb5; }
.intro__condition strong small { font:700 .875rem/1 Manrope,Arial,sans-serif; }
.intro__condition p { grid-column:2; grid-row:1/3; padding-left:24px; border-left:1px solid rgba(255,255,255,.28); font-size:.875rem; color:#e4ede9; }
.intro__condition b { color:white; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:14px 22px; border:1px solid transparent; border-radius:4px; font-size:.9375rem; font-weight:700; line-height:1.5; text-align:center; transition:background .2s; }
.button--green { background:var(--green); color:white; }
.button--green:hover { background:var(--moss); }
.button--sand { align-self:center; min-width:250px; background:var(--sand); color:#153c37; }
.button--sand:hover { background:#e0c58e; }
.project-facts { display:grid; grid-template-columns:1.15fr 1fr 1fr; padding-block:40px; gap:24px; }
.project-facts > div { display:flex; flex-direction:column-reverse; padding-left:32px; border-left:1px solid var(--line); }
.project-facts > div:first-child { border:0; padding:0; }
.project-facts dd { font:400 1.9rem/1.4 Sora,Arial,sans-serif; color:var(--green); letter-spacing:-.04em; }
.project-facts dd span { font:400 .875rem/1.5 Manrope,Arial,sans-serif; letter-spacing:0; }
.project-facts dt { font-size:.875rem; color:var(--muted); margin-top:6px; }
.project-overview { padding-block:32px 64px; border-top:1px solid var(--line); }
.project-overview > div { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; margin-top:18px; }
.project-overview p:not(.eyebrow) { color:var(--muted); }
.lot-map { padding-block:76px; border-top:1px solid var(--line); }
.lot-map__heading { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:end; margin-bottom:32px; }
.lot-map__heading h2 { margin-top:16px; }
.lot-map__heading > p { color:var(--muted); }
.lot-map__shell { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 18px 42px rgba(16,61,58,.08); }
.lot-map__toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:70px; padding:12px 20px; }
.lot-map__toolbar-label { display:inline-flex; align-items:center; gap:10px; color:var(--green); font-size:.875rem; font-weight:700; }
.lot-map__toolbar-dot { width:9px; height:9px; border-radius:50%; background:var(--sand); }
.lot-map__controls { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.lot-map__controls button { min-width:38px; min-height:38px; padding:0 8px; border:1px solid var(--line); border-radius:4px; background:var(--ivory); color:var(--green); font-weight:700; }
.lot-map__controls button:hover { border-color:var(--green); }
.lot-map__controls span { min-width:49px; text-align:center; font-size:.75rem; font-variant-numeric:tabular-nums; }
.lot-map__controls .lot-map__fit { padding-inline:12px; font-size:.75rem; }
.lot-map__stage { position:relative; background:#fff; }
.lot-map__viewport { height:620px; overflow:auto; overscroll-behavior:contain; touch-action:none; cursor:url("assets/map-pin-cursor.svg") 20 38, crosshair; scrollbar-color:#c9a86a #fff; }
.lot-map__viewport.is-dragging { cursor:grabbing; user-select:none; }
.lot-map__canvas { position:relative; width:100%; line-height:0; }
.lot-map__canvas img { display:block; width:100%; max-width:none; height:auto; user-select:none; -webkit-user-drag:none; }
.lot-map__sold-rings { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.lot-map__sold-rings circle { fill:none; stroke:#c33b3b; stroke-width:7; opacity:.78; }
.lot-map__marker { position:absolute; z-index:2; width:25px; height:25px; border:3px solid white; border-radius:50%; background:var(--sand); box-shadow:0 0 0 7px rgba(201,168,106,.3),0 3px 16px #061c1a; transform:translate(-50%,-50%); pointer-events:none; }
.lot-map__marker.is-sold { background:#c33b3b; box-shadow:0 0 0 7px rgba(195,59,59,.25),0 3px 16px #061c1a; }
.lot-map__marker[hidden],.lot-map__detail[hidden] { display:none; }
.lot-map__detail { position:absolute; z-index:3; top:18px; right:18px; width:min(330px,calc(100% - 36px)); padding:24px; border:1px solid rgba(201,168,106,.5); border-radius:7px; background:#fff; box-shadow:0 18px 42px rgba(0,0,0,.22); }
.lot-map__detail.is-left { left:18px; right:auto; }
.lot-map__detail h3 { margin-top:8px; font-size:1.3rem; }
.lot-map__detail dl { margin-top:14px; border-top:1px solid var(--line); }
.lot-map__detail dl > div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:8px 0; border-bottom:1px solid var(--line); font-size:.8125rem; }
.lot-map__detail dl > div[hidden] { display:none; }
.lot-map__detail dt { color:var(--muted); }
.lot-map__detail dd { text-align:right; font-weight:700; color:var(--green); }
.lot-map__detail.is-sold [data-map-status] { color:#b33434; }
.lot-map__detail-note { margin-top:13px; color:var(--muted); font-size:.75rem; line-height:1.5; }
.lot-map__reserve { margin-top:16px; min-height:48px; }
.lot-map__reserve[hidden], [data-offer-pricing][hidden], .offer__reinforcements[hidden] { display:none; }
.lot-map__close { position:absolute; top:12px; right:12px; width:30px; height:30px; border:0; background:none; color:var(--green); font-size:1.5rem; line-height:1; }
.lot-map__footer { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:17px 20px; }
.lot-map__footer > p { color:var(--muted); font-size:.8125rem; }
.lot-map__legend { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.75rem; }
.lot-map__legend span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.lot-map__swatch { width:10px; height:10px; border-radius:50%; }
.lot-map__swatch--one { background:#b8af19; }
.lot-map__swatch--two { background:#40a9a1; }
.lot-map__swatch--mixed { background:#f4a34d; }
.lot-map__swatch--sold { width:13px; height:13px; border:2px solid #c33b3b; background:transparent; }
.lot-map__disclaimer { margin-top:14px; color:var(--muted); font-size:.75rem; }
.experience { background:white; padding-block:72px; border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:end; margin-bottom:36px; }
.section-heading h2 { margin-top:16px; }
.section-heading > p { color:var(--muted); }
.experience__grid { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start; }
.gallery { min-width:0; }
.gallery__open { display:block; position:relative; border:0; padding:0; width:100%; background:var(--ivory); cursor:zoom-in; touch-action:pan-y; }
.gallery__open > img { width:100%; height:auto; aspect-ratio:1.45; object-fit:cover; border-radius:3px; }
.gallery__open.is-map > img { object-fit:contain; }
.gallery__expand { position:absolute; bottom:14px; right:14px; padding:8px 12px; color:white; background:rgba(16,61,58,.95); font-size:.8125rem; border-radius:3px; }
.gallery__expand > span { margin-right:6px; }
.gallery__bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; }
.gallery__description { font-size:.875rem; line-height:1.5; min-width:0; }
.gallery__count { display:block; font-size:.75rem; color:var(--muted); margin-bottom:4px; font-variant-numeric:tabular-nums; }
.gallery__controls { display:flex; gap:8px; flex-shrink:0; }
.arrow-button { width:46px; height:46px; border:1px solid var(--line); border-radius:50%; background:white; font-size:1.25rem; }
.arrow-button:hover { color:white; background:var(--green); }
.gallery__hint { margin-top:12px; font-size:.8125rem; color:var(--muted); }
.benefit { display:flex; gap:18px; padding-block:23px; border-bottom:1px solid var(--line); }
.benefit:first-child { padding-top:0; }
.benefit__number { color:#85682f; font-size:.875rem; }
.benefit p { color:var(--muted); margin-top:10px; }
.text-link { min-height:48px; background:none; border:0; border-bottom:1px solid var(--green); padding:10px 0; color:var(--green); font-size:.875rem; font-weight:700; margin-top:15px; }
.text-link span { margin-left:20px; }
.location-section { padding-block:72px; border-top:1px solid var(--line); background:white; }
.location { padding:36px; background:var(--ivory); border-radius:4px; }
.location > div { max-width:830px; }
.location h3 { font-size:1.6rem; margin-top:14px; }
.location > div > p:not(.eyebrow) { margin-top:16px; color:var(--muted); }
.location-map { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr); margin-top:20px; overflow:hidden; border-radius:4px; background:var(--green); }
.location-map__frame { min-height:690px; background:#d9ded8; }
.location-map__frame iframe { display:block; width:100%; height:100%; min-height:690px; border:0; }
.location-card { padding:38px 34px; color:white; background:var(--green); }
.location-card h3 { margin-top:14px; color:white; font-size:1.65rem; }
.location-card > p:not(.eyebrow) { margin-top:16px; color:#dbe6e0; }
.location-card__distances { list-style:none; padding:0; margin:24px 0 0; border-top:1px solid #456760; }
.location-card__distances li { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:10px 0; border-bottom:1px solid #456760; font-size:.875rem; }
.location-card__distances span { color:#e4ede9; }
.location-card__distances strong { flex-shrink:0; color:white; }
.location-card .location-card__note { margin-top:14px; font-size:.75rem; color:#bfcfc8; }
.button--location { width:100%; margin-top:20px; border-color:#d9c18f; color:var(--green); background:#d9c18f; }
.button--location:hover { background:#efdcae; }
.contact { background:var(--green); color:white; padding-block:72px; }
.contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.eyebrow--gold { color:#e0c99e; }
.offer h2 { margin-top:20px; color:var(--ivory); }
.offer__lot { margin-top:28px; color:#dbe6e0; font-size:.875rem; }
.offer__lot span { color:#e3ca9a; font-weight:700; }
.offer__price { margin-top:16px; }
.offer__price > span { color:#dbe6e0; font-size:.9375rem; }
.offer__price p { font:400 clamp(3rem,5vw,4.25rem)/1.25 Sora,Arial,sans-serif; letter-spacing:-.05em; color:#e3ca9a; margin-top:8px; }
.offer__price small { font-size:1.6rem; }
.offer__installments { margin-top:16px; font-size:1.15rem; color:#dbe6e0; }
.offer__installments strong { color:white; }
.offer__reinforcements { margin-top:8px; color:#dbe6e0; font-size:.9375rem; }
.offer__pitch { margin-top:24px; color:#dbe6e0; }
.offer__note { font-size:.8125rem; margin-top:20px; color:#c6d6cd; }
.consultant { padding:36px; border-radius:5px; background:var(--ivory); color:var(--green); min-width:0; }
.consultant__identity { display:flex; gap:22px; align-items:center; }
.consultant__identity img { width:105px; height:125px; object-fit:cover; object-position:center 25%; border-radius:3px; flex-shrink:0; }
.consultant__identity h3 { font-size:1.2rem; margin-top:7px; }
.consultant__identity div > p:last-child { font-size:.8125rem; line-height:1.6; color:var(--muted); margin-top:8px; }
.consultant__identity .eyebrow { font-size:.75rem; letter-spacing:.08em; }
.consultant__invitation { font:400 1.5rem/1.4 Sora,Arial,sans-serif; letter-spacing:-.035em; margin-top:26px; }
.consultant__intro { color:var(--muted); margin-top:14px; }
.interest { border:0; padding:0; margin:24px 0 20px; min-width:0; }
.interest legend { font-size:.875rem; margin-bottom:12px; }
.interest__options { display:flex; flex-wrap:wrap; gap:8px; }
.interest label { flex:1 1 auto; cursor:pointer; position:relative; }
.interest input { position:absolute; opacity:0; width:100%; height:100%; inset:0; margin:0; cursor:pointer; }
.interest span { display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 12px; border:1px solid #c4d0c7; border-radius:3px; font-size:.875rem; }
.interest input:checked + span { background:var(--green); color:white; border-color:var(--green); }
.interest input:focus-visible + span { outline:3px solid var(--sand); outline-offset:3px; }
.button--whatsapp { background:var(--moss); color:white; width:100%; gap:10px; padding-inline:14px; }
.button--whatsapp:hover { background:var(--green); }
.button--whatsapp img { width:25px; height:25px; flex-shrink:0; border-radius:50%; }
.consultant__details { text-align:center; color:var(--muted); font-size:.8125rem; margin-top:16px; }
.consultant__phone { display:block; width:fit-content; text-align:center; font-size:.875rem; margin:6px auto 0; padding-block:10px; min-height:44px; }
.questions { margin-top:48px; padding-top:32px; border-top:1px solid #42615a; }
.questions h3 { color:var(--ivory); font-size:1.4rem; margin-bottom:18px; }
.questions details { border-bottom:1px solid #42615a; }
.questions summary { cursor:pointer; padding:18px 0; font-weight:700; }
.questions details p { color:#dbe6e0; max-width:900px; padding-bottom:22px; }
.footer { background:#0c312f; color:#bfcec8; padding-block:30px; }
.footer__inner { display:grid; grid-template-columns:230px 1fr 46px; gap:32px; align-items:center; }
.footer__inner > p:first-child { font-size:.9375rem; }
.footer__inner > p:first-child span { display:block; font-size:.75rem; margin-top:5px; }
.footer__legal { font-size:.75rem; }
.footer__top { width:46px; height:46px; display:grid; place-items:center; border:1px solid #617c73; }
.mobile-cta { display:none; }
.lightbox { position:fixed; inset:0; width:100%; height:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:20px 26px; border:0; color:white; background:#071b19; }
.lightbox[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:16px; }
.lightbox::backdrop { background:#071b19; }
.lightbox__top,.lightbox__bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.lightbox__top p { font-size:.8125rem; letter-spacing:.1em; }
.lightbox__close { width:48px; height:48px; background:none; border:1px solid #617c73; color:white; font-size:2rem; flex-shrink:0; }
.lightbox__stage { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; align-items:center; gap:18px; min-height:0; }
.lightbox__stage img { width:100%; height:100%; min-height:0; object-fit:contain; touch-action:pan-y; user-select:none; }
.lightbox__arrow { width:48px; height:48px; border:1px solid #617c73; background:#103d3a; color:white; font-size:1.5rem; }
.lightbox__bottom { font-size:.875rem; }
.lightbox__bottom span { font-size:.8125rem; color:#bfcec8; }
@media (max-width:1050px) {
 .wrap { width:calc(100% - 48px); }
 .intro__hero { min-height:650px; }
 .intro__condition { min-width:400px; }
 .navigation { gap:18px; }
 .project-facts dd span { display:block; }
 .section-heading,.project-overview > div { gap:36px; }
 .lot-map__heading { gap:36px; }
 .experience__grid { grid-template-columns:1fr 1fr; gap:32px; }
 .contact__grid { gap:32px; }
 .consultant { padding:26px; }
 .consultant__identity { gap:14px; }
 .consultant__identity img { width:84px; height:108px; }
 .location { gap:32px; padding:28px; }
}
@media (max-width:760px) {
 .wrap { width:calc(100% - 40px); }
 .header__inner { min-height:88px; gap:12px; }
 .brand { gap:10px; }
 .brand__name { font-size:1.05rem; }
 .brand__name small { font-size:.75rem; max-width:195px; }
 .brand__mark { width:38px; height:42px; }
 .navigation { display:none; }
 .intro__hero { height:auto; min-height:720px; max-height:none; }
 .intro__media img { object-position:54% center; }
 .intro__content { min-height:720px; justify-content:flex-end; padding-block:48px 56px; }
 .intro__content::before { top:auto; bottom:28px; left:-20px; width:calc(100% + 40px); height:270px; transform:none; background:radial-gradient(ellipse 92% 90% at 50% 72%,rgba(5,31,28,.9) 0%,rgba(5,31,28,.78) 54%,rgba(5,31,28,.24) 80%,rgba(5,31,28,0) 100%); filter:blur(10px); }
 .intro h1 { max-width:520px; font-size:clamp(2.35rem,10.5vw,3.55rem); line-height:1.08; margin-top:16px; }
 .eyebrow { letter-spacing:.08em; }
 .small-rule { width:16px; margin-right:4px; }
 .intro__description { margin-top:18px; max-width:520px; font-size:1rem; line-height:1.65; }
 .intro__actions { width:100%; flex-direction:column; gap:12px; margin-top:24px; }
 .intro__condition { width:100%; min-width:0; padding:16px; column-gap:16px; background:rgba(10,48,43,.82); }
 .intro__condition > span { font-size:.6875rem; letter-spacing:.07em; }
 .intro__condition strong { font-size:2rem; }
 .intro__condition p { padding-left:16px; font-size:.8125rem; }
 .button--sand { width:100%; min-width:0; }
 .project-facts { grid-template-columns:1fr; gap:0; padding-block:22px 30px; }
 .project-facts > div,.project-facts > div:first-child { padding:17px 0; border:0; border-bottom:1px solid var(--line); flex-direction:row-reverse; align-items:center; justify-content:space-between; gap:18px; }
 .project-facts dd { font-size:1.6rem; flex:0 1 52%; }
 .project-facts dd span { display:inline; font-size:.8125rem; }
 .project-facts dt { flex:0 1 44%; margin:0; font-size:.875rem; }
 .project-overview { padding-block:0 44px; border:0; }
 .project-overview > div { display:block; margin-top:14px; }
 .project-overview > div > p { margin-top:18px; }
 h2 { font-size:clamp(1.75rem,6.8vw,2.2rem); line-height:1.3; }
 .experience { padding-block:44px; }
 .lot-map { padding-block:48px; }
 .lot-map__heading { display:block; margin-bottom:24px; }
 .lot-map__heading > p { margin-top:16px; }
 .lot-map__toolbar { flex-wrap:wrap; padding:12px; }
 .lot-map__toolbar-label { width:100%; }
 .lot-map__controls { width:100%; justify-content:flex-end; }
 .lot-map__viewport { height:560px; }
 .lot-map__detail { top:10px; bottom:auto; right:10px; width:calc(100% - 20px); padding:19px; }
 .lot-map__detail { max-height:calc(100% - 20px); overflow-y:auto; }
 .lot-map__footer { display:block; padding:15px; }
 .lot-map__legend { margin-top:12px; }
 .section-heading { display:block; margin-bottom:26px; }
 .section-heading > p { margin-top:18px; }
 .experience__grid { display:block; }
 .gallery__open > img { aspect-ratio:1.5; }
 .gallery__bar { gap:12px; }
 .gallery__controls { gap:6px; }
 .gallery__description { font-size:.8125rem; }
 .benefits { margin-top:30px; }
 .benefit { padding-block:24px; gap:14px; }
 .benefit h3 { font-size:1.2rem; }
 .location-section { padding-block:44px; }
 .location { padding:24px; }
 .location h3 { font-size:1.5rem; }
 .location-map { display:block; margin-top:14px; }
 .location-map__frame,.location-map__frame iframe { min-height:370px; }
 .location-card { padding:28px 24px; }
 .location-card h3 { font-size:1.45rem; }
 .location-card__distances li { gap:12px; padding-block:11px; }
 .contact { padding-block:44px; }
 .contact__grid { display:block; }
 .offer__price p { font-size:clamp(2rem,9vw,3.4rem); }
 .consultant { margin-top:32px; padding:24px; }
 .consultant__identity img { width:90px; height:110px; }
 .consultant__identity h3 { font-size:1.15rem; }
 .consultant__invitation { font-size:1.45rem; }
 .button--whatsapp { font-size:.9375rem; }
 .questions { margin-top:32px; padding-top:26px; }
 .questions summary { padding-block:20px; }
 .footer { padding-block:28px 120px; }
 .footer__inner { grid-template-columns:1fr 46px; gap:22px; }
 .footer__legal { grid-row:2; grid-column:1/-1; }
 .footer__top { grid-row:1; grid-column:2; }
 .mobile-cta { display:flex; position:fixed; inset:auto 0 0; z-index:10; align-items:center; justify-content:center; gap:12px; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--ivory); box-shadow:0 -4px 20px #103d3a0a; }
 .mobile-cta > p { font-size:.75rem; line-height:1.5; color:var(--muted); }
 .mobile-cta strong { display:block; font:400 1.25rem/1.4 Sora,Arial,sans-serif; color:var(--green); }
 .mobile-cta .button { width:min(100%,480px); font-size:.875rem; min-height:48px; padding:10px 14px; gap:8px; }
 .mobile-cta.is-hidden { display:none; }
 .has-lot-detail .mobile-cta { display:none; }
 .lightbox { padding:14px; padding-bottom:calc(14px + env(safe-area-inset-bottom)); }
 .lightbox__stage { grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,1fr) 48px; gap:14px; }
 .lightbox__stage img { grid-column:1/-1; grid-row:1; }
 .lightbox__arrow { grid-row:2; justify-self:end; }
 .lightbox__arrow:last-child { justify-self:start; }
 .lightbox__bottom { flex-direction:column; text-align:center; gap:6px; }
}
@media (max-width:360px) {
 .lot-map__viewport { height:560px; }
 .lot-map__detail { padding:15px; }
 .lot-map__detail dl > div { padding-block:7px; }
 .wrap,.intro__content { width:calc(100% - 32px); }
 .intro__hero,.intro__content { min-height:740px; }
 .intro__condition { grid-template-columns:1fr; row-gap:8px; }
 .intro__condition > span,.intro__condition strong,.intro__condition p { grid-column:1; }
 .intro__condition p { grid-row:auto; padding:10px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.28); }
 .consultant { padding:20px 16px; }
 .consultant__identity { gap:12px; }
 .consultant__identity img { width:74px; height:96px; }
 .location { padding:20px; }
 .location-map__frame,.location-map__frame iframe { min-height:330px; }
 .location-card { padding:25px 18px; }
 .location-card__distances li { font-size:.8125rem; }
 .mobile-cta { padding-inline:16px; gap:8px; }
 .mobile-cta .button { padding-inline:12px; font-size:.8125rem; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; }
}
