:root{--ink:#1f2a2e;--muted:#5d6560;--sand:#f5efe4;--sand2:#ebe2d2;--green:#3f5a3c;--green2:#2f4430;--gold:#a8834b;--white:#fffdf9;--r:10px;--sh:0 10px 30px rgba(31,42,46,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.7 Inter,system-ui,sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;margin:.2em 0 .5em;letter-spacing:.01em;color:inherit}
h1{font-size:clamp(2.4rem,5.5vw,4.2rem)}h2{font-size:clamp(2rem,4.2vw,3.2rem)}h3{font-size:clamp(1.7rem,3.2vw,2.5rem)}h4{font-size:clamp(1.45rem,2.6vw,2rem)}h5{font-size:1.45rem}h6{font-size:1.2rem}
p{margin:0 0 .9em}a{color:var(--green)}img{max-width:100%;height:auto}
.text [style*="color"]{color:inherit!important}
/* header */
.hdr{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px clamp(16px,4vw,48px);background:rgba(255,253,249,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--sand2)}
.logo img{height:58px;width:auto;display:block}
.hdr nav{display:flex;gap:clamp(14px,2vw,28px);flex-wrap:wrap;align-items:center}
.hdr nav{flex-wrap:nowrap}.hdr nav a{white-space:nowrap;color:var(--ink);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent}
.hdr nav a:hover,.hdr nav a[aria-current]{border-color:var(--gold)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}.burger span{display:block;width:26px;height:2px;background:var(--ink);margin:6px 0;transition:.3s}
/* sections */
section{position:relative;overflow:hidden}
section.light:nth-of-type(even){background:var(--sand)}
.dark{background:var(--green2);color:#fff}.dark a{color:#fff}
.bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
section[style*="url("]::before,section:has(.bgv)::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,28,26,.82) 0%,rgba(20,28,26,.55) 55%,rgba(20,28,26,.25));z-index:0}
.wrap{position:relative;z-index:1;max-width:1200px;margin:auto;padding:clamp(56px,8vw,104px) clamp(18px,4vw,40px)}
.row{display:flex;gap:clamp(24px,4vw,56px);align-items:flex-start;margin-bottom:28px}.col{flex:1;min-width:0}
.text ul{padding-left:1.2em}.text li{margin:.2em 0}
/* hero */
.hero{min-height:min(calc(100vh - 79px),880px);display:flex;align-items:center}.hero .wrap{width:100%}
.hero h1{font-size:clamp(2.8rem,6.5vw,5rem);text-shadow:0 2px 20px rgba(0,0,0,.25)}
.pagehead .wrap{padding-top:clamp(48px,7vw,90px)}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff!important;border:1.5px solid var(--green);border-radius:999px;padding:13px 30px;text-decoration:none;font:600 .82rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;margin:6px 0;transition:.25s}
.btn:hover{background:var(--green2);transform:translateY(-1px)}
.btn-gold{background:var(--gold);border-color:var(--gold)}.btn-gold:hover{background:#8f6e3c}
.btn-light{background:#fff;color:var(--ink)!important;border-color:#fff}.btn-light:hover{background:var(--sand)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.8)}.btn-ghost:hover{background:rgba(255,255,255,.12)}
/* facts strip */
.facts{display:grid;grid-template-columns:repeat(6,1fr);background:var(--ink);color:#fff;text-align:center}
.facts div{padding:26px 10px;border-right:1px solid rgba(255,255,255,.12)}.facts div:last-child{border:0}
.facts b{display:block;font:600 1.9rem "Cormorant Garamond",serif;color:#e3c99b}.facts span{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
/* images & cards */
.img{width:100%;border-radius:var(--r);display:block;margin-bottom:18px;box-shadow:var(--sh);object-fit:cover}
.zoom{display:block;position:relative;cursor:zoom-in;text-decoration:none}
.plan{background:#fff;padding:14px;border-radius:14px;box-shadow:var(--sh);margin-bottom:18px}.plan .img{box-shadow:none;margin:0;object-fit:contain;max-height:none}
.plan span{position:absolute;right:24px;bottom:24px;background:rgba(31,42,46,.8);color:#fff;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery a{display:block;overflow:hidden;border-radius:var(--r);cursor:zoom-in}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s}.gallery a:hover img{transform:scale(1.05)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.card{display:block;text-decoration:none;color:var(--ink);background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--sh);transition:.3s}.card:hover{transform:translateY(-4px)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.card h3{font-size:1.6rem;margin:18px 22px 6px}.card p{margin:0 22px 22px;color:var(--muted);font-size:.95rem}
.posthead{text-align:center;background:var(--sand)}.posthead .img{max-width:900px;margin:24px auto 0}.date{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}
.map,.video{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);box-shadow:var(--sh)}
/* forms */
.form{display:grid;gap:14px;background:#fff;color:var(--ink);padding:28px;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.18);max-width:520px}
.form label{display:grid;gap:6px;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.form input,.form textarea{padding:12px 14px;border:1px solid #d8cfbf;border-radius:8px;font:400 1rem Inter,sans-serif;background:var(--white);color:var(--ink)}
.form input:focus,.form textarea:focus,a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
footer .form{padding:18px;box-shadow:none;background:rgba(255,255,255,.06)}footer .form label{color:#e9e2d4}footer .form input{background:#fff}
/* footer */
footer{background:var(--ink);color:#e9e2d4;border-top:4px solid var(--gold)}footer .wrap{padding-top:64px;padding-bottom:40px}footer a{color:#fff}footer h5{color:#e3c99b;font-size:1.8rem}
.social{display:flex;gap:14px}.social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%}.social svg{width:20px;height:20px}
.wa{position:fixed;right:18px;bottom:18px;z-index:60;background:#1f8f4e;color:#fff;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;box-shadow:0 8px 24px rgba(0,0,0,.25)}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(15,20,19,.94);display:none;align-items:center;justify-content:center}.lb.on{display:flex}
.lb img{max-width:94vw;max-height:88vh;border-radius:6px;background:#fff}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:44px;cursor:pointer;padding:10px 18px;line-height:1}
.lb .x{top:10px;right:10px}.lb .p{left:6px}.lb .n{right:6px}
/* responsive */
@media(max-width:1000px){.facts{grid-template-columns:repeat(3,1fr)}.facts div:nth-child(3){border:0}}
@media(max-width:1180px){
 .burger{display:block}.logo img{height:44px}
 .hdr nav{position:fixed;inset:65px 0 auto 0;background:var(--white);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;box-shadow:0 20px 30px rgba(0,0,0,.1);display:none}
 .hdr nav.open{display:flex}.hdr nav a{padding:14px 0;border-bottom:1px solid var(--sand2)}
 .row{flex-direction:column;gap:6px;margin-bottom:12px}.hero{min-height:auto}
 .facts{grid-template-columns:repeat(2,1fr)}.facts div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
 .ctas .btn{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
@media(max-width:1180px) and (min-width:861px){.row{flex-direction:row}.hero{min-height:min(calc(100vh - 79px),880px)}.facts{grid-template-columns:repeat(3,1fr)}}
/* construction status */
.ucbar{background:var(--gold);color:#1f1a12;text-align:center;font-size:.85rem;letter-spacing:.06em;padding:8px 14px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px}
.ucbar strong{text-transform:uppercase;letter-spacing:.14em}.ucbar a{color:#1f1a12;font-weight:600;margin-left:8px;text-underline-offset:3px}
.ucbar .sep{opacity:.6}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#e8562a;box-shadow:0 0 0 0 rgba(232,86,42,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(232,86,42,0)}100%{box-shadow:0 0 0 0 rgba(232,86,42,0)}}
.uc-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 22px;padding:12px 24px;border-radius:6px;background:var(--gold);color:#fff;font-weight:700;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.3)}.uc-badge em{font-style:normal;font-weight:500;letter-spacing:.1em;font-size:.8rem;opacity:.95;border-left:1px solid rgba(255,255,255,.5);padding-left:14px}.uc-badge .dot{background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7)}
a[data-uc]{display:inline-block;background:var(--gold);color:#fff!important;font-weight:700;letter-spacing:.1em;padding:2px 10px;border-radius:4px;text-decoration:none}
@media(max-width:600px){.ucbar{font-size:.75rem}.ucbar{line-height:1.4}.uc-badge em{border-left:0;padding-left:0;flex-basis:100%}.uc-badge{font-size:.9rem;letter-spacing:.12em}.uc-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 22px;padding:12px 24px;border-radius:6px;background:var(--gold);color:#fff;font-weight:700;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.3)}.uc-badge em{font-style:normal;font-weight:500;letter-spacing:.1em;font-size:.8rem;opacity:.95;border-left:1px solid rgba(255,255,255,.5);padding-left:14px}.uc-badge .dot{background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7)}}
@media(prefers-reduced-motion:reduce){.dot{animation:none}}
.gallery.construction{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:10px}
.gallery.construction figure{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.gallery.construction a{border-radius:0}.gallery.construction img{aspect-ratio:16/10}
.gallery.construction figcaption{padding:12px 16px;font-size:.9rem;color:var(--muted)}
/* construction page */
.chero{min-height:min(78vh,720px);display:flex;align-items:flex-end}.chero .wrap{width:100%}.chero .lead{font-size:1.15rem;max-width:620px}
.msec{background:var(--ink);color:#fff}.msec .wrap{padding:28px clamp(18px,4vw,40px)}
.milestones{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:m}
.milestones li{position:relative;padding-top:26px;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.milestones li::before{content:"";position:absolute;top:8px;left:18px;right:-12px;height:2px;background:rgba(255,255,255,.25)}.milestones li:last-child::before{display:none}
.milestones span{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;border:2px solid #e3c99b;background:var(--ink)}
.milestones .done span{background:#e3c99b}.milestones .now span{background:#e8562a;border-color:#e8562a;animation:pulse 2s infinite}.milestones .next{opacity:.85}
.eyebrow{color:var(--gold);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;margin-bottom:12px}
.feature{border-radius:14px;overflow:hidden;box-shadow:var(--sh)}.feature img{display:block;width:100%;max-height:72vh;object-fit:cover}
.fcap{font:600 1.6rem "Cormorant Garamond",serif;margin:16px 0 0}
.h-earlier{margin-top:56px}
.timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.timeline figure{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}.timeline img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.timeline figcaption{padding:12px 16px;color:var(--muted);font-size:.92rem}
@media(max-width:700px){.milestones{grid-template-columns:1fr 1fr;row-gap:20px}.milestones li:nth-child(2)::before{display:none}}
/* v3 home */
.home-hero .wrap{max-width:1200px}.home-hero h1{max-width:820px;margin-bottom:.1em}.home-hero .lead{max-width:680px;font-size:1.12rem}
.light-eyebrow{color:#e3c99b!important}.tag-es{font:italic 500 1.5rem "Cormorant Garamond",serif;color:#e9e2d4;margin:0 0 18px}
.specs{display:inline-block;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);padding:10px 0;margin:6px 0 10px}
.price{font-size:1.15rem}.price strong{font:600 1.8rem "Cormorant Garamond",serif;color:#e3c99b}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:24px}.ucard{background:#fff;border-radius:14px;padding:26px;box-shadow:var(--sh);border-top:3px solid var(--gold)}.ucard h3{font-size:1.6rem}.ucard p{color:var(--muted);margin:0}
.ticks{list-style:none;padding:0;margin:0 0 18px}.ticks li{padding:8px 0 8px 30px;position:relative;border-bottom:1px solid var(--sand2)}.ticks li::before{content:"";position:absolute;left:4px;top:16px;width:12px;height:7px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
.dark .ticks li{border-color:rgba(255,255,255,.2)}.dark .eyebrow{color:#e3c99b}
.pricebox{text-align:center}.pricebox h2{font-size:clamp(2.4rem,5vw,3.6rem)}.ctas.center{justify-content:center}
@media(max-width:1000px){.cards4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cards4{grid-template-columns:1fr}.specs{letter-spacing:.06em}}
/* v4 */
.wordmark{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1;color:var(--ink)}
.wm1{font:700 2rem "Cormorant Garamond",Georgia,serif;letter-spacing:.12em}.wm2{font:500 .62rem Inter,sans-serif;letter-spacing:.55em;color:var(--gold);margin:4px 0 0 .55em}
.phead{background:linear-gradient(120deg,var(--ink),var(--green2))}.phead .lead{max-width:720px;font-size:1.1rem}
.tablewrap{overflow-x:auto}.rtable{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--sh);font-size:.95rem}
.rtable th,.rtable td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--sand2);vertical-align:top}.rtable thead th{background:var(--ink);color:#fff;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.rtable.kv th{width:28%;background:var(--sand);font-weight:600}.btn-sm{padding:9px 16px;font-size:.7rem;margin:0}.note{color:var(--muted);font-size:.92rem;margin-top:16px}
.cols2{columns:2;column-gap:40px}.cols2 li{break-inside:avoid}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps{padding-left:1.2em}.steps li{margin:.5em 0}.fdate,.timeline time{display:block;color:var(--gold);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.fdate{margin:16px 0 0}.fcap{margin-top:4px}
@media(max-width:860px){.cards3{grid-template-columns:1fr}.cols2{columns:1}.wm1{font-size:1.5rem}
 .rtable thead{display:none}.rtable:not(.kv) tr{display:block;border-bottom:6px solid var(--sand)}.rtable:not(.kv) td{display:flex;justify-content:space-between;gap:12px;border:0;padding:8px 16px}.rtable:not(.kv) td::before{content:attr(data-l);font-weight:600;color:var(--muted)}
 .rtable.kv th,.rtable.kv td{display:block;width:auto}}
.amgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.amgrid .img{aspect-ratio:4/3;margin:0}
@media(max-width:700px){.amgrid{grid-template-columns:1fr 1fr}}
/* official logo */
.logo img{height:56px;width:auto;display:block}
.flogo{max-width:1200px;margin:auto;padding:36px clamp(18px,4vw,40px) 0}.flogo a{display:inline-block;background:#fdfbf6;border-radius:12px;padding:14px 22px;box-shadow:0 6px 20px rgba(0,0,0,.25)}.flogo img{height:80px;width:auto;display:block}
@media(max-width:1180px){.logo img{height:44px}}@media(max-width:600px){.flogo img{height:60px}}
footer > div.dark{background:transparent!important}
.langsw{display:inline-flex;gap:6px;align-items:center;margin-left:14px;font-weight:600;letter-spacing:.08em}
.langsw a{margin:0!important;color:#1f1a12;text-decoration:none;opacity:.65}
.langsw a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.langsw{margin-left:6px}}
.logo{flex-shrink:0}
