@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#06165f;--cyan:#66d6ec;--blue:#087abf;--ice:#eaf8fd;--ink:#0c1230;--body:#54628a;--line:#e0eaf4;--paper:#f7fbfe;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--body);font:16px/1.65 Manrope,Arial,sans-serif;background:#fff}h1,h2,h3{color:var(--navy);line-height:1.1;letter-spacing:-.045em;margin:0}h1{font-size:clamp(44px,5vw,66px);font-weight:800}h2{font-size:clamp(30px,3.7vw,46px)}h3{font-size:22px;letter-spacing:-.025em}p{margin:18px 0}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.55}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.review{background:var(--navy);color:var(--ice);text-align:center;padding:7px 16px;font-size:11px;letter-spacing:.07em}.review strong{color:var(--cyan)}header{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:24px}.logo img{width:116px;height:auto;display:block}.header-right{display:flex;align-items:center;gap:28px}.header-right>a:not(.btn){text-decoration:none;color:var(--navy);font-size:13px;font-weight:700}.btn{border:0;background:var(--navy);color:white;padding:17px 25px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:20px;line-height:1.25;transition:transform .2s,background .2s}.btn:hover{background:var(--blue);transform:translateY(-2px)}.btn.light{background:var(--cyan);color:var(--navy)}.btn.outline{background:white;color:var(--navy);border:1px solid var(--line)}.eyebrow{font-size:11px;color:var(--blue);text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:20px;display:block}.hero{background:linear-gradient(115deg,var(--paper) 0%,var(--ice) 75%,var(--paper) 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:590px;align-items:center;gap:60px;padding:36px 0 46px}.hero-copy{max-width:560px}.hero h1 em{font-style:normal;color:var(--blue)}.hero .lede{font-size:17px;line-height:1.75;max-width:48ch;margin:25px 0 28px}.micro{font-size:12px;margin:15px 0 0}.micro span{padding:0 10px;color:var(--body)}.hero-image{position:relative;align-self:stretch;min-height:500px}.hero-image>img{width:100%;height:100%;max-height:540px;object-fit:cover;object-position:center;border-radius:150px 150px 16px 16px;display:block}.image-note{position:absolute;bottom:24px;left:-26px;background:white;padding:19px 24px;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px color-mix(in srgb,var(--navy) 8%,transparent);max-width:250px;color:var(--navy);font-weight:700;font-size:13px}.image-note small{display:block;color:var(--blue);font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px}.trust{border-bottom:1px solid var(--line);padding:23px 0}.trust .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}.trust span{font-size:13px;font-weight:700;color:var(--navy)}.trust b{color:var(--blue);margin-right:10px}section{padding:84px 0}.section-head{max-width:700px;margin-bottom:38px}.section-head p{max-width:62ch}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);padding:30px;border-radius:var(--radius);background:white}.number{font-size:12px;font-weight:800;color:var(--blue);margin-bottom:22px;display:block}.card p{font-size:14px;margin-bottom:0}.feature{background:var(--navy);color:var(--ice)}.feature .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.feature h2,.feature h3{color:white}.feature .eyebrow{color:var(--cyan)}.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:18px;font-size:14px}.checklist li:before{content:'✓';color:var(--cyan);font-weight:800}.feature .btn{margin-top:20px}.light-section{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{padding-top:0}summary{font-size:15px;font-weight:800;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';font-size:23px;color:var(--blue);font-weight:400}details[open] summary:after{content:'−'}details p{font-size:14px;margin-bottom:0}.visit{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}.visit>div{padding:42px}.visit>div:last-child{background:var(--ice)}.visit p{font-size:14px}.visit .eyebrow{margin-bottom:14px}.text-link{font-weight:800;color:var(--blue);font-size:13px;text-underline-offset:5px}.closing{background:var(--ice);text-align:center;padding:68px 24px}.closing h2{max-width:760px;margin:auto}.closing .btn{margin-top:26px}footer{background:#fff;padding:34px 0 95px;font-size:11px}.footer-grid{display:flex;justify-content:space-between;gap:28px}.footer-links{display:flex;gap:22px}.sticky{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);z-index:9;box-shadow:0 -4px 24px color-mix(in srgb,var(--navy) 3%,transparent)}.sticky .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}.sticky strong{color:var(--navy);font-size:13px}.sticky small{display:block;font-size:11px}.sticky .btn{padding:13px 24px}.page-head{padding:50px 0 26px}.page-head h1{font-size:42px}.book-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:32px;align-items:start;padding:0 0 70px}.booking-info,.calendar{border:1px solid var(--line);border-radius:16px;background:white;padding:30px}.booking-info img{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:24px}.booking-info h2{font-size:25px}.booking-info p{font-size:13px}.tag{display:inline-block;background:var(--ice);color:var(--blue);border-radius:100px;padding:5px 11px;font-size:11px;font-weight:800;margin:0 4px 8px 0}.notice{background:var(--ice);border-left:3px solid var(--cyan);padding:15px 18px;font-size:13px;margin:0 0 24px;color:var(--navy)}label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin:0 0 7px}input,select{border:1px solid var(--line);border-radius:7px;padding:12px;width:100%;background:white;color:var(--ink)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.slot-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 26px}.slot{padding:13px 8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy);font-size:13px;font-weight:800}.slot small{display:block;font-size:10px;color:var(--body);font-weight:500;margin-top:3px}.slot[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.slot[aria-pressed=true] small{color:var(--cyan)}.step-title{font-size:17px;margin:22px 0 17px;line-height:1.4}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;font-weight:400;color:var(--body);margin:10px 0 20px}.consent input{width:16px;margin-top:4px}.full{width:100%}.error{color:var(--navy);font-size:13px}.status{font-size:13px;margin:16px 0}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.hidden{display:none!important}.manage,.staff{max-width:900px;margin:50px auto;padding:0 24px}.staff h1{font-size:36px}.staff section{padding:25px 0}.staff table{width:100%;border-collapse:collapse;font-size:12px}.staff td,.staff th{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}.legal{max-width:760px;padding:50px 24px;margin:auto}.legal h1{font-size:40px}.legal h2{font-size:24px;margin-top:30px}.legal p{font-size:14px}@media(max-width:850px){.wrap{width:calc(100% - 40px)}.header{min-height:76px}.logo img{width:96px}.header-right{gap:15px}.header-right>a:not(.btn){display:none}.header .btn{padding:13px 16px;font-size:12px}.hero-grid{gap:30px;min-height:auto;padding:40px 0 45px}.hero-image{min-height:420px}.hero h1{font-size:48px}.hero .lede{font-size:15px}.image-note{left:-10px;max-width:210px;padding:14px 18px;font-size:11px}.feature .wrap,.faq-grid{gap:40px}.card{padding:22px}.visit>div{padding:28px}.book-grid{grid-template-columns:1fr 1.4fr;gap:20px}.booking-info,.calendar{padding:22px}}@media(max-width:600px){.review{font-size:10px}.hero-grid{grid-template-columns:1fr;gap:32px;padding-top:35px}.hero h1{font-size:49px;max-width:11ch}.hero .lede{max-width:40ch;margin:20px 0}.hero-copy .btn{width:100%}.hero-image{min-height:360px;height:380px;max-width:420px;width:100%;margin:auto}.hero-image>img{border-radius:100px 100px 12px 12px;object-position:center 42%}.image-note{left:12px;bottom:16px;max-width:245px;font-size:12px}.trust{padding:18px 0}.trust .wrap{gap:10px}.trust span{font-size:10px}.trust b{display:block;font-size:15px;margin:0 0 2px}.cards,.feature .wrap,.faq-grid,.visit,.book-grid{grid-template-columns:1fr}.feature .wrap{gap:30px}section{padding:55px 0}.section-head{margin-bottom:28px}.cards{gap:12px}.card{padding:24px}.number{margin-bottom:12px}.faq-grid{gap:32px}.visit>div{padding:28px}.sticky strong{font-size:11px}.sticky small{font-size:10px}.sticky .btn{font-size:11px;padding:13px 15px;gap:10px}.footer-grid{display:block}.footer-links{margin-top:15px}.page-head{padding-top:32px}.page-head h1{font-size:34px}.booking-info img{height:200px}.fields{grid-template-columns:1fr;gap:0}.slot-list{grid-template-columns:repeat(3,1fr)}.booking-info,.calendar{padding:23px}.closing{padding:50px 20px}.closing h2{font-size:34px}.btn{min-height:48px}.header .btn{min-height:44px}.step-title{margin-top:22px}.staff .fields{grid-template-columns:1fr}.hero .micro{font-size:11px}.micro span{padding:0 6px}}

