
/* Layout: one long page, left-aligned editorial grid; the panel array (16 x 610 Wp) is the hero motif */
:root{--bg:#f3f6f7;--surface:#ffffff;--ink:#0f2233;--muted:#4f6272;--line:#d5dee4;--cell:#13304a;--cell-2:#1d4466;--sun:#f0b323;--sun-ink:#3a2800;--ok:#2f7d4f;
--display:"Archivo","Arial Narrow",Arial,sans-serif;--body:"Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace;--r:6px;color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0b1823;--surface:#112333;--ink:#e7eef3;--muted:#9db0bf;--line:#22394c;--cell:#0e2a42;--cell-2:#1a4568;--sun:#f5bd3a;--sun-ink:#2a1d00;--ok:#5cc28a;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0b1823;--surface:#112333;--ink:#e7eef3;--muted:#9db0bf;--line:#22394c;--cell:#0e2a42;--cell-2:#1a4568;--sun:#f5bd3a;--sun-ink:#2a1d00;--ok:#5cc28a;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body)}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--display);line-height:1.05;text-wrap:balance;margin:0}
h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;letter-spacing:-.01em}
h3{font-size:1.25rem;font-weight:700}
p{margin:0}
.eyebrow{font:600 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
section{padding-block:72px}
.sec-head{display:grid;gap:12px;max-width:62ch;margin-bottom:36px}
.sec-head p{color:var(--muted)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.05rem/1 var(--display)}
.brand small{display:block;font:500 .7rem/1.2 var(--mono);color:var(--muted);letter-spacing:.06em}
.nav{display:flex;gap:22px;font-weight:600;font-size:.95rem}
.nav a{text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:var(--r);padding:12px 20px;font:700 1rem/1 var(--body);text-decoration:none;cursor:pointer}
.btn-sun{background:var(--sun);color:var(--sun-ink)}
.btn-sun:hover{filter:brightness(1.05)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
@media (max-width:820px){.nav{display:none}}
.hero{padding-block:56px 64px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:900;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero .lead{font-size:1.2rem;color:var(--muted);max-width:52ch;margin-top:18px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.facts{display:flex;flex-wrap:wrap;gap:28px;margin-top:36px}
.facts div{display:grid;gap:2px}
.facts b{font:800 1.6rem/1 var(--display)}
.facts span{font-size:.85rem;color:var(--muted)}
.array{background:var(--cell);border-radius:10px;padding:18px;color:#cfe0ee;width:100%;max-width:440px;justify-self:end}
.array-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.panel{aspect-ratio:1/1.55;border:1px solid #2c5a80;border-radius:3px;position:relative;background-color:var(--cell-2);background-image:linear-gradient(#2c5a80 1px,transparent 1px),linear-gradient(90deg,#2c5a80 1px,transparent 1px);background-size:100% 16.66%,33.3% 100%}
.panel i{position:absolute;right:6px;bottom:6px;width:9px;height:9px;border-radius:2px;background:var(--sun);animation:pulse 3s ease-in-out infinite}
.panel:nth-child(3n) i{animation-delay:.6s}.panel:nth-child(4n) i{animation-delay:1.3s}.panel:nth-child(5n) i{animation-delay:2s}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}
.array-cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font:500 .78rem/1.4 var(--mono)}
.array-cap b{color:var(--sun);font-weight:700}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.array{max-width:420px;justify-self:start}}
.why{background:var(--surface);border-block:1px solid var(--line)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px}
.why-grid div{display:grid;gap:8px;align-content:start}
.why-grid p{color:var(--muted)}
.why-grid .k{font:700 .8rem/1 var(--mono);color:var(--sun);letter-spacing:.06em}
@media (max-width:820px){.why-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.why-grid{grid-template-columns:1fr}}
.calc{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.calc form{padding:28px;display:grid;gap:18px;align-content:start;border-right:1px solid var(--line)}
.field{display:grid;gap:6px}
.field label{font-weight:700}
.field small{color:var(--muted);font-size:.85rem}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);padding:11px 12px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--sun);outline:none}
.seg{display:flex;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden}
.seg button{flex:1;border:0;background:transparent;color:var(--muted);padding:10px;font:600 .95rem var(--body);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--cell);color:#fff}
.result{padding:28px;display:grid;gap:22px;align-content:start}
.r-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.r-main b{font:900 clamp(2.6rem,6vw,3.6rem)/1 var(--display)}
.r-main span{color:var(--muted)}
.r-rows{display:grid;border-top:1px solid var(--line)}
.r-rows div{display:flex;justify-content:space-between;gap:16px;padding-block:11px;border-bottom:1px solid var(--line)}
.r-rows dt{color:var(--muted)}
.r-rows dd{margin:0;font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.note{font-size:.85rem;color:var(--muted)}
@media (max-width:820px){.calc{grid-template-columns:1fr}.calc form{border-right:0;border-bottom:1px solid var(--line)}}
.pkg{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.bom{width:100%;border-collapse:collapse;font-size:.95rem}
.bom th{text-align:left;font:600 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 0 10px}
.bom td{padding:11px 0;border-top:1px solid var(--line);vertical-align:top}
.bom td.q{font-family:var(--mono);text-align:right;white-space:nowrap;padding-left:12px}
.bom tfoot td{font-weight:800;font-size:1.1rem;border-top:2px solid var(--ink)}
.pay{display:grid;grid-template-columns:3fr 2fr;margin-top:18px;border-radius:var(--r);overflow:hidden;font:600 .85rem/1 var(--mono)}
.pay span{padding:12px}
.pay span:first-child{background:var(--cell);color:#fff}
.pay span:last-child{background:var(--sun);color:var(--sun-ink)}
@media (max-width:820px){.pkg{grid-template-columns:1fr}}
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.svc article{padding:24px 24px 24px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}
.svc article:nth-child(odd){border-right:1px solid var(--line)}
.svc article:nth-child(even){padding-left:24px}
.svc p{color:var(--muted)}
@media (max-width:700px){.svc{grid-template-columns:1fr}.svc article,.svc article:nth-child(even){padding-left:0;border-right:0}}
.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{display:grid;gap:8px;align-content:start;border-top:3px solid var(--line);padding-top:14px}
.steps li::before{counter-increment:s;content:"0" counter(s);font:700 .8rem/1 var(--mono);color:var(--sun)}
.steps li.pay-step{border-top-color:var(--sun)}
.steps p{font-size:.92rem;color:var(--muted)}
@media (max-width:900px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.proj{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.proj article{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;display:grid;gap:10px;align-content:start}
.proj .size{font:900 2rem/1 var(--display)}
.proj p{color:var(--muted);font-size:.95rem}
@media (max-width:820px){.proj{grid-template-columns:1fr}}
.contact{background:var(--cell);color:#e8f0f6}
.contact .sec-head p{color:#b7cad9}
.contact .eyebrow{color:#9fb6c8}
.c-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px}
.c-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c-form .full{grid-column:1/-1}
.c-form label{font-weight:700;display:block;margin-bottom:6px}
.c-form input,.c-form select,.c-form textarea{background:#0c2236;border-color:#2a4b68;color:#fff}
.c-form textarea{min-height:110px;resize:vertical}
.c-info{display:grid;gap:18px;align-content:start}
.c-info div{display:grid;gap:2px}
.c-info span{font:600 .75rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9fb6c8}
.c-info b{font-size:1.15rem;user-select:all}
.status{grid-column:1/-1;padding:12px 14px;border-radius:var(--r);font-weight:600}
.status.ok{background:#1f5c3a;color:#e6ffef}
.status.err{background:#6b2323;color:#ffeaea}
.hp{position:absolute;left:-9999px}
@media (max-width:820px){.c-grid{grid-template-columns:1fr}}
@media (max-width:520px){.c-form{grid-template-columns:1fr}}
footer{padding-block:28px;font-size:.85rem;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* Aruban layer: flag blue + sun yellow + logo green, photos of the island */
:root{--sea:#2f7fd0;--leaf:#2fa84a}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sea:#5aa2ec;--leaf:#4cc466}}
:root[data-theme="dark"]{--sea:#5aa2ec;--leaf:#4cc466}
.brand img{width:30px;height:auto;display:block}
.hero{position:relative;color:#fff;background:#0b2236 url(gsa-hero.webp) center 55%/cover no-repeat;padding-block:84px 96px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,26,42,.88) 0%,rgba(8,26,42,.6) 55%,rgba(8,26,42,.25) 100%)}
.hero .wrap{position:relative}
.hero .eyebrow{color:#cfe3f5}
.hero .lead{color:#dbe7f0}
.hero .facts span{color:#cfe3f5}
.hero .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.hero .array{background:rgba(19,48,74,.82);backdrop-filter:blur(3px)}
.credit{position:absolute;right:12px;bottom:8px;font:500 .68rem/1 var(--mono);color:rgba(255,255,255,.65);z-index:1}
.credit a{color:inherit}
.island{display:grid;grid-template-columns:1fr 1fr;min-height:340px;background:var(--surface);border-block:1px solid var(--line)}
.island .ph{background:center/cover no-repeat;min-height:260px}
.island .tx{padding:56px clamp(20px,5vw,64px);display:grid;gap:14px;align-content:center;max-width:620px}
.island .tx p{color:var(--muted)}
.island .pap{font:800 clamp(2rem,4.5vw,3rem)/1 var(--display);color:var(--sea)}
.island .pap span{color:var(--leaf)}
@media (max-width:820px){.island{grid-template-columns:1fr}.island .ph{order:-1}}
.homes .sec-head{max-width:760px}
.homes-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:190px;gap:12px;margin:26px 0}
.homes-gal figure{margin:0;position:relative;border-radius:10px;overflow:hidden;background:var(--surface)}
.homes-gal .hg-main{grid-row:span 2}
.homes-gal img{width:100%;height:100%;object-fit:cover;display:block}
.homes-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:.82rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.homes-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:20px;align-items:start}
.homes-plan{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.homes-plan img{width:100%;height:auto;display:block}
.homes-plan figcaption{font-size:.82rem;color:#55687a;margin-top:8px}
.homes-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px}
.homes-card h3{font:800 1.15rem/1.2 var(--display);margin:0 0 10px}
.homes-card h3+ul{margin-bottom:20px}
.homes-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.homes-list li{position:relative;padding-left:24px;font-size:.95rem}
.homes-list li::before{content:"✓";position:absolute;left:0;top:0;color:#2fa84a;font-weight:800}
.homes-no li{color:var(--muted)}
.homes-no li::before{content:"–";color:var(--muted)}
.hp-big{margin:6px 0 2px;font-size:1rem}
.hp-big b{font:900 2.2rem/1.1 var(--display)}
.hp-sub{color:var(--muted);font-size:.9rem;margin:0 0 14px}
.hp-rows{margin:0 0 14px;display:grid;gap:8px}
.hp-rows div{display:grid;grid-template-columns:92px 1fr;gap:10px;font-size:.9rem}
.hp-rows dt{color:var(--muted)}
.hp-rows dd{margin:0}
.hp-solar{border-left:4px solid #f0b323;padding:8px 12px;margin:0 0 12px;display:grid;gap:3px;font-size:.9rem;background:rgba(240,179,35,.08);border-radius:0 8px 8px 0}
.hp-use{font-size:.9rem;color:var(--muted);margin:0 0 14px}
@media(max-width:1000px){.homes-grid{grid-template-columns:1fr 1fr}.homes-plan{grid-column:span 2;max-width:520px;justify-self:center}}
@media(max-width:860px){.homes-grid{grid-template-columns:1fr}.homes-plan{grid-column:auto}.homes-gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.homes-gal .hg-main{grid-column:span 2;grid-row:span 1;height:230px}}
.live{margin-top:40px}
.live h3{font:800 1.5rem/1.2 var(--display);margin:0 0 6px}
.live-sub,.live-note{color:var(--muted);font-size:.95rem;margin:0 0 18px}
.proj-live article{cursor:pointer;transition:border-color .15s,transform .15s}
.proj-live article:hover,.proj-live article:focus-visible{border-color:#1f7ae0;transform:translateY(-2px);outline:none}
.proj-live .lv-open{color:#1f7ae0;font-weight:700;font-size:.85rem}
#lvDlg{border:0;border-radius:12px;padding:20px;width:min(900px,94vw);max-height:90vh;background:var(--surface,#fff);color:inherit}
#lvDlg::backdrop{background:rgba(0,0,0,.55)}
#lvDlg h3{margin:0 40px 4px 0;font:800 1.3rem/1.2 var(--display)}
#lvDlg .lv-x{position:absolute;right:12px;top:10px;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:inherit}
#lvSvg svg{width:100%;height:auto;max-height:62vh;display:block;margin:12px 0}
#lvDlg .lv-cap{color:var(--muted);font-size:.85rem;margin:0}
.proj-live .lv-live a{color:#0b6b3a;font-weight:700;font-size:.85rem;text-decoration:none}
.proj-live .lv-live a:hover{text-decoration:underline}
#lvLive{display:inline-block;margin:0 0 10px}
#lvLive[hidden]{display:none}
.live-more{margin:16px 0 0}
.live-note{font-size:.8rem;margin-top:14px}
.live-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.live-stats div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:4px}
.live-stats b{font:900 1.7rem/1 var(--display)}
.live-stats span{color:var(--muted);font-size:.85rem}
.proj-live{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.proj-live article{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;gap:6px;align-content:start}
.proj-live .size{font:900 1.6rem/1 var(--display)}
.proj-live p{margin:0;font-size:.9rem;color:var(--muted)}
.proj-live .lv-num b{color:var(--ink,inherit);font-size:1.05rem}
@media(max-width:560px){.live-stats{grid-template-columns:1fr}.live-stats b{font-size:1.4rem}}
.own-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 8px}.own-gal .own-cap{grid-column:1/-1;margin:0}.own-gal figure{margin:0;position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--surface)}.own-gal img{width:100%;height:100%;object-fit:cover;display:block}.own-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:.82rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65))}@media(max-width:640px){.own-gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.proj-band{height:220px;border-radius:10px;margin-bottom:24px;background:center 55%/cover no-repeat;position:relative;overflow:hidden}
.proj-band span{position:absolute;left:16px;bottom:14px;font:800 1.4rem/1 var(--display);color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.why-grid .k{color:var(--sea)}
.steps li::before{color:var(--sea)}
footer small{display:block;margin-top:4px}
.lang{display:flex;margin-left:auto;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden}
.lang button{border:0;background:transparent;color:var(--muted);font:700 .75rem/1 var(--mono);padding:8px 9px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--cell);color:#fff}
@media (max-width:520px){.top .btn{padding:10px 12px;font-size:.85rem}.brand small{display:none}.brand span{font-size:.92rem}}
@media (max-width:380px){.brand span{display:none}}
