:root{
  /* Sarasota palette: sugar-white sand, Gulf turquoise, bay blue, sunset gold and coral */
  --ink:#0b3a5b;--ink2:#0f5078;
  --paper:#fffdf8;--sand:#fbf3e3;--line:#eadfc8;
  --text:#0f2f45;--muted:#4b6a7d;
  --gold:#f4b73f;--sunset:#ff8a4c;--coral:#ff6f61;
  --gulf:#14c4c0;--gulf-d:#087887;--mist:#e3f7fa;--sky:#d9f3fa;
  --signal:#14c4c0;--signal-d:#087887;
  --cta:linear-gradient(135deg,#ffc247 0%,#ff9a4d 100%);
  --radius:16px;--max:1180px;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--signal-d)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.eyebrow{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--signal-d)}
.lede{font-size:1.15rem;color:var(--muted);max-width:60ch}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.3rem;letter-spacing:.01em}
.logo svg{width:30px;height:30px}
.logo b{font-weight:600}
.logo span{color:var(--sunset)}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}
.nav a.nl{color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:700;opacity:.82}
.nav a.nl:hover,.nav a.nl[aria-current]{opacity:1;color:var(--signal-d)}
.btn{display:inline-block;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:.95rem;padding:.8em 1.4em;border-radius:999px;text-decoration:none;background:var(--cta);color:#3b1c00;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(255,138,76,.35)}
.btn.ghost{background:rgba(255,255,255,.7);color:var(--ink);border:2px solid var(--ink)}
.btn.ghost:hover{box-shadow:none;background:#fff}
.btn.dk{background:var(--ink);color:#fff}
.btn.dk:hover{box-shadow:0 10px 26px rgba(11,58,91,.3)}
.menu-btn{display:none;background:none;border:1px solid var(--ink);color:var(--ink);border-radius:8px;padding:.4em .7em;font:inherit;font-weight:700}
@media(max-width:860px){
  .menu-btn{display:block}
  .nav ul{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:18px 20px;gap:16px;align-items:flex-start}
  .nav ul.open{display:flex}
}

/* bright sections (class kept as .dark in the markup) */
.dark{background:linear-gradient(180deg,#f2fcfb 0%,var(--sky) 100%);color:var(--text)}
.dark.sunset{background:linear-gradient(135deg,#fff0cf 0%,#ffe0c4 38%,#cdeff3 100%)}
.hero{position:relative;overflow:hidden;padding:56px 0 0}
.hero h1{color:var(--ink);max-width:14ch}
.hero h1 em{font-style:italic;color:#e0651f}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 0}
.signal-bg{position:absolute;inset:0;pointer-events:none;opacity:.9}
.statbar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(11,58,91,.12);margin-top:48px}
.statbar div{padding:22px 18px;border-right:1px solid rgba(11,58,91,.12)}
.statbar div:last-child{border-right:0}
.statbar b{display:block;font-family:var(--serif);font-size:2.2rem;color:var(--ink);font-weight:500;line-height:1}
.statbar span{font-size:.8rem;color:var(--muted);letter-spacing:.04em}
@media(max-width:700px){.statbar{grid-template-columns:repeat(2,1fr)}.statbar div:nth-child(2){border-right:0}.statbar div:nth-child(-n+2){border-bottom:1px solid rgba(11,58,91,.12)}}

section.s{padding:84px 0}
section.s.alt{background:var(--sand)}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.sec-head p{margin:0}

/* buyer / seller split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:760px){.split{grid-template-columns:1fr}}
.pick{display:block;text-decoration:none;color:inherit;border-radius:var(--radius);padding:30px;background:#fff;border:2px solid transparent;box-shadow:0 10px 30px rgba(11,58,91,.10);transition:border-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.pick::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--cta)}
.pick:nth-child(1)::before{background:linear-gradient(180deg,#14c4c0,#0a86b5)}
.pick:hover{border-color:var(--gulf);transform:translateY(-3px);box-shadow:0 16px 36px rgba(11,58,91,.16)}
.pick h3{color:var(--ink);margin-bottom:.3em}
.pick p{color:var(--muted);margin:0 0 14px}
.pick .go{color:var(--signal-d);font-weight:800}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:22px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.seg button{border:0;background:none;font:inherit;font-size:.85rem;font-weight:800;padding:.55em 1.1em;cursor:pointer;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.toolbar select{font:inherit;font-size:.85rem;padding:.55em 1em;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text)}
.toolbar .sp{flex:1}

/* tower cards */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.tgrid{grid-template-columns:1fr}}
.tgrid.list{grid-template-columns:1fr}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 6px 20px rgba(11,58,91,.06);transition:transform .2s,box-shadow .2s}
.tcard:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(11,58,91,.14)}
.tcard .art{background:linear-gradient(180deg,#bfeaf4 0%,#e9f8f6 55%,#ffe9c8 100%);padding:18px 18px 0;height:190px;display:flex;align-items:flex-end;justify-content:center}
.tcard .art svg{height:100%;width:auto}
.tcard .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.tcard h3{margin:0}
.tcard h3 a{color:var(--ink);text-decoration:none}
.tcard h3 a:hover{color:var(--signal-d)}
.tcard .meta{font-size:.82rem;color:var(--muted)}
.badge{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3em .7em;border-radius:999px;background:var(--sand);color:#5b4a22;align-self:flex-start}
.badge.done{background:#d5f6ee;color:#06644f}
.badge.build{background:#ffe9bf;color:#7a4a00}
.badge.pre{background:#ffd9d2;color:#8a2c20}
.tcard dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 4px}
.tcard dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.tcard dd{margin:0;font-family:var(--serif);font-size:1.35rem;color:var(--ink)}
.tcard .row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:12px}
.tcard label{font-size:.82rem;font-weight:700;display:flex;gap:7px;align-items:center;cursor:pointer}
.tgrid.list .tcard{flex-direction:row}
.tgrid.list .tcard .art{width:150px;height:auto;min-height:170px;flex:none}
@media(max-width:640px){.tgrid.list .tcard{flex-direction:column}.tgrid.list .tcard .art{width:100%;height:150px}}

/* compare */
.cmpbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);color:#fff;padding:12px 20px;display:none;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap}
.cmpbar.on{display:flex}
.cmpbar .btn{padding:.55em 1.2em}
.modal{position:fixed;inset:0;background:rgba(7,38,60,.7);z-index:80;display:none;align-items:center;justify-content:center;padding:20px}
.modal.on{display:flex}
.modal .box{background:#fff;border-radius:var(--radius);max-width:960px;width:100%;max-height:88vh;overflow:auto;padding:26px}
.modal table{width:100%;border-collapse:collapse;font-size:.92rem}
.modal th,.modal td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.modal th:first-child{color:var(--muted);font-weight:600;width:20%}

/* feature cards */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.feats{grid-template-columns:1fr}}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 6px 20px rgba(11,58,91,.05)}
.feat .n{font-family:var(--serif);font-size:2.2rem;line-height:1;background:var(--cta);-webkit-background-clip:text;background-clip:text;color:transparent}

/* page head */
.pagehead{padding:70px 0 54px;background:linear-gradient(135deg,#d3f1f6 0%,#eef9f6 45%,#ffe9c6 100%)}
.pagehead h1{font-size:clamp(2.2rem,5vw,3.6rem);color:var(--ink);max-width:20ch}
.crumbs{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--signal-d)}

/* tower detail */
.tdetail{display:grid;grid-template-columns:1.4fr .8fr;gap:44px;align-items:start}
@media(max-width:900px){.tdetail{grid-template-columns:1fr}}
.spec{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:90px;box-shadow:0 10px 30px rgba(11,58,91,.08)}
.spec dl{margin:0}
.spec .r{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.spec .r:last-of-type{border:0}
.spec dt{color:var(--muted)}
.spec dd{margin:0;text-align:right;font-weight:700;color:var(--ink)}
.ticks{list-style:none;padding:0;margin:0 0 1.2em}
.ticks li{padding:.45em 0 .45em 1.8em;position:relative;border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:0;top:1.05em;width:.9em;height:3px;border-radius:2px;background:var(--cta)}
.heroart{background:linear-gradient(180deg,#a8e3f1 0%,#e6f8f5 60%,#ffe2b8 100%);border-radius:var(--radius);height:340px;display:flex;align-items:flex-end;justify-content:center;padding:24px 24px 0;margin-bottom:30px;overflow:hidden}
.heroart svg{height:100%;width:auto}
.src{font-size:.82rem;color:var(--muted)}
.src li{margin-bottom:.3em}
.note{font-size:.82rem;color:var(--muted);border-left:3px solid var(--gold);padding:.2em 0 .2em 12px;margin:1.4em 0}

/* chart */
.chart{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 6px 20px rgba(11,58,91,.05)}
.bars{display:grid;gap:12px}
.bar{display:grid;grid-template-columns:200px 1fr 70px;gap:12px;align-items:center;font-size:.9rem}
@media(max-width:640px){.bar{grid-template-columns:110px 1fr 50px;font-size:.8rem}}
.bar i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,#0a86b5,#14c4c0 60%,#f4b73f)}
.bar b{text-align:right;font-family:var(--serif);font-size:1.1rem;color:var(--ink)}

/* forms */
form.f{display:grid;gap:14px;max-width:620px}
form.f label{font-size:.84rem;font-weight:800;display:grid;gap:6px;color:var(--ink)}
form.f input,form.f select,form.f textarea{font:inherit;padding:.8em 1em;border:1px solid #cdd9d6;border-radius:10px;background:#fff;color:var(--text)}
form.f input:focus,form.f select:focus,form.f textarea:focus{outline:3px solid rgba(20,196,192,.45);border-color:var(--gulf)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.err{color:#b3261e;font-size:.8rem;font-weight:700;min-height:1em}
.fine{font-size:.78rem;color:var(--muted)}
.ok{background:#d5f6ee;border:1px solid #8fdcc6;color:#064f40;padding:18px 20px;border-radius:12px;font-weight:700}
.panel{background:#fff;border-radius:var(--radius);padding:34px;box-shadow:0 14px 38px rgba(11,58,91,.12);border:1px solid rgba(255,255,255,.8)}

/* faq */
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:800;font-size:1.05rem;list-style:none;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--sunset);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin:.7em 0 0;color:var(--muted)}

/* footer: deep bay */
footer{background:linear-gradient(180deg,#0b6f9a 0%,#0a4c72 100%);color:#d3eaf3;padding:60px 0 40px;font-size:.9rem;border-top:6px solid transparent;border-image:linear-gradient(90deg,#14c4c0,#f4b73f,#ff8a4c) 1}
footer .logo{color:#fff}
footer .logo span{color:var(--gold)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
@media(max-width:760px){footer .cols{grid-template-columns:1fr}}
footer h4{color:#fff;font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}
footer a{color:#d3eaf3;text-decoration:none;display:block;margin-bottom:6px}
footer a:hover{color:#fff;text-decoration:underline}
footer .legal{border-top:1px solid rgba(255,255,255,.2);margin-top:34px;padding-top:20px;font-size:.78rem}
footer .legal a{display:inline}
.eho{display:inline-block;border:1px solid #9cc7da;border-radius:4px;padding:1px 6px;margin-right:6px;font-size:.7rem}
.prose{max-width:74ch}
.prose h2{font-size:1.8rem;margin-top:1.6em}

/* hero scene */
.hero-copy{max-width:760px}
.hero-copy h1{max-width:16ch}
.hero-scene-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.hero-scene{display:block;width:100%;height:auto;margin-top:8px}
.hero{padding-bottom:0}
.hero .statbar{margin-top:0;border-top:0}
@media(max-width:700px){.hero-scene{width:800px;max-width:none;margin-top:20px}.hero-scene-wrap{scrollbar-width:none}.hero-scene-wrap::-webkit-scrollbar{display:none}}
