/* privateisland.pro — v2 quiet-luxury editorial design.
   Own shell (no theme dependency). Palette: deep-sea ink, chart-paper cream,
   muted ocean teal, quiet sand. Literata (serif) + Muli (sans). No red, ever. */

:root{
  --ink:#0c1417;        /* deep-sea ink */
  --ink-2:#16232a;
  --slate:#3f5259;
  --mute:#71828a;
  --line:#e3ded3;
  --line-2:#d3cbba;
  --paper:#f8f5ef;      /* chart paper */
  --paper-2:#efe9dc;
  --card:#ffffff;
  --ocean:#2e5f66;      /* muted ocean */
  --ocean-deep:#193e44;
  --sand:#b8a468;       /* quiet sand */
  --sand-2:#cbb87e;
  --foam:#8fb3ac;
  --serif:'Literata',Georgia,'Times New Roman',serif;
  --sans:'Muli','Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.pi-body{margin:0;background:var(--paper);color:var(--ink-2);font-family:var(--sans);
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}
.pi-main a{color:var(--ocean)}
.pi-main a:hover{text-decoration:underline}
a{text-decoration:none;color:inherit}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:600;line-height:1.18;
  letter-spacing:-.012em;margin:0 0 .5em}
p{margin:0 0 1.1em}
.pi-wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.pi-eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.2em;
  font-size:11.5px;font-weight:800;color:var(--ocean);margin:0 0 14px}
.pi-h2{font-size:30px;margin:0 0 8px}
.pi-sub{color:var(--mute);margin:0 0 28px;font-size:15px}
.pi-linklike{background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--ocean);
  cursor:pointer;text-decoration:underline;text-underline-offset:2px}

/* ---------- buttons: quiet, confident ---------- */
.pi-btn{display:inline-block;background:var(--ocean-deep);color:#f3efe4;font-family:var(--sans);
  font-weight:700;font-size:14px;letter-spacing:.04em;padding:13px 24px;border-radius:2px;
  border:1px solid var(--ocean-deep);cursor:pointer;transition:background .15s ease}
.pi-btn:hover{background:var(--ocean);border-color:var(--ocean);text-decoration:none}
.pi-btn-ghost{background:transparent;border:1px solid var(--line-2);color:var(--ink)}
.pi-btn-ghost:hover{background:var(--paper-2);border-color:var(--line-2)}
.pi-btn-light{background:rgba(255,255,255,.92);border-color:transparent;color:var(--ink)}
.pi-btn-light:hover{background:#fff}
.pi-btn-block{display:block;width:100%;text-align:center}
.pi-btn-top{padding:9px 16px;font-size:12.5px}

/* ---------- header ---------- */
.pi-top{background:var(--ink);border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:50}
.pi-top-in{display:flex;align-items:center;gap:34px;min-height:78px}
.pi-brand{display:flex;flex-direction:column;line-height:1.05;padding:14px 0}
.pi-brand-main{font-family:var(--serif);font-size:23px;font-weight:600;color:#f3efe4;letter-spacing:.01em}
.pi-brand-sub{font-family:var(--sans);font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--foam);margin-top:3px}
.pi-nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:13.5px}
.pi-nav>a{color:#cfd8d5;font-weight:600;letter-spacing:.04em;padding:6px 0;
  border-bottom:2px solid transparent;transition:color .15s ease}