.ops-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.ops-metrics>div{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--ice)}.ops-metrics span{display:block;font-size:13px}.ops-metrics strong{display:block;font-size:26px;margin-top:12px}td select,td input{display:block;min-width:180px;margin-bottom:8px}#staffPanel section{margin:48px 0}#staffPanel .table-wrap{max-width:100%;overflow:auto}

/* Event content uses the existing layout, type family, photos and palette */
.event-banner{position:sticky;top:0;z-index:20;background:var(--navy);color:white;border-bottom:3px solid var(--cyan);text-align:center;padding:9px 16px;font-size:12px;font-weight:800;line-height:1.5}
header{position:relative}
.hero .offer-title{color:var(--blue);font-size:clamp(42px,4.7vw,64px);max-width:none}
.hero .service-headline{font-size:clamp(29px,3vw,42px);margin-top:22px}
.event-line{font-weight:700;font-size:13px}
.offer-price{color:var(--blue);font-weight:800;font-size:17px}
.disclaimer{font-size:11px;line-height:1.6;max-width:76ch;margin:18px auto 0}
.hero .disclaimer,.booking-info .disclaimer{margin-left:0}
.offer-price,.event-line{overflow-wrap:anywhere}
@media(max-width:600px){.event-banner{font-size:11px}.hero .offer-title{font-size:44px}.hero .service-headline{font-size:32px}.footer-links{flex-wrap:wrap}.sticky .btn{gap:6px;padding-inline:12px}.sticky strong{max-width:145px;display:block}.closing .disclaimer{padding-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.page-head .offer-title{color:var(--blue);font-size:clamp(38px,4.5vw,58px);margin-bottom:18px}.page-head h2{font-size:clamp(26px,3vw,38px)}
/* Keep the approved blue price while meeting contrast at its displayed size */
.offer-price{font-size:20px}
.closing .eyebrow,.visit .eyebrow,.visit .text-link,.tag{color:var(--navy)}
