*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#34204d;background:#fcf9ff;font:16px/1.7 Arial,sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;border-bottom:1px solid #e2d5f0;gap:25px}.brand{font-size:29px;line-height:1.1;letter-spacing:-1.5px;text-decoration:none;font-weight:600;color:inherit}.brand span{font-weight:300;margin-left:5px}.brand small{display:block;font:9px Arial;letter-spacing:3px;margin-top:9px}nav{display:flex;gap:30px}a{color:inherit}nav a{font-size:13px;text-decoration:none}.languages{display:flex;gap:5px}button{background:none;border:0;padding:9px;cursor:pointer;color:inherit}button[aria-pressed=true]{background:#34204d;color:white;border-radius:50%}a:focus-visible,button:focus-visible{outline:3px solid #6500ed;outline-offset:5px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px}.hero-copy{padding:90px 9%}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,4.8vw,74px);letter-spacing:-2px;margin:30px 0}h2{font-size:clamp(34px,3.4vw,51px);letter-spacing:-1.3px;margin:20px 0 30px}h3{font-size:29px;margin:16px 0}.intro{max-width:440px;color:#62516e;font-size:18px}.button{display:inline-block;background:#6500ed;color:#fff;padding:14px 27px;border-radius:3px;text-decoration:none;font-size:13px;margin:24px 0}.hero-note{display:block;font-size:11px;letter-spacing:2px;margin-top:30px}.art{position:relative;overflow:hidden;background:#d6cbb4;min-height:540px}.sun{position:absolute;width:225px;height:225px;background:#f2e9d3;border-radius:50%;left:28%;top:14%}.hill{position:absolute;width:160%;height:75%;border-radius:50% 50% 0 0;transform:rotate(-20deg)}.h1{background:#8a9c7e;top:40%;left:-28%}.h2{background:#496b58;top:60%;left:0;transform:rotate(22deg)}.h3{background:#234b40;top:78%;left:-40%}.art span{position:absolute;bottom:38px;left:40px;color:#f6efda;letter-spacing:3px;font-size:10px}.ribbon{text-align:center;background:#ece0f8;padding:19px;font:italic 21px Georgia}section:not(.hero){padding:85px 7%}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.muted{font-size:12px;color:#716079}.text-link{display:inline-block;font-size:13px;text-decoration:none;border-bottom:1px solid;margin-top:18px;padding-bottom:5px}.schedule-day{border-top:1px solid #ded0eb;padding:14px 0}.schedule-day b{font-size:12px;letter-spacing:1px}.event{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:14px;margin-top:8px}.event small{display:block;color:#716079;font-size:11px}.offerings{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#f0e7f9}.number{font-size:11px}.offerings p{max-width:470px}.trips{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.trip{padding:48px;min-height:340px;color:#fff;position:relative;overflow:hidden}.trip span{font-size:10px;letter-spacing:2px}.trip h3{font-size:43px;margin-top:45px}.trip p{max-width:360px}.trip a{font-size:13px;text-underline-offset:6px}.tropical{background:linear-gradient(130deg,#854fc0,#48206f)}.ocean{background:linear-gradient(130deg,#6f62b2,#35225d)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#f3edf9}.quote{background:#e5d4f3;padding:50px;display:flex;flex-direction:column;justify-content:center}.quote>span{font-size:12px;letter-spacing:3px}blockquote{font:italic 38px/1.3 Georgia;margin:45px 0}.seal{border:1px solid #8e6aaa;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font:22px Georgia}.online{text-align:center}.online p:not(.eyebrow){max-width:620px;margin:0 auto 30px}.tag{font-size:12px;border:1px solid #ac87c7;border-radius:30px;padding:10px 20px}.contact{background:#32144f;color:#fbf6ff;text-align:center}.contact .button{background:#ebdcf7;color:#32144f}.email{font-size:12px}footer{padding:40px 7%;display:flex;justify-content:space-between;align-items:center;font-size:11px}@media(max-width:750px){header{flex-wrap:wrap;padding:20px 6%}nav{order:3;width:100%;gap:20px;overflow:auto}nav a{white-space:nowrap}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 7%}.art{min-height:350px}.sun{width:170px;height:170px}.split,.offerings,.trips,.about{grid-template-columns:1fr;gap:40px}section:not(.hero){padding:60px 7%}.trip{padding:30px}.quote{padding:30px}footer{flex-wrap:wrap;gap:20px}h1{font-size:51px}.event{grid-template-columns:95px 1fr}}
/* Vision Yoga artwork and brand typography */
.brand{display:block;width:102px;flex-shrink:0;text-align:center}.brand img{width:100%;height:100px;object-fit:contain;display:block;transform:scale(1.3)}.brand small{font-size:8px;letter-spacing:1.5px;margin-top:5px}header{padding-top:12px;padding-bottom:16px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:700}h1{letter-spacing:-2.7px}h2{letter-spacing:-1.7px}.art{background:#a078cd;display:flex;align-items:center;justify-content:center}.hero-logo{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.art span{color:#32144f;bottom:23px;left:30px}.quote blockquote{color:#54228c}.contact .text-link{color:#f4e6ff}nav a:hover,.text-link:hover{color:#7b29d5}.contact a:hover{color:#d9b6ff}footer .brand img{height:100px}@media(max-width:750px){header .brand{width:78px}header .brand img{height:77px}.art{min-height:430px}h1{font-size:48px;letter-spacing:-2px}}

/* White background with violet brand accents */
body,.art,.offerings,.about,.quote,.online{background:#fff}.ribbon{background:#f7f2fc}.hero-logo{background:#fff}


.testimonials{text-align:center;background:#f7f2fc}.testimonials p:last-child{color:#716079;font-size:14px}

.booking-link{display:inline-block;margin-top:7px;padding:5px 10px;border:1px solid #6500ed;border-radius:3px;color:#6500ed;font-size:11px;text-decoration:none}.booking-link:hover{background:#6500ed;color:#fff}.event{padding-bottom:8px}

.holiday-inquiry{max-width:800px;margin:55px auto 0;padding:35px;background:#f7f2fc;border-radius:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:flex;flex-direction:column;font-size:13px;gap:7px}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid #bba5ca;border-radius:3px;background:#fff;color:#34204d;font:16px Arial}input:focus,select:focus,textarea:focus{outline:2px solid #6500ed;outline-offset:2px}form .button{border:0;cursor:pointer}#inquiry-status{font-size:13px}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.holiday-inquiry{padding:22px}.form-grid .full{grid-column:auto}}

.sailing-details{max-width:800px;margin:45px auto 0}.sailing-details>p{max-width:720px}

.trip-logo{float:right;width:96px;height:96px;margin:-20px -20px 12px 15px;border-radius:5px;background:#fff;display:grid;place-items:center}.trip-logo img{display:block;width:100%;height:100%;object-fit:contain}.trip h3{clear:both}@media(max-width:750px){.trip-logo{width:80px;height:80px;margin:-8px -8px 10px 10px}}

.event small.substitute{color:#79451e;font-weight:600;margin-top:5px}

.route-details details{border-top:1px solid #ded0eb;padding:18px 0}.route-details summary{cursor:pointer;color:#54228c;font-weight:600}.route-details details p,.route-details li{font-size:14px}.route-details summary:focus-visible{outline:2px solid #6500ed;outline-offset:5px}

.resort-offering{grid-column:1/-1;border-top:1px solid #ded0eb;margin-top:40px;padding-top:45px}.resort-offering p{max-width:760px}.resort-news{font-size:13px;color:#6500ed;font-weight:600}

.offerings{align-items:start}.organization-services{min-width:0}.organization-services .resort-offering{grid-column:auto;margin-top:45px;padding-top:35px}.organization-services>.eyebrow{margin-top:0}#private-lessons h2{max-width:450px}.offerings strong{font-weight:600}

.footer-policies{display:flex;flex-wrap:wrap;gap:15px}.legal-page{max-width:850px;margin:0 auto;padding:55px 25px 80px}.legal-page h1{font-size:45px}.legal-page h2{font-size:25px;margin-top:35px}.legal-page p{font-size:15px}.legal-draft{padding:14px;background:#f0e7f9;border-left:3px solid #6500ed}footer{flex-wrap:wrap;gap:20px}

.tim-photo{margin:0;align-self:start}.tim-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:42% center;border-radius:4px}.tim-photo figcaption{padding-top:12px;font-size:12px;color:#716079}.sailing-gallery{margin:55px auto;max-width:1150px}.sailing-gallery>p:not(.eyebrow){max-width:700px}.travel-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.travel-photo{margin:0;min-width:0}.travel-photo img{display:block;width:100%;height:285px;object-fit:cover;border-radius:4px;transition:opacity .2s}.travel-photo img:hover{opacity:.9}.travel-photo figcaption{font-size:13px;margin-top:9px}.photo-catamaran-at-anchor{grid-column:1/-1}.photo-catamaran-at-anchor img{height:auto;aspect-ratio:2.2;object-position:center 65%}.photo-sailing-dinner img{object-position:center 65%}.photo-lunch-aboard img{object-position:center 55%}.more-photos{margin-top:30px;border-top:1px solid #ded0eb;padding-top:18px}.more-photos summary{cursor:pointer;color:#6500ed}.personal-photos{grid-template-columns:repeat(4,minmax(0,1fr))}.personal-photos img{height:230px}@media(max-width:750px){.travel-photos,.personal-photos{grid-template-columns:1fr 1fr;gap:16px}.travel-photo img{height:220px}.photo-catamaran-at-anchor img{height:auto;aspect-ratio:16/10}.photo-marina-view{grid-column:1/-1}.tim-photo img{aspect-ratio:4/3}}@media(max-width:450px){.travel-photos,.personal-photos{grid-template-columns:1fr}.photo-catamaran-at-anchor{grid-column:auto}.travel-photo img{height:auto;max-height:420px;object-fit:cover}.personal-photos img{aspect-ratio:4/3}}

.trip.ocean{isolation:isolate;background:#203f50}.trip.ocean .trip-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.trip.ocean:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,27,44,.3),rgba(16,27,44,.84));z-index:-1}.trip.ocean .trip-logo{position:relative}.trip.ocean h3,.trip.ocean p,.trip.ocean a,.trip.ocean>span{position:relative;color:#fff}

.costa-rica-gallery{max-width:1150px;margin:50px auto}.costa-photos img{height:330px;object-position:center}.trip.tropical{isolation:isolate;background:#293f34}.trip.tropical .trip-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;z-index:-2}.trip.tropical:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,36,.25),rgba(15,36,36,.85));z-index:-1}.trip.tropical .trip-logo{position:relative}.trip.tropical h3,.trip.tropical p,.trip.tropical a,.trip.tropical>span{position:relative;color:#fff}@media(max-width:750px){.costa-photos img{height:290px}}@media(max-width:450px){.costa-photos img{height:auto;max-height:480px;object-fit:contain}}

.resort-visits{margin:28px 0;padding:22px;background:#f7f2fc;border-radius:4px}.resort-visits h3{font-size:25px}.resort-visits .resort-news{margin:20px 0 0}.resort-visits .text-link{margin-top:8px}

.trip-logo{background:#a078cd;overflow:hidden}

/* More prominent Vision Yoga branding */
header .brand{width:145px}header .brand img{height:135px;transform:scale(1.25)}header .brand small{font-size:9px;letter-spacing:2px}footer .brand{width:150px}footer .brand img{height:145px;transform:scale(1.25)}.section-brand{display:block;width:110px;height:110px;object-fit:contain;margin:-15px 0 12px}.trip-logo{width:125px;height:125px;margin:-20px -20px 18px 18px}.contact-brand{width:145px;height:145px;background:#fff;border-radius:50%;margin:0 auto 25px;overflow:hidden}.contact-brand img{width:100%;height:100%;object-fit:contain;transform:scale(1.15)}.online>.section-brand{margin-left:auto;margin-right:auto}@media(max-width:750px){header .brand{width:105px}header .brand img{height:100px}header .brand small{font-size:8px;letter-spacing:1px}.trip-logo{width:105px;height:105px;margin:-8px -8px 16px 12px}.section-brand{width:95px;height:95px}.contact-brand{width:125px;height:125px}}

.resort-photo-gallery{margin:30px 0}.resort-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.resort-photo-grid figure{margin:0;min-width:0}.resort-photo-grid img{width:100%;height:230px;object-fit:contain;background:#f7f2fc;display:block;border-radius:4px}.resort-photo-grid figcaption{font-size:11px;line-height:1.5;margin-top:8px}.resort-photo-gallery .more-photos{margin-top:18px}.resort-photo-gallery details .resort-photo-grid{margin-top:20px}.tim-photo img{object-position:center 30%}@media(max-width:750px){.resort-photo-grid img{height:280px}}@media(max-width:450px){.resort-photo-grid{grid-template-columns:1fr}.resort-photo-grid img{height:auto;max-height:420px}}

.sailing-feature-photo{margin:28px 0 35px}.sailing-feature-photo img{display:block;width:100%;height:auto;border-radius:5px}.sailing-feature-photo figcaption{font-size:12px;color:#716079;margin-top:10px}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}form .button:disabled{opacity:.6;cursor:wait}

.service-inquiry{margin:1.4rem 0;text-align:left}.service-inquiry>summary{color:var(--purple,#654781);font-weight:600;cursor:pointer;padding:1rem 0}.direct-inquiry{padding:1.5rem;background:#f7f4fa;border-radius:12px;max-width:850px}.direct-inquiry input,.direct-inquiry textarea{box-sizing:border-box;width:100%;font:inherit;padding:.75rem;border:1px solid #c8bfce;border-radius:6px;background:white}.direct-inquiry label{display:grid;gap:.4rem}.direct-inquiry .muted{font-size:.85rem}.direct-inquiry .form-status{margin-top:1rem}

.class-description-link{color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.class-description-link:hover{color:#6b4285}#class-description{box-sizing:border-box;width:min(92vw,620px);max-height:85vh;overflow:auto;border:0;border-radius:16px;padding:2rem;color:#35283e;background:#fff;box-shadow:0 20px 80px #24122b44}#class-description::backdrop{background:#21142699}#class-description h2{font-size:2rem;margin:1rem 0}#class-description p{line-height:1.7}.class-close{display:block;margin-left:auto;padding:.5rem 1rem;border:1px solid #c8bfce;border-radius:5px;background:white;cursor:pointer}.class-source{color:#654781;text-decoration:underline}

.studio-address-link{color:inherit;text-decoration:underline;text-underline-offset:3px}#studio-address{box-sizing:border-box;width:min(92vw,620px);max-height:85vh;overflow:auto;border:0;border-radius:16px;padding:2rem;color:#35283e;background:white;box-shadow:0 20px 80px #24122b44}#studio-address::backdrop{background:#21142699}#studio-address h2{font-size:2rem;margin:1rem 0}#studio-address address{font-style:normal;line-height:1.8}.studio-source{color:#654781;text-decoration:underline}

.trip .trip-section-link{position:static!important}.trip-section-link::after{content:"";position:absolute;inset:0;z-index:3}.trip:has(.trip-section-link:focus-visible){outline:3px solid #8053a8;outline-offset:5px}#surf-experience,#sailing-experience{scroll-margin-top:120px}

.section-mantra{display:block;clear:both;width:100%;box-sizing:border-box;text-align:center;font-family:Georgia,serif;font-size:clamp(1.3rem,2.5vw,2rem);font-style:italic;color:#654781;margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid #dcd2e3}.hero>.section-mantra{grid-column:1/-1}.contact .section-mantra{color:inherit}

#resorts .standalone-resort{border-top:0;margin-top:0;padding-top:0}#resorts .standalone-resort>.number{display:none}#resorts{scroll-margin-top:110px}

footer{position:relative;gap:1.5rem 2rem;padding-top:3rem;padding-bottom:3rem;align-items:center}footer .brand{flex:0 0 150px;max-width:100%;line-height:normal}footer .brand img{display:block;width:100%;height:auto;max-height:145px;object-fit:contain;transform:none}footer p{margin:0;line-height:1.6;max-width:100%;overflow-wrap:anywhere}footer .footer-policies{flex-basis:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:1rem 1.5rem}.about>.section-mantra{grid-column:1/-1}@media(max-width:700px){footer{flex-direction:column;text-align:center}footer .brand{flex-basis:auto;width:130px}}

/* Indicate that the full sailing card is clickable. */
.trip.ocean,.trip.ocean .trip-section-link,.trip.ocean .trip-section-link::after{cursor:pointer}

/* Vision Yoga purple for the brand mantra. */
.hero h1,.ribbon,.section-mantra,.contact .section-mantra{color:#6500ed}

#classes .section-top h2,#classes .split h3{color:#6500ed}

.resort-cta h3{color:#6500ed}

#experiences>h2,#surf-experience,#sailing-experience{color:#6500ed}

.sailing-gallery>h3,.route-details>h3,#holiday-inquiry>h3{color:#6500ed}

#about h2{color:#6500ed}

.online h2{color:#6500ed}

/* Compact footer, with a larger logo kept within its layout space. */
footer{gap:.65rem 1.25rem;padding-top:2rem;padding-bottom:1.5rem}
footer .brand{flex:0 0 187.5px;width:187.5px}
footer .brand img{width:100%;height:auto;max-height:181.25px;transform:none}
footer .footer-policies{gap:.35rem .8rem;margin:0;padding:0;line-height:1.4}
footer p{margin:0;line-height:1.4}
@media(max-width:700px){footer{gap:.65rem;padding-top:1.5rem;padding-bottom:1.5rem}footer .brand{flex-basis:auto;width:162.5px}footer .footer-policies{flex-basis:auto;gap:.35rem .8rem}}

.languages button[aria-pressed=true]{background:#6500ed;color:#fff}

/* Larger Vision Yoga branding throughout. */
header .brand{width:181.25px}header .brand img{height:168.75px}
.section-brand{width:137.5px;height:137.5px}
.trip-logo{width:156.25px;height:156.25px}
.contact-brand{width:181.25px;height:181.25px}
.hero-logo{transform:scale(1.25)}
footer .brand{flex:0 0 234.375px;width:234.375px}footer .brand img{max-height:226.5625px}
@media(max-width:750px){header .brand{width:131.25px}header .brand img{height:125px}.section-brand{width:118.75px;height:118.75px}.trip-logo{width:131.25px;height:131.25px}.contact-brand{width:156.25px;height:156.25px}}
@media(max-width:700px){footer .brand{flex-basis:auto;width:203.125px}}

#classes>.section-brand{width:275px;height:275px;max-width:100%;object-fit:contain;margin-bottom:18px}@media(max-width:750px){#classes>.section-brand{width:237.5px;height:237.5px}}

/* Consistent brand colour for all headings. */
h1,h2,h3,h4,h5,h6,.trip.ocean h3,.trip.tropical h3{color:#6500ed!important}
.private-section-label{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.private-section-label .section-brand{margin:0;flex-shrink:0}
.private-section-label .number{margin:0;max-width:100%}
/* A light backing keeps purple titles legible over holiday photos. */
.trip h3{background:rgba(255,255,255,.94);padding:.2em .3em;border-radius:4px;width:fit-content;max-width:100%;box-sizing:border-box}

.trip .trip-logo{background:transparent;border-radius:0;overflow:visible}.trip .trip-logo img{background:transparent}

/* Lighter holiday photos with transparent white branding. */
.trip.tropical:after,.trip.ocean:after{background:linear-gradient(180deg,rgba(15,30,40,.08),rgba(15,30,40,.55))}
.trip .trip-logo img{filter:brightness(0) invert(1)}
.trip h3{background:rgba(255,255,255,.78)}

/* Keep policy links beside footer copy instead of a separate full-width row. */
footer{column-gap:1.25rem;row-gap:.4rem;padding-bottom:1rem}
footer .footer-policies{flex:0 1 auto;justify-content:flex-start;align-items:center;gap:.3rem .65rem;margin:0;padding:0}
@media(max-width:700px){footer{row-gap:.4rem;padding-bottom:1rem}footer .footer-policies{justify-content:center;flex-basis:auto}}

/* Tighten transition from resorts to section 05. */
#resorts{padding-bottom:24px}#experiences{padding-top:18px}#experiences>.section-brand{margin-top:0;margin-bottom:0}#experiences>.eyebrow{margin-top:4px}

.organization-section-label{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.organization-section-label .section-brand{margin:0;flex-shrink:0}.organization-section-label .eyebrow{margin:0;min-width:0}

/* Private lessons and organizations each occupy a full row. */
.offerings{grid-template-columns:minmax(0,1fr);gap:3rem}.offerings>#private-lessons,.offerings>.organization-services{grid-column:1/-1;min-width:0}.organization-services{padding-top:2rem;border-top:1px solid #ded0eb}

/* Shared reading measure for descriptive website copy. */
:root{--copy-width:680px}
.hero .intro,#classes .split>div>p,
#private-lessons>p,#organizations article>p,
#resorts .resort-offering>p,.resort-cta>p,
.sailing-details>p,.route-details details>p,.route-details details>ol,
.sailing-gallery>p,.costa-rica-gallery>p,
#about p,.online p:not(.eyebrow),#contact>p:not(.eyebrow):not(.section-mantra),
#holiday-inquiry>p,.direct-inquiry>p{width:100%;max-width:var(--copy-width)}
.sailing-details{width:100%;max-width:var(--copy-width)}
.sailing-gallery>p,.costa-rica-gallery>p{margin-left:auto;margin-right:auto}
.online p:not(.eyebrow),#contact>p:not(.eyebrow):not(.section-mantra){margin-left:auto;margin-right:auto}
.offerings #private-lessons>p,.offerings #organizations article>p{max-width:var(--copy-width)}

/* Phone layout: readable forms, comfortable controls, and flexible labels. */
@media(max-width:750px){
 header nav{gap:.6rem;justify-content:space-between;flex-wrap:wrap;overflow:visible}
 header nav a{min-height:44px;display:inline-flex;align-items:center;padding:.25rem 0}
 .languages button{min-width:44px;min-height:44px}
 .private-section-label{flex-wrap:nowrap}.private-section-label .number{min-width:0;overflow-wrap:anywhere}
 .organization-section-label .eyebrow{overflow-wrap:anywhere}
 .direct-inquiry,.holiday-inquiry{padding:18px}
 input,select,textarea,.direct-inquiry input,.direct-inquiry textarea{font-size:16px;min-width:0;max-width:100%}
 input,select{min-height:44px}button.button{min-height:44px}
 .form-grid>*{min-width:0}.form-grid label{overflow-wrap:anywhere}
 .service-inquiry>summary,.route-details summary{min-height:44px}
 h2{font-size:clamp(30px,8vw,40px);letter-spacing:-1px}
 h3{font-size:clamp(25px,6.5vw,32px)}
 .trip h3{font-size:clamp(32px,9vw,40px)}
 .trip-logo{max-width:45%;height:auto;aspect-ratio:1}
 #class-description,#studio-address{padding:1.25rem}
 footer .footer-policies a{display:inline-flex;align-items:center;min-height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* More prominent section introductions with less empty space. */
.private-section-label,.organization-section-label{gap:1.25rem;margin-top:0;margin-bottom:.5rem;align-items:center}
.private-section-label .section-brand,.organization-section-label .section-brand{width:200px;height:200px;margin:0;flex-shrink:0}
.private-section-label .number,.organization-section-label .eyebrow{color:#6500ed;font-size:25px;line-height:1.25;letter-spacing:.4px;font-weight:700;margin:0}
section.offerings{padding-top:32px}
.offerings .organization-services{padding-top:20px}
#private-lessons strong,#organizations strong,#resorts strong,.costa-rica-details strong,.sailing-details strong{color:#6500ed}
#classes>.section-top>.eyebrow,#resorts>.eyebrow,#experiences>.eyebrow{color:#6500ed;font-size:25px;line-height:1.25;letter-spacing:.4px}
@media(max-width:750px){
 .private-section-label,.organization-section-label{gap:.75rem;flex-wrap:nowrap}
 .private-section-label .section-brand,.organization-section-label .section-brand{width:135px;height:135px}
 .private-section-label .number,.organization-section-label .eyebrow,#classes>.section-top>.eyebrow,#resorts>.eyebrow,#experiences>.eyebrow{font-size:20px;line-height:1.3;letter-spacing:0}
 section.offerings{padding-top:24px}
}

.corporate-photo{margin:1.5rem 0;max-width:var(--copy-width,680px)}.corporate-photo img{display:block;width:100%;height:auto;border-radius:8px}.corporate-photo figcaption{font-size:11px;color:#716079;margin-top:.4rem}

/* Consistent, compact transitions between the page's main sections. */
main>section:not(.hero){padding-top:40px;padding-bottom:32px}
main>section>.section-mantra{margin-top:1.5rem;padding-top:1rem;margin-bottom:0}
main>section>.section-brand{margin-top:0;margin-bottom:.35rem}
section.offerings{gap:2rem}
#resorts{padding-bottom:20px}#experiences{padding-top:20px}
@media(max-width:750px){main>section:not(.hero){padding-top:28px;padding-bottom:24px}main>section>.section-mantra{margin-top:1.25rem;padding-top:.75rem}#resorts{padding-bottom:16px}#experiences{padding-top:16px}}

/* Left-aligned logo and section label, on the same row. */
.section-heading-row{display:flex;align-items:center;justify-content:flex-start;gap:1.25rem;text-align:left;margin:0 0 1rem;width:100%}
.section-heading-row .section-brand,#classes .section-heading-row .section-brand{display:block;width:200px;height:200px;flex:0 0 200px;margin:0;object-fit:contain}
.section-heading-row .eyebrow,.section-heading-row .number{margin:0;min-width:0;color:#6500ed;font-size:25px;line-height:1.25;letter-spacing:.4px;font-weight:700;text-align:left}
@media(max-width:750px){.section-heading-row{gap:.75rem;flex-wrap:nowrap}.section-heading-row .section-brand,#classes .section-heading-row .section-brand{width:135px;height:135px;flex-basis:135px}.section-heading-row .eyebrow,.section-heading-row .number{font-size:20px;letter-spacing:0;overflow-wrap:anywhere}}

/* One left edge and one reading measure for headings and their paragraphs. */
main{text-align:left}
main h1,main h2,main h3,main p,main figcaption,main summary{ text-align:left }
.hero-copy{padding-left:7vw;padding-right:2rem}
main>section:not(.hero)>h2,
#private-lessons>h2,#organizations article>h2,
#resorts .resort-offering>h2,.resort-visits>h3,.resort-cta>h3,
.sailing-details>h3,.sailing-gallery>h3,#holiday-inquiry>h3,
.online>h2,#contact>h2{width:100%;max-width:var(--copy-width);margin-left:0;margin-right:0}
#private-lessons>p,#private-lessons>div:not(.section-heading-row)>p,
#organizations article>p,#resorts .resort-offering>p,.resort-visits>p,.resort-cta>p,
.sailing-details>p,.sailing-gallery>p,.costa-rica-gallery>p,
.online p:not(.eyebrow),#contact>p:not(.eyebrow):not(.section-mantra),
#holiday-inquiry>p{width:100%;max-width:var(--copy-width);margin-left:0;margin-right:0}
.offerings p{max-width:var(--copy-width)}
.sailing-details,.sailing-gallery,.costa-rica-gallery,.holiday-inquiry{margin-left:0;margin-right:0;text-align:left}
.sailing-gallery,.costa-rica-gallery{width:100%}
.holiday-inquiry{max-width:var(--copy-width);padding-left:0;padding-right:0;background:transparent}
.online,#contact{text-align:left}
.online p:not(.eyebrow){margin-left:0;margin-right:0}
.contact-brand{margin-left:0;margin-right:0}
.section-mantra,.contact .section-mantra{text-align:left}
footer,footer p{text-align:left}footer .footer-policies{justify-content:flex-start}
@media(max-width:750px){.hero-copy{padding-left:7vw;padding-right:7vw}.holiday-inquiry{padding-left:0;padding-right:0}footer{align-items:flex-start}footer .footer-policies{justify-content:flex-start}}