.pi-nav>a:hover{color:#fff;border-bottom-color:var(--sand)}
.pi-nav-tools{display:flex;align-items:center;gap:14px;margin-left:10px}
.pi-cur{background:transparent;border:1px solid rgba(255,255,255,.22);color:#cfd8d5;
  font-family:var(--sans);font-size:12px;padding:6px 8px;border-radius:2px}
.pi-cur option{color:var(--ink);background:#fff}
.pi-nav-toggle{display:none}
.pi-burger{display:none;cursor:pointer;margin-left:auto;padding:10px}
.pi-burger span{display:block;width:24px;height:2px;background:#e8e4d8;margin:5px 0;transition:.2s}
@media(max-width:1080px){
  .pi-burger{display:block}
  .pi-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);
    flex-direction:column;align-items:flex-start;padding:10px 28px 24px;gap:14px;
    border-bottom:1px solid rgba(255,255,255,.08);z-index:49}
  .pi-nav-toggle:checked~.pi-nav{display:flex}
  .pi-nav-tools{margin-left:0;flex-wrap:wrap}
}

/* ---------- breadcrumb ---------- */
.pi-crumb{font-size:12.5px;color:var(--mute);letter-spacing:.02em;padding:20px 0 0}
.pi-crumb a{color:var(--slate)}
.pi-crumb a:hover{color:var(--ocean)}
.pi-sep{margin:0 9px;opacity:.45}
.pi-here{color:var(--mute)}

/* ---------- page bands ---------- */
.pi-band{background:var(--ink);color:#e9ede9;padding:74px 0 66px;position:relative}
.pi-band .pi-eyebrow{color:var(--foam)}
.pi-band h1{color:#fff;font-size:clamp(34px,4.6vw,52px);margin:0 0 16px;max-width:22ch}
.pi-band-lead{color:#bfcac6;max-width:60ch;font-size:19px;line-height:1.6}
.pi-band-tall{padding:104px 0 92px}
.pi-band-img{background-size:cover;background-position:center}
.pi-band-img:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(12,20,23,.88) 30%,rgba(12,20,23,.55))}
.pi-band-img .pi-wrap{position:relative;z-index:2}

/* ---------- sections ---------- */
.pi-sec{padding:64px 0}
.pi-sec-tight{padding:40px 0}
.pi-sec-shade{background:var(--paper-2)}
.pi-group-h{font-size:22px;margin:44px 0 4px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.pi-group-h:first-child{margin-top:0}

/* ---------- toolbar (sticky) ---------- */
.pi-toolbar{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;
  background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--line);
  border-radius:2px;padding:18px 22px;margin:6px 0 10px;box-shadow:0 10px 30px -24px rgba(12,20,23,.45)}
.pi-field{display:flex;flex-direction:column;gap:6px}
.pi-field label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:800}
.pi-field select,.pi-field input{font-family:var(--sans);font-size:14.5px;padding:9px 11px;
  border:1px solid var(--line-2);border-radius:2px;background:#fff;color:var(--ink);min-width:148px}
.pi-count{margin-left:auto;font-size:14px;color:var(--slate);align-self:center;display:flex;gap:12px;align-items:baseline}
.pi-count b{color:var(--ink);font-size:18px;font-family:var(--serif)}
@media(max-width:760px){.pi-toolbar{position:static;flex-direction:column;align-items:stretch}
  .pi-field select{min-width:0;width:100%}.pi-count{margin-left:0}}

/* ---------- cards ---------- */
.pi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:30px 0}
@media(max-width:980px){.pi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pi-grid{grid-template-columns:1fr}}
.pi-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:2px;
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease}
.pi-card:hover{box-shadow:0 20px 44px -26px rgba(12,20,23,.55);transform:translateY(-3px)}
.pi-overlay{position:absolute;inset:0;z-index:1}
.pi-thumb{aspect-ratio:3/2;background:var(--paper-2) center/cover no-repeat;position:relative}
.pi-card:hover .pi-thumb{filter:saturate(1.06)}
.pi-flag{position:absolute;top:12px;left:12px;background:rgba(12,20,23,.82);color:#e8e4d8;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:2px;font-weight:800}
.pi-cmp{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.92);
  border:1px solid var(--line-2);border-radius:2px;font-family:var(--sans);font-size:11px;
  font-weight:700;letter-spacing:.05em;color:var(--slate);padding:5px 9px;cursor:pointer;opacity:0;transition:opacity .15s}
.pi-card:hover .pi-cmp,.pi-cmp.on{opacity:1}
.pi-cmp.on{background:var(--ocean-deep);color:#f3efe4;border-color:var(--ocean-deep)}
@media(hover:none){.pi-cmp{opacity:1}}
.pi-cardbody{padding:19px 19px 21px;display:flex;flex-direction:column;gap:8px;flex:1}
.pi-card h3{font-size:21px;margin:0}
.pi-place{font-size:12.5px;color:var(--mute);letter-spacing:.03em}
.pi-price{font-family:var(--serif);font-size:18.5px;color:var(--ocean-deep);margin-top:auto;padding-top:6px}
.pi-meta{font-size:13px;color:var(--slate);display:flex;gap:14px;flex-wrap:wrap}
.pi-tagrow{display:flex;gap:6px;flex-wrap:wrap}
.pi-tag{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--slate);
  border:1px solid var(--line-2);border-radius:2px;padding:3px 8px;background:var(--paper)}
.pi-empty{grid-column:1/-1;padding:46px;text-align:center;color:var(--mute);
  border:1px dashed var(--line-2);border-radius:2px;background:var(--card)}
