:root{--navy:#123b4a;--deep:#0b2d38;--blue:#2e7890;--aqua:#8fd2dc;--sky:#dff3f6;--sand:#f8f0df;--cream:#fffdf8;--coral:#e89b78;--sun:#f5cf72;--peach:#f7c6a8;--text:#23404a;--muted:#61767d;--white:#fff;--green:#377d67;--red:#a94c4c;--shadow:0 18px 55px rgba(18,59,74,.12);--shadow-soft:0 10px 30px rgba(18,59,74,.08);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--cream);line-height:1.65;overflow-x:hidden}a{text-decoration:none;color:inherit}.container{width:min(1160px,92%);margin:auto}.topbar{background:var(--navy);color:#fff;text-align:center;padding:9px 15px;font-size:.84rem;font-weight:800;letter-spacing:.6px}.topbar span{margin:0 8px}.demo-banner{background:#fff3c8;color:#574315;padding:9px 15px;text-align:center;font-weight:800;border-bottom:1px solid #ead38d;font-size:.88rem}.demo-banner a{text-decoration:underline}header{position:sticky;top:0;z-index:30;background:rgba(255,253,248,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,59,74,.08)}.nav{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--blue);border-radius:50% 47% 52% 48%;font-family:Georgia,serif;font-size:1.55rem;font-style:italic;transform:rotate(-6deg);box-shadow:inset 0 0 0 4px var(--cream)}.brand-copy{font-weight:700;line-height:1}.brand-copy strong,.brand-copy em{display:block}.brand-copy strong{font-size:.97rem}.brand-copy em{font-size:.67rem;color:var(--blue);margin-top:5px;font-weight:600;letter-spacing:.4px}nav{display:flex;gap:20px;align-items:center}nav a{font-weight:800;font-size:.86rem;color:var(--navy);position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--coral);transition:.2s}nav a:hover:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--coral);color:#fff;padding:12px 19px;border-radius:999px;font-weight:900;border:0;cursor:pointer;box-shadow:0 8px 20px rgba(232,155,120,.27);font:inherit;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(232,155,120,.32)}.btn.big{padding:14px 22px}.btn.secondary{background:var(--navy);box-shadow:0 8px 20px rgba(18,59,74,.18)}.btn.light{background:#fff;color:var(--navy);border:1px solid #d5e3e6;box-shadow:none}.btn.danger{background:var(--red)}.btn.success{background:var(--green)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.eyebrow{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:2.2px;font-size:.75rem}h1,h2,h3{color:var(--navy)}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(3.1rem,7vw,6.3rem);line-height:.91;margin:15px 0 24px;letter-spacing:-3.5px;font-weight:700}h1 span,h2 span{color:var(--coral);font-style:italic;font-weight:500}h2{font-size:clamp(2.4rem,4.8vw,4.2rem);line-height:1.02;margin:9px 0 16px;letter-spacing:-1.8px}h3{font-size:1.4rem;line-height:1.15}.muted{color:var(--muted)}section{padding:94px 0;position:relative}.section-head{text-align:center;max-width:790px;margin:0 auto 48px}.section-head p{color:var(--muted);font-size:1.04rem}.hero{min-height:720px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(105deg,#fffdf8 0%,#fffdf8 47%,rgba(255,253,248,.79) 63%,rgba(255,253,248,.08) 100%),linear-gradient(155deg,#fce5cc 0 22%,#dff3f6 22% 70%,#93d1da 70%);isolation:isolate}.hero:before{content:"";position:absolute;width:760px;height:760px;border:1px solid rgba(255,255,255,.48);border-radius:49% 51% 43% 57%;right:-220px;top:-270px;transform:rotate(18deg)}.sun-orb{position:absolute;right:13%;top:12%;width:120px;height:120px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 22px rgba(245,207,114,.16),0 0 0 45px rgba(245,207,114,.08)}.hero-layout{display:grid;grid-template-columns:1.1fr .8fr;gap:60px;align-items:center;position:relative;z-index:3}.hero-content{padding:80px 0;max-width:680px}.hero-content>p{font-size:1.18rem;color:var(--muted);max-width:620px}.hero-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.hero-pills span{background:rgba(255,255,255,.76);border:1px solid rgba(46,120,144,.13);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800;color:var(--navy);box-shadow:var(--shadow-soft)}.coastal-card{height:440px;border-radius:34px 34px 90px 34px;position:relative;overflow:hidden;background:linear-gradient(#f9d8b7 0 34%,#c6e9ec 34% 55%,#63aabb 55%);box-shadow:0 30px 70px rgba(18,59,74,.2);transform:rotate(2deg);border:10px solid rgba(255,255,255,.86)}.coastal-card:after{content:"";position:absolute;left:-10%;right:-10%;bottom:27%;height:90px;background:rgba(255,255,255,.28);border-radius:50% 45% 0 0;transform:rotate(-3deg)}.postcard-stamp{position:absolute;right:24px;top:22px;width:62px;height:62px;border:2px dashed rgba(18,59,74,.55);display:grid;place-items:center;text-align:center;color:var(--navy);font-weight:900;line-height:.9;transform:rotate(7deg);z-index:3}.postcard-stamp small{font-size:.6rem}.coastal-sun{position:absolute;right:84px;top:65px;font-size:5.3rem;color:#f6c75e;line-height:1}.palm{position:absolute;left:22px;bottom:68px;font-size:7.5rem;z-index:3;filter:saturate(.8)}.coastal-copy{position:absolute;left:26px;right:26px;bottom:22px;color:white;z-index:5;text-shadow:0 2px 10px rgba(0,0,0,.2)}.coastal-copy small,.coastal-copy strong{display:block}.coastal-copy small{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px}.coastal-copy strong{font-family:Georgia,serif;font-style:italic;font-size:1.2rem}.water-lines{position:absolute;left:0;right:0;bottom:90px;z-index:2}.water-lines i{display:block;width:75%;height:12px;border-top:3px solid rgba(255,255,255,.62);border-radius:50%;margin:10px auto;transform:rotate(-2deg)}.hero-wave{position:absolute;left:-5%;width:110%;height:90px;border-radius:50%;background:rgba(255,255,255,.32);bottom:-53px}.wave-two{bottom:-35px;left:15%;opacity:.5}.ticker{overflow:hidden;background:var(--navy);color:#dff3f6;padding:13px 0;white-space:nowrap;font-weight:900;font-size:.77rem;letter-spacing:2px}.ticker div{width:max-content;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.services-intro{background:var(--cream)}.personality-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card,.panel{background:#fff;border:1px solid rgba(18,59,74,.08);border-radius:var(--radius);padding:29px;box-shadow:var(--shadow)}.service-card{position:relative;overflow:hidden;min-height:430px;display:flex;flex-direction:column}.service-card:before{content:"";position:absolute;right:-32px;top:-32px;width:105px;height:105px;border-radius:50%;background:var(--sky)}.swim-card{border-top:6px solid var(--aqua)}.semi-card{border-top:6px solid var(--sun)}.sit-card{border-top:6px solid var(--coral)}.semi-card:before{background:#fff1c9}.sit-card:before{background:#fde7dc}.card-number{position:absolute;right:22px;top:18px;color:rgba(18,59,74,.23);font-family:Georgia,serif;font-size:2rem;font-style:italic}.service-card .icon{font-size:2.7rem;position:relative;z-index:2}.service-card h3{font-family:Georgia,serif;font-size:1.7rem;margin-bottom:9px}.service-card p{color:var(--muted)}.service-card ul{padding-left:20px;color:var(--muted);margin:8px 0 24px}.service-card .btn{margin-top:auto;align-self:flex-start}.sand{background:var(--sand)}.about{display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:center}.about-art{min-height:480px;border-radius:60px 24px 60px 24px;background:linear-gradient(145deg,#bfe6eb,#eff8f7 47%,#fde7cc 47% 100%);position:relative;box-shadow:var(--shadow);overflow:hidden;border:8px solid #fff}.about-art:after{content:"";position:absolute;left:-15%;right:-15%;height:160px;bottom:-80px;background:#66acbb;border-radius:50% 50% 0 0}.sun-doodle{position:absolute;right:14%;top:10%;font-size:7rem;color:var(--sun)}.wave-doodle{position:absolute;left:12%;top:45%;font-size:4rem;letter-spacing:-12px;color:var(--blue);transform:rotate(-5deg)}.shell-doodle{position:absolute;left:16%;bottom:16%;font-size:8rem;color:#e9a681;transform:rotate(-20deg);opacity:.7}.note-card{position:absolute;z-index:3;right:8%;bottom:9%;background:#fffdf8;padding:18px 20px;border-radius:6px;box-shadow:0 14px 35px rgba(18,59,74,.14);transform:rotate(3deg)}.note-card span,.note-card strong{display:block}.note-card span{font-size:.64rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--blue);font-weight:900}.note-card strong{font-family:Georgia,serif;font-size:1.15rem;color:var(--navy);font-style:italic}.about p{color:var(--muted);font-size:1.03rem}.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}.pill{background:#fff;border:1px solid rgba(18,59,74,.09);padding:9px 13px;border-radius:999px;font-weight:800;font-size:.82rem;color:var(--navy);box-shadow:var(--shadow-soft)}.expect-section{background:#fff}.expect-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dce9eb;border-bottom:1px solid #dce9eb}.expect-grid>div{padding:30px 26px;border-right:1px solid #dce9eb}.expect-grid>div:last-child{border-right:0}.expect-grid b{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:1.7rem}.expect-grid h3{margin:9px 0}.expect-grid p{color:var(--muted);font-size:.92rem}.area-section{padding-top:45px;background:var(--cream)}.area-card{background:var(--navy);border-radius:42px;min-height:430px;color:#fff;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;box-shadow:0 24px 65px rgba(18,59,74,.2)}.map-copy{padding:58px}.map-copy h2{color:#fff}.map-copy p{color:#cce2e6;max-width:610px}.eyebrow.light{color:#9adce5}.location-line{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0;font-weight:900;color:#fff}.location-line span{color:var(--coral)}.mini-map{position:relative;min-height:430px;background:linear-gradient(150deg,#f5ddbb 0 56%,#72b7c4 56%);overflow:hidden}.mini-map:after{content:"";position:absolute;left:35%;top:-10%;bottom:-10%;width:9px;background:#fff5de;transform:rotate(18deg);box-shadow:0 0 0 2px rgba(18,59,74,.08)}.route{position:absolute;left:46%;top:46%;z-index:3;background:#fff;color:var(--navy);padding:7px 10px;border-radius:8px;font-weight:900;border:2px solid var(--navy)}.dot{position:absolute;width:15px;height:15px;border:4px solid #fff;background:var(--coral);border-radius:50%;z-index:4;box-shadow:0 2px 5px rgba(0,0,0,.15)}.d1{left:30%;top:24%}.d2{left:56%;top:50%}.d3{left:39%;top:69%}.road{position:absolute;height:3px;background:rgba(18,59,74,.18);width:70%;left:10%;z-index:2}.r1{top:35%;transform:rotate(14deg)}.r2{top:66%;transform:rotate(-9deg)}.map-water{position:absolute;right:8%;bottom:10%;color:rgba(255,255,255,.8);font-weight:900;letter-spacing:2px;text-align:right;font-size:.72rem;z-index:2}.book{background:linear-gradient(135deg,#dff3f6,#fff3e9 56%,#fffdf8);padding-top:125px}.top-wave{position:absolute;top:-1px;left:-5%;width:110%;height:80px;background:var(--cream);clip-path:polygon(0 0,100% 0,100% 34%,85% 61%,66% 32%,48% 72%,28% 38%,10% 68%,0 42%)}.book-head{margin-bottom:34px}.booking-shell{max-width:920px;margin:auto;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:34px;box-shadow:0 25px 70px rgba(18,59,74,.16);overflow:hidden}.progress{display:grid;grid-template-columns:repeat(4,1fr);background:#f4f9fa;border-bottom:1px solid #e1ecee}.progress div{text-align:center;padding:15px 7px;font-size:.82rem;font-weight:900;color:#789098}.progress .active{background:var(--sky);color:var(--navy)}.progress .done{color:var(--green)}.booking-page{display:none;padding:38px}.booking-page.active{display:block}.booking-page h3{font-family:Georgia,serif;font-size:2rem;margin:8px 0 15px}.service-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-option{border:2px solid #e3edef;background:#fff;border-radius:20px;padding:23px 16px;text-align:left;color:var(--text);cursor:pointer;font:inherit;transition:.2s}.service-option:hover{transform:translateY(-2px);border-color:#b9dfe4}.service-option strong,.service-option small{display:block}.service-option strong{color:var(--navy);font-size:1rem}.service-option small{color:var(--muted);margin-top:5px}.service-option.selected{border-color:var(--blue);background:var(--sky);box-shadow:0 10px 24px rgba(46,120,144,.12)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{grid-column:1/-1}label{font-weight:900;color:var(--navy);font-size:.88rem}input,select,textarea{width:100%;padding:13px 14px;margin-top:6px;border:1px solid #cddde1;border-radius:13px;font:inherit;background:#fff;transition:.2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(46,120,144,.1)}textarea{min-height:105px;resize:vertical}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:9px}.time-slot{padding:11px 8px;border:1px solid #c9dde1;background:#fff;border-radius:12px;color:var(--navy);font-weight:900;cursor:pointer}.time-slot.selected{background:var(--navy);color:#fff}.time-slot.unavailable{background:#edf1f2;color:#9ca9ad;text-decoration:line-through;cursor:not-allowed}.booking-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.note{font-size:.85rem;color:var(--muted)}.summary{background:#f7faf9;border-radius:16px;padding:6px 18px}.summary-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e0e9e9;padding:12px 0}.summary-row:last-child{border:0}.success-box{text-align:center;padding:30px}.success-sun{font-size:4rem}.confirmation-code{display:inline-block;background:var(--navy);color:#fff;border-radius:13px;padding:11px 17px;font-weight:900;letter-spacing:1px}.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.pay-card{border:2px solid #e3edef;border-radius:19px;padding:19px;background:#fff;cursor:pointer}.pay-card.selected{border-color:var(--blue);background:var(--sky)}.price-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e4ecee}.price-line.total{font-size:1.15rem;font-weight:900;border-bottom:0}.notice{padding:14px 16px;border-radius:14px;background:#fff4cf;border:1px solid #ecd78d}.policy-box{max-height:180px;overflow:auto;padding:16px;border:1px solid #d8e5e7;border-radius:14px;background:#fbfdfd}.inline-check{display:flex;align-items:flex-start;gap:9px;font-weight:600}.inline-check input{width:auto;margin-top:5px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:900}.Paid{background:#dff1e9;color:#2f6e59}.Deposit-Paid{background:#dff3f6;color:#245d70}.Unpaid{background:#f7dddd;color:#914141}.Refunded{background:#e8e3f4;color:#5e4c81}.mode-card{margin:24px auto 0;max-width:900px;background:#fff;padding:17px 20px;border-radius:16px;border:1px solid #dce9eb}.admin-hero{padding:52px 0 32px;background:linear-gradient(135deg,#e9f7f7,#fff3e7)}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.metric{background:#fff;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.metric strong{font-size:1.8rem;color:var(--navy);display:block}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:20px}.toolbar>div{min-width:180px;flex:1}.table-wrap{overflow:auto;background:#fff;border-radius:20px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid #e8eeee;font-size:.9rem}th{background:#f4f9fa;color:var(--navy)}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:800}.Requested{background:#fff0c9;color:#755b13}.Confirmed{background:#dff1e9;color:#2f6e59}.Cancelled{background:#f7dddd;color:#914141}.Blocked{background:#e0e6e8;color:#50636a}.action-row{display:flex;gap:6px;flex-wrap:wrap}.tiny{padding:7px 10px;font-size:.77rem;box-shadow:none}.block-form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.empty{text-align:center;padding:35px;color:var(--muted)}.manage-card{max-width:760px;margin:auto}.launch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.launch-card{background:#fff;border-radius:18px;padding:21px;border:1px solid #dde8ea}.hidden{display:none!important}footer{background:var(--deep);color:#dbecef;padding:65px 0 30px;position:relative;overflow:hidden}.footer-wave{position:absolute;top:-1px;left:-5%;width:110%;height:45px;background:var(--cream);clip-path:polygon(0 0,100% 0,100% 32%,86% 75%,70% 37%,53% 82%,36% 39%,17% 72%,0 35%)}.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:50px}.footer-brand{font-family:Georgia,serif;font-size:1.7rem;line-height:1.05;color:#fff}.footer-brand strong{font-style:italic;color:var(--sun)}footer p{max-width:520px;color:#bcd3d8}.footer-saying{text-transform:uppercase;letter-spacing:2px;font-size:.68rem;color:var(--coral);font-weight:900;margin-top:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.footer-links a{font-weight:700}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:19px;font-size:.8rem;color:#94b3ba}.menu{display:none;background:none;border:0;font-size:1.6rem}
@media(max-width:940px){nav{display:none}.nav>.btn{display:none}.hero-layout{grid-template-columns:1fr}.coastal-card{display:none}.hero{min-height:630px}.personality-cards{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.expect-grid{grid-template-columns:1fr 1fr}.expect-grid>div:nth-child(2){border-right:0}.expect-grid>div{border-bottom:1px solid #dce9eb}.area-card{grid-template-columns:1fr}.mini-map{min-height:320px}.admin-grid{grid-template-columns:1fr 1fr}.block-form{grid-template-columns:1fr 1fr}}
@media(max-width:620px){section{padding:72px 0}h1{font-size:3.6rem}.hero{min-height:590px}.hero-content{padding:65px 0}.personality-cards,.expect-grid,.service-picker,.admin-grid,.block-form{grid-template-columns:1fr}.expect-grid>div{border-right:0}.map-copy{padding:38px 27px}.booking-grid{grid-template-columns:1fr}.full{grid-column:auto}.time-grid{grid-template-columns:repeat(2,1fr)}.booking-page{padding:25px 18px}.booking-nav{flex-direction:column-reverse}.booking-nav .btn{width:100%}.summary-row{flex-direction:column;gap:2px}.payment-choice,.launch-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.hero-pills{display:none}}

/* Production pricing / scheduling v3 */
.personality-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.personality-cards,.service-picker{grid-template-columns:1fr}}

/* 24-hour cancellation policy */
.cancellation-card{
  margin:24px 0 8px;
  padding:18px 20px;
  display:flex;
  gap:14px;
  align-items:flex-start;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,244,201,.9),rgba(255,232,220,.88));
  border:1px solid rgba(232,155,120,.28);
  box-shadow:0 10px 28px rgba(18,59,74,.08);
}
.cancellation-card .policy-sun{font-size:1.65rem;line-height:1}
.cancellation-card strong{display:block;color:var(--navy);font-size:1.03rem;margin-bottom:4px}
.cancellation-card p{margin:0;color:var(--muted)}

/* Secure launch v4.3 — Coach Andey */
.coach-photo-wrap{
  background:var(--cream);
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(18,59,74,.09);
  transform:rotate(-1deg);
}
.coach-photo{
  display:block;
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:cover;
  object-position:center top;
}
@media(max-width:800px){
  .coach-photo-wrap{transform:none}
  .coach-photo{max-height:none}
}
