
:root{--bg:#fffbf4;--white:#fffdf9;--ink:#113b4f;--ocean:#0784a4;--lightblue:#dff4f2;--aqua:#bde4e7;--muted:#557583;--coral:#f18193;--coral-light:#ffe3df;--cream:#fff0d4;--sand:#f6eee4;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}img{display:block;width:100%;object-fit:cover}p{line-height:1.75;color:var(--muted)}.shell{width:min(1260px,88vw);margin:auto}
.navbar{height:90px;background:#fffdf7;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(5,93,112,.09)}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand img{width:56px;height:56px;object-fit:contain}.brand-name{font:19px/1.05 var(--serif);color:var(--ink)}.brand-sub{font:700 8px/1.7 var(--sans);letter-spacing:2.1px;color:var(--ocean);margin-top:3px}.links{display:flex;align-items:center;gap:32px}.links a{font-size:12px;font-weight:bold;letter-spacing:.3px}.links a:not(.nav-cta):hover{color:var(--ocean)}.nav-cta{border:1.5px solid var(--ink);border-radius:45px;padding:13px 22px;font-size:11px!important;text-transform:uppercase;letter-spacing:.7px!important;white-space:nowrap}
.eyebrow{font:700 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:3px;color:#158ab0}.eyebrow:before{content:'✳';color:var(--coral);font-size:16px;margin-right:12px}.serif{font-family:var(--serif)}h1,h2,h3{font-family:var(--serif);font-weight:700;font-style:italic}h1{font-size:clamp(66px,7.7vw,124px);letter-spacing:-.055em;line-height:.94;margin:22px 0}h2{font-size:clamp(46px,5.1vw,77px);letter-spacing:-.055em;line-height:1.07;margin:20px 0}h3{font-size:clamp(30px,3vw,45px);line-height:1.08;letter-spacing:-.035em;margin:14px 0}h1 em,h2 em{color:var(--ocean);font-style:italic}.brush{position:relative;display:inline-block;z-index:0}.brush:after{content:'';position:absolute;left:4%;right:3%;height:8px;bottom:-10px;background:var(--coral);clip-path:polygon(0 46%,10% 28%,28% 17%,48% 28%,65% 7%,78% 22%,100% 12%,95% 58%,65% 68%,34% 81%,15% 72%,0% 90%);transform:rotate(-2deg);z-index:-1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:17px 25px;border:0;background:var(--ink);color:white;border-radius:6px;font-weight:700;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;box-shadow:0 4px 0 var(--coral);transition:transform .2s ease,background .2s ease;cursor:pointer}.btn:hover{transform:translateY(-2px);background:#087fa2}.btn-outline{background:transparent;color:var(--ink);box-shadow:none;border:1.5px solid var(--ink)}.btn-outline:hover{color:#fff}.text-link{font:italic 18px var(--serif);border-bottom:2px solid var(--coral);display:inline-block;padding-bottom:4px}.tiny-tag{font-size:10px;text-transform:uppercase;letter-spacing:2.3px;font-weight:700;color:var(--ocean)}
.opening{display:grid;grid-template-columns:46% 54%;min-height:650px;align-items:center;padding:65px 0 70px}.opening-copy{padding-right:4vw;position:relative;z-index:2}.opening-copy .intro{max-width:435px;font-size:17px;margin:25px 0 33px}.opening-photo{height:580px;position:relative}.opening-photo img{height:100%;border-radius:48% 52% 45% 52% / 37% 39% 55% 61%;object-position:center}.opening-photo:after{position:absolute;content:'';width:85px;height:85px;background:#ef9ca5;border-radius:50%;top:0;right:-2%;z-index:-1}.opening-note{position:absolute;left:-12%;bottom:5%;background:var(--cream);transform:rotate(-6deg);font:italic 22px/1.1 var(--serif);padding:20px 30px;border-radius:50% 43% 58% 50%;box-shadow:0 12px 24px #173d4f1c}.opening-note small{font:700 10px var(--sans);letter-spacing:1px;color:#95556a}
.strip{background:#ffdfdd;text-align:center;padding:20px;letter-spacing:2px;text-transform:uppercase;font-weight:700;font-size:13px;display:flex;justify-content:center;gap:34px;flex-wrap:wrap}.strip b{color:var(--coral)}
.space{padding:95px 0}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:39px}.section-title-row p{max-width:335px}.feature{background:#e8f6f4;overflow:hidden}.feature-wrap{display:grid;grid-template-columns:1.12fr .88fr;min-height:655px}.feature-image{position:relative;min-height:610px}.feature-image img{height:100%;object-position:52% center}.feature-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#00223177 0%,transparent 65%);pointer-events:none}.feature-image .vertical-label{position:absolute;bottom:30px;left:30px;z-index:2;color:white;font:italic 30px var(--serif)}.feature-copy{padding:72px 7vw 65px 6vw;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{margin:15px 0}.feature-copy p{font-size:17px;max-width:500px}.edition-pills{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 21px}.edition-pill{border:1px solid #a4ced4;border-radius:45px;padding:10px 14px;font-size:12px;color:#235567;background:#ffffff85}.sale{display:inline-block;align-self:start;font:700 11px var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:#8a4d64;background:#ffe3e4;padding:11px 16px;margin:8px 0 28px;border-radius:6px}
.two-coming{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.coming-piece{position:relative}.coming-piece img{width:100%;height:445px}.coming-piece:nth-child(1) img{border-radius:44% 44% 0 0 / 36% 36% 0 0}.coming-piece:nth-child(2){padding-top:70px}.coming-piece:nth-child(2) img{border-radius:52% 45% 45% 4% / 35% 36% 35% 4%}.coming-piece .label{display:block;color:#ee798c;font:700 10px var(--sans);letter-spacing:2px;margin-top:20px;text-transform:uppercase}.coming-piece h3{margin:12px 0}.coming-piece p{max-width:440px}.coming-piece .text-link{margin-top:9px}.closing{background:#f8efe7;padding:90px 0}.closing-in{display:grid;grid-template-columns:1fr .74fr;gap:11vw;align-items:center}.closing h2{margin:18px 0}.closing-photo img{height:390px;border-radius:48% 48% 48% 5% / 42% 42% 52% 4%}.closing p{max-width:480px}.footer{background:#fffaf5;border-top:1px solid #b9d9d5;padding:33px 6vw;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:#5c7f87;letter-spacing:1px}.footer a{color:var(--ocean)}
/* Camp */
.camp-opening{display:grid;grid-template-columns:45% 55%;align-items:stretch;min-height:720px}.camp-lead{padding:65px 5vw 62px 7vw;display:flex;flex-direction:column;justify-content:center}.camp-lead h1{font-size:clamp(67px,7.1vw,110px);margin:27px 0 17px}.camp-lead h1 em{color:#008fb0}.camp-lead .mini-title{font:700 11px var(--sans);color:#188da9;letter-spacing:2.8px;text-transform:uppercase}.camp-lead .subtitle{font:italic 27px/1.35 var(--serif);color:var(--ink);margin:19px 0 18px}.camp-lead p{max-width:455px;margin-bottom:28px}.camp-image{height:720px;position:relative;overflow:hidden}.camp-image img{height:100%;object-position:46% center}.camp-image .floating{position:absolute;bottom:7%;left:-4px;background:#ffedd9;padding:20px 29px;font:italic 27px var(--serif);color:#143c52;border-radius:0 50px 50px 0;box-shadow:0 4px 20px #15313f22}.info-ribbon{background:#d9f3f1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:30px 6vw}.info-ribbon .stat{padding:5px 28px;border-right:1px solid #8cc9ce;font-size:13px;color:#507482}.info-ribbon .stat strong{display:block;font:italic 37px/1.15 var(--serif);color:var(--ink);margin-bottom:4px}.info-ribbon .stat:last-child{border:0}
.editions{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:48px}.edition{background:#fbf1e7;padding:39px 43px 40px;border-radius:36% 10px 10px 10px / 18% 10px 10px 10px;position:relative;overflow:hidden;border:1px solid #ecdcd1}.edition:nth-child(2){background:#e7f5f3}.edition h3{font-size:38px;margin:12px 0 17px}.edition p{margin:14px 0}.edition .chip{background:#f28fa1;color:#0c334b;font:700 10px var(--sans);letter-spacing:1.1px;border-radius:40px;padding:9px 14px;display:inline-flex;margin-bottom:20px}.edition .action{display:inline-block;margin-top:14px;text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:7px;font-weight:700;font-size:13px}
.day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:42px}.day{padding:25px 20px 29px;border-top:2px solid #9ddbe1;border-right:1px solid #c8e7e7;background:#fffefa;min-height:250px}.day:nth-child(even){background:#f0f8f5}.day .num{color:var(--coral);font:italic 32px var(--serif)}.day h4{font:italic 23px/1.18 var(--serif);margin:14px 0}.day p{font-size:12px;line-height:1.65}
.acco{background:#f8efe8}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px}.stay-item img{height:360px;border-radius:45% 43% 5px 5px/32% 30% 5px 5px}.stay-item:nth-child(2) img{border-radius:3px 40% 4px 4px/4px 33% 4px 4px}.stay-item h3{margin-top:27px}.stay-item p{max-width:530px}.stay-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.stay-extra img{height:185px;border-radius:3px 38% 3px 3px/3px 37% 3px 3px}.stay-extra img:nth-child(2){border-radius:50% 50% 4px 4px/40% 40% 4px 4px}
.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:80px}.inclusions ul{margin:25px 0;padding:0;list-style:none}.inclusions li{padding:12px 0 12px 21px;border-bottom:1px solid #cfe5e4;position:relative;color:#4c6c78;line-height:1.5}.inclusions li:before{position:absolute;left:0;top:15px;content:'✳';color:#e98e9f}.inclusions .excl li:before{content:'—';color:#678b99}
.price-bg{background:#e9f7f6}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.price{background:#fffdf8;border:1px solid #bbd9d8;padding:35px 30px 36px;min-height:327px;border-radius:42% 6px 6px 6px / 18% 6px 6px 6px}.price h3{font-size:33px;margin:10px 0 19px}.old{font:24px var(--serif);color:#849da6;text-decoration:line-through}.new{font:italic bold 56px var(--serif);color:#0e7694;margin:5px 0}.discount{color:#dc6a84;font:700 11px var(--sans);letter-spacing:1px}.note{font-size:14px;line-height:1.7;color:#597d89;margin-top:28px}.toggle-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.toggle-row label{background:#fff9f1;border:1px solid #e8c2c9;padding:11px 15px;font-size:12px;border-radius:30px;cursor:pointer}
.host-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px}.host{border-top:3px solid #e9a1ad;padding:30px 24px 15px 0}.host .initial{display:inline-flex;background:#d9f3f0;width:62px;height:62px;border-radius:50%;align-items:center;justify-content:center;font:italic 40px var(--serif);margin-bottom:12px}.host p{max-width:550px}.host h3{margin:12px 0}.rules{background:#fff5eb}.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:39px}.rule{border-top:1px solid #efb5be;padding-top:20px}.rule h4{font:italic 26px var(--serif);margin:0 0 10px}.rule p{margin:0}.camp-ending{background:#0e4056;color:#fff3dc;padding:100px 0;text-align:center;position:relative;overflow:hidden}.camp-ending h2{color:#fff3dc}.camp-ending p{color:#d8e7e5;max-width:680px;margin:25px auto 30px}.camp-ending .btn{background:#f59ca6;color:#15364a;box-shadow:none}.camp-ending .btn:hover{background:#fff2d6}.badge{background:#ffe1e5;display:inline-block;color:#8d3c50;border-radius:40px;font:700 11px var(--sans);letter-spacing:1px;text-transform:uppercase;padding:10px 15px}
@media(max-width:980px){.navbar{padding:0 4vw}.links{gap:18px}.opening{grid-template-columns:1fr 1fr}.opening-photo{height:450px}.feature-wrap{grid-template-columns:1fr 1fr}.feature-copy{padding:30px}.day-grid{grid-template-columns:repeat(4,1fr)}.price{padding:25px 20px}.price h3{font-size:29px}.new{font-size:45px}.camp-lead{padding:55px 5vw}.camp-opening{min-height:560px}.camp-image{height:620px}}
@media(max-width:720px){.navbar{height:74px;padding:0 18px}.brand img{height:45px;width:45px}.brand-name{font-size:16px}.brand-sub{font-size:7px;letter-spacing:1.1px}.links{gap:8px}.links a:not(.nav-cta){display:none}.nav-cta{font-size:9px!important;padding:12px 10px!important}.shell{width:88vw}.opening{display:flex;flex-direction:column-reverse;padding:20px 0 55px;gap:10px;min-height:unset}.opening-photo{width:94%;height:415px;margin:0 auto}.opening-note{left:-3%;bottom:4%;font-size:17px;padding:14px 22px}.opening-copy{padding:28px 0 20px}.opening-copy .intro{font-size:16px}.space{padding:65px 0}h1{font-size:clamp(59px,13vw,80px)}h2{font-size:clamp(45px,10vw,62px)}.section-title-row{display:block}.section-title-row p{max-width:100%}.strip{font-size:10px;gap:9px}.feature-wrap{display:flex;flex-direction:column}.feature-image{min-height:0;height:355px}.feature-copy{padding:48px 6vw 55px}.feature-copy h2{font-size:55px}.two-coming{grid-template-columns:1fr;gap:38px}.coming-piece:nth-child(2){padding-top:0}.coming-piece img{height:330px}.closing-in{grid-template-columns:1fr;gap:30px}.closing-photo img{height:310px}.closing{padding:65px 0}.footer{flex-direction:column;align-items:start;font-size:10px}.camp-opening{display:flex;flex-direction:column-reverse;min-height:0}.camp-image{height:390px}.camp-image .floating{font-size:22px;padding:10px 20px}.camp-lead{padding:44px 6vw 55px}.camp-lead h1{font-size:clamp(60px,11vw,80px)}.info-ribbon{grid-template-columns:1fr 1fr;padding:23px 4vw}.info-ribbon .stat{padding:15px 15px;border-bottom:1px solid #8cc9ce}.info-ribbon .stat:nth-child(2){border-right:0}.info-ribbon .stat strong{font-size:28px}.editions,.stay-grid,.inclusions,.host-grid,.rules-grid{grid-template-columns:1fr}.editions{gap:23px}.edition{padding:35px 24px}.day-grid{grid-template-columns:1fr 1fr}.day{min-height:190px}.stay-item img{height:290px}.stay-extra img{height:100px}.price-grid{grid-template-columns:1fr}.price{min-height:0;padding:30px}.new{font-size:56px}.inclusions{gap:28px}.host-grid,.rules-grid{gap:16px}.camp-ending{padding:75px 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* WOS 2026-11: approved fresh identity, with a summer-in-winter campaign line. */
.summer-tagline{font:italic 29px/1.35 var(--serif);color:#dd748a!important;margin:4px 0 14px!important;max-width:530px!important}
.camp-lead .subtitle{font-weight:600;max-width:450px;color:#0e87a4}
@media(max-width:720px){.summer-tagline{font-size:26px}.camp-lead .subtitle{font-size:25px}}
