/* Expressive display type, with larger, open letterforms for reading. */
.business-contact{display:grid;gap:14px;margin:28px 0;font-style:normal;font-size:21px;line-height:1.5;overflow-wrap:anywhere}.business-contact a{color:#a4e5df;text-decoration:underline;text-underline-offset:5px}.business-contact a:hover{color:#fff}.business-contact span{color:#d7e8ed;font-size:19px}
.ocean-lessons{position:relative;background:linear-gradient(90deg,#021d30f5 0%,#032b40ed 45%,#032b4040 100%),url('assets/closing-underwater.jpg') center/cover;padding-top:85px;padding-bottom:90px}
.ocean-lessons-copy{max-width:780px;position:relative}.ocean-lessons h2{color:#effbfa;margin-bottom:20px}.ocean-lessons-intro{color:#b8e8e3;font-size:21px}.ocean-lessons ol{padding:0;margin:30px 0 35px;list-style:none;counter-reset:ocean-lesson;display:grid;gap:17px}.ocean-lessons li{counter-increment:ocean-lesson;display:grid;grid-template-columns:38px 1fr;gap:12px;font-size:20px;line-height:1.55;color:#e6f3f5}.ocean-lessons li:before{content:counter(ocean-lesson,decimal-leading-zero);font-family:Fraunces,Georgia,serif;color:#7ce1d8;font-size:23px}.ocean-lessons .text-link{display:inline-block;color:#a4e5df;border-color:#a4e5df77}
@media(max-width:760px){.ocean-lessons{background-image:linear-gradient(90deg,#021d30ef,#032b40cd),url('assets/closing-underwater.jpg');padding-top:60px;padding-bottom:65px}.ocean-lessons li{font-size:18px;gap:8px;grid-template-columns:32px 1fr}.ocean-lessons-intro{font-size:19px}}
.captain-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:center;background:radial-gradient(ellipse at 90% 5%,#19617580,transparent 65%),#073247;border-top:1px solid #76d4db40;border-bottom:1px solid #76d4db40}
.captain-heading h2{margin-bottom:25px}.captain-heading .captain-intro{color:#a4e5df;font-size:22px;line-height:1.6;margin:0}.captain-copy p{max-width:540px}.captain-copy .button{margin-top:12px}
@media(max-width:760px){.captain-section{grid-template-columns:1fr;gap:28px}.captain-heading h2{font-size:38px}}
.hero-mission{position:relative;z-index:1;margin-top:55px;padding:26px 30px;border-left:3px solid var(--aqua);background:#021d30e8;max-width:1080px}
.hero-mission p{font-size:19px;line-height:1.75;color:#e3f0f3;margin:0}
.hero .hero-bottom{margin-top:28px}
@media(max-width:760px){.hero-mission{margin-top:38px;padding:22px 20px}.hero-mission p{font-size:18px}.hero .hero-bottom{padding-top:0;margin-top:25px}}
.course-photo{width:100%;height:450px;margin:0 0 55px;transform:none;border:0;box-shadow:none;overflow:hidden}
.course-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.course-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#021725ed);pointer-events:none}
.course-photo figcaption{position:absolute;left:32px;right:auto;bottom:28px;width:auto;max-width:650px;margin:0;padding:0;background:transparent;transform:none;z-index:1;font-family:Fraunces,Georgia,serif;font-size:clamp(28px,3.6vw,48px);line-height:1.15;color:#fff;text-shadow:0 2px 10px #00131e}
.hero{background-image:linear-gradient(90deg,#011627f5 0%,#022336c7 40%,#02344b26 76%),linear-gradient(0deg,#021e30,transparent 45%),url('assets/reef.jpg');background-position:center,center,center;background-size:cover}
.hero-badge{border:0;box-shadow:none;background:transparent}
.hero-badge img{filter:drop-shadow(0 10px 18px #00142188)}
header .banner-wordmark{flex-shrink:0;display:flex;align-items:center;gap:14px;background:transparent;padding:8px 0}
.header-cat-logo{display:block;width:78px;height:104px;object-fit:contain}
.wordmark-window{display:block;width:310px}
.wordmark-window img{display:block;position:static;width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.wordmark-window{width:230px}.wordmark-window img{width:100%;height:auto}}
@media(min-width:761px) and (max-width:1250px){header{flex-wrap:wrap;justify-content:center}header nav{justify-content:center}}
@media(max-width:760px){header .banner-wordmark{gap:8px}.header-cat-logo{width:48px;height:68px}.wordmark-window{width:clamp(145px,42vw,210px)}.hero{min-height:760px}.hero-bottom{padding-top:70px;max-width:100%}}
body{font-family:'Atkinson Hyperlegible','Segoe UI',Arial,sans-serif;font-size:19px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;text-transform:none;letter-spacing:-.035em}
h1{font-size:clamp(55px,6.7vw,98px);line-height:1.03;letter-spacing:-.045em}
h1 em{font-weight:700;font-style:italic}
h2{font-size:clamp(38px,4.1vw,59px);line-height:1.14}
h3,.service-line h3{font-size:27px;line-height:1.25;letter-spacing:-.02em}
p,.section-head>p,.course-grid p,.split-copy p:not(.eyebrow),.service-line p{font-size:19px;line-height:1.75;color:#d7e8ed}
.hero .intro{font-size:22px;line-height:1.65;max-width:520px}
.hero-copy{width:68%}.hero{min-height:850px}
.eyebrow,.hero .eyebrow{font-size:14px;line-height:1.6;letter-spacing:1.8px;color:#8deae7}
.button,.text-link,.course-grid a,.service-line a{font-size:17px;line-height:1.45;font-weight:700}
header{height:auto;min-height:116px;gap:28px;padding-top:10px;padding-bottom:10px}
header .brand{font-family:'Atkinson Hyperlegible',Arial,sans-serif;font-size:26px}
.brand small{font-family:'Atkinson Hyperlegible',Arial,sans-serif;font-size:12px;letter-spacing:2px}
nav{font-size:16px;gap:20px;flex-wrap:wrap;justify-content:flex-end;line-height:1.4}
.strip,.swim-tags{font-family:'Atkinson Hyperlegible',Arial,sans-serif;font-size:16px;line-height:1.5;letter-spacing:.7px}
.number{font-family:Fraunces,Georgia,serif;font-size:38px;color:#93cbd8}
.course-photo figcaption,.coordinates{font-family:Fraunces,Georgia,serif;font-size:clamp(28px,2.8vw,40px);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.photo span{font-family:Fraunces,Georgia,serif;font-size:24px;line-height:1.3}
.fine,form .fine,.contact-note,dialog p{font-size:15px;line-height:1.7;color:#bed8e2}
.contact-note{max-width:360px}.contact label{font-size:18px;line-height:1.5}
input,select,textarea{font-size:19px;padding:14px;line-height:1.5}
.contact h2{font-size:clamp(48px,5vw,70px);line-height:1.12}
footer p{font-family:Fraunces,Georgia,serif;font-size:28px}
footer a:not(.brand),footer>small,.hero-bottom{font-size:13px;line-height:1.6}
.course-grid p{min-height:145px}.service-line{grid-template-columns:1fr 1.15fr;gap:25px 40px}.service-line a{justify-self:start}
.section-head>p,.section-head>div:last-child:not(:first-child){max-width:440px}
@media(max-width:1100px){header{flex-wrap:wrap;justify-content:center}nav{justify-content:center;font-size:16px}.hero .actions{align-items:flex-start}.course-grid{gap:15px}.course-grid article{padding:23px!important}.course-grid p{min-height:0}.split-copy{padding:65px 9%}}
@media(max-width:760px){header{min-height:100px;height:100px;flex-wrap:nowrap;justify-content:space-between}nav{top:100px;font-size:19px;justify-content:start;z-index:5}#menu{font-size:17px}h1{font-size:clamp(44px,10.3vw,73px);line-height:1.08}.hero{min-height:1000px}.hero-copy{width:100%}.hero .intro{font-size:20px;max-width:100%}.hero-bottom{max-width:44%;font-size:12px}.hero-badge{width:175px;right:6%}h2{font-size:38px}.course-photo figcaption{font-size:27px}.course-photo{margin-bottom:115px}.strip,.swim-tags{font-size:14px}.contact h2{font-size:49px}.photo span{font-size:21px}.service-line{display:block}.service-line p{margin-bottom:25px}form{grid-template-columns:1fr}form label{grid-column:1/-1}.section-head{overflow-wrap:break-word}.coordinates{font-size:33px}.fine{margin-top:30px}}

@media(max-width:760px){#courses .course-photo{width:100%;height:360px;margin-bottom:40px}#courses .course-photo figcaption{left:20px;right:20px;bottom:22px;max-width:none;width:auto;padding:0;background:transparent;font-size:30px}#courses .course-photo img{object-position:center}}

/* Center the opening mission and its next steps. */
.hero-mission{margin-left:auto;margin-right:auto;text-align:center;border-left:0;border-top:2px solid #8cddd5;width:100%}
.hero .hero-mission p{color:#a4e5df}
.hero .hero-mission .actions{display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px 30px;margin-top:26px}
.hero-mission .text-link{color:#a4e5df}
@media(max-width:760px){.hero .hero-mission .actions{flex-direction:column;align-items:center;gap:16px}.hero-mission .button{max-width:100%}}

.strip{transform:none}

/* Guided trips: center the portrait and balance it with the copy. */
#trips{align-items:stretch}
#trips .ocean-panel{min-height:650px}
#trips .ocean-panel>img{object-position:50% 46%}
#trips .coordinates{left:24px;right:24px;bottom:32px;text-align:center;font-size:clamp(27px,2.8vw,39px);line-height:1.18}
#trips .split-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 9%}
#trips .split-copy p{max-width:430px}
#trips .split-copy h2{width:100%;margin-bottom:28px}
#trips .split-copy .button{align-self:center}
@media(max-width:760px){#trips .ocean-panel{min-height:460px}#trips .ocean-panel>img{object-position:center 42%}#trips .split-copy{padding:45px 6%}#trips .coordinates{font-size:29px;bottom:24px}}

/* Swim lessons artwork and copy share an open, balanced layout. */
#swim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6%;align-items:center}
#swim .swim-photo{grid-column:1;grid-row:1 / span 3;margin:0;position:relative;z-index:1}
#swim .swim-photo img{display:block;width:100%;height:auto;border-radius:8px}
#swim>.eyebrow,#swim>.section-head,#swim>.swim-tags{grid-column:2}
#swim>.section-head{display:block;margin-bottom:30px}
#swim .section-head>div{max-width:none;margin-top:24px}
#swim .swim-tags{gap:14px;font-size:14px;flex-wrap:wrap}
@media(max-width:760px){#swim{grid-template-columns:1fr;gap:0}#swim .swim-photo{grid-column:1;grid-row:auto;margin-bottom:32px}#swim>.eyebrow,#swim>.section-head,#swim>.swim-tags{grid-column:1}#swim h2{font-size:38px}}

#swim .swim-photo{display:flex;flex-direction:column;gap:24px}#swim .swim-photo .swim-blue-logo{width:100%;max-width:360px;align-self:center;height:auto;object-fit:contain}

/* Tighten the space between the swim logo and scuba cats. */
#swim .swim-photo{gap:8px}
#swim .swim-photo img[src='assets/swim-cats.png']{margin-top:-16px;position:relative}
@media(max-width:760px){#swim .swim-photo img[src='assets/swim-cats.png']{margin-top:-8px}}

/* Professional services portrait alongside the project description. */
#services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px 6%;align-items:center}
#services .services-photo{grid-column:1;grid-row:1;margin:0}
#services .services-photo img{display:block;width:100%;height:auto;border-radius:8px}
#services>.section-head{grid-column:2;display:block;margin:0}
#services>.section-head>p{max-width:none;margin-top:28px}
#services>.service-line{grid-column:1/-1}
@media(max-width:760px){#services{grid-template-columns:1fr;gap:30px}#services .services-photo,#services>.section-head,#services>.service-line{grid-column:1}#services .services-photo{grid-row:auto}}

#captain{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:6%;row-gap:24px}#captain .captain-photo{grid-column:1;grid-row:1 / span 2;margin:0}#captain .captain-photo img{display:block;width:100%;height:auto;border-radius:8px}#captain .captain-heading,#captain .captain-copy{grid-column:2}#captain .captain-heading{align-self:end}#captain .captain-copy{align-self:start}@media(max-width:760px){#captain{grid-template-columns:1fr}#captain .captain-photo{grid-column:1;grid-row:auto}#captain .captain-heading,#captain .captain-copy{grid-column:1}}

/* Eight lessons: text left, smiling fish right. */
#ocean-lessons{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:center;background:#04283b}#ocean-lessons .ocean-lessons-copy{max-width:none}#ocean-lessons .lessons-fish-photo{margin:0}#ocean-lessons .lessons-fish-photo img{display:block;width:100%;height:auto;border-radius:8px}@media(max-width:760px){#ocean-lessons{grid-template-columns:1fr;gap:35px}}

#captain .captain-photo{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}#captain .captain-photo img{width:100%;height:auto}@media(max-width:480px){#captain .captain-photo{gap:10px}}

/* Give the smiling fish more space beside the eight lessons. */
#ocean-lessons{grid-template-columns:minmax(0,0.9fr) minmax(0,1.3fr);gap:5%;padding-left:5%;padding-right:5%;align-items:center}#ocean-lessons .lessons-fish-photo{width:100%}#ocean-lessons .lessons-fish-photo img{width:100%;height:auto;display:block}#ocean-lessons h2{font-size:clamp(36px,3.6vw,54px)}#ocean-lessons li{font-size:19px}@media(max-width:760px){#ocean-lessons{grid-template-columns:1fr;padding-left:6%;padding-right:6%;gap:30px}#ocean-lessons .lessons-fish-photo{grid-row:1}#ocean-lessons .ocean-lessons-copy{grid-row:2}#ocean-lessons li{font-size:18px}}

/* Captain photographs: layered editorial composition. */
#captain .captain-photo{display:block;position:relative;padding:12px 0 70px 10px;isolation:isolate}#captain .captain-photo img{border:6px solid #e4f0eb;border-radius:2px;box-shadow:0 18px 38px #00121e66;object-fit:cover}#captain .captain-photo img:first-child{width:68%;height:auto;aspect-ratio:3/4;transform:rotate(-5deg);position:relative;z-index:2}#captain .captain-photo img:nth-child(2){width:65%;height:auto;aspect-ratio:3/4;transform:rotate(5deg);position:relative;z-index:1;margin:-62% 0 0 34%}#captain .captain-photo:before{content:'';position:absolute;inset:12% 4% 10% 4%;border:1px solid #69d9d552;transform:rotate(-9deg);z-index:-1}#captain .captain-photo:after{content:'LIFE AT THE HELM';display:block;position:absolute;left:5%;bottom:20px;color:#a4e5df;font-size:13px;letter-spacing:3px;transform:rotate(-5deg)}@media(max-width:760px){#captain .captain-photo{max-width:560px;width:100%;margin:0 auto;padding-bottom:60px}#captain .captain-photo img{border-width:4px}#captain .captain-photo:after{font-size:12px;bottom:16px}}

#captain .captain-photo img:first-child{width:70%;transform:rotate(-4deg);z-index:2}#captain .captain-photo img:nth-child(2){width:65%;margin:-45% 0 0 33%;transform:rotate(5deg);z-index:1}

/* Larger helm photo, staggered below and to the right of the portrait. */
#captain .captain-photo{padding-right:18px;padding-bottom:65px}#captain .captain-photo img:first-child{width:64%;z-index:2;transform:rotate(-4deg)}#captain .captain-photo img:nth-child(2){width:83%;margin:-20% 0 0 17%;z-index:1;transform:rotate(4deg)}@media(max-width:760px){#captain .captain-photo{padding-right:12px}#captain .captain-photo img:nth-child(2){width:83%;margin-top:-18%}}