.pi-empty-left{text-align:left;max-width:640px}

/* badges */
.pi-badges{display:flex;gap:6px;flex-wrap:wrap}
.pi-badge{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border-radius:2px;padding:4px 8px}
.pi-b-tenure{background:#e4ecea;color:var(--ocean-deep)}
.pi-b-warn{background:#efe3cf;color:#6b5320}
.pi-b-note{background:#e9e6f0;color:#4a4468}
.pi-b-dom{background:var(--paper-2);color:var(--slate)}

/* compare bar */
.pi-cmpbar{position:sticky;bottom:18px;z-index:41;display:flex;gap:16px;align-items:center;
  background:var(--ink);color:#e8e4d8;border-radius:2px;padding:12px 20px;margin:8px 0;
  box-shadow:0 18px 40px -20px rgba(12,20,23,.7);width:fit-content}
.pi-cmpbar[hidden]{display:none}

/* ---------- island hero + layout ---------- */
.pi-hero{position:relative;height:min(64vh,560px);background:var(--ink) center/cover no-repeat;
  display:flex;align-items:flex-end}
.pi-hero:after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,20,23,.08) 30%,rgba(12,20,23,.78))}
.pi-hero-in{position:relative;z-index:2;padding-bottom:40px;color:#fff;width:100%}
.pi-hero h1{color:#fff;font-size:clamp(36px,5vw,56px);margin:8px 0 6px}
.pi-hero .pi-place{color:#d7dedb;font-size:14.5px;letter-spacing:.05em}
.pi-hero-price{font-family:var(--serif);font-size:22px;color:var(--sand-2);margin:4px 0 0}
.pi-statusline{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:2px;font-weight:700}
.pi-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:52px;margin:10px 0}
@media(max-width:960px){.pi-layout{grid-template-columns:1fr}}
.pi-narr h2{font-size:25px;margin:40px 0 12px;padding-top:26px;border-top:1px solid var(--line)}
.pi-narr h2:first-of-type{border-top:0;padding-top:0;margin-top:6px}
.pi-narr p{max-width:68ch}

/* spec table */
.pi-spec{width:100%;border-collapse:collapse;margin:6px 0 8px;font-size:15px}
.pi-spec th,.pi-spec td{text-align:left;padding:12px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.pi-spec th{width:40%;color:var(--mute);font-weight:600;letter-spacing:.02em;font-family:var(--sans)}
.pi-spec td{color:var(--ink)}
.pi-spec tr:nth-child(odd) td,.pi-spec tr:nth-child(odd) th{background:rgba(239,233,220,.35)}

/* price record */
.pi-pr{border-left:2px solid var(--line-2);margin:10px 0 8px;padding:2px 0}
.pi-pr-row{display:grid;grid-template-columns:110px 170px 1fr;gap:14px;padding:10px 0 10px 18px;
  position:relative;font-size:14.5px}
.pi-pr-row:before{content:"";position:absolute;left:-5px;top:18px;width:8px;height:8px;
  border-radius:50%;background:var(--sand);border:1px solid var(--paper)}
.pi-pr-date{color:var(--mute);font-weight:700;font-size:13px;letter-spacing:.04em}
.pi-pr-amt{font-family:var(--serif);color:var(--ocean-deep);font-size:16px}
.pi-pr-src{color:var(--mute);font-size:13px}
.pi-pr-note{font-size:13.5px;color:var(--mute);max-width:64ch}
@media(max-width:620px){.pi-pr-row{grid-template-columns:1fr;gap:2px}}

/* aside */
.pi-aside{align-self:start;position:sticky;top:20px;display:flex;flex-direction:column;gap:22px}
@media(max-width:960px){.pi-aside{position:static}}
.pi-panel{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:24px}
.pi-panel h3{font-size:12.5px;text-transform:uppercase;letter-spacing:.15em;color:var(--mute);
  font-family:var(--sans);font-weight:800;margin:0 0 14px}
.pi-price-big{font-family:var(--serif);font-size:26px;color:var(--ocean-deep);margin:0 0 4px;line-height:1.25}
.pi-price-sub{font-size:13px;color:var(--mute);margin:0 0 12px}
.pi-panel-txt{font-size:14px;color:var(--slate);margin:0 0 12px}
.pi-panel-cta{margin:16px 0 0}

/* gate */
.pi-gate{background:var(--ink);color:#e6ebe8;border-radius:2px;padding:24px;position:relative;overflow:hidden}
.pi-gate:before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 100% 0%,rgba(143,179,172,.14),transparent 55%)}
.pi-gate>*{position:relative}
.pi-gate h3{color:var(--foam);font-family:var(--sans);font-size:12.5px;letter-spacing:.15em;
  text-transform:uppercase;font-weight:800;margin:0 0 14px}
.pi-blur{filter:blur(6px);opacity:.55;user-select:none;font-family:var(--serif);
  font-size:16px;letter-spacing:.05em;margin:6px 0;color:#fff}
.pi-lock{font-size:14px;color:#b9c4c0;margin:16px 0 16px}
.pi-gate .pi-btn{background:var(--sand);border-color:var(--sand);color:#181300}
.pi-gate .pi-btn:hover{background:var(--sand-2);border-color:var(--sand-2)}
.pi-gate-msg{font-size:13px;color:#b9c4c0;margin:12px 0 0}
.pi-gate-msg a{color:var(--foam)}

/* attribution & references */
.pi-attr{font-size:13.5px;color:var(--mute);border-left:2px solid var(--sand);
  padding:8px 0 8px 16px;margin:0 0 26px;line-height:1.55;background:rgba(239,233,220,.4)}
.pi-attr a{color:var(--slate)}
.pi-imgref{font-size:12.5px;color:var(--mute);margin:14px 0;line-height:1.7}
.pi-dd{padding-left:1.1em;font-size:15px}
.pi-dd li{margin:0 0 .5em}

/* gallery */
.pi-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 8px}
@media(max-width:700px){.pi-gallery{grid-template-columns:repeat(2,1fr)}}
.pi-gallery figure{margin:0}
.pi-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px;display:block}
.pi-gallery figcaption{font-size:11.5px;color:var(--mute);margin-top:5px}

/* ---------- share row ---------- */
.pi-share{display:flex;align-items:center;gap:6px;margin:34px 0 6px;padding-top:20px;
  border-top:1px solid var(--line);flex-wrap:wrap;position:relative}
.pi-share-lbl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;
  color:var(--mute);margin-right:8px}
.pi-share-a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid var(--line-2);border-radius:2px;background:var(--card);cursor:pointer;
  color:var(--slate);transition:all .15s ease;padding:0}
.pi-share-a:hover{color:var(--ocean-deep);border-color:var(--ocean);background:#fff;text-decoration:none}
.pi-share-a svg{width:17px;height:17px;fill:currentColor}
.pi-share-note{font-size:12px;color:var(--ocean);font-weight:700;margin-left:6px}
.pi-share-qrwrap{position:relative;display:inline-flex}
.pi-qr-pop{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);
  background:#fff;border:1px solid var(--line-2);border-radius:2px;padding:12px;z-index:30;
  box-shadow:0 18px 40px -18px rgba(12,20,23,.5);display:flex;flex-direction:column;align-items:center;gap:6px;width:172px}
.pi-qr-pop[hidden]{display:none}
.pi-qr-svg svg{width:140px;height:140px;display:block}
.pi-qr-cap{font-size:11px;color:var(--mute);text-align:center}

/* ---------- tiles ---------- */
.pi-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:26px 0}
@media(max-width:980px){.pi-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pi-tiles{grid-template-columns:1fr}}
.pi-tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:2px;
  padding:26px;transition:box-shadow .2s ease,transform .2s ease;position:relative;overflow:hidden}
