:root{--navy:#0c2d40;--ink:#16384a;--teal:#0b978f;--cream:#f4f8f8;--line:#dce7e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;background:white}a{color:#007d80}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14}h1{font-size:clamp(2.8rem,5vw,5.3rem);letter-spacing:-.05em}h2{font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.04em}h3{font-size:1.3rem}em{font-style:normal;color:#72d7c7}.container{width:min(1160px,calc(100% - 42px));margin:auto}.narrow{max-width:790px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:white}.header{background:#fff;position:sticky;top:0;z-index:9;border-bottom:1px solid var(--line)}.nav{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:22px}.logo{display:flex;align-items:center;text-decoration:none;color:var(--navy);font-weight:900;letter-spacing:.025em;line-height:1.15}.logo b{color:var(--teal)}.logo small{display:block;letter-spacing:0;font-weight:500;font-size:11px;margin-top:5px}.symbol{font-size:29px;margin-right:12px}.nav nav{display:flex;align-items:center;gap:24px}.nav nav a{color:var(--ink);text-decoration:none;font-weight:650;font-size:14px}.nav nav .nav-button{background:var(--teal);color:white;padding:11px 16px;border-radius:7px}.hero,.pagehero,.navy{background:var(--navy);color:white}.hero{padding:76px 0}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:54px}.hero-photo{width:100%;height:410px;object-fit:cover;border-radius:15px}.hero p.lead{font-size:19px;max-width:600px;color:#dae9eb}.hero-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.hero-facts span{font-size:12px;border:1px solid #406477;padding:6px 10px;border-radius:30px}.kicker{font-size:12px;letter-spacing:.14em;color:#92dfd6;font-weight:800}.kicker.dark{color:#0b8685}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-block;background:var(--teal);color:white;text-decoration:none;font-weight:750;padding:13px 18px;border-radius:7px;text-align:center;border:2px solid var(--teal);line-height:1.3}.button.ghost{background:transparent;border-color:#83b1b8;color:white}.button.outline{background:white;color:#006d71}.button.disabled{background:#cbd4d5;border-color:#cbd4d5;color:#344}.section{padding:78px 0}.pale{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:27px}.section-heading p{max-width:620px}.textlink{font-weight:800;white-space:nowrap}.class-grid,.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.class-card,.course,.empty{border:1px solid var(--line);border-radius:12px;padding:25px;background:white}.class-card h3{margin:20px 0}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-bottom{margin-top:24px}.card-bottom .button{font-size:13px;padding:10px}.chip{background:#e0f4f1;color:#0b696a;font-size:12px;font-weight:850;padding:6px 10px;border-radius:6px}.seat,.smallnote{font-size:12px;color:#647a83}.detail{font-size:14px;margin:10px 0}.price{font-size:23px}.empty{background:#f8fcfc}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}.steps>div{background:white;border-radius:12px;padding:24px}.steps b,.guide span{font-size:26px;color:var(--teal)}.course p{min-height:90px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.story-grid img{width:100%;max-height:480px;object-fit:cover;border-radius:12px}.navy p{color:#d3e5ea}.navy .button{margin-top:15px}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.people article{border-left:4px solid var(--teal);padding:8px 20px}.subtitle{font-weight:700;color:#0a8683}.callout{padding:23px;background:#e9f5f3;margin-top:28px;border-radius:9px}.faqs{display:grid;gap:10px}.faqs details{background:white;border:1px solid var(--line);padding:16px 20px;border-radius:8px}.faqs summary{cursor:pointer;font-weight:800}.faqs details p{margin-top:14px}.contact{text-align:center}.pagehero{padding:80px 0}.pagehero p{font-size:20px;max-width:770px}.pagehero .button{margin-top:10px}.bio{display:grid;grid-template-columns:1fr 1.25fr;gap:42px;align-items:center;margin:45px 0}.bio:nth-of-type(2){grid-template-columns:1.25fr 1fr}.bio img{width:100%;height:330px;object-fit:cover;border-radius:12px}.guide>div{display:grid;grid-template-columns:65px 1fr;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}footer{background:#082635;color:#d1e5e8;padding:50px 0}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}footer a,footer small{display:block;color:#d1e5e8;margin:6px 0}footer strong{color:white}footer p{max-width:410px}.notice{background:#fff8e4;padding:20px;border-radius:9px}@media(max-width:850px){.nav{align-items:flex-start;flex-direction:column;padding:16px 0}.nav nav{flex-wrap:wrap;gap:13px}.hero-grid,.story-grid,.bio,.bio:nth-of-type(2){grid-template-columns:1fr}.hero-photo{height:310px}.class-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,1fr)}.section{padding:55px 0}}@media(max-width:580px){.container{width:calc(100% - 30px)}.class-grid,.course-grid,.steps,.people,.foot{grid-template-columns:1fr}.section-heading{display:block}.hero{padding:43px 0}.hero-photo{height:240px}.nav nav a{font-size:12px}.card-bottom{flex-wrap:wrap}.guide>div{grid-template-columns:38px 1fr;gap:13px}}

/* V4: accessible, visually engaging team cards and clearer conversion actions */
.people article{border:1px solid var(--line);border-radius:13px;padding:20px;background:#fff}.team-photo{width:100%;height:260px;object-fit:cover;object-position:center 40%;border-radius:10px;margin-bottom:19px}.people article h3{margin-bottom:7px}.class-card{box-shadow:0 7px 22px rgba(8,38,53,.055)}.class-card .button{white-space:normal}.hero .button{min-width:190px}.section-heading h2{max-width:830px}.nav nav .nav-button:focus-visible,.button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e5b34a;outline-offset:3px}@media(max-width:580px){.team-photo{height:235px}.hero .button{width:100%}}


/* v6: approved visual direction, powered by real site data */
:root{--navy:#0c2953;--teal:#0875c9;--ink:#112e58;--cream:#f2f8fd}
body{color:var(--ink);line-height:1.55}
.container{width:min(1450px,calc(100% - 80px))}
.header{background:#fff;box-shadow:0 2px 12px #0c295314}
.nav{min-height:74px}
.logo b{color:var(--navy)}.logo small{font-size:10px;letter-spacing:.1em;color:#24649e}
.nav nav .nav-button,.button{background:#0677cf;border-color:#0677cf}
.hero{position:relative;isolation:isolate;background:linear-gradient(90deg,rgba(1,26,63,.90) 0%,rgba(1,28,67,.69) 27%,rgba(1,30,68,.1) 57%),url('/assets/crew-on-water.jpg') center 47%/cover no-repeat;min-height:520px;padding:36px 0 18px}
.hero .hero-content{position:relative;z-index:1}.hero h1{font-size:clamp(3.2rem,5.1vw,5rem);letter-spacing:-.045em;max-width:600px;margin:0 0 12px;color:white}
.hero .hero-tagline{font-size:clamp(1.25rem,1.7vw,1.65rem);letter-spacing:-.02em;max-width:550px;color:white;margin-bottom:16px}
.hero .lead{max-width:520px;font-size:16px;line-height:1.6;color:#fff}
.hero .kicker{color:#c5e6ff}.hero-facts{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px 20px}
.hero-facts span{border:0;background:#092a5073;color:#fff;border-radius:5px;font-size:12px}
.button{border-radius:7px}.hero .button.ghost{color:#fff;border-color:white}
.classes-feature{padding:34px 0 60px;background:#fff}.class-showcase{display:grid;grid-template-columns: 340px minmax(0,1fr);gap:30px;align-items:start}
.class-intro{padding-top:10px}.class-intro h2,.team-intro h2{font-size:clamp(2rem,2.6vw,2.8rem)}.class-intro p{color:#40556e}
.course-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.preview-card{background:#fff;border:1px solid #e5edf6;border-radius:11px;overflow:hidden;box-shadow:0 4px 14px #001b3c0e;display:flex;flex-direction:column}
.preview-image{height:125px;background-size:cover;background-position:center}
.preview-inner{padding:13px;display:flex;flex:1;flex-direction:column}.preview-code{font-size:11px;font-weight:800;color:#1467a8}.preview-inner h3{font-size:16px;margin:5px 0 8px}.preview-inner p{font-size:13px;line-height:1.4;color:#3c4e65;flex:1}
.preview-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px;color:#2e5780;margin-bottom:14px}.preview-inner .button{font-size:13px;padding:10px 8px;align-self:center;width:100%}
.live-schedule{padding-top:56px;scroll-margin-top:100px}.live-schedule h2{font-size:2rem}.class-card{box-shadow:0 5px 18px #082c4410}
.team-showcase{background:#eaf5ff;padding:35px 0}.team-showcase-grid{display:grid;grid-template-columns:310px 1fr 1fr;gap:26px;align-items:center}.team-intro p{font-size:15px}.team-mini{display:grid;grid-template-columns:42% 1fr;gap:15px;align-items:start}.team-mini img{width:100%;height:195px;object-fit:cover;object-position:center 30%;border-radius:8px}.team-mini h3{font-size:19px;margin:0 0 5px}.team-mini p{font-size:13px;line-height:1.45;margin-bottom:10px}.team-mini .subtitle{font-size:12px;color:#1366aa}.team-mini a{font-size:13px;font-weight:750;text-decoration:none}
@media(max-width:1180px){.class-showcase{grid-template-columns:1fr}.class-intro{max-width:720px}.team-showcase-grid{grid-template-columns:1fr 1fr}.team-intro{grid-column:1/-1}}
@media(max-width:780px){.container{width:calc(100% - 34px)}.hero{min-height:500px;background-position:60% center}.hero .lead{max-width:490px}.course-preview-grid{grid-template-columns:1fr 1fr}.team-showcase-grid{grid-template-columns:1fr}.team-mini{grid-template-columns:160px 1fr}}
@media(max-width:560px){.hero{background:linear-gradient(90deg,rgba(1,26,63,.9),rgba(1,26,63,.55)),url('/assets/crew-on-water.jpg') center/cover no-repeat}.hero h1{font-size:3rem}.hero-facts{gap:6px}.course-preview-grid{grid-template-columns:1fr}.team-mini{grid-template-columns:125px 1fr}.team-mini img{height:175px}}

/* Instructor image: preserve full head and hat without face clipping. */
.team-mini img[src$="andrei-instructor-photo.jpg"]{object-fit:contain;object-position:center;background:#d8eaf1;}
.bio img[src$="andrei-instructor-photo.jpg"]{object-fit:contain;object-position:center;background:#d8eaf1;}

/* Prominent American Sailing affiliation across all public pages */
.asa-header{display:flex;align-items:center;gap:9px;text-decoration:none;color:#0b2d40;min-width:190px;flex-shrink:0;border-left:1px solid #dce7e8;padding-left:16px;font-size:10px;font-weight:800;line-height:1.25;letter-spacing:.02em}.asa-header img{width:54px;height:54px;object-fit:contain;border-radius:4px}.asa-header span b{font-size:12px}.affiliation-strip{background:#e8f3f9;border-top:1px solid #cddfeb;border-bottom:1px solid #cddfeb;padding:20px 0}.affiliation-inner{display:flex;align-items:center;gap:24px}.affiliation-inner img{width:92px;height:92px;object-fit:contain;border-radius:8px;background:white;border:1px solid #dce7e8;flex-shrink:0}.affiliation-inner div{flex:1}.affiliation-inner strong{font-size:22px;color:#10334d}.affiliation-inner p{margin:5px 0 0}.affiliation-inner a{font-weight:700}.asa-course-marker{display:block;font-size:11px;color:#136a8d;font-weight:700;letter-spacing:.01em;margin-top:5px}.asa-footer{display:flex;gap:10px;align-items:center!important;color:#fff!important;font-size:12px;text-decoration:none}.asa-footer img{width:54px;height:54px;object-fit:contain;background:white;border-radius:5px}.asa-footer span{max-width:150px}.header .nav{gap:12px}.header nav{gap:16px!important}@media(max-width:1030px){.asa-header{min-width:auto;padding-left:12px}.asa-header img{width:40px;height:40px}.asa-header span{font-size:9px}.header nav{gap:10px!important}}@media(max-width:850px){.affiliation-inner{align-items:flex-start;flex-wrap:wrap}.affiliation-inner a{width:100%}.asa-header{border-left:0;padding-left:0}}

.header-phone{white-space:nowrap;font-size:13px;font-weight:750;color:#0c2d40;text-decoration:none}.header-phone:hover,.call-us a:hover{text-decoration:underline}.call-us{margin-top:14px;font-weight:650}.call-us a{color:#087f89}@media(max-width:900px){.header-phone{align-self:center}}

/* Contact form */
.contact-form-box{border:1px solid var(--line);padding:28px;border-radius:14px;background:#fff}.tis-contact-form{display:grid;gap:16px}.tis-contact-form label{display:grid;gap:7px;font-weight:700}.tis-contact-form input,.tis-contact-form textarea{display:block;width:100%;font:inherit;padding:12px 14px;border-radius:7px;border:1px solid #a9bfc4}.tis-contact-form button{cursor:pointer;justify-self:start}.hidden-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice.success{background:#ebf9f4;border-left:4px solid #138574}

/* Alert is visible only while there are no published future classes. */
.live-schedule .empty{background:#fff0f0;border:2px solid #d83a3a;box-shadow:0 3px 12px rgba(160,25,25,.09)}
.live-schedule .empty h3{color:#a31621}
.live-schedule .empty p{color:#6e252b}
.live-schedule .empty .button{background:#bb202b;border-color:#bb202b;color:#fff}
.live-schedule .empty .button:hover,.live-schedule .empty .button:focus-visible{background:#94131e;border-color:#94131e}

/* V17: approved branded banner, new instructor portraits, student certification and IPC */
.hero.hero-banner{min-height:0;padding:0;background:#083967;display:block}
.hero-banner>img{display:block;width:100%;height:auto;max-height:820px;object-fit:contain;background:#053c70}
.hero-banner-actions{background:#082b59;color:#fff;padding:17px 0 20px}
.hero-banner-actions .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero-banner-actions p{font-size:16px;margin:0;max-width:610px}
.hero-banner-actions .actions{margin:0;gap:12px;flex-shrink:0}
.hero-banner-actions .button{min-width:unset!important;padding:12px 15px}
.hero-banner-actions .button.outline{background:transparent;color:white;border-color:#fff}
.team-mini img[src$="andrei-portrait-original.png"]{object-fit:cover;object-position:center 42%;background:#ecf4fa}
.team-mini img[src$="georgiy-portrait-original.png"]{object-fit:cover;object-position:center 27%;background:#ecf4fa}
.bio img[src$="andrei-portrait-original.png"]{object-fit:contain;object-position:center;background:#e6f0f7;height:410px}
.bio img[src$="georgiy-portrait-original.png"]{object-fit:contain;object-position:center;background:#e6f0f7;height:410px}
.certification-section{background:#f6faff}.certification-section .section-heading{max-width:990px}.certification-section .section-heading p{max-width:950px}
.certification-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 42px}
.certification-benefits>div{background:#fff;border:1px solid #dce9f5;border-radius:11px;padding:22px;box-shadow:0 5px 14px #1234560a}
.certification-benefits strong{font-size:19px;color:#092f61}.certification-benefits p{margin:10px 0 0}
.pathway-heading{font-size:26px;margin:0 0 18px}
.certification-pathway{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.certification-pathway article{background:#fff;border:1px solid #dbe7f3;border-top:5px solid #0677cf;border-radius:9px;padding:19px 17px}
.certification-pathway article span{color:#0873cc;font-size:25px;font-weight:850}.certification-pathway h4{font-size:16px;margin:7px 0}.certification-pathway p{font-size:14px;margin:0}
.certification-section>.container>.button{margin-top:20px}
.ipc-section{background:#edf6ff}.ipc-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:center}
.ipc-layout h2{font-size:clamp(2rem,3.3vw,3.5rem)}.ipc-layout p{color:#314e6d}.ipc-layout figure{margin:0;background:#fff;border:1px solid #cce1f0;border-radius:16px;padding:13px;box-shadow:0 10px 28px #072e5820}
.ipc-layout figure img{display:block;width:100%;height:auto;border-radius:11px}.ipc-layout figcaption{font-size:12px;color:#4a6077;margin:9px 4px 2px}
.ipc-layout .button.outline{background:transparent;color:#006abd}
@media(max-width:1100px){.hero-banner-actions .container{align-items:flex-start;flex-direction:column}.ipc-layout{gap:24px}}
@media(max-width:800px){.certification-benefits{grid-template-columns:1fr}.certification-pathway{grid-template-columns:1fr 1fr}.ipc-layout{grid-template-columns:1fr}}
@media(max-width:540px){.hero-banner>img{width:100%;height:auto;max-height:none}.hero-banner-actions .actions{width:100%;flex-direction:column}.hero-banner-actions .button{width:100%}.certification-pathway{grid-template-columns:1fr}.ipc-layout .actions .button{width:100%}.bio img[src$="andrei-portrait-original.png"],.bio img[src$="georgiy-portrait-original.png"]{height:350px}}

/* V18: uploaded original PNGs; do not crop or alter instructor photographs. */
.hero-banner>img{width:100%;height:auto;max-height:none;object-fit:contain;}
.team-mini img[src$="andrei-portrait-original.png"],
.team-mini img[src$="georgiy-portrait-original.png"]{object-fit:contain!important;object-position:center center!important;background:#eaf3fa;}
.bio img[src$="andrei-portrait-original.png"],
.bio img[src$="georgiy-portrait-original.png"]{object-fit:contain!important;object-position:center center!important;background:#eaf3fa;height:410px;}
@media(max-width:540px){.bio img[src$="andrei-portrait-original.png"],.bio img[src$="georgiy-portrait-original.png"]{height:350px;}}

/* V19: mission section intentionally text-only; instructors listed by role, not founder status. */
.mission-section .narrow{max-width:900px}.mission-section h2{max-width:780px}.mission-section p{max-width:840px}

/* V20: real fleet photos and course detail links */
.preview-image{height:180px;background:none;overflow:hidden}
.preview-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.preview-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.preview-actions .button.outline.alt{background:#fff;color:#0f5fa3;border-color:#0f5fa3}
.detail-link{margin:0 0 10px}
.fleet-section{background:#f8fbfe}
.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:18px}
.fleet-card,.fleet-gallery figure{background:#fff;border:1px solid #deebf5;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px rgba(7,46,88,.07)}
.fleet-card img,.fleet-gallery img{display:block;width:100%;height:auto}
.fleet-card-body{padding:18px 18px 20px}
.fleet-type{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#0b69ab;margin-bottom:8px}
.fleet-card h3{margin:0 0 10px;font-size:24px}
.fleet-card p{margin:0;color:#40556e}
.fleet-note{margin:18px 0 22px;padding:16px 18px;border-left:4px solid #0b69ab;background:#eaf4fb;border-radius:8px}
.fleet-note p{margin:0}
.fleet-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fleet-gallery figure{margin:0}
.fleet-gallery img{height:210px;object-fit:cover;object-position:center}
.fleet-gallery figcaption{padding:12px 14px;font-size:13px;line-height:1.4;color:#41576e}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.course-hero-image{display:block;width:100%;height:auto;border-radius:14px;border:1px solid #dce9f5;box-shadow:0 8px 24px rgba(7,46,88,.08)}
.course-callout{margin-top:16px;padding:15px 16px;background:#eef7ff;border-left:4px solid #0b69ab;border-radius:8px;color:#284663}
.info-list{display:grid;gap:12px;margin-top:22px}
.info-list>div{display:grid;gap:4px;padding:14px 16px;border:1px solid #dce9f5;background:#fff;border-radius:10px}
.info-list strong{font-size:14px;color:#0b3560}
.course-bullets{padding-left:22px;display:grid;gap:10px}
.course-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
@media(max-width:920px){.fleet-gallery{grid-template-columns:1fr 1fr}.course-grid{grid-template-columns:1fr}}
@media(max-width:700px){.fleet-grid{grid-template-columns:1fr}.fleet-gallery{grid-template-columns:1fr}.preview-actions .button{width:100%}}

/* V21: ASA 104 and rotating fleet carousel */
.preview-headline-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.course-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:#e8f4ff;color:#0f5fa3;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.course-note{margin-top:14px}
.fleet-carousel-block{margin-top:28px}
.fleet-carousel-header h3{margin:0 0 8px;font-size:28px;color:#0b3560}
.fleet-carousel-header p{margin:0 0 18px;color:#425871}
.fleet-carousel{position:relative;padding:0 54px}
.carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-slide{flex:0 0 min(100%, 760px);margin:0;scroll-snap-align:start;background:#fff;border:1px solid #deebf5;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(7,46,88,.08)}
.carousel-slide img{display:block;width:100%;height:420px;object-fit:cover;object-position:center}
.carousel-slide figcaption{padding:14px 16px;font-size:14px;line-height:1.5;color:#41576e}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;border-radius:50%;background:#0f5fa3;color:#fff;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px rgba(7,46,88,.18)}
.carousel-arrow.prev{left:0}
.carousel-arrow.next{right:0}
.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.carousel-dots button{width:10px;height:10px;border:none;border-radius:50%;background:#b7cde0;cursor:pointer;padding:0}
.carousel-dots button.active{background:#0f5fa3;transform:scale(1.15)}
@media(max-width:800px){.fleet-carousel{padding:0 42px}.carousel-slide{flex-basis:100%}.carousel-slide img{height:280px}}

/* V22: two unaltered user-supplied photographs in the Sailing Together section */
.story-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.story-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;border-radius:12px;background:#e9f3fb;box-shadow:0 5px 20px rgba(12,45,74,.10)}
@media(max-width:750px){.story-photos{grid-template-columns:1fr}.story-photos img{aspect-ratio:auto}}

/* V26: distinguish American Sailing guidance from school-specific hours */
.course-duration{background:#f7fbff;border-top:1px solid #e0ebf6}
.course-duration h2{margin-bottom:20px}
.time-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}
.time-cards>div{background:#fff;border:1px solid #dae7f4;border-radius:12px;padding:20px;box-shadow:0 4px 12px rgba(7,46,88,.05)}
.time-cards strong{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#48647e;display:block}
.time-cards span{display:block;font-size:24px;font-weight:800;color:#0e548f;margin:8px 0 12px}
.time-cards p{margin:0;font-size:14px;line-height:1.55;color:#40556e}
.course-duration .smallnote{font-size:14px;line-height:1.55}
@media(max-width:780px){.time-cards{grid-template-columns:1fr}}

/* V30: American Sailing logo hosted locally, preserving full wordmark. */
.asa-header img{width:105px;height:auto;max-height:54px;object-fit:contain;border-radius:3px}
.affiliation-inner img{width:155px;height:auto;max-height:95px;object-fit:contain}
.asa-footer img{width:110px;height:auto;max-height:58px;object-fit:contain}
@media(max-width:1030px){.asa-header img{width:82px;height:auto}}

/* Prelaunch usability: clear course choices, responsive navigation and inquiry forms. */
html{scroll-padding-top:110px}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e5b34a;outline-offset:3px}.smallnote{font-size:14px;line-height:1.55}
.conversion-hero{background:#0c2953;min-height:0;padding:54px 0;color:#fff}.conversion-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}.conversion-hero h1{font-size:clamp(2.5rem,4vw,4.5rem);max-width:800px;letter-spacing:-.035em;margin:12px 0 22px}.conversion-hero p.lead{font-size:20px;line-height:1.55}.conversion-hero .hero-price{font-size:17px;color:#e2effc;line-height:1.7}.conversion-hero .hero-price strong{font-size:22px;color:white}.conversion-hero .hero-status{font-size:14px;max-width:650px;margin:18px 0 0;color:#c9dff4}.conversion-hero figure{margin:0;border-radius:16px;overflow:hidden;border:1px solid #ffffff38}.conversion-hero figure>img{display:block;width:100%;height:350px;object-fit:cover}.conversion-hero figcaption{display:flex;gap:18px;align-items:center;background:#fff;color:#12375e;padding:16px;font-size:14px;font-weight:750}.conversion-hero figcaption img{width:135px;height:auto;object-fit:contain}.conversion-hero .button.outline{background:transparent;color:white;border-color:#8eb7df}
.course-price{font-size:16px;margin:14px 0}.course-price strong{font-size:28px;color:#0b3561}.start-badge{display:inline-block;background:#e4f3ee;color:#145d47;padding:6px 10px;border-radius:6px;font-size:13px;font-weight:750;margin:6px 0}.preview-meta{flex-wrap:wrap;gap:8px}.preview-inner{min-width:0}.preview-actions .button{white-space:normal}.course-snapshot{padding:28px 0;background:#f3f8fc;border-bottom:1px solid #dce7f0}.quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0 24px}.quick-facts>div{background:white;border:1px solid #dce7f0;border-radius:12px;padding:20px}.quick-facts strong,.quick-facts span{display:block}.quick-facts strong{font-size:23px;line-height:1.3;color:#0b3561;margin-bottom:8px}.quick-facts span{font-size:14px;color:#4f6578}.course-snapshot .actions{margin:20px 0}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.decision-grid h2{font-size:30px}.decision-grid h3{margin-top:22px}.decision-grid li{margin-bottom:12px}.comparison-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #d8e5f0;border-radius:12px;margin:24px 0;background:white}.course-comparison{border-collapse:collapse;width:100%;font-size:15px;text-align:left}.course-comparison th,.course-comparison td{padding:18px 16px;border-bottom:1px solid #dce7f0;vertical-align:top;min-width:115px}.course-comparison thead{background:#0c2953;color:#fff}.course-comparison th:first-child{white-space:nowrap}.course-comparison tbody tr:last-child>*{border-bottom:0}.course-comparison td{overflow-wrap:anywhere}.course-comparison a{font-weight:750}.compact-pagehero{padding:48px 0}.compact-pagehero h1{font-size:clamp(2.3rem,4vw,3.8rem)}.notice.success{background:#e5f4ed;border:1px solid #c0e1d1;color:#184f3b}.notice p:last-child{margin-bottom:0}.tis-contact-form select{display:block;width:100%;font:inherit;padding:12px 14px;border:1px solid #a9bfc4;border-radius:7px;background:white;color:#16384a;min-height:48px}.tis-contact-form input,.tis-contact-form textarea{font-size:16px}.tis-contact-form .consent-line{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:500;line-height:1.5}.tis-contact-form .consent-line input{width:20px;height:20px;flex:0 0 20px;margin-top:3px;padding:0}.menu-toggle{display:none;background:#0c2953;border:1px solid #0c2953;border-radius:7px;padding:10px 15px;color:white;font-weight:750;cursor:pointer}.header .nav{gap:16px}.header nav a{white-space:normal}
@media(max-width:1180px){.header .nav{display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:12px 0}.header .logo{min-width:0}.header .header-phone{display:none}.header .asa-header{min-width:0;margin:0;border:0;padding:0}.header .asa-header span{display:none}.header .asa-header img{width:105px;max-height:48px}.header .nav nav{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;padding:12px 0 4px;gap:14px!important}.js .menu-toggle{display:block}.js .header .nav nav{display:none}.js .header .nav nav.is-open{display:flex}.header .nav nav a{font-size:15px;min-height:44px;display:flex;align-items:center;padding:8px 10px}.header .nav nav .nav-button{padding:11px 16px}.conversion-hero-grid{gap:28px}.conversion-hero h1{font-size:clamp(2.4rem,4.5vw,3.8rem)}}
@media(max-width:800px){.container{width:calc(100% - 36px)}.conversion-hero{padding:32px 0}.conversion-hero-grid,.decision-grid{grid-template-columns:1fr}.conversion-hero-grid{gap:28px}.conversion-hero h1{font-size:clamp(2.4rem,7vw,3.4rem)}.conversion-hero figure>img{height:260px}.quick-facts{grid-template-columns:1fr}.quick-facts>div{padding:16px}.section{padding:44px 0}.class-showcase{display:block}.class-intro{margin-bottom:25px}.time-cards{grid-template-columns:1fr}.pagehero{padding:38px 0}.pagehero h1{font-size:clamp(2.2rem,7vw,3.4rem)}.course-page .course-grid{grid-template-columns:1fr}}
@media(max-width:540px){html{scroll-padding-top:110px}.header .nav{grid-template-columns:1fr auto auto;gap:10px}.header .logo{font-size:13px}.header .symbol{font-size:22px;margin-right:6px}.header .logo small{font-size:8px;letter-spacing:0;max-width:165px}.header .asa-header img{width:76px}.menu-toggle{font-size:14px;padding:10px}.header .nav nav.is-open{display:grid;grid-template-columns:1fr 1fr}.header .nav nav .nav-button{grid-column:1/-1;justify-content:center}.hero .actions,.course-actions{width:100%;flex-direction:column;align-items:stretch}.conversion-hero .button{min-width:0;width:100%}.conversion-hero p.lead{font-size:18px}.conversion-hero figcaption{gap:12px;font-size:12px}.conversion-hero figcaption img{width:110px}.preview-card h3{font-size:25px}.course-comparison th,.course-comparison td{padding:14px 12px}.contact-form-box{padding:20px}.tis-contact-form button{width:100%}.team-mini{min-width:0}.course-snapshot .actions{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html,.carousel-track{scroll-behavior:auto}}
