/* Fishhead Island Club — visual design from the Magic Patterns concept (Oct 2026):
   navy sidebar, sand canvas, white rounded cards with soft shadows, coral pill buttons. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');
:root{--navy:#0F3B4C;--navy8:#0A2C39;--navyT:#E4ECEF;--teal:#2BA3B8;--tealT:#D5EEF2;--tealD:#14606D;--sand:#F6F1E7;--sandD:#ECE3D1;--coral:#E8734A;--coralT:#FBE3D9;--coralD:#A8441F;--leaf:#3E9B6A;--leafT:#DCEFE3;--leafD:#24603F;--stone:#9AA5AD;--stoneT:#E7EAEC;--stoneD:#4F5B63;
  --ink:#0F3B4C;--mute:rgba(15,59,76,.65);--line:rgba(15,59,76,.10);--ok:#3E9B6A;--warn:#C98A12;--bad:#C0392B;--r:16px;
  --shadow:0 1px 2px rgba(15,59,76,.04),0 10px 30px -12px rgba(15,59,76,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--sand);line-height:1.55;font-size:15.5px;-webkit-font-smoothing:antialiased}
a{color:var(--tealD)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:Montserrat,"Segoe UI",Arial,sans-serif;color:var(--navy);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:700}
h2{font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:700}
h3{font-size:1.1rem;font-weight:600}
.wrap{max-width:1200px;margin:0 auto;padding:0 22px}
.muted{color:var(--mute)} .small{font-size:.86rem} .center{text-align:center}
/* top bar (prospect site) */
.top{position:sticky;top:0;z-index:20;background:rgba(246,241,231,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;min-height:68px}
.top .logo img{height:42px;width:auto}
.nav{display:flex;gap:2px;flex-wrap:nowrap;margin-left:auto;align-items:center}
.nav a{padding:8px 11px;border-radius:999px;text-decoration:none;color:var(--navy);font-weight:500;font-size:.9rem;white-space:nowrap}
.nav a:hover,.nav a.on{background:#fff}
.nav a.btn{color:#fff}.nav a.btn.coral{color:var(--navy8)}
.menu-toggle{display:none;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:1rem;color:var(--navy)}
@media(max-width:1180px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--sand);flex-direction:column;align-items:stretch;padding:10px;border-bottom:1px solid var(--line)}.nav.open{display:flex}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:600;text-decoration:none;cursor:pointer;font-size:.93rem;font-family:inherit;transition:background .15s}
.btn:hover{background:var(--navy8)}
.btn.coral,.btn.primary{background:var(--coral);color:var(--navy8)} .btn.coral:hover,.btn.primary:hover{background:#EE875F}
.btn.alt{background:var(--teal)} .btn.alt:hover{background:var(--tealD)}
.btn.ghost{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px rgba(15,59,76,.18)} .btn.ghost:hover{background:var(--sandD)}
.btn.light{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);backdrop-filter:blur(4px)} .btn.light:hover{background:rgba(255,255,255,.22)}
.btn.sm{padding:7px 14px;font-size:.84rem} .btn.bad{background:var(--bad);color:#fff} .btn.block{width:100%}
/* hero */
.hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy) center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,44,57,.25),rgba(10,44,57,.62))}
.hero .wrap{position:relative;padding-bottom:170px;width:100%}
.hero h1{color:#fff;max-width:880px;font-size:clamp(2.2rem,5.2vw,4rem);line-height:1.06}
.hero p{font-size:1.12rem;max-width:620px;color:rgba(255,255,255,.9)}
.kicker{font-size:.84rem;font-weight:600;color:var(--tealD);margin-bottom:10px}
.hero .kicker{color:rgba(255,255,255,.85)}
.stats-over{position:relative;z-index:5;margin-top:-120px}
section{padding:80px 0} section.alt{background:#fff} section.tight{padding:48px 0}
.grid{display:grid;gap:18px} .g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))} .g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))} .g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.card{background:#fff;border-radius:var(--r);padding:24px;box-shadow:var(--shadow);border:0}
.card.navy{background:var(--navy);color:#fff}.card.navy h3,.card.navy .stat{color:#fff}
.alt .card{box-shadow:none;background:var(--sand)}
.stat{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;color:var(--navy);font-family:Montserrat,sans-serif;letter-spacing:-.02em}
.photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--navy);box-shadow:var(--shadow)}
.photo img{width:100%;height:100%;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;grid-auto-rows:210px}
.gallery a,.gallery figure{border-radius:var(--r);overflow:hidden;display:block;margin:0;position:relative;background:var(--navy)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery a:hover img{transform:scale(1.04)}
.gallery .wide{grid-column:span 2}.gallery .tall{grid-row:span 2}
.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(10,44,57,.7);color:#fff;font-size:.75rem;font-weight:500;padding:4px 11px;border-radius:999px;backdrop-filter:blur(4px)}
@media(max-width:700px){.gallery{grid-auto-rows:160px}.gallery .wide{grid-column:span 1}}
.steps{counter-reset:s;display:grid;gap:34px 40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.steps>div{border-top:1px solid var(--line);padding-top:22px}
.steps>div:before{counter-increment:s;content:counter(s,decimal-leading-zero);display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:.85rem;color:var(--tealD);margin-bottom:8px}
.steps.boxed>div{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border:0;padding:24px}
.price{font-size:2.3rem;font-weight:700;color:var(--coral);font-family:Montserrat,sans-serif;letter-spacing:-.02em}
ul.ticks{list-style:none;padding:0} ul.ticks li{padding-left:28px;position:relative;margin:8px 0} ul.ticks li:before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--tealT) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2314606D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.notice{background:#FFF7E6;padding:16px 20px;border-radius:14px;margin:16px 0;border:1px solid #F3DDA8}
.notice.info{background:var(--tealT);border-color:#B9E1E9} .notice.bad{background:var(--coralT);border-color:#F2C4B1} .notice.ok{background:var(--leafT);border-color:#BFE0CB}
details{border-radius:14px;padding:14px 18px;margin:10px 0;background:#fff;box-shadow:var(--shadow)} summary{cursor:pointer;font-weight:600;color:var(--navy)}
table{width:100%;border-collapse:collapse;font-size:.92rem} th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top} th{color:var(--mute);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;background:transparent}
td.num,th.num{text-align:right;white-space:nowrap}
.tablewrap{overflow-x:auto;background:#fff;border-radius:var(--r);box-shadow:var(--shadow)} .tablewrap table{border:0}
.tablewrap tr:last-child td{border-bottom:0}
footer{background:var(--navy);color:rgba(255,255,255,.72);padding:46px 0;font-size:.9rem} footer a{color:#fff} footer b{color:#fff}
.cta{position:relative;border-radius:28px;overflow:hidden;background:var(--navy);color:#fff}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.cta .in{position:relative;padding:64px 56px;display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.cta h2{color:#fff}.cta p{color:rgba(255,255,255,.85);max-width:560px}
/* forms */
form.stack{display:grid;gap:14px;max-width:680px} label{font-weight:600;font-size:.85rem;color:rgba(15,59,76,.75);display:block}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid rgba(15,59,76,.16);border-radius:12px;font:inherit;font-size:.95rem;background:#fff;margin-top:6px;color:var(--navy)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(43,163,184,.25)}
textarea{min-height:100px} .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.check{display:flex;gap:10px;align-items:center;font-weight:500} .check input{width:auto;margin:0}
fieldset{border:0;padding:0;margin:0}
/* gate / login */
.gate{min-height:100vh;display:grid;place-items:center;background:var(--navy) center/cover;position:relative;padding:20px}
.gate:before{content:"";position:absolute;inset:0;background:rgba(10,44,57,.55)}
.gate .box{position:relative;background:#fff;border-radius:24px;padding:36px;max-width:430px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.gate .box img.logo{height:58px;margin:0 auto 18px}
.gate .btn{width:100%}
/* members app */
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.side{background:var(--navy);color:#fff;padding:22px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}
.side .brand{display:flex;align-items:center;gap:10px;padding:0 10px 22px;text-decoration:none}
.side .brand span.ic{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;padding:5px;flex-shrink:0}
.side .brand b{font-family:Montserrat,sans-serif;font-size:.95rem;color:#fff;line-height:1.15;font-weight:600}.side .brand small{display:block;color:rgba(255,255,255,.65);font-size:.75rem;font-weight:500}
.side nav{flex:1}
.side nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;text-decoration:none;color:rgba(255,255,255,.72);font-weight:500;font-size:.92rem;margin-bottom:2px}
.side nav a svg{width:18px;height:18px;flex-shrink:0}
.side nav a.on{background:rgba(255,255,255,.12);color:#fff}.side nav a.on svg{color:var(--teal)}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side .me{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border-radius:12px;padding:10px;margin-top:12px}
.side .me .av{width:36px;height:36px;border-radius:50%;background:var(--teal);color:var(--navy8);display:grid;place-items:center;font-weight:700;font-family:Montserrat,sans-serif;font-size:.85rem;flex-shrink:0}
.side .me b{display:block;font-size:.88rem;color:#fff}.side .me small{color:rgba(255,255,255,.6);font-size:.75rem}
.side .me form{margin-left:auto}.side .me button{background:none;border:0;color:rgba(255,255,255,.7);cursor:pointer;font-size:.78rem;font-family:inherit;text-decoration:underline}
.mtop{display:none}
.main{padding:40px 44px;min-width:0;max-width:1240px}
@media(max-width:1000px){.app{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:280px;z-index:50;transform:translateX(-100%);transition:transform .25s cubic-bezier(.23,1,.32,1)}.side.open{transform:none;box-shadow:0 0 0 100vmax rgba(10,44,57,.5)}
  .mtop{display:flex;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(246,241,231,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .mtop button{background:none;border:0;font-size:1.4rem;color:var(--navy);padding:6px 10px;border-radius:10px}.mtop img{height:34px}.main{padding:20px 16px}}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--stoneT);color:var(--stoneD);white-space:nowrap;text-transform:capitalize}
.pill.open,.pill.requested,.pill.waiting{background:#FFF1D6;color:#8A5A00} .pill.in_progress{background:var(--tealT);color:var(--tealD)} .pill.done,.pill.confirmed,.pill.passed,.pill.final,.pill.signed{background:var(--leafT);color:var(--leafD)}
.pill.cancelled,.pill.failed,.pill.bad,.pill.high,.pill.urgent{background:var(--coralT);color:var(--coralD)} .pill.draft,.pill.low,.pill.normal{background:var(--stoneT);color:var(--stoneD)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}
.kpi{background:#fff;border-radius:var(--r);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.kpi:first-child{background:var(--navy)}.kpi:first-child b{color:#fff}.kpi:first-child span{color:rgba(255,255,255,.7)}
.kpi b{order:2;display:block;font-size:1.75rem;color:var(--navy);font-family:Montserrat,sans-serif;font-weight:700;letter-spacing:-.02em;margin-top:8px}
.kpi span{order:1;color:var(--mute);font-size:.85rem;font-weight:500}
.kpi .bar{order:3}
.flash{padding:13px 18px;border-radius:14px;margin-bottom:18px;background:var(--leafT);color:var(--leafD);font-weight:500}
.flash.err{background:var(--coralT);color:var(--coralD)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.toolbar h1{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);flex:1}
.hello{margin-bottom:26px}.hello .date{color:var(--mute);font-size:.9rem}.hello h1{margin:4px 0 6px}.hello p{color:var(--mute);margin:0}
.list{list-style:none;margin:0;padding:0}.list li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}
.datebox{width:50px;flex-shrink:0;background:var(--sand);border-radius:12px;text-align:center;padding:6px 0}.datebox small{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;color:var(--mute)}.datebox b{font-family:Montserrat,sans-serif;font-size:1.15rem;line-height:1}
.list .grow{flex:1;min-width:0}.list .grow b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list .grow small{color:var(--mute)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.qa{display:grid;gap:10px}.qa a{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;background:var(--sand);color:var(--navy);text-decoration:none;font-weight:600;font-size:.92rem}.qa a:hover{background:var(--sandD)}.qa a.primary{background:var(--coral);color:var(--navy8)}.qa a.primary:hover{background:#EE875F}
.cardhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cardhead h3{margin:0}.cardhead a{font-size:.88rem;font-weight:600;text-decoration:none}
/* calendar */
.calcard{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.calhead{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.calhead h2{margin:0;font-size:1.3rem}
.calhead a{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;text-decoration:none;color:var(--navy);font-size:1.2rem}.calhead a:hover{background:var(--sand)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
.cal .h{background:#fff;font-size:.74rem;font-weight:600;color:var(--mute);padding:8px}
.cal .d{min-height:100px;padding:6px;font-size:.75rem;background:#fff;overflow:hidden;display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:background .15s}
.cal .d:hover{background:#F1FAFC}
.cal .d.out{opacity:.45}.cal .d.peak{background:var(--sand)}.cal .d.past{cursor:default}.cal .d.sel{background:#E3F4F7}
.cal .d .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:.8rem;color:var(--navy)}
.cal .d.today .n{box-shadow:inset 0 0 0 1.5px var(--coral);color:var(--coralD)}.cal .d.edge .n{background:var(--tealD);color:#fff}
.cal .tag{display:block;padding:3px 7px;border-radius:6px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;font-size:.72rem;border-left:3px solid}
.tag.island{background:var(--tealT);color:var(--tealD);border-color:var(--teal)} .tag.rooms{background:var(--leafT);color:var(--leafD);border-color:var(--leaf)} .tag.rental{background:var(--coralT);color:var(--coralD);border-color:var(--coral)} .tag.block{background:var(--stoneT);color:var(--stoneD);border-color:var(--stone)}
.tag.requested{opacity:.65;background-image:repeating-linear-gradient(45deg,transparent 0 6px,rgba(255,255,255,.5) 6px 12px)}
.cal .free{color:var(--mute);font-size:.7rem}
@media(max-width:640px){.cal .d{min-height:58px;padding:3px}.cal .tag{font-size:0;padding:0;height:6px;border-left:0}.cal .free{display:none}}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--mute);padding:14px 20px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.bookgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}
@media(max-width:1180px){.bookgrid{grid-template-columns:1fr}}
.seg{display:grid;grid-template-columns:repeat(var(--n,2),1fr);background:var(--sand);border-radius:999px;padding:4px;margin:14px 0}
.seg label{margin:0;text-align:center;cursor:pointer}.seg input{position:absolute;opacity:0;width:0;height:0}
.seg span{display:block;padding:9px 6px;border-radius:999px;font-weight:600;font-size:.88rem;color:rgba(15,59,76,.7);transition:background .15s,color .15s}
.seg input:checked+span{background:var(--navy);color:#fff}
.stepper{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.stepper b{font-size:.92rem}.stepper small{display:block;color:var(--mute);font-size:.78rem;font-weight:400}
.stepper .ctl{display:flex;align-items:center;gap:12px}.stepper .ctl button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(15,59,76,.2);background:#fff;font-size:1.1rem;cursor:pointer;color:var(--navy)}
.stepper .ctl input{width:40px;text-align:center;border:0;margin:0;padding:0;font-weight:700;font-size:1rem;background:transparent;box-shadow:none}
.roomlist{display:grid;gap:6px;margin-top:6px}
.roomlist label{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;margin:0;font-weight:500;color:var(--navy);cursor:pointer;font-size:.88rem}
.roomlist label:hover{background:var(--sand)}.roomlist input{width:18px;height:18px;margin:0;accent-color:var(--tealD)}
.roomlist label.taken{opacity:.45;cursor:not-allowed}.roomlist small{margin-left:auto;color:var(--mute);font-weight:400;white-space:nowrap}
.summary{background:var(--sand);border-radius:14px;padding:16px;margin-top:16px}.summary b{font-family:Montserrat,sans-serif;font-size:1.08rem}.summary small{display:block;color:var(--mute);margin-top:4px}
.bar{height:8px;background:var(--navyT);border-radius:99px;overflow:hidden;margin-top:12px}.bar i{display:block;height:100%;background:var(--teal);border-radius:99px}
.print-only{display:none}
@media print{.top,.side,.mtop,.nav,.toolbar .btn,footer{display:none!important}.app{display:block}.print-only{display:block}}
.rules h2{font-size:1.4rem;margin-top:28px}.rules h3{font-size:1.1rem;margin-top:20px}.rules table{margin:10px 0}
/* refinements */
input,select,textarea{min-width:0}
.cal .d.out{background:#FBF9F5;opacity:1}.cal .d.out .n,.cal .d.past .n{opacity:.4}
.seg span{white-space:nowrap;font-size:.84rem;padding:9px 4px}
.side .me button{white-space:nowrap}
.side{min-height:100vh}
.bookgrid>*{min-width:0}.row>label{min-width:0}.roomlist label>span{flex:1;min-width:0}
input[type=date]{min-width:0;max-width:100%}
/* ---- Magic Patterns website designs (Oct 2026): rental + membership sites ---- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:900px){.facts{grid-template-columns:1fr 1fr;gap:10px}}
.facts .card{padding:22px}.facts .card.navy{background:var(--navy)}.facts .card.navy .stat{color:#fff}.facts .card.navy .muted{color:rgba(255,255,255,.75)}
.facts .ico{width:22px;height:22px;color:var(--tealD);margin-bottom:14px}.facts .card.navy .ico{color:var(--teal)}
.numsteps{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}@media(max-width:800px){.numsteps{grid-template-columns:1fr}}
.numsteps li{position:relative;padding-right:20px}.numsteps li .c{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--teal);color:#fff;font:700 .9rem Montserrat,sans-serif;position:relative;z-index:1}
.numsteps li:not(:last-child):after{content:"";position:absolute;left:52px;right:0;top:20px;height:1px;background:rgba(15,59,76,.15)}@media(max-width:800px){.numsteps li:after{display:none}}
.numsteps h3{margin:16px 0 4px}.numsteps p{margin:0;color:var(--mute);font-size:.92rem}
.quote{display:grid;grid-template-columns:1fr 1.3fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}@media(max-width:800px){.quote{grid-template-columns:1fr}}
.quote img{width:100%;height:100%;object-fit:cover;min-height:260px}.quote .in{padding:48px;display:flex;flex-direction:column;justify-content:center}
.quote blockquote{margin:16px 0 0;font:500 1.35rem/1.5 Montserrat,sans-serif;color:var(--navy)}.quote .q{font:800 3rem/1 Montserrat,sans-serif;color:var(--coral)}
.pagehero{position:relative;min-height:46vh;display:flex;align-items:flex-end;background:var(--navy) center/cover;color:#fff}.pagehero:before{content:"";position:absolute;inset:0;background:rgba(10,44,57,.42)}
.pagehero .wrap{position:relative;padding-bottom:46px;width:100%}.pagehero h1{color:#fff;font-size:clamp(2.4rem,5vw,4rem);margin:0}.pagehero p{color:rgba(255,255,255,.88);margin:8px 0 0;font-size:1.05rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}@media(max-width:900px){.split{grid-template-columns:1fr;gap:26px}}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duo img{aspect-ratio:4/5;object-fit:cover;border-radius:16px;width:100%}.duo img:last-child{margin-top:40px}
.navycard{background:var(--navy);color:#fff;border-radius:28px;padding:32px;box-shadow:var(--shadow)}.navycard h2,.navycard h3{color:#fff}.navycard .row2{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}.navycard p{color:rgba(255,255,255,.72);margin:4px 0 0;font-size:.9rem}
.whitecard{background:#fff;border-radius:28px;padding:32px;box-shadow:var(--shadow)}
.ctasplit{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);border-radius:28px;overflow:hidden}@media(max-width:900px){.ctasplit{grid-template-columns:1fr}}.ctasplit .in{padding:56px}.ctasplit h2{color:#fff}.ctasplit p{color:rgba(255,255,255,.8);font-size:1.08rem}.ctasplit img{width:100%;height:100%;object-fit:cover;min-height:280px}
.prices3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.prices3{grid-template-columns:1fr}}
.prices3>div{display:flex;flex-direction:column;border-radius:28px;padding:32px;background:#fff;box-shadow:var(--shadow)}.prices3>div.navy{background:var(--navy);color:#fff}
.prices3 .lbl{font-size:.88rem;color:var(--mute)}.prices3 .navy .lbl,.prices3 .navy .unit,.prices3 .navy .note{color:rgba(255,255,255,.7)}.prices3 .val{font:600 2.2rem Montserrat,sans-serif;margin-top:14px;white-space:nowrap}.prices3 .unit{font-size:.88rem;color:var(--mute)}
.prices3 .body{margin-top:20px;line-height:1.6}.prices3 .note{margin-top:auto;padding-top:22px;border-top:1px solid var(--line);font-size:.86rem;color:var(--mute)}.prices3 .navy .note{border-color:rgba(255,255,255,.15)}
.sharebars td{padding:18px 8px}.sharebars .b{height:8px;border-radius:99px;background:var(--sandD)}.sharebars .b i{display:block;height:8px;border-radius:99px;background:var(--teal)}
.risks{border:1px solid rgba(232,115,74,.4);background:#FDF0EA;border-radius:28px;padding:44px}.risks ul{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:26px 46px}@media(max-width:800px){.risks ul{grid-template-columns:1fr}.risks{padding:26px}}
.risks li{border-top:1px solid rgba(232,115,74,.3);padding-top:16px}.risks li b{display:block;color:var(--navy)}.risks li span{color:rgba(15,59,76,.75);line-height:1.6}
.flow{display:flex;align-items:center;gap:0}@media(max-width:900px){.flow{flex-direction:column;align-items:stretch}}
.flow .node{flex:1;border-radius:18px;padding:20px;text-align:center;border:1px solid rgba(15,59,76,.15)}.flow .node.dark{background:var(--navy);color:#fff;border:0}.flow .node.light{background:var(--tealT);border:0}
.flow .node b{display:block;font-family:Montserrat,sans-serif}.flow .node small{color:var(--mute)}.flow .node.dark small{color:rgba(255,255,255,.7)}
.flow .link{width:130px;text-align:center;font-size:.78rem;color:var(--mute);padding:8px}.flow .link.em{color:var(--navy);font-weight:600}.flow .link:before{content:"→";display:block;font-size:1.1rem;color:var(--coral)}@media(max-width:900px){.flow .link{width:auto}.flow .link:before{content:"↓"}}
/* two-month price calendar (guest site) */
.mcal{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:8px 22px 18px}@media(max-width:900px){.mcal{grid-template-columns:1fr}}
.mcal h3{font-size:1rem;margin:0 0 10px}.mcal .wk{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.7rem;color:var(--mute);font-weight:600;padding-bottom:6px}
.mcal .days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:4px}
.mcal button{height:54px;border:0;background:none;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font:600 .88rem Inter,sans-serif;color:var(--navy)}
.mcal button small{font-size:.66rem;font-weight:500;color:var(--mute);margin-top:3px}.mcal button.wkd small{color:var(--tealD)}.mcal button.hol small{color:var(--coralD);font-weight:700}
.mcal button:hover:not(:disabled){background:rgba(43,163,184,.1)}.mcal button:disabled{color:rgba(15,59,76,.25);cursor:default}.mcal button.bk{background:rgba(15,59,76,.05);text-decoration:line-through}
.mcal button.in{background:rgba(43,163,184,.15);border-radius:0}.mcal button.sel{background:var(--navy);color:#fff}.mcal button.sel small{color:rgba(255,255,255,.8)}
.mcal button.sel,.mcal button.sel:hover{background:var(--navy)!important;color:#fff}
/* split-screen gate (Magic Patterns) */
.gate2{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}@media(max-width:900px){.gate2{grid-template-columns:1fr}}
.gate2 .pic{position:relative;min-height:240px;background:var(--navy) center/cover}.gate2 .pic:before{content:"";position:absolute;inset:0;background:rgba(10,44,57,.3)}.gate2 .pic span{position:absolute;left:28px;bottom:26px;color:#fff;font-size:.88rem;font-weight:500}
.gate2 .form{display:flex;align-items:center;justify-content:center;padding:56px 28px;background:var(--sand)}.gate2 .form>div{width:100%;max-width:420px}
.gate2 h1{font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:600;margin:44px 0 12px}.gate2 .btn{width:100%;border-radius:12px;padding:15px}
.gate2 .codein{font-family:Montserrat,sans-serif;letter-spacing:.15em;font-size:1.05rem;padding:14px}
.gate2 .foot{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:.88rem;color:var(--mute)}.gate2 .lock{margin-top:34px;font-size:.75rem;color:rgba(15,59,76,.5)}
.choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:700px){.choice{grid-template-columns:1fr}}
.choice label{display:flex;gap:10px;align-items:center;border:1px solid rgba(15,59,76,.15);border-radius:12px;padding:13px 14px;font-weight:500;font-size:.88rem;cursor:pointer;margin:0;color:var(--navy)}.choice input{width:auto;margin:0;accent-color:var(--navy)}
.choice label:has(input:checked){border-color:var(--navy);background:#fff}
.visitbox{border:1px solid rgba(15,59,76,.15);border-radius:16px;padding:18px}.visitbox:has(input[name=visit]:checked){border-color:var(--teal);background:#fff}
.qa a svg{width:18px;height:18px;flex-shrink:0}
.main{max-width:1400px}
@media(max-width:1000px){.dashgrid,.main .grid[style*="1fr 1fr"]{grid-template-columns:1fr!important}}