.pi-tile:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sand);
  transform:scaleY(0);transform-origin:top;transition:transform .2s ease}
.pi-tile:hover{box-shadow:0 18px 40px -26px rgba(12,20,23,.5);transform:translateY(-2px);text-decoration:none}
.pi-tile:hover:after{transform:scaleY(1)}
.pi-tile h3{font-size:21px;margin:0 0 7px}
.pi-tile p{font-size:14px;color:var(--slate);margin:0}
.pi-tcount{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ocean);font-weight:800;margin-bottom:10px}

/* ---------- prose / notes / forms ---------- */
.pi-prose{max-width:72ch}
.pi-prose h2{font-size:26px;margin:38px 0 12px}
.pi-prose ul{margin:0 0 1.2em;padding-left:1.1em}
.pi-prose li{margin:0 0 .55em}
.pi-note{background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--sand);
  border-radius:2px;padding:18px 22px;font-size:14.5px;color:var(--slate);margin:24px 0}
.pi-footnote{border-top:1px solid var(--line);margin-top:42px;padding:24px 0 8px;font-size:13px;color:var(--mute)}
.pi-pricecard{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:32px;max-width:430px}
.pi-amt{font-family:var(--serif);font-size:44px;color:var(--ink)}
.pi-amt small{font-size:16px;color:var(--mute);font-family:var(--sans)}
.pi-pricecard p{margin:10px 0 0;color:var(--slate);font-size:15px}

