:root{--navy:#071d32;--blue:#0b3a56;--teal:#6ed6d4;--cream:#f3f7f7;--ink:#112c3c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,20px);background:var(--navy);color:white;position:sticky;top:0;z-index:20;gap:25px}.brand{font-size:20px;font-weight:900;letter-spacing:.03em;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.22em;color:#9ed5de}.nav{display:flex;align-items:center;gap:18px;font-size:13px}.nav a:hover,.nav summary:hover{color:var(--teal)}.nav-group{position:relative}.nav-group summary{cursor:pointer;list-style:none;white-space:nowrap}.nav-group summary:after{content:"⌄";margin-left:5px;color:#9fd0d7}.drop{position:absolute;top:29px;left:-15px;min-width:230px;max-height:75vh;overflow:auto;display:flex;flex-direction:column;background:white;color:var(--ink);padding:10px 0;box-shadow:0 12px 40px #00192a3d;border-radius:4px}.drop a{padding:10px 20px}.drop a:hover{background:#eef8f8;color:#09566d}.nav-contact{border:1px solid #b7d7dc;padding:11px 15px;white-space:nowrap}.mobile{display:none}.container{max-width:1220px;margin:auto;padding:0 28px}.hero{min-height:620px;display:flex;align-items:center;background:linear-gradient(110deg,#041b2ef7,#0b4b65eb),radial-gradient(circle at 80% 55%,#2c91a1,transparent 45%);color:white;position:relative}.hero>.container{width:100%;padding-top:70px;padding-bottom:70px}.hero h1{font-size:clamp(50px,7vw,100px);letter-spacing:-.05em;line-height:1.12;margin:22px 0}.hero p:not(.eyebrow){font-size:clamp(17px,2vw,21px);line-height:1.9;color:#d2e6ea}.eyebrow{font-size:12px;letter-spacing:.22em;color:#22879a;font-weight:800}.hero .eyebrow,.trip-section .eyebrow,.contact-band .eyebrow{color:var(--teal)}.hero-photo{position:absolute;bottom:25px;right:5%;font-size:12px;color:#c1d6df}.button{display:inline-block;background:var(--teal);color:var(--navy);font-weight:800;padding:15px 24px;border-radius:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button.ghost{border:1px solid #a2cdd3;background:transparent;color:white}.section{max-width:1220px;margin:auto;padding:90px 28px}.section h2{font-size:clamp(29px,4vw,48px);line-height:1.3;margin:12px 0 25px}.section p{line-height:1.9;color:#4f6874}.home-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.photo-slot{min-height:330px;background:linear-gradient(135deg,#123b55,#17647a 55%,#7cc6c4);color:#d9f0f0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;letter-spacing:.1em;padding:25px}.text-link{display:inline-block;color:#08738a;font-weight:800;margin-top:20px}.course-section{background:var(--cream)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:35px 0}.course-card,.team-card{display:block;background:white;border:1px solid #e1ebec;overflow:hidden;transition:transform .15s,box-shadow .15s}.course-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #102e3c16}.mini-photo{height:165px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#0b344d,#24778a);color:#c7e8eb;font-size:11px;letter-spacing:.12em;padding:20px}.card-info{padding:22px}.card-info span{font-size:10px;letter-spacing:.15em;color:#2b8998}.card-info h3{font-size:20px;margin:10px 0 16px}.card-info b{font-size:13px;color:#0b7184}.team-card .card-info p{font-size:13px;line-height:1.65;margin:8px 0}.trip-section{background:#08263c;color:white}.trip-section .section p{color:#c1d5db}.contact-band{background:#d9f2f0;padding:65px max(5vw,25px);display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band h2{font-size:clamp(26px,3.5vw,45px);margin:12px 0}.contact-band p{line-height:1.7}.contact-band .eyebrow{color:#147a8b}.contact-band .button{background:#07344a;color:white;white-space:nowrap}.subhero{background:linear-gradient(120deg,#061e32,#0c4b65);color:white;padding:75px 0 85px}.subhero h1{font-size:clamp(34px,5vw,62px);margin:15px 0 25px;line-height:1.25}.subhero .eyebrow{color:var(--teal);margin-top:30px}.sublead{font-size:17px;line-height:2;color:#d5e5e9;max-width:880px}.crumb{font-size:13px;color:#a4c6d1}.article{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px}.article-main h2{font-size:27px;margin:28px 0 20px}.article-main li{line-height:1.95;margin-bottom:9px}.article aside .tall{min-height:380px}.sidebox{background:var(--cream);padding:24px;margin-top:25px}.sidebox h3{margin-top:0}.sidebox a{display:block;padding:11px 0;border-bottom:1px solid #dce7e8;font-size:14px}.review{background:#fff7e9;padding:14px 17px;font-size:13px;color:#7a5d29!important;border-left:3px solid #d3a04b}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery .photo-slot{min-height:260px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-grid a:not(.button){color:#08738a;text-decoration:underline}.price-placeholder{min-height:250px;flex-direction:column}.price-placeholder small{margin-top:10px}footer{background:#061b2b;color:#d5e3e8;padding:55px max(5vw,25px);display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer strong{color:white;font-size:19px}footer p{font-size:13px;line-height:2}footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:1150px){.nav{display:none}.mobile{display:block;position:relative}.mobile summary{cursor:pointer;list-style:none}.mobile-menu{position:absolute;right:0;top:35px;background:#fff;color:var(--ink);width:min(82vw,340px);max-height:80vh;overflow:auto;box-shadow:0 12px 30px #0004;padding:20px;display:flex;flex-direction:column}.mobile-menu a{padding:9px 12px;font-size:14px}.mobile-menu strong{margin:15px 0 5px;border-top:1px solid #dce8eb;padding-top:15px;color:#0c667d}}@media(max-width:850px){.home-intro,.article,.contact-grid{grid-template-columns:1fr;gap:35px}.cards{grid-template-columns:repeat(2,1fr)}.contact-band{align-items:flex-start;flex-direction:column}.section{padding:65px 22px}}@media(max-width:540px){.brand{font-size:17px}.top{height:70px}.cards,.gallery{grid-template-columns:1fr}.hero{min-height:570px}.hero h1{font-size:50px}.hero-photo{font-size:10px}.container{padding:0 22px}.subhero{padding:45px 0}.subhero h1{font-size:36px}.mini-photo{height:140px}.photo-slot{min-height:250px}}
/* Quarter Diving brand refresh — shared by all existing pages */
.top{background:#fff;color:#102838;border-bottom:1px solid #e8eff0;box-shadow:0 2px 14px #001d2b0a;padding-left:max(2.5vw,16px);padding-right:max(2.5vw,16px);gap:16px}
.brand{display:block;flex:0 0 auto;width:205px;height:72px;background:url("brand.svg") center center / contain no-repeat;font-size:0;letter-spacing:0;overflow:hidden}
.brand small{display:none}
.nav{gap:clamp(9px,1.2vw,17px);font-size:12px}
.nav a:hover,.nav summary:hover{color:#087c91}
.nav-group summary:after{color:#338da3}
.nav-contact{border-color:#9ccbd3;color:#07546b}
.mobile summary{color:#102838}
.mobile-menu{border:1px solid #dce8eb;border-radius:8px}
@media(max-width:540px){.brand{width:163px;height:64px}.top{height:70px}}

/* Vector brand from the supplied Illustrator original; clean white header */
.top{background:#ffffff!important;color:#182b33!important}
.brand{background:none!important;width:auto!important;height:64px!important;min-width:220px;display:block!important;position:relative;padding:11px 0 0 60px;overflow:visible!important;font-size:18px!important;line-height:1.25;letter-spacing:.02em;color:#241716!important}
.brand::before{content:"";position:absolute;left:0;top:5px;width:48px;height:55px;background:url("favicon.svg") center / contain no-repeat}
.brand small{display:block!important;color:#477e8b!important;letter-spacing:.14em;font-size:10px;margin-top:5px}
@media(max-width:540px){.brand{min-width:0;font-size:16px!important;padding-left:52px}.brand::before{width:43px;height:51px;top:7px}.brand small{font-size:9px}}

/* 2026 fresh illustrated ocean homepage */
.fresh-home{overflow:hidden;color:#16475c}.fresh-home h1,.fresh-home h2,.fresh-home h3{letter-spacing:-.035em}.fresh-hero{position:relative;background:linear-gradient(128deg,#e5fbfb 0%,#c9f4f8 48%,#a9eaf4 100%);padding:70px 24px 85px}.fresh-hero-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.hero-copy{position:relative;z-index:2}.fresh-kicker,.fresh-eyebrow{font-size:12px;font-weight:850;letter-spacing:.17em;color:#138c9d}.fresh-hero h1{font-size:clamp(52px,6.8vw,94px);line-height:1.15;margin:22px 0;color:#165673;font-weight:900}.fresh-hero h1 em{font-style:normal;color:#0c9cb5}.fresh-intro{font-size:clamp(15px,1.4vw,19px);line-height:2;color:#386877}.fresh-buttons,.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.fresh-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:100px;font-weight:800;font-size:15px;transition:transform .2s,box-shadow .2s;white-space:nowrap}.fresh-btn:hover{transform:translateY(-3px);box-shadow:0 10px 18px #07637c25}.fresh-btn.primary{background:#0994ae;color:white}.fresh-btn.light{background:white;color:#14617a;border:1px solid #9cdae5}.fresh-proof{display:flex;flex-wrap:wrap;gap:15px;color:#277e8d;font-size:13px;margin-top:28px;font-weight:650}.ocean-scene{position:relative;max-width:590px;width:100%;justify-self:center}.ocean-scene svg{width:100%;height:auto;filter:drop-shadow(0 22px 28px #1689a21a)}.scene-sticker{position:absolute;bottom:8%;right:4%;background:#fff;border-radius:100px;padding:13px 19px;color:#0f8da5;font-weight:900;transform:rotate(-7deg);box-shadow:0 8px 25px #127c971b}.hero-wave{position:absolute;bottom:-1px;left:0;right:0;height:74px}.hero-wave svg{width:100%;height:100%}.fresh-section{max-width:1220px;padding:95px 26px;margin:auto}.fresh-head{text-align:center;max-width:770px;margin:0 auto 43px}.fresh-head h2,.fresh-about h2,.fresh-social h2{font-size:clamp(32px,4.5vw,54px);line-height:1.35;margin:12px 0 16px;color:#13536d}.fresh-head p,.fresh-about p,.fresh-social p{font-size:16px;color:#577681;line-height:1.9}.fresh-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fresh-card{position:relative;padding:32px 28px;border:1px solid #d9ecee;border-radius:25px;background:#f3fcfc;min-height:250px;transition:transform .2s,box-shadow .2s}.fresh-card:nth-child(2),.fresh-card:nth-child(5){background:#e9f8ff}.fresh-card:nth-child(3),.fresh-card:nth-child(6){background:#fff9eb}.fresh-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px #126f8a17}.card-emoji{font-size:41px;display:block;margin-bottom:15px}.card-cat{font-size:10px;font-weight:800;color:#2695a5;letter-spacing:.15em}.fresh-card h3{font-size:23px;color:#15566c;margin:10px 0}.fresh-card p{color:#527682;font-size:14px}.fresh-card b{color:#0d8eaa;font-size:13px;display:block;margin-top:18px}.fresh-center{text-align:center;margin-top:35px}.fresh-textlink{color:#0a8da9;font-weight:800}.fresh-about{padding:90px 25px;background:#eaf9f9;position:relative}.fresh-about-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px}.about-illustration{min-height:380px;border-radius:48% 52% 43% 57%;background:linear-gradient(135deg,#a7e8ea,#61c5d7);position:relative;display:flex;align-items:center;justify-content:center;font-size:120px}.about-illustration span:not(:first-child){position:absolute;font-size:55px}.about-illustration span:nth-child(2){top:12%;right:11%}.about-illustration span:nth-child(3){bottom:14%;right:10%}.about-illustration span:nth-child(4){bottom:6%;left:7%}.about-tags{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 26px}.about-tags span{border:1px solid #9cd9df;background:#fff;border-radius:30px;padding:9px 13px;font-size:13px;color:#166079}.fresh-trip{padding-bottom:100px}.trip-tiles{display:grid;grid-template-columns:1fr 1fr;gap:24px}.trip-tiles a{display:block;min-height:250px;padding:34px;border-radius:26px;background:linear-gradient(135deg,#d8f5f4,#90dee9);color:#195a70}.trip-tiles a:nth-child(2){background:linear-gradient(135deg,#dcefff,#b2ddec)}.trip-tiles span{font-size:57px}.trip-tiles h3{font-size:27px;margin:15px 0 7px}.trip-tiles p{line-height:1.7}.trip-tiles b{color:#008da8;font-size:14px}.fresh-social{background:linear-gradient(120deg,#d0f3f4,#ebfbff);padding:85px max(5vw,24px);display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}.fresh-social>div:first-child{max-width:740px;margin-left:auto}.social-bubble{justify-self:center;background:white;width:255px;height:255px;border-radius:50%;box-shadow:0 14px 35px #097e9c12;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;transform:rotate(7deg)}.social-bubble span{font-size:63px}.social-bubble strong{font-size:22px;color:#16647a}.social-bubble small{font-size:9px;color:#479cad;letter-spacing:.07em}.fresh-home .fresh-btn.light{color:#155873}
@media(max-width:850px){.fresh-hero-inner,.fresh-about-inner,.fresh-social{grid-template-columns:1fr;gap:12px}.fresh-hero{padding-top:52px}.ocean-scene{max-width:420px}.fresh-hero-inner .ocean-scene{margin-top:8px}.fresh-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.fresh-about-inner{gap:38px}.about-illustration{min-height:270px;font-size:95px;max-width:460px;width:100%;margin:auto}.fresh-social>div:first-child{margin:0}.social-bubble{display:none}}
@media(max-width:550px){.fresh-hero{padding:45px 20px 62px}.fresh-hero h1{font-size:53px}.fresh-buttons{gap:9px}.fresh-btn{font-size:13px;padding:12px 17px}.fresh-proof{gap:8px;font-size:11px}.hero-wave{height:43px}.fresh-section{padding:68px 20px}.fresh-head{margin-bottom:28px}.fresh-courses,.trip-tiles{grid-template-columns:1fr;gap:13px}.fresh-card{min-height:0;padding:23px}.card-emoji{font-size:35px}.fresh-about{padding:65px 21px}.about-illustration{min-height:250px}.fresh-social{padding:62px 22px}.scene-sticker{font-size:11px;padding:10px 13px}}

/* Social entry points on instructor and contact pages */
.team-social-note{background:#eaf9fb;border:1px solid #bde8ed;border-radius:22px;padding:28px;margin-top:28px}.team-social-note h3{color:#12677c;margin:0 0 10px}.team-social-note p{color:#456c78;line-height:1.8}.team-social-note a{display:inline-block;margin:8px 14px 0 0;padding:11px 18px;border-radius:30px;background:#fff;color:#087c96;font-size:14px;font-weight:800}.team-social-note a:first-of-type{background:#13a1a6;color:#fff}.line-prompt{background:#d5f6f2;padding:15px max(5vw,24px);display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;color:#165a6f}.line-prompt a{background:#13a1a6;color:white;border-radius:30px;padding:10px 18px;font-weight:800;font-size:14px}

/* Mature, bright ocean identity: authentic brand photography, no emoji graphics */
.fresh-hero{background:linear-gradient(115deg,#f7fcfc 0%,#e8f7f9 70%,#d6eff4 100%);padding-top:64px;padding-bottom:90px}
.fresh-hero-inner{gap:52px}
.fresh-hero h1{font-size:clamp(52px,6vw,82px);font-weight:850;letter-spacing:-.045em}
.fresh-hero h1 em{color:#0c829e}
.fresh-kicker{font-size:11px;letter-spacing:.2em;color:#297f8e}
.ocean-photography{height:490px;max-width:580px;width:100%;border-radius:160px 18px 155px 18px;overflow:hidden;box-shadow:0 24px 60px #0b547125;position:relative}
.ocean-photography img{display:block;width:100%;height:100%;object-fit:cover}
.photo-credit{position:absolute;bottom:16px;left:20px;font-size:10px;letter-spacing:.12em;color:#fff;background:#0b344880;padding:8px 11px;border-radius:3px}
.fresh-proof span{border-left:2px solid #5bbccd;padding-left:11px}
.fresh-card{padding:0 0 26px;overflow:hidden;background:#fff!important;border-radius:15px;min-height:0}
.course-thumb{width:100%;height:166px;overflow:hidden;background:#daedf0}
.course-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s}
.fresh-card:hover .course-thumb img{transform:scale(1.045)}
.fresh-card .card-cat{display:block;margin:23px 26px 0}
.fresh-card h3{margin:9px 26px 5px;font-size:21px}
.fresh-card p{margin:8px 26px}
.fresh-card b{margin:20px 26px 0}
.fresh-about{background:#f2fafa}
.about-photo{width:100%;height:420px;border-radius:12px 130px 12px 130px;overflow:hidden;box-shadow:0 14px 38px #135b7118}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover}
.about-tags span{border-radius:5px;color:#1c6879;background:#fff}
.trip-tiles a{padding:0 0 28px;overflow:hidden;background:#f5fbfc!important;border:1px solid #dcecef;border-radius:13px}
.trip-thumb{height:220px;overflow:hidden}
.trip-thumb img{width:100%;height:100%;object-fit:cover}
.trip-tiles h3,.trip-tiles p,.trip-tiles b{display:block;margin-left:28px;margin-right:28px}
.trip-tiles h3{font-size:25px;margin-top:22px}
.fresh-social{background:#e7f5f7}
.social-photo{width:100%;height:335px;max-width:400px;overflow:hidden;border-radius:100px 12px 100px 12px;justify-self:center}
.social-photo img{display:block;width:100%;height:100%;object-fit:cover}
.fresh-section{padding-top:84px;padding-bottom:84px}
.fresh-head h2,.fresh-about h2,.fresh-social h2{font-weight:850}
@media(max-width:850px){.fresh-hero-inner{gap:22px}.ocean-photography{height:340px;max-width:510px;border-radius:75px 12px 75px 12px}.about-photo{height:300px;max-width:500px;border-radius:10px 80px 10px 80px}.social-photo{display:none}}
@media(max-width:550px){.fresh-hero h1{font-size:49px}.ocean-photography{height:265px}.fresh-card .card-cat{margin-top:18px}.course-thumb{height:180px}.trip-thumb{height:190px}}


/* =============================================================
   QUARTER DIVING · COASTAL EDITORIAL DESIGN SYSTEM v1
   Applies consistently to all existing interior pages.
   Original content and page paths remain unchanged.
   ============================================================= */
:root{--navy:#174a5e;--blue:#13677e;--teal:#169bb5;--cream:#f3fbfc;--ink:#233e48;--muted:#5e7a82;--line:#d9ecef;--sky:#e9f7fa}
body{color:var(--ink);background:#fff}
a:focus-visible,summary:focus-visible{outline:3px solid #0da0b5;outline-offset:4px}
.top{background:#fff!important;color:#214757!important;border-bottom:1px solid #dcecef;box-shadow:0 2px 18px #0c465b0b}
.brand{color:#263f48!important}.brand small{color:#348b9a!important}
.nav{font-weight:600}.nav-group summary{transition:color .2s}
.nav-group[open]>summary{color:#078fac}
.drop{border-radius:14px;border:1px solid #dfebee;box-shadow:0 17px 35px #0b536c20;min-width:215px;padding:10px}
.drop a{border-radius:8px;padding:10px 12px;line-height:1.35}
.drop a:hover{background:#e9f8fa;color:#087c92}
.nav-contact{border-color:#56b6c9;border-radius:25px;color:#087c91;font-weight:800}
.nav-contact:hover{background:#e8f7fb}
.mobile-menu{border-radius:13px;border:1px solid #d4e9ec}
.eyebrow{color:#158aa5;font-size:11px;letter-spacing:.18em;font-weight:850}
.subhero{background:linear-gradient(105deg,#f0fafb 0%,#e4f5f7 70%,#d1ebef 100%);color:#1e5164;min-height:320px;padding:70px 0 79px;position:relative;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0 0 0 auto;width:min(44%,510px);height:100%;background:url("ocean-lineart.svg") center/contain no-repeat;opacity:.8;pointer-events:none;transform:translate(20px,6px)}
.subhero::after{content:"";position:absolute;bottom:-64px;left:-2%;width:104%;height:80px;background:#fff;transform:rotate(-1.3deg);border-radius:48% 48% 0 0}
.subhero .container{position:relative;z-index:1;max-width:1220px}
.subhero .eyebrow{color:#1484a2;margin:25px 0 0}
.subhero h1{font-size:clamp(36px,4.4vw,60px);font-weight:850;line-height:1.19;letter-spacing:-.04em;margin:13px 0 21px;max-width:920px;color:#15586d;text-wrap:balance}
.subhero .sublead{color:#496c77;line-height:1.85;font-size:clamp(15px,1.35vw,18px);max-width:900px}
.crumb{color:#4d8998;font-weight:650;font-size:12px}
a.crumb:hover{color:#117f9d;text-decoration:underline}
.section{padding:78px 28px;max-width:1220px}
.section h2{color:#16596e;font-weight:850;letter-spacing:-.03em}
.section p{color:#57757e}
.article{display:grid;grid-template-columns:minmax(0,1fr) 325px;align-items:start;gap:58px}
.article-main{min-width:0}
.article-main>h2{position:relative;margin-top:24px;margin-bottom:18px;padding-bottom:14px;font-size:clamp(24px,2.6vw,30px);border-bottom:1px solid #dcecef}
.article-main>h2::after{content:"";position:absolute;bottom:-1px;left:0;width:51px;height:3px;border-radius:6px;background:#1ba7ba}
.article-main>p,.article-main>ul,.article-main>ol{color:#475f69;line-height:1.95}
.article-main li{padding-left:3px;margin-bottom:9px}
.article-main li::marker{color:#148ea7}
.article-main .button,.contact-grid .button{margin-top:12px}
.article aside{min-width:0}
.editorial-photo{display:block;margin:0 0 24px;height:370px;overflow:hidden;border-radius:12px 82px 12px 12px;position:relative;background:#e9f7fa}
.editorial-photo img{display:block;width:100%;height:100%;object-fit:cover}
.editorial-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#062a39aa);padding:42px 16px 15px;color:white;font-size:12px;letter-spacing:.03em}
.sidebox{background:#f1fafb;border:1px solid #dfedef;border-radius:16px;padding:24px;margin:0 0 20px}
.sidebox h3{color:#19677d;font-size:18px}
.sidebox a{padding:11px 0;color:#387788;border-bottom-color:#d4e7e9}
.sidebox a:hover{color:#0c8ba5}
.review{background:#f0f8f9;color:#496c78!important;border-left:3px solid #72bbca;border-radius:0 8px 8px 0;font-size:13px;padding:14px 17px;margin-top:30px}
.button{background:#138fa9;color:white;border-radius:30px;padding:14px 24px;font-size:14px;box-shadow:0 5px 15px #0d829414;transition:background .2s,transform .2s}
.button:hover{background:#0b7893;transform:translateY(-2px)}
.contact-band{background:linear-gradient(110deg,#e5f8f9,#d5f2f5);color:#1a5c70;padding:60px max(5vw,25px);border-top:1px solid #d2edef;position:relative;overflow:hidden}
.contact-band::before{content:"";position:absolute;right:-110px;bottom:-110px;width:340px;height:230px;background:url("ocean-lineart.svg") center/contain no-repeat;opacity:.7;pointer-events:none}
.contact-band h2{color:#18596e;font-weight:850;position:relative}
.contact-band .eyebrow{color:#268fa3}
.contact-band p{color:#527582}
.contact-band .button{background:#0b8ca5;color:#fff;z-index:1}
.contact-band .button:hover{background:#0a6d87}
.cards{gap:20px}
.course-card,.team-card{background:#fff;border:1px solid #d8e9ec;border-radius:14px;box-shadow:0 8px 28px #124e6008;overflow:hidden}
.course-card:hover,.team-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #124e6018}
.course-card .card-info{padding:22px 24px 25px}
.course-card .card-info span{color:#248da0;letter-spacing:.13em}
.course-card .card-info h3{font-size:20px;color:#175a6d;line-height:1.35}
.course-card .card-info b{color:#087f9c}
.mini-photo{background:#e1f3f7 url("ocean-lineart.svg") center/cover no-repeat;color:#3c8d9d;letter-spacing:.06em}
.photo-slot{background:#e9f6f8 url("ocean-lineart.svg") center/cover no-repeat;color:#568d9b;border-radius:13px;font-size:13px}
.gallery{gap:18px}
.gallery .photo-slot{min-height:235px;border-radius:12px}
.gallery img.gallery-photo{width:100%;height:270px;object-fit:cover;border-radius:12px;display:block}
.team{grid-template-columns:repeat(3,minmax(0,1fr))}
.team-card .mini-photo{height:228px}
.team-card img.staff-portrait{display:block;width:100%;height:100%;object-fit:cover}
.team-card .card-info h3{font-size:22px}
.team-card .card-info p{color:#536f79;line-height:1.6}
.price-placeholder{background:#eaf6f8 url("ocean-lineart.svg") center/cover no-repeat;color:#285e6d;border-radius:13px;min-height:220px}
.contact-grid{gap:55px;align-items:start}
.contact-grid>div:first-child{background:#f5fbfc;border:1px solid #e1eef0;border-radius:15px;padding:30px}
.contact-grid a:not(.button){color:#0b829b}
.line-prompt{background:#e0f6f6;color:#1b6375;gap:18px}
.line-prompt a{background:#138fa9;color:#fff}
footer{background:#124b5c;color:#d5ebee;padding:55px max(5vw,25px);border-top:5px solid #75cdd6}
footer strong{font-size:20px;color:#fff}
footer p{color:#d6e8eb}
footer a{color:#edfaff;text-underline-offset:4px;text-decoration-color:#9cd7df}
footer a:hover{color:#87dfec}
.team-social-note{background:#f0fafb;border-color:#cae9ef}
.team-social-note a:first-of-type{background:#148fa8}
@media(max-width:1150px){.nav{display:none}}
@media(max-width:900px){.subhero{padding:55px 0 70px;min-height:0}.subhero::before{opacity:.45;width:52%}.article{grid-template-columns:minmax(0,1fr);gap:28px}.article aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editorial-photo{margin:0;height:300px}.sidebox{margin:0}.team{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:65px 24px}.contact-grid{gap:28px}}
@media(max-width:600px){.subhero{padding:42px 0 54px}.subhero::before{width:78%;opacity:.19}.subhero::after{height:55px;bottom:-47px}.subhero h1{font-size:clamp(32px,8vw,42px)}.subhero .sublead{font-size:15px;line-height:1.85}.section{padding:55px 20px}.article aside{display:block}.editorial-photo{height:255px;margin-bottom:18px}.sidebox{padding:20px}.team{grid-template-columns:1fr}.team-card .mini-photo{height:270px}.contact-band{padding:50px 22px}.contact-band::before{opacity:.25}.contact-grid>div:first-child{padding:22px}.gallery img.gallery-photo{height:220px}footer{gap:18px}.line-prompt{padding:16px 22px}}
@media(prefers-reduced-motion:reduce){.button,.course-card,.team-card{transition:none}.button:hover,.course-card:hover,.team-card:hover{transform:none}}

/* Original Wix photography embedded in the restored page layouts */
.course-card .mini-photo{height:180px;padding:0;display:block;overflow:hidden;background:#dfecf1}
.course-card .mini-photo img.card-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.course-card:hover .card-photo{transform:scale(1.045)}
.team-card .mini-photo{padding:0;background:#e4f2f4;display:block}
.team-card .mini-photo img.staff-portrait{height:100%;width:100%;object-fit:cover}
.gallery .gallery-photo{border-radius:12px}
@media(max-width:600px){.course-card .mini-photo{height:195px}}

/* Restrained hand-drawn diver detail: illustration complements photographs, never replaces them. */
.contact-band::before{right:4%;bottom:-38px;width:260px;height:235px;background:url("editorial-diver.svg") center/contain no-repeat;opacity:.22}
.contact-band>div{position:relative;z-index:1}
.fresh-social{position:relative;overflow:hidden}
.fresh-social::after{content:"";position:absolute;right:1%;bottom:-65px;width:210px;height:180px;background:url("editorial-diver.svg") center/contain no-repeat;opacity:.12;pointer-events:none}
@media(max-width:600px){.contact-band::before{opacity:.11;right:-100px;width:210px}.fresh-social::after{display:none}}

/* 2027 course fees & membership — legible pricing for all devices */
.pricing-intro,.price-section{padding-top:68px;padding-bottom:70px}
.pricing-intro>h2,.price-section>h2{font-size:clamp(28px,3.5vw,43px);margin:12px 0 14px;color:#155c70}
.membership-tiers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}
.tier{background:#eaf9fb;border:1px solid #c7e9ef;border-radius:18px;padding:30px}
.tier:nth-child(2){background:#f1fafb}
.tier span{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#347e91}
.tier strong{display:block;font-size:clamp(35px,4vw,51px);color:#126782;margin:13px 0}
.tier p{margin:0;font-size:14px}
.benefit-panel{border:1px solid #d8e8ed;border-radius:18px;padding:32px;background:#fff}
.benefit-panel h3,.member-extras h3,.price-columns h3{font-size:23px;color:#16647a;margin:0 0 20px}
.benefit-panel ul,.member-extras ul{margin:0;padding-left:21px}
.benefit-panel li,.member-extras li{margin:11px 0;line-height:1.85;color:#3f606d}
.benefit-panel li::marker,.member-extras li::marker{color:#159bb5}
.member-extras{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:20px}
.member-extras>div{background:#f2fafb;border-radius:15px;padding:28px}
.storage-price{font-weight:850;color:#138ba6!important;font-size:39px;margin:8px 0}
.storage-price small{font-size:17px;color:#647b83}
.price-section{border-top:1px solid #e6f2f4}
.price-table-wrap{overflow-x:auto;border:1px solid #d8e9ed;border-radius:15px;background:#fff;box-shadow:0 8px 25px #14556808}
.price-table{width:100%;border-collapse:collapse;min-width:450px;font-size:15px}
.price-table th,.price-table td{padding:16px 18px;border-bottom:1px solid #e2eef0;vertical-align:middle}
.price-table thead th{background:#e2f4f8;text-align:left;color:#155e76;font-size:14px}
.price-table th[scope="row"],.price-table tbody th{text-align:left;font-weight:650;color:#2d5261}
.price-table td{color:#146b82;font-weight:800;font-variant-numeric:tabular-nums}
.price-table tbody tr:last-child>*{border-bottom:0}
.price-table tbody tr:nth-child(even){background:#f8fcfd}
.price-table a{text-decoration:underline;text-decoration-color:#add6de;text-underline-offset:3px}
.price-table a:hover{color:#008ca7}
.price-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}
.price-columns .price-table{min-width:0}
.price-columns .price-table th,.price-columns .price-table td{padding:15px}
.price-columns .price-table td{text-align:right;white-space:nowrap}
.price-columns h3{margin-bottom:18px}
.price-note{font-size:13px!important}
.pricing-outro{padding-top:28px;padding-bottom:70px}
.course-fee{margin:28px 0 25px;padding:24px 28px;background:linear-gradient(125deg,#ebf9fb,#f9fdfd);border:1px solid #cfeaf0;border-left:5px solid #21a2b8;border-radius:12px}
.course-fee h2{margin:0 0 8px!important;font-size:22px!important;padding:0!important;border:0!important}
.course-fee h2::after{display:none}
.course-fee .fee-main{font-size:27px;line-height:1.4;color:#126e8a;font-weight:850;letter-spacing:-.03em;margin:7px 0!important}
.course-fee .fee-meta{font-size:14px;line-height:1.8;color:#4d6f7a;margin:0 0 12px}
.course-fee a{font-size:14px;font-weight:800;color:#0b869d;text-decoration:underline;text-underline-offset:4px}
@media(max-width:750px){.membership-tiers,.member-extras,.price-columns{grid-template-columns:1fr}.tier,.benefit-panel,.member-extras>div{padding:23px}.price-columns .price-table{font-size:14px}}
@media(max-width:480px){.price-table{font-size:13px;min-width:390px}.price-table th,.price-table td{padding:12px}.price-columns .price-table{min-width:0;font-size:12px}.price-columns .price-table th,.price-columns .price-table td{padding:12px 9px}.course-fee{padding:19px}}

/* Course catalog: descriptions and 2027 course fees */
.course-card .card-info{display:flex;flex-direction:column;min-height:220px}
.course-card .card-info .course-excerpt{font-size:13px;line-height:1.75;color:#536e77;margin:1px 0 14px;flex:1}
.course-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #e4eff2;margin-top:auto}
.course-card-bottom .course-price{font-size:13px;line-height:1.5;font-weight:800;letter-spacing:0;color:#176c87;flex:1}
.course-card-bottom b{font-size:12px;white-space:nowrap;color:#0a8ba4}
.mermaid-fees{margin:18px 0 16px;display:grid;gap:0}
.mermaid-fees>div{display:flex;gap:18px;justify-content:space-between;align-items:baseline;border-bottom:1px solid #d5e9ed;padding:11px 0;color:#2a5969}
.mermaid-fees>div:last-child{border-bottom:0}
.mermaid-fees b{white-space:nowrap;font-variant-numeric:tabular-nums;color:#116d89}
.course-note{padding:16px 19px;border-radius:10px;background:#f2fafb;border-left:3px solid #57b5c8;font-size:14px;line-height:1.8;color:#456b76!important}
@media(max-width:550px){.course-card .card-info{min-height:0}.course-card-bottom{align-items:flex-start;flex-direction:column;gap:9px}.mermaid-fees>div{font-size:13px}}

/* 2027 homepage fee teasers and guided Fun Dive prices */
.fresh-center{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 32px}
.fresh-card .home-course-fee{display:block;font-size:14px;font-weight:850;color:#087e98;letter-spacing:0;margin-top:17px;margin-bottom:5px}
.fresh-card b{display:inline-block}
.trip-fee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}
.trip-fee-grid>div{border:1px solid #d1e9ed;border-radius:16px;padding:28px;background:#f3fafb}
.trip-fee-grid span{display:block;color:#488390;font-size:13px;font-weight:750}
.trip-fee-grid strong{display:block;color:#126e88;font-size:34px;margin:9px 0}
.trip-fee-grid p{margin:0}
@media(max-width:600px){.trip-fee-grid{grid-template-columns:1fr}.fresh-center{align-items:center;flex-direction:column;gap:12px}}

/* Course phase headings and equipment inclusion — November 2026 */
.course-stages{display:grid;gap:14px;margin:20px 0 28px}
.course-stage{padding:22px 25px;background:#f4fafb;border:1px solid #dcebef;border-radius:12px;border-left:4px solid #64bdcb}
.course-stage h3{font-size:19px;line-height:1.35;color:#126b83;margin:0 0 9px}
.course-stage p{margin:0;color:#496d78;line-height:1.9;font-size:15px}
.ean-plans{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:16px 0}
.ean-plans>div{padding:19px;border-radius:12px;background:#f8fdfd;border:1px solid #d4e8ec;display:flex;flex-direction:column;gap:12px}
.ean-plans>div:nth-child(2){background:#dbf4f5;border-color:#85cdd8}
.ean-plans strong{font-weight:900;font-size:28px;color:#0e7892;font-variant-numeric:tabular-nums}
.ean-plans span{font-size:14px;line-height:1.7;color:#436979}
.equipment-inclusion{background:#ecf9fb;border:1px solid #d0e8ef;border-radius:10px;padding:13px 16px;font-size:14px!important;line-height:1.8;color:#285e70!important}
.wechat-id{font-weight:800;color:#146e87;user-select:all}
.discover-card{border-color:#a7dce2;background:#effafb!important}
@media(max-width:600px){.course-stage{padding:18px}.course-stage h3{font-size:17px}.ean-plans{grid-template-columns:1fr}}

/* ============================================
   BILINGUAL NAVIGATION — 中文 / EN
   ============================================ */
.top{gap:12px}
.language-switch{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;border:1px solid #bfdee5;background:#f3fafb;border-radius:999px;padding:3px;white-space:nowrap;position:relative;z-index:30}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:31px;min-width:37px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1.2;color:#3d7382;transition:background .15s,color .15s}
.language-switch a:hover{background:#ddf4f7;color:#096e87}
.language-switch a[aria-current="page"]{background:#138da8;color:#fff;box-shadow:0 1px 3px #0a637e15}
.language-switch a[aria-current="page"]:hover{background:#0c7c97;color:#fff}
.page-home .fresh-hero h1{max-width:850px}
.page-home .fresh-card h3{font-size:21px;line-height:1.35}
.page-home .fresh-card{min-height:0}
@media(max-width:1150px){.top{gap:10px}.mobile{margin-left:auto}.language-switch{margin-left:2px}}
@media(max-width:600px){.top{padding-left:13px;padding-right:13px}.brand{min-width:0!important}.language-switch a{min-width:30px;min-height:28px;font-size:11px;padding:4px 7px}.mobile summary{font-size:13px;white-space:nowrap}}
@media(max-width:375px){.brand{font-size:14px!important;padding-left:46px}.brand::before{width:38px;left:1px}.brand small{letter-spacing:.07em;font-size:8px}.top{gap:5px}.language-switch{gap:1px}}

/* Bilingual language switch (always visible on desktop and mobile) */
.language-switch{display:flex;align-items:center;gap:3px;flex:0 0 auto;border:1px solid #b6dbe2;border-radius:30px;padding:3px;background:#f3fbfc;margin-left:auto;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:7px 9px;border-radius:23px;font-size:12px;line-height:1.15;font-weight:800;color:#407a8b;transition:background-color .18s,color .18s}
.language-switch a[aria-current="page"]{background:#138fa9;color:#fff}
.language-switch a:hover:not([aria-current="page"]){background:#d7f0f4;color:#116b82}
.top .nav{flex:1;justify-content:flex-end}
.top .language-switch{margin-left:0}
.home-en .fresh-hero h1{font-size:clamp(48px,5.6vw,82px);line-height:1.13}
.home-en .fresh-hero h1 em{font-weight:850}
.home-en .fresh-card h3{font-size:21px;line-height:1.38}
.home-en .fresh-card .home-course-fee{font-size:13px}
@media(max-width:1220px){.top{gap:13px}.top .nav{gap:10px;font-size:12px}.brand{min-width:200px}}
@media(max-width:1150px){.top .nav{display:none}.top .mobile{margin-left:auto}.top .language-switch{margin-left:0}}
@media(max-width:600px){.top{gap:8px;padding-left:14px;padding-right:14px}.top .brand{flex:1 1 auto;min-width:0}.top .mobile{flex:0 0 auto;margin-left:0}.top .language-switch{gap:0;padding:2px}.language-switch a{min-width:30px;padding:7px 6px;font-size:11px}.home-en .fresh-hero h1{font-size:clamp(42px,10vw,54px)}}

/* English homepage: prevent long TWD prices and headings from spilling outside course cards. */
html[lang="en"] .fresh-home .fresh-courses{min-width:0}
html[lang="en"] .fresh-home .fresh-card{min-width:0;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;align-items:stretch}
html[lang="en"] .fresh-home .fresh-card .card-cat,
html[lang="en"] .fresh-home .fresh-card h3,
html[lang="en"] .fresh-home .fresh-card p,
html[lang="en"] .fresh-home .fresh-card .home-course-fee,
html[lang="en"] .fresh-home .fresh-card b{min-width:0;max-width:calc(100% - 44px);box-sizing:border-box;overflow-wrap:anywhere;word-break:normal;white-space:normal}
html[lang="en"] .fresh-home .fresh-card .home-course-fee{display:block;margin:14px 22px 4px!important;font-size:clamp(12px,1.15vw,14px)!important;line-height:1.65;font-weight:800;letter-spacing:0}
html[lang="en"] .fresh-home .fresh-card .card-cat{margin-left:22px;margin-right:22px}
html[lang="en"] .fresh-home .fresh-card h3{margin-left:22px;margin-right:22px;font-size:clamp(18px,1.9vw,22px);line-height:1.35}
html[lang="en"] .fresh-home .fresh-card p{margin-left:22px;margin-right:22px;line-height:1.65}
html[lang="en"] .fresh-home .fresh-card b{margin:18px 22px 0}
@media(max-width:600px){
 html[lang="en"] .fresh-home .fresh-courses{grid-template-columns:minmax(0,1fr)}
 html[lang="en"] .fresh-home .fresh-card .home-course-fee{font-size:14px!important;line-height:1.6}
 html[lang="en"] .fresh-home .fresh-card h3{font-size:21px}
}

/* Homepage photo carousel: six user-uploaded images, with manual dots and automatic looping. */
.fresh-home .ocean-scene.hero-carousel{position:relative;overflow:hidden;isolation:isolate}
.fresh-home .hero-carousel-track{position:absolute;inset:0;overflow:hidden}
.fresh-home .hero-carousel .hero-slide{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease-in-out}
.fresh-home .hero-carousel .hero-slide.is-active{opacity:1}
.fresh-home .hero-carousel .photo-credit{position:absolute;z-index:2;bottom:0;left:0;right:0}
.fresh-home .hero-carousel-dots{position:absolute;z-index:3;bottom:46px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:24px;background:rgba(0,38,50,.38);backdrop-filter:blur(6px)}
.fresh-home .hero-carousel-dot{appearance:none;display:block;width:9px;height:9px;min-width:9px;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;padding:0;transition:width .2s ease,background-color .2s ease}
.fresh-home .hero-carousel-dot[aria-pressed="true"]{width:23px;border-radius:20px;background:#fff}
.fresh-home .hero-carousel-dot:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:600px){.fresh-home .hero-carousel-dots{bottom:40px;gap:7px;padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.fresh-home .hero-carousel .hero-slide{transition:none}}


/* Homepage course price alignment: identical in Chinese and English, mobile-safe. */
.fresh-home .fresh-courses{min-width:0}
.fresh-home .fresh-card{min-width:0;box-sizing:border-box}
.fresh-home .fresh-card .home-course-fee,
html[lang="en"] .fresh-home .fresh-card .home-course-fee{
  display:block;
  width:calc(100% - 52px);
  max-width:calc(100% - 52px);
  box-sizing:border-box;
  margin:14px auto 6px!important;
  padding:0;
  text-align:center;
  font-size:clamp(13px,1.15vw,14px)!important;
  line-height:1.65;
  overflow-wrap:anywhere;
  white-space:normal;
}
@media(max-width:600px){
  .fresh-home .fresh-card .home-course-fee,
  html[lang="en"] .fresh-home .fresh-card .home-course-fee{
    font-size:14px!important;
    width:calc(100% - 40px);
    max-width:calc(100% - 40px);
  }
}
/* Keep Zhizhong's full head visible in the shallow instructor card crop. */
.team-card .mini-photo img.staff-portrait.portrait-zhizhong{
  object-position:center 5%;
}

/* Nine-card homepage grid: consistent alignment and bottom actions in both languages. */
.fresh-home .fresh-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}
.fresh-home .fresh-courses>.fresh-card{display:flex;flex-direction:column;align-items:stretch;height:100%;min-width:0;box-sizing:border-box;overflow:hidden;text-align:left}
.fresh-home .fresh-courses>.fresh-card .home-course-fee,
html[lang="en"] .fresh-home .fresh-courses>.fresh-card .home-course-fee{display:block;align-self:stretch;width:auto;max-width:none;margin:14px 22px 6px!important;padding:0;text-align:left;font-size:14px!important;overflow-wrap:anywhere}
.fresh-home .fresh-courses>.fresh-card>b,
html[lang="en"] .fresh-home .fresh-courses>.fresh-card>b{display:block;align-self:stretch;width:auto;max-width:none;margin:18px 22px 0!important;margin-top:auto!important;padding-top:18px;padding-bottom:24px;box-sizing:border-box;text-align:left}
@media(max-width:900px){.fresh-home .fresh-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fresh-home .fresh-courses{grid-template-columns:minmax(0,1fr);gap:18px}.fresh-home .fresh-courses>.fresh-card .home-course-fee,html[lang="en"] .fresh-home .fresh-courses>.fresh-card .home-course-fee{margin-left:22px!important;margin-right:22px!important;width:auto;max-width:none;font-size:14px!important}}

/* Homepage nine-card alignment fix v3: match the actual 26px title inset. */
.fresh-home .fresh-courses>.fresh-card{padding-bottom:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important}
.fresh-home .fresh-courses>.fresh-card .home-course-fee,
html[lang="en"] .fresh-home .fresh-courses>.fresh-card .home-course-fee{display:block!important;box-sizing:border-box!important;width:calc(100% - 52px)!important;max-width:calc(100% - 52px)!important;margin:14px 26px 8px!important;padding:0!important;text-align:left!important;align-self:auto!important;white-space:normal!important;overflow-wrap:anywhere}
.fresh-home .fresh-courses>.fresh-card>b,
html[lang="en"] .fresh-home .fresh-courses>.fresh-card>b{display:block!important;box-sizing:border-box!important;width:calc(100% - 52px)!important;max-width:calc(100% - 52px)!important;margin:auto 26px 0!important;padding:20px 0 26px!important;text-align:left!important;align-self:auto!important}
@media(max-width:600px){.fresh-home .fresh-courses>.fresh-card .home-course-fee,html[lang="en"] .fresh-home .fresh-courses>.fresh-card .home-course-fee{margin-left:26px!important;margin-right:26px!important}}


/* Mobile navigation viewport-safe layout (2026-11-06).
   Keep the dropdown within the device viewport even when the
   header logo and language switch leave little horizontal space. */
@media (max-width:1150px){
  .top .mobile-menu{
    position:fixed;
    top:calc(78px + env(safe-area-inset-top, 0px));
    right:max(12px, env(safe-area-inset-right, 0px));
    left:auto;
    width:min(360px, calc(100vw - 24px));
    max-width:calc(100vw - 24px);
    box-sizing:border-box;
    max-height:calc(100vh - 94px);
    max-height:calc(100dvh - 94px - env(safe-area-inset-top, 0px));
    padding:14px 16px 20px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:100;
    border-radius:14px;
  }
  .top .mobile-menu a,
  .top .mobile-menu strong{
    display:block;
    box-sizing:border-box;
    width:100%;
    overflow-wrap:anywhere;
  }
  .top .mobile-menu a{
    padding:10px 8px;
    font-size:15px;
    line-height:1.45;
  }
  .top .mobile-menu strong{
    margin:12px 0 4px;
    padding:14px 8px 2px;
    font-size:15px;
  }
}
@media (max-width:540px){
  .top .mobile-menu{
    top:calc(70px + env(safe-area-inset-top, 0px));
    max-height:calc(100vh - 86px);
    max-height:calc(100dvh - 86px - env(safe-area-inset-top, 0px));
  }
}

/* Price page: prevent inherited hero/table overflow on narrow screens. */
.page-prices{overflow-x:clip}
.page-prices .top,.page-prices .subhero,.page-prices main{max-width:100%}
.page-prices .subhero .container{min-width:0;max-width:1180px}
.page-prices .subhero h1{font-size:clamp(26px,4.2vw,51px);line-height:1.23;overflow-wrap:anywhere;word-break:normal}
.page-prices .subhero .sublead{max-width:780px;overflow-wrap:anywhere}
.page-prices .qd-promo-banner,.qd-split-crosslink{max-width:1164px;margin:35px auto 20px;padding:28px clamp(19px,4vw,40px);border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:22px;min-width:0;background:linear-gradient(120deg,#062b42,#125d70);color:white}
.page-prices .qd-promo-banner>div,.qd-split-crosslink>div{min-width:0;flex:1}
.page-prices .qd-promo-banner .eyebrow,.qd-split-crosslink .eyebrow{color:#92d8dc}
.page-prices .qd-promo-banner h2,.qd-split-crosslink h2{font-size:clamp(22px,2.8vw,33px);margin:8px 0 9px;line-height:1.3;color:#fff}
.page-prices .qd-promo-banner p,.qd-split-crosslink p{color:#d4e7ee;line-height:1.7;margin:8px 0}
.page-prices .qd-promo-banner .button,.qd-split-crosslink .button{flex:0 1 auto;max-width:100%;white-space:normal;text-align:center;border-radius:11px}
.page-prices .price-section{min-width:0;overflow:hidden;max-width:1220px}
.page-prices .price-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.page-prices .price-table{min-width:550px}
.page-prices .price-columns{min-width:0}
.page-prices .price-columns>div{min-width:0}
.qd-course-cta{max-width:1140px;margin:25px auto 30px;padding:24px 27px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(115deg,#e8f7f7,#e4edf3);border:1px solid #c9e1e6}
.qd-course-cta>div{min-width:0;flex:1}
.qd-course-cta .eyebrow{color:#07758b}
.qd-course-cta h2{font-size:clamp(21px,2.8vw,29px);line-height:1.3;margin:7px 0}
.qd-course-cta p{margin:5px 0;line-height:1.7;color:#385b6b}
.qd-course-cta .button{white-space:normal;text-align:center;flex:none;background:#0a536d;color:#fff;border-radius:10px}
@media(max-width:760px){
 .page-prices .qd-promo-banner,.qd-split-crosslink,.qd-course-cta{margin:17px 15px;display:flex;flex-direction:column;align-items:stretch;padding:20px}
 .page-prices .qd-promo-banner .button,.qd-split-crosslink .button,.qd-course-cta .button{width:100%;display:block}
 .page-prices .subhero{padding:48px 0 52px}
 .page-prices .subhero .container{padding:0 20px}
 .page-prices .section{padding:42px 18px}
 .page-prices .price-section h2{font-size:clamp(24px,5vw,32px)}
}


/* 2026-11-08 — compact, aligned footer on every language/page. */
footer.qd-footer-layout{
 display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(135px,.58fr);
 align-items:start;column-gap:clamp(20px,3vw,52px);row-gap:0;
 padding:31px max(5vw,25px) 34px;min-height:0;
}
footer.qd-footer-layout > div{min-width:0}
footer.qd-footer-layout p{font-size:13px;line-height:1.5;margin:9px 0}
footer.qd-footer-layout > div:first-child strong{display:block;line-height:1.4}
footer.qd-footer-layout .qd-footer-social{line-height:1.55;font-size:13px}
footer.qd-footer-layout .qd-footer-logo{margin-top:5px;max-width:182px}
footer.qd-footer-layout .qd-footer-logo img{
 display:block;width:168px;max-width:100%;height:auto;max-height:75px;
 object-fit:contain;object-position:left center;
 background:rgba(245,253,255,.92);padding:5px 9px;border-radius:8px;
}
footer.qd-footer-layout .qd-copyright{
 display:block;margin-top:11px;font-size:11px;line-height:1.4;
 color:#d8edf0;overflow-wrap:anywhere;text-align:left;
}
@media(max-width:700px){
 footer.qd-footer-layout{
  display:grid;grid-template-columns:minmax(0,1fr);gap:13px;
  padding:28px 22px 24px;
 }
 footer.qd-footer-layout > div:first-child{grid-column:1;grid-row:1}
 footer.qd-footer-layout > div:nth-child(2){display:contents}
 footer.qd-footer-layout > div:nth-child(2) > p{grid-column:1}
 footer.qd-footer-layout > div:nth-child(2) > p:first-of-type{grid-row:2}
 footer.qd-footer-layout > div:nth-child(2) > p:nth-of-type(2){grid-row:3}
 footer.qd-footer-layout > .qd-footer-social{grid-column:1;grid-row:4}
 footer.qd-footer-layout .qd-footer-logo img{width:182px;max-height:82px}
 footer.qd-footer-layout .qd-copyright{
  grid-column:1;grid-row:5;order:9;padding-top:13px;margin:4px 0 0;
  border-top:1px solid rgba(219,241,246,.22);
  width:100%;font-size:11px
 }
 footer.qd-footer-layout p{margin:5px 0;line-height:1.5}
 footer.qd-footer-layout .qd-footer-social{line-height:1.7}
}
/* Specialty instructor fee list — readable and responsive. */
.qd-specialty-prices{display:grid;grid-template-columns:minmax(0,1fr);gap:0;
 border:1px solid #cfdee4;border-radius:14px;overflow:hidden;margin:16px 0 23px}
.qd-specialty-row{display:flex;justify-content:space-between;align-items:start;
 gap:18px;padding:13px 17px;border-bottom:1px solid #e1e9ed}
.qd-specialty-row:nth-child(odd){background:#f5fafb}
.qd-specialty-row:last-child{border-bottom:0}
.qd-specialty-row b{white-space:nowrap;color:#0c5669}
.qd-specialty-row small{display:block;margin-top:4px;color:#607781;line-height:1.6}
.qd-specialty-info{font-size:14px;line-height:1.8;padding:15px 18px;background:#eef7f8;
 border-radius:12px;margin:14px 0 22px}
@media(max-width:520px){.qd-specialty-row{gap:10px;padding:12px}.qd-specialty-row b{font-size:13px}}
/* Zhizhong: lift the photographed face toward top without changing other portraits. */
.team-card .mini-photo img.staff-portrait.portrait-zhizhong{
 object-position:center 28%!important;
}


/* Editorial hover diver: reuse original site SVG, no generated stock artwork. */
.fresh-about .qd-diver-art{position:relative;display:grid;place-items:center;isolation:isolate;
 background:radial-gradient(circle at 70% 35%,#f8fcfb 0,#d9f1f2 55%,#cae8e9 100%);
 overflow:hidden;border-radius:30px;min-height:310px;transition:background .35s ease,transform .35s ease,box-shadow .35s ease}
.fresh-about .qd-diver-art:before{content:"";position:absolute;inset:auto -8% -40% -8%;height:76%;
 border:2px solid rgba(26,123,150,.25);background:linear-gradient(180deg,#b9e4e5,#86c9d3);
 transform:rotate(-6deg);border-radius:50%;z-index:-1}
.fresh-about .qd-diver-art img{display:block;position:relative;z-index:1;width:min(94%,430px);max-height:300px;
 object-fit:contain;transition:filter .4s ease,transform .4s ease}
.qd-art-bubble{position:absolute;display:block;width:18px;height:18px;border:2px solid #258ca2;border-radius:50%;
 opacity:.5;transition:transform .5s ease,background .4s ease;pointer-events:none}
.qd-art-bubble-one{top:17%;left:20%}.qd-art-bubble-two{top:27%;right:17%;width:12px;height:12px}
.qd-art-bubble-three{bottom:19%;left:27%;width:10px;height:10px}
@media(hover:hover){.fresh-about .qd-diver-art:hover{background:#c5e9eb;box-shadow:0 18px 44px #06435a25;transform:translateY(-3px)}
.fresh-about .qd-diver-art:hover img{filter:hue-rotate(30deg) saturate(1.3);transform:translateY(-7px) rotate(-3deg)}
.fresh-about .qd-diver-art:hover .qd-art-bubble{transform:translateY(-24px);background:rgba(255,255,255,.28)}}
@media(prefers-reduced-motion:reduce){.fresh-about .qd-diver-art,.fresh-about .qd-diver-art img,.qd-art-bubble{transition:none!important}}
/* Dive travel itinerary layout */
.qd-travel-section{padding-top:52px;padding-bottom:72px}
.qd-travel-intro{margin:0 0 24px}.qd-travel-intro h2{margin:9px 0;font-size:clamp(27px,3.2vw,38px)}
.qd-trip-heading{font-size:clamp(22px,2.3vw,30px)!important;margin:36px 0 13px!important}
.qd-trip-boat{padding:20px 24px;background:#eaf7f7;color:#155869;border-radius:15px;font-size:19px;font-weight:700}
.qd-trip-list{border:1px solid #d8e8ec;border-radius:15px;overflow:hidden;background:white}
.qd-trip-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-bottom:1px solid #e2ecef}
.qd-trip-item:last-child{border-bottom:0}.qd-trip-item:nth-child(even){background:#f8fbfc}
.qd-trip-copy{min-width:0;flex:1}.qd-trip-date{display:block;font-size:13px;color:#5e7a87;font-variant-numeric:tabular-nums;margin-bottom:5px}
.qd-trip-name{font-size:17px;font-weight:750;line-height:1.5;margin:0!important;color:#133d50}
.qd-trip-status{display:inline-flex;padding:5px 10px;font-size:12px;font-weight:750;border-radius:20px;flex-shrink:0}
.qd-status-full{background:#e9edf0;color:#596b73}.qd-status-available{background:#def4ef;color:#137465}
.qd-status-limited{background:#fff0da;color:#98601e}.qd-status-tba{background:#e7f1f6;color:#486c7d}
.qd-trip-upcoming-note{font-size:14px;color:#4b6a79;margin:15px 0 22px}
.qd-trip-cta{display:inline-flex;background:#0c637b;color:white;border-radius:24px;padding:11px 22px;font-weight:750}
.qd-trip-cta:hover{background:#084b5e}.qd-trip-manage{font-size:12px;color:#657e89;margin:20px 0 0}
.qd-trip-manage a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.fresh-about .qd-diver-art{min-height:225px;border-radius:20px}
.fresh-about .qd-diver-art img{max-height:230px}.qd-trip-item{padding:14px 13px;gap:10px}
.qd-trip-name{font-size:15px}.qd-trip-status{font-size:11px;padding:5px 8px}.qd-trip-date{font-size:12px}}


/* Northeast Coast Fun Dive: prevent the generic span label rule shrinking numeric prices. */
.northeast-pricing .trip-fee-grid > div > strong{
 display:block!important;font-size:clamp(35px,4vw,46px)!important;
 line-height:1.2!important;font-weight:850!important;letter-spacing:-.025em!important;
 color:#126e88!important;white-space:nowrap;margin:11px 0 14px!important;
}
.northeast-pricing .trip-fee-grid > div > strong > span[data-cms-price]{
 display:inline!important;font-size:inherit!important;line-height:inherit!important;
 font-weight:inherit!important;color:inherit!important;letter-spacing:inherit!important;
 margin:0!important;padding:0!important;vertical-align:baseline!important;
}
.northeast-pricing .trip-fee-grid > div > span{display:block;font-size:14px}
@media(max-width:600px){.northeast-pricing .trip-fee-grid>div{padding:22px}
.northeast-pricing .trip-fee-grid>div>strong{font-size:clamp(34px,8vw,42px)!important}}


/* Price inside card notes must never inherit the generic .trip-fee-grid span display:block rule. */
.northeast-pricing .trip-fee-grid > div > p .qd-inline-amount{
 display:inline!important;white-space:nowrap!important;font:inherit!important;
 color:inherit!important;vertical-align:baseline!important;
}
.northeast-pricing .trip-fee-grid > div > p .qd-inline-amount > span[data-cms-price]{
 display:inline!important;font:inherit!important;color:inherit!important;
 line-height:inherit!important;white-space:nowrap!important;
 vertical-align:baseline!important;padding:0!important;margin:0!important;
}
