.hero{min-height:640px;color:var(--ivory);justify-content:center;align-items:flex-end;display:flex;overflow:hidden}.hero-media{z-index:-2;will-change:transform;position:absolute;inset:-18% 0}.hero-media img{object-fit:cover;object-position:center 62%;width:100%;height:100%}.hero-veil{z-index:-1;background:linear-gradient(#090c0f94 0%,#090c0f6b 32%,#090c0fb8 72%,#090c0fcc 100%);position:absolute;inset:0}.hero-inner{z-index:1;width:100%;padding-top:140px;padding-bottom:118px;position:relative}.hero-content{max-width:760px}.hero .eyebrow{color:var(--gold-soft)}.hero .eyebrow:before{background:var(--gold-soft)}.hero h1{letter-spacing:.005em;font-size:clamp(56px,9vw,116px)}.hero h1 em{color:var(--gold-soft);font-style:italic}.hero-sub{color:#f5f1e8db;letter-spacing:.02em;max-width:520px;margin-top:30px;font-size:16.5px}.hero-loc{letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);align-items:center;gap:12px;margin-top:22px;font-size:12px;display:flex}.hero-loc i{background:var(--gold);width:6px;height:6px;font-style:normal;transform:rotate(45deg)}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:46px;display:flex}.hero .anim{opacity:0;animation:rise 1.1s var(--ease) forwards;transform:translateY(26px)}.hero .anim.d1{animation-delay:.15s}.hero .anim.d2{animation-delay:.3s}.hero .anim.d3{animation-delay:.45s}.hero .anim.d4{animation-delay:.6s}.hero .anim.d5{animation-delay:.75s}.scroll-cue{letter-spacing:.32em;text-transform:uppercase;color:#f5f1e8b3;flex-direction:column;align-items:center;gap:14px;font-size:10.5px;display:flex;position:absolute;bottom:44px;left:50%;transform:translate(-50%)}.scroll-cue:after{content:"";background:linear-gradient(180deg,var(--gold-soft),transparent);width:1px;height:52px;animation:2.4s ease-in-out infinite drift}.split .copy{max-width:520px}.hl{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin-top:38px;padding:26px 0}.hl b{font-family:var(--serif);letter-spacing:.04em;font-size:26px;font-weight:500}.hl b i{color:var(--gold);font-style:italic}.hl small{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-500);margin-top:6px;font-size:11px;display:block}.pool-feature{min-height:820px;color:var(--ivory);align-items:center;display:flex}.pool-bg{z-index:-2;position:absolute;inset:0}.pool-bg img{object-fit:cover;width:100%;height:100%}.pool-bg:after{content:"";background:linear-gradient(90deg,#101f2be6 0%,#101f2b8c 58%,#101f2b33 100%);position:absolute;inset:0}.pool-panel{max-width:560px}.pool-panel h2{margin-bottom:16px;font-size:clamp(42px,5vw,62px)}.pool-panel h2 em{color:var(--gold-soft);font-style:italic}.pool-panel .sub{font-family:var(--serif);color:var(--gold-soft);margin-bottom:26px;font-size:21px;font-style:italic;font-weight:400}.pool-panel p{color:#f5f1e8d1;max-width:460px;font-size:16px}.feat-list{border-top:1px solid var(--line-light);flex-wrap:wrap;margin:38px 0 0;padding:0;list-style:none;display:flex}.feat-list li{border-bottom:1px solid var(--line-light);color:#f5f1e8e6;flex:0 0 50%;align-items:center;gap:12px;padding:18px 18px 18px 0;font-size:13.5px;font-weight:500;display:flex}.feat-list li:before{content:"";background:var(--gold);flex:none;width:6px;height:6px;transform:rotate(45deg)}.pool-panel .btn{margin-top:44px}.programs{border-top:1px solid var(--line-light)}.program{border-bottom:1px solid var(--line-light);transition:background .4s var(--ease),padding-left .45s var(--ease);grid-template-columns:90px 340px 1fr auto;align-items:center;gap:36px;padding:46px 4px;display:grid}.program:hover{background:#f5f1e80a;padding-left:22px}.program .num{font-family:var(--serif);color:var(--gold);font-size:30px;font-style:italic}.program h4{color:var(--ivory);font-size:31px}.program p{color:#f5f1e8b8;max-width:340px;font-size:15.5px}.program .prog-link{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);align-items:center;gap:10px;font-size:11.5px;font-weight:600;display:inline-flex}.program .prog-link:after{content:"→";transition:transform .35s var(--ease)}.program .prog-link:hover:after{transform:translate(6px)}.training-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:34px;margin-top:60px;display:flex}.training-foot p{max-width:420px;font-size:15.5px}.dark .training-foot p{color:#f5f1e8bf}.swim-band{min-height:500px;color:var(--ivory);align-items:flex-end;display:flex;position:relative;overflow:hidden}.swim-band img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease);position:absolute;inset:0}.swim-band:hover img{transform:scale(1.035)}.swim-band .veil{background:linear-gradient(#101f2b4d,#101f2bd1);position:absolute;inset:0}.swim-band .inner{padding:70px;position:relative}.swim-band h3{max-width:600px;font-size:clamp(30px,4vw,48px)}.stay{min-height:880px;color:var(--ivory);align-items:center;display:flex}.stay-bg{z-index:-2;position:absolute;inset:0}.stay-bg img{object-fit:cover;width:100%;height:100%}.stay-bg:after{content:"";background:linear-gradient(90deg,#101f2beb,#101f2b80 60%,#101f2b1f);position:absolute;inset:0}.stay-panel{max-width:540px}.stay-panel h2{margin-bottom:12px;font-size:clamp(42px,5vw,62px)}.stay-panel h2 em{color:var(--gold-soft);font-style:italic}.stay-panel .sub{font-family:var(--serif);color:var(--gold-soft);margin-bottom:26px;font-size:22px;font-style:italic}.stay-panel p{color:#f5f1e8d1;max-width:440px;font-size:16px}.suit-list{margin:34px 0 0;padding:0;list-style:none}.suit-list li{border-bottom:1px solid var(--line-light);letter-spacing:.05em;color:#f5f1e8e6;align-items:center;gap:14px;padding:15px 0;font-size:14px;font-weight:500;display:flex}.suit-list li:first-child{border-top:1px solid var(--line-light)}.suit-list li:before{content:"";background:var(--gold);flex:none;width:6px;height:6px;transform:rotate(45deg)}.stay-panel .btn{margin-top:44px}.day-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:6px;display:grid;position:relative}.day-rail:before{content:"";background:linear-gradient(90deg,var(--gold) 0%,var(--stone) 100%);height:1px;position:absolute;top:0;left:0;right:0}.day{padding:56px 20px 0 0}.day:not(:last-child){border-right:1px solid var(--line);padding-right:28px}.day:last-child{padding-right:0}.day .when{letter-spacing:.26em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:600}.day .num{font-family:var(--serif);color:var(--gold);margin:18px 0 6px;font-size:64px;font-style:italic;line-height:1}.day h4{margin-bottom:14px;font-size:27px}.day p{color:var(--ink-600);max-width:240px;font-size:15px}.day p b{font-weight:600}.gal-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:110px;gap:18px;display:grid}.gal-grid .gal-item{background:var(--charcoal);cursor:pointer;border:0;padding:0;position:relative;overflow:hidden}.gal-grid .gal-item img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease),opacity .8s;opacity:.95}.gal-grid .gal-item:hover img{opacity:1;transform:scale(1.06)}.gal-grid .gal-cap{text-align:left;color:var(--ivory);letter-spacing:.22em;text-transform:uppercase;opacity:0;background:linear-gradient(#0000,#101f2bd9);align-items:flex-end;gap:10px;padding:44px 26px 22px;font-size:11px;transition:opacity .5s;display:flex;position:absolute;bottom:0;left:0;right:0}.gal-grid .gal-cap i{background:var(--gold);width:6px;height:6px;transform:rotate(45deg)}.gal-grid .gal-item:hover .gal-cap{opacity:1}.gal-grid .gal-item:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.gal-a{grid-area:span 4/span 4}.gal-b{grid-area:span 5/span 5}.gal-c{grid-area:span 3/span 3}.gal-d{grid-area:span 3/span 4}.gal-e{grid-area:span 4/span 4}.loc-grid{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:80px;display:grid}.loc-copy h2{margin-bottom:22px;font-size:clamp(40px,4.8vw,56px)}.loc-copy h2 em{color:var(--water);font-style:italic}.loc-copy p{color:var(--ink-600);max-width:420px;margin-bottom:34px;font-size:16px}.loc-block{border-top:1px solid var(--line-strong);align-items:baseline;gap:34px;padding:20px 0;display:flex}.loc-block span{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-500);flex:none;width:120px;font-size:11px;font-weight:600}.loc-block b{font-family:var(--serif);font-size:19px;font-weight:500}.loc-block i{color:var(--charcoal);opacity:.6;font-style:italic}.loc-copy .btn{margin-top:30px}.map-frame{border:1px solid var(--line-strong);background:var(--stone);min-height:440px;position:relative;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.map-frame:after{content:"";pointer-events:none;border:8px solid #f5f1e8bf;position:absolute;inset:0}.final-cta{text-align:center;min-height:780px;color:var(--ivory);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.final-bg{z-index:-2;position:absolute;inset:-8% 0}.final-bg img{object-fit:cover;width:100%;height:100%}.final-bg:after{content:"";background:linear-gradient(#101f2bd1,#101f2bb8);position:absolute;inset:0}.final-wrap{max-width:780px;padding:0 24px}.final-wrap h2{margin:20px 0 22px;font-size:clamp(44px,6.4vw,78px)}.final-wrap .sub{font-family:var(--serif);color:var(--gold-soft);margin-bottom:44px;font-size:22px;font-style:italic}.final-wrap .eyebrow{justify-content:center}.final-wrap .eyebrow:after{content:"";background:var(--gold);width:42px;height:1px}@media (max-width:1080px){.program{grid-template-columns:70px 1fr auto;gap:20px 24px}.program p{grid-column:2}}@media (max-width:900px){.pool-feature,.stay{min-height:auto;padding:110px 0}.pool-bg:after,.stay-bg:after{background:linear-gradient(#101f2bd1,#101f2bf2)}.pool-panel,.stay-panel{max-width:none}.program{grid-template-columns:56px 1fr;gap:16px 28px;padding:34px 0}.program p{grid-column:2}.program .prog-link{align-self:end;padding-bottom:24px}.day-rail{grid-template-columns:1fr}.day:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}.day{padding:44px 0}.gal-grid{grid-auto-rows:96px}.gal-a,.gal-b,.gal-c{grid-area:span 4/span 6}.gal-d,.gal-e{grid-area:span 3/span 6}.loc-grid{grid-template-columns:1fr}.map-frame{min-height:360px}}@media (max-width:560px){.hero h1{font-size:clamp(46px,14vw,76px)}.hero-inner{padding-bottom:90px}.scroll-cue{display:none}.gal-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gal-grid .gal-item{grid-area:auto/auto/span 1/span 1}.day .num{font-size:52px}.final-cta{min-height:640px}}