.pi-form{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:30px;max-width:640px}
.pi-row{margin:0 0 20px;display:flex;flex-direction:column;gap:7px}
.pi-form label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:800}
.pi-form input,.pi-form textarea,.pi-form select{font-family:var(--sans);font-size:16px;
  padding:12px 14px;border:1px solid var(--line-2);border-radius:2px;background:#fff;color:var(--ink);width:100%}
.pi-form input:focus,.pi-form textarea:focus,.pi-form select:focus{outline:2px solid var(--ocean);outline-offset:0}
.pi-form textarea{min-height:110px;resize:vertical}
.pi-err{color:#7a5b23;font-size:13px;display:none}
.pi-hint{font-size:12.5px;color:var(--mute)}
.pi-hint-after{margin-top:14px}
.pi-received{display:none;background:var(--ink);color:#e9ede9;border-radius:2px;padding:32px;max-width:640px}
.pi-received h3{color:var(--foam);margin:0 0 10px}
.pi-received-sub{color:#b9c4c0;font-size:14px;margin:0}

/* glossary */
.pi-gl{margin:26px 0}
.pi-gl-row{display:grid;grid-template-columns:230px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.pi-gl-row dt{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:17px}
.pi-gl-row dd{margin:0;font-size:15px;color:var(--slate)}
@media(max-width:640px){.pi-gl-row{grid-template-columns:1fr;gap:4px}}

/* calculator */
.pi-calc{max-width:560px}
.pi-calc-out{margin:26px 0;max-width:560px}
.pi-calc-card{background:var(--ink);color:#e9ede9;border-radius:2px;padding:28px}
.pi-calc-card .pi-calc-band{font-family:var(--serif);font-size:30px;color:var(--sand-2);margin:4px 0 8px}
.pi-calc-card p{font-size:14px;color:#b9c4c0;margin:0}

/* ---------- stats ---------- */
.pi-strip-stats{background:var(--ink-2);color:#e9ede9;padding:8px 0}
.pi-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 28px}
@media(max-width:860px){.pi-stats{grid-template-columns:repeat(2,1fr)}}
.pi-stat b{display:block;font-family:var(--serif);font-size:30px;font-weight:600;color:inherit}
.pi-strip-stats .pi-stat b a{color:var(--sand-2)}
.pi-stat span{font-size:12.5px;letter-spacing:.06em;color:var(--mute);text-transform:uppercase;font-weight:700}
.pi-strip-stats .pi-stat span{color:#8fa19b}
.pi-sec .pi-stats{background:var(--card);border:1px solid var(--line);border-radius:2px;margin:0 0 44px}

/* market tables */
.pi-tablewrap{overflow-x:auto;margin:8px 0 36px;border:1px solid var(--line);border-radius:2px;background:var(--card)}
.pi-mkt{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.pi-mkt th{font-family:var(--sans);text-align:left;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mute);font-weight:800;padding:14px 18px;border-bottom:2px solid var(--line-2);background:var(--paper)}
.pi-mkt td{padding:13px 18px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.pi-mkt tr:last-child td{border-bottom:0}
.pi-mkt tr:hover td{background:rgba(239,233,220,.35)}
.pi-cut{font-weight:800;color:var(--ocean-deep);font-family:var(--serif);font-size:16px}

/* ---------- compare ---------- */
.pi-cmp-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 30px}
@media(max-width:760px){.pi-cmp-pickers{grid-template-columns:1fr}}
.pi-cmp-pickers select{font-family:var(--sans);font-size:14.5px;padding:11px 12px;
  border:1px solid var(--line-2);border-radius:2px;background:#fff;color:var(--ink)}
.pi-cmp-table{overflow-x:auto}
.pi-cmp-grid{width:100%;border-collapse:collapse;font-size:14.5px;min-width:680px;background:var(--card);
  border:1px solid var(--line)}
.pi-cmp-grid th,.pi-cmp-grid td{padding:13px 18px;border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);text-align:left;vertical-align:top}
.pi-cmp-grid thead th{background:var(--ink);color:#f3efe4;font-family:var(--serif);font-size:18px;font-weight:600}
.pi-cmp-grid thead th a{color:var(--sand-2)}
.pi-cmp-grid tbody th{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);font-weight:800;background:var(--paper);width:180px}
.pi-cmp-thumb{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:2px}
.pi-cmp-price{font-family:var(--serif);color:var(--ocean-deep);font-size:17px}

/* ---------- home ---------- */
.pi-home-hero{position:relative;min-height:min(88vh,760px);background:var(--ink) center/cover no-repeat;
  display:flex;align-items:center}
.pi-home-hero:after{content:"";position:absolute;inset:0;
  background:linear-gradient(96deg,rgba(12,20,23,.82) 22%,rgba(12,20,23,.38) 70%,rgba(12,20,23,.24))}
.pi-home-hero-in{position:relative;z-index:2;color:#fff;padding-top:60px;padding-bottom:70px}
.pi-home-hero .pi-eyebrow{color:var(--foam)}
.pi-home-hero h1{color:#fff;font-size:clamp(42px,6.4vw,74px);max-width:14ch;margin:0 0 20px}
.pi-home-lead{font-size:20px;line-height:1.6;color:#d3dad6;max-width:52ch;margin:0 0 34px}
.pi-home-cta{display:flex;gap:14px;flex-wrap:wrap}

/* split strip */
.pi-split{background:var(--ink);color:#e9ede9;padding:70px 0 54px}
.pi-split-in{display:grid;grid-template-columns:1fr 1fr;gap:60px}
@media(max-width:860px){.pi-split-in{grid-template-columns:1fr}}
.pi-split-cell h2{color:#fff;font-size:30px}
.pi-split-cell p{color:#b9c4c0;font-size:16px;max-width:52ch}
.pi-split-cell .pi-eyebrow{color:var(--foam)}
.pi-split-cell .pi-btn-ghost{border-color:rgba(255,255,255,.28);color:#e9ede9}
.pi-split-cell .pi-btn-ghost:hover{background:rgba(255,255,255,.08)}
.pi-split-foot{margin-top:44px}
.pi-split-foot p{border-top:1px solid rgba(255,255,255,.12);padding-top:26px;color:#8fa19b;font-size:14.5px;margin:0}
.pi-split-foot a{color:var(--foam)}

/* ---------- closing sequence ---------- */
.pi-close-band{height:min(52vh,460px);background:var(--ink) center/cover no-repeat;position:relative}
.pi-close-band:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,20,23,.18),rgba(12,20,23,.05) 40%,rgba(12,20,23,.55))}
.pi-close-cap{position:absolute;right:34px;bottom:22px;z-index:2;color:rgba(255,255,255,.85);
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.pi-atoll-strip{background:var(--ocean-deep);color:#e9ede9;padding:54px 0}
.pi-atoll-in{display:flex;gap:48px;align-items:center}
@media(max-width:760px){.pi-atoll-in{flex-direction:column;align-items:flex-start}}
.pi-atoll-cover{flex:0 0 150px;aspect-ratio:3/4;background:linear-gradient(160deg,#20494f,#122e33);
  border:1px solid rgba(255,255,255,.16);border-radius:2px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;box-shadow:0 24px 50px -26px rgba(0,0,0,.7)}
.pi-atoll-mast{font-family:var(--serif);font-size:26px;letter-spacing:.34em;color:#f3efe4;font-weight:600;padding-left:.34em}
.pi-atoll-no{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--foam);font-weight:700}
.pi-atoll-copy h2{color:#fff;font-size:27px;margin:0 0 10px}
.pi-atoll-copy p{color:#b9c4c0;max-width:56ch;margin:0 0 20px;font-size:15.5px}
.pi-atoll-copy .pi-eyebrow{color:var(--foam)}
.pi-atoll-copy .pi-btn-ghost{border-color:rgba(255,255,255,.28);color:#e9ede9}
.pi-atoll-copy .pi-btn-ghost:hover{background:rgba(255,255,255,.08)}

/* ---------- footer (contained) ---------- */
.pi-foot{background:var(--ink);color:#aeb8b3;font-size:14px}
.pi-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px;padding-top:64px;padding-bottom:44px}
@media(max-width:960px){.pi-foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:560px){.pi-foot-grid{grid-template-columns:1fr}}
.pi-foot .pi-brand-main{font-size:21px}
.pi-foot-memo{margin:16px 0 12px;max-width:34ch;color:#8fa19b;font-size:13.5px;line-height:1.6}
.pi-foot-contact a{color:var(--foam)}
.pi-foot h4{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:#7e928b;font-weight:800;margin:4px 0 16px}
.pi-foot nav{display:flex;flex-direction:column;gap:9px}
.pi-foot nav a{color:#aeb8b3;font-size:13.5px}
.pi-foot nav a:hover{color:#fff}
.pi-foot-base{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;padding-bottom:26px}
.pi-foot-base p{margin:0;font-size:12px;color:#71827b}

/* ---------- print: Island Brief ---------- */
.pi-brief-head{display:none}
@media print{
  @page{margin:14mm}
  body.pi-body{background:#fff;font-size:11pt;color:#111}
  .pi-top,.pi-foot,.pi-share,.pi-gate,.pi-cmpbar,.pi-cmp,.pi-crumb,.pi-close-band,
  .pi-atoll-strip,.pi-sec-tight,.pi-panel-cta,.pi-btn,.pi-toolbar,.pi-flag{display:none !important}
  .pi-brief-head{display:block;border-bottom:2px solid #111;margin:0 0 14px;padding:0 0 8px}
  .pi-brief-brand{font-family:var(--serif);font-size:14pt;margin:0;color:#111}
  .pi-brief-url{font-size:8.5pt;color:#555;margin:2px 0 0}
  .pi-hero{height:auto;background:none !important;display:block}
  .pi-hero:after{display:none}
  .pi-hero-in{color:#111;padding:0}
  .pi-hero h1{color:#111;font-size:22pt;margin:2px 0}
  .pi-hero .pi-place{color:#444}
  .pi-hero-price{color:#111;font-size:14pt}
  .pi-statusline{border:1px solid #111;color:#111;background:none}
  .pi-layout{display:block}
  .pi-aside{position:static;display:block}
  .pi-panel{border:1px solid #999;page-break-inside:avoid;margin:10px 0}
  .pi-narr h2{border-color:#ccc;page-break-after:avoid}
  .pi-spec th,.pi-spec td{padding:6px 4px;border-color:#ccc}
  .pi-attr{background:none;border-left:2px solid #999}
  .pi-gallery{display:none}
  .pi-pr-row:before{background:#111}
  a{color:#111 !important;text-decoration:none}
}


/* ---------- widescreen: near-black gutters + coastal edgeline ---------- */
@media (min-width:1600px){
  body.pi-body{
    background:
      radial-gradient(140% 90% at 50% -10%, rgba(46,95,102,.10), transparent 55%),
      repeating-linear-gradient(115deg, rgba(255,255,255,.012) 0 2px, transparent 2px 7px),
      #070c0e;
  }
  .pi-main{max-width:1520px;margin:0 auto;background:var(--paper);position:relative}
  .pi-main::before,.pi-main::after{content:"";position:absolute;top:0;bottom:0;width:56px;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2256%22%20height%3D%22720%22%20viewBox%3D%220%200%2056%20720%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23070c0e%22%20stop-opacity%3D%221%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23070c0e%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M30.0%200%20Q30.0%200.0%2025.5%2025.0%20Q21.0%2050.0%2027.0%2081.5%20Q33.0%20113.0%2038.5%20137.5%20Q44.0%20162.0%2045.0%20188.0%20Q46.0%20214.0%2046.0%20229.0%20Q46.0%20244.0%2044.5%20258.5%20Q43.0%20273.0%2044.5%20295.0%20Q46.0%20317.0%2046.0%20331.0%20Q46.0%20345.0%2043.0%20372.5%20Q40.0%20400.0%2043.0%20430.5%20Q46.0%20461.0%2040.5%20482.5%20Q35.0%20504.0%2040.5%20529.5%20Q46.0%20555.0%2043.0%20579.5%20Q40.0%20604.0%2036.0%20619.0%20Q32.0%20634.0%2038.0%20651.0%20Q44.0%20668.0%2045.0%20694.0%20Q46.0%20720.0%2038.0%20720.0%20L30.0%20720%20L0%20720%20L0%200%20Z%22%20fill%3D%22%23070c0e%22%2F%3E%3Cpath%20d%3D%22M30.0%200%20Q30.0%200.0%2025.5%2025.0%20Q21.0%2050.0%2027.0%2081.5%20Q33.0%20113.0%2038.5%20137.5%20Q44.0%20162.0%2045.0%20188.0%20Q46.0%20214.0%2046.0%20229.0%20Q46.0%20244.0%2044.5%20258.5%20Q43.0%20273.0%2044.5%20295.0%20Q46.0%20317.0%2046.0%20331.0%20Q46.0%20345.0%2043.0%20372.5%20Q40.0%20400.0%2043.0%20430.5%20Q46.0%20461.0%2040.5%20482.5%20Q35.0%20504.0%2040.5%20529.5%20Q46.0%20555.0%2043.0%20579.5%20Q40.0%20604.0%2036.0%20619.0%20Q32.0%20634.0%2038.0%20651.0%20Q44.0%20668.0%2045.0%20694.0%20Q46.0%20720.0%2038.0%20720.0%20L30.0%20720%20L0%20720%20L0%200%20Z%22%20fill%3D%22none%22%20stroke%3D%22url%28%23g%29%22%20stroke-width%3D%2210%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E");
    background-repeat:repeat-y;background-size:56px 720px;pointer-events:none;z-index:44}
  .pi-main::before{left:0}
  .pi-main::after{right:0;transform:scaleX(-1)}
  .pi-top-in,.pi-foot-grid,.pi-foot-base{max-width:var(--wrap)}
}
@media print{
  .pi-main::before,.pi-main::after{display:none !important}
  body.pi-body{background:#fff !important}
  .pi-main{max-width:none}
}

/* ---------- The Charthouse: chart-object nav button ---------- */
.pi-nav a.pi-charthouse{
  position:relative;display:inline-flex;align-items:center;
  padding:9px 16px 9px 14px;border:1px solid rgba(143,179,172,.4);border-radius:2px;
  color:#dfe7e3;font-weight:700;letter-spacing:.05em;line-height:1;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22150%22%20height%3D%2240%22%20viewBox%3D%220%200%20150%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238fb3ac%22%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M-6%2030%20Q18%2018%2038%2026%20T78%2024%20T118%2030%20T156%2024%22%20opacity%3D%22.34%22%2F%3E%3Cpath%20d%3D%22M-6%2036%20Q22%2026%2044%2032%20T88%2030%20T132%2036%20T158%2032%22%20opacity%3D%22.22%22%2F%3E%3Cpath%20d%3D%22M-4%2022%20Q20%2012%2042%2018%20T86%2015%20T126%2020%20T154%2016%22%20opacity%3D%22.16%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%238fb3ac%22%20stroke-width%3D%221%22%20opacity%3D%22.38%22%3E%3Cline%20x1%3D%2210%22%20y1%3D%220%22%20x2%3D%2210%22%20y2%3D%223%22%2F%3E%3Cline%20x1%3D%2230%22%20y1%3D%220%22%20x2%3D%2230%22%20y2%3D%223%22%2F%3E%3Cline%20x1%3D%2250%22%20y1%3D%220%22%20x2%3D%2250%22%20y2%3D%223%22%2F%3E%3Cline%20x1%3D%2270%22%20y1%3D%220%22%20x2%3D%2270%22%20y2%3D%223%22%2F%3E%3Cline%20x1%3D%2290%22%20y1%3D%220%22%20x2%3D%2290%22%20y2%3D%223%22%2F%3E%3Cline%20x1%3D%22110%22%20y1%3D%220%22%20x2%3D%22110%22%20y2%3D%223%22%2F%3E%3Cline%20x1%3D%22130%22%20y1%3D%220%22%20x2%3D%22130%22%20y2%3D%223%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23cbb87e%22%20stroke-width%3D%22.8%22%20opacity%3D%22.5%22%3E%3Ccircle%20cx%3D%22132%22%20cy%3D%2213%22%20r%3D%225%22%20fill%3D%22none%22%2F%3E%3Cline%20x1%3D%22132%22%20y1%3D%226.5%22%20x2%3D%22132%22%20y2%3D%2219.5%22%2F%3E%3Cline%20x1%3D%22125.5%22%20y1%3D%2213%22%20x2%3D%22138.5%22%20y2%3D%2213%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/150px 40px no-repeat,
    linear-gradient(160deg,#12262b,#0d181c);
  transition:border-color .18s ease, box-shadow .18s ease, filter .18s ease;
  border-bottom:1px solid rgba(143,179,172,.4);
}
.pi-nav a.pi-charthouse:hover{
  color:#fff;border-color:rgba(203,184,126,.75);
  filter:brightness(1.28) saturate(1.1);
  box-shadow:0 0 0 1px rgba(203,184,126,.18), 0 8px 22px -12px rgba(143,179,172,.45);
  text-decoration:none;
}
@media print{.pi-nav a.pi-charthouse{display:none}}
