@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+HK:wght@400;500;600;700;800&display=swap');

:root{--sgc-ink:#102d37;--sgc-blue:#0c7380;--sgc-water:#dff3f2;--sgc-yellow:#ffdc48;--sgc-paper:#f8faf6;--sgc-coral:#f17d62;--sgc-line:#d7e2df;--sgc-font:'DM Sans','Noto Sans HK',sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body.sgc-home-page{margin:0;background:var(--sgc-paper);color:var(--sgc-ink);font-family:var(--sgc-font);font-size:16px;line-height:1.65}
.sgc-home-page *{box-sizing:border-box}
.sgc-home-page a{color:inherit;text-decoration:none}
.sgc-home-page a:focus-visible,.sgc-home-page summary:focus-visible{outline:3px solid var(--sgc-coral);outline-offset:4px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:20;background:#fff;padding:10px 14px}.skip-link:focus{top:12px}
.site-header{height:82px;padding:0 clamp(20px,6vw,92px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--sgc-paper);position:relative;z-index:2}
.brand{display:inline-flex;align-items:center;gap:11px;flex:none}.brand-mark{width:43px;height:43px;border:2px solid var(--sgc-blue);border-radius:50%;display:grid;place-items:center;color:var(--sgc-blue);font-size:13px;font-weight:800;letter-spacing:0}.brand-mark-img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;display:block}.brand-name{font-size:11px;font-weight:800;line-height:1.15}.brand-name small{display:block;margin-top:4px;font-size:8px;font-weight:600;color:#668087}
.main-nav{display:flex;justify-content:center;gap:clamp(14px,2.5vw,38px);font-size:13px;font-weight:600}.main-nav a:hover,.footer-links a:hover,.footer-social a:hover{color:var(--sgc-blue)}
.header-contact{background:var(--sgc-ink);color:white!important;padding:11px 17px;font-size:12px;font-weight:700;white-space:nowrap}.header-contact span{margin-left:8px;color:var(--sgc-yellow)}
.hero{height:min(710px,calc(100svh - 82px));min-height:560px;position:relative;overflow:hidden;background:#075c70;color:white;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:hero-reveal 1.1s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,32,42,.85) 0%,rgba(5,32,42,.55) 47%,rgba(5,32,42,.06) 100%),linear-gradient(0deg,rgba(5,32,42,.25),transparent 30%)}.hero-copy{position:relative;z-index:1;width:min(640px,75vw);margin-left:clamp(24px,11vw,165px);padding:52px 0 78px;animation:copy-rise .75s .12s ease-out both}.eyebrow{margin:0 0 17px;color:var(--sgc-yellow);font-size:10px;font-weight:800;letter-spacing:1.5px}.hero h1{margin:0;font-size:clamp(42px,6.2vw,76px);line-height:1.17;letter-spacing:0;font-weight:800}.hero h1 span{color:var(--sgc-yellow)}.hero-intro{max-width:430px;margin:24px 0 0;color:#e2eeee;font-size:16px;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 20px;font-size:13px;font-weight:700;transition:transform .2s,background-color .2s}.button:hover{transform:translateY(-2px)}.button-yellow{background:var(--sgc-yellow);color:var(--sgc-ink)!important}.button-yellow:hover{background:#ffe979}.button-ghost{border:1px solid rgba(255,255,255,.72);color:#fff!important}.button-ghost:hover{background:rgba(255,255,255,.14)}.hero-caption{position:absolute;left:clamp(24px,11vw,165px);right:clamp(24px,6vw,92px);bottom:23px;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1.2px;color:rgba(255,255,255,.78)}
.intro-band{min-height:88px;padding:22px clamp(20px,10vw,150px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--sgc-yellow)}.intro-band p{margin:0;font-size:12px;font-weight:700}.marker{display:inline-block;margin-right:9px;font-size:10px;color:#926f00}
.section{padding:100px clamp(22px,10vw,150px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:37px}.eyebrow-blue{color:var(--sgc-blue)}.section h2,.about-copy h2,.faq-heading h2,.contact-section h2{margin:0;font-size:clamp(30px,4vw,49px);line-height:1.22;letter-spacing:0;font-weight:800}.section h2,.about-copy h2,.faq-heading h2,.course-item h3{color:var(--sgc-ink)}.text-link{display:inline-flex;gap:14px;align-items:center;padding:0 0 7px;border-bottom:1px solid currentColor;font-size:13px;font-weight:700;white-space:nowrap}.text-link:hover{color:var(--sgc-blue)}.mobile-break{display:none}
.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--sgc-line);border-bottom:1px solid var(--sgc-line)}.course-item{min-height:268px;padding:25px 22px 22px;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--sgc-line);transition:background-color .2s,transform .2s}.course-item:first-child{border-left:1px solid var(--sgc-line)}.course-item:hover{transform:translateY(-4px);background:white}.course-kids{--item-accent:#0b7380}.course-adults{--item-accent:#3478aa}.course-team{--item-accent:#db765c}.course-private{--item-accent:#9c7610}.course-number{font-size:9px;font-weight:800;letter-spacing:1px;color:#6c8185}.course-icon{margin-top:24px;color:var(--item-accent);font-size:23px;font-weight:700}.course-item h3{margin:6px 0 8px;font-size:21px}.course-item p{max-width:250px;margin:0;color:#53696f;font-size:13px;line-height:1.8}.course-arrow{position:absolute;right:22px;bottom:21px;color:var(--item-accent);font-size:20px}.course-note{margin:17px 0 0;color:#61767a;font-size:12px}
.about-section{padding:64px clamp(22px,10vw,150px);display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(35px,7vw,100px);align-items:center;background:var(--sgc-water)}.about-image-wrap{position:relative;min-height:340px}.about-image-wrap img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block}.image-label{position:absolute;bottom:0;left:0;padding:9px 13px;background:var(--sgc-yellow);font-size:9px;font-weight:800;letter-spacing:1.2px}.about-copy{max-width:520px}.about-copy>p:not(.eyebrow){margin:21px 0 25px;max-width:470px;color:#50686c;font-size:15px;line-height:1.95}
.stories-section{padding:100px clamp(22px,10vw,150px);background:#fff}.story-links{border-top:1px solid var(--sgc-line)}.story-links>a{display:grid;grid-template-columns:58px 1fr 30px;align-items:center;gap:15px;padding:20px 4px;border-bottom:1px solid var(--sgc-line);transition:padding .2s,color .2s}.story-links>a:hover{padding-left:12px;color:var(--sgc-blue)}.story-index{font-size:11px;font-weight:800;color:var(--sgc-coral)}.story-links strong,.story-links small{display:block}.story-links strong{font-size:17px}.story-links small{margin-top:3px;color:#748589;font-size:12px}.story-arrow{text-align:right;font-size:19px}.notice-list{margin-top:48px}.notice-list>a{display:grid;grid-template-columns:100px 1fr 22px;gap:15px;align-items:center;padding:13px 0;border-top:1px solid var(--sgc-line);font-size:12px}.notice-list>a span:first-child{color:#748589}.notice-list>a strong{font-size:13px}.notice-list>a:hover strong{color:var(--sgc-blue)}
.faq-section{padding:95px clamp(22px,10vw,150px);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,8vw,120px);background:#f0f5ec}.faq-heading .eyebrow{color:var(--sgc-blue)}.faq-heading>p:not(.eyebrow){max-width:360px;margin:18px 0 22px;color:#627477;font-size:14px;line-height:1.85}.button-dark{margin-top:5px;background:var(--sgc-ink);color:white!important}.button-dark:hover{background:var(--sgc-blue)}.faq-list details{border-bottom:1px solid #d3dfd8}.faq-list details:first-child{border-top:1px solid #d3dfd8}.faq-list summary{position:relative;list-style:none;padding:18px 35px 18px 0;cursor:pointer;font-size:14px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:5px;top:14px;font-size:22px;color:var(--sgc-blue)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:0;padding:0 30px 19px 0;color:#5c7175;font-size:13px;line-height:1.85}
.contact-section{padding:66px clamp(22px,10vw,150px);display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--sgc-blue);color:white}.contact-section .eyebrow{color:var(--sgc-yellow)}.contact-section h2{font-size:clamp(32px,4vw,47px)}.contact-section p:last-child{margin:12px 0 0;color:#d3e9e8;font-size:14px}.contact-section .button{flex:none}
.site-footer{padding:39px clamp(22px,6vw,92px) 22px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;background:var(--sgc-ink);color:white}.footer-brand .brand-mark{border-color:var(--sgc-yellow);color:var(--sgc-yellow)}.footer-brand .brand-name small{color:#a9c1c2}.footer-links,.footer-social{display:flex;flex-wrap:wrap;gap:15px;font-size:11px}.footer-social{justify-content:flex-end;color:#d5e1df}.copyright{grid-column:1/-1;margin:6px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);font-size:10px;color:#a9c1c2}
@keyframes hero-reveal{from{transform:scale(1.04);opacity:.65}to{transform:scale(1);opacity:1}}@keyframes copy-rise{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:900px){.site-header{height:auto;min-height:76px;flex-wrap:wrap;padding-top:13px;padding-bottom:13px;gap:12px}.main-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;white-space:nowrap;padding:4px 0}.hero{height:650px;min-height:560px}.hero-copy{width:min(580px,85vw);margin-left:8vw}.hero-caption{left:8vw}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-item:nth-child(3){border-left:1px solid var(--sgc-line)}.course-item:nth-child(n+3){border-top:1px solid var(--sgc-line)}.about-section{grid-template-columns:1fr 1fr;gap:34px}.faq-section{grid-template-columns:1fr;gap:32px}.site-footer{grid-template-columns:1fr 1fr}.footer-links{justify-content:flex-end}.footer-social{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:600px){.site-header{padding-left:18px;padding-right:18px}.brand-mark{width:38px;height:38px}.header-contact{padding:9px 11px;font-size:11px}.main-nav{gap:22px;font-size:12px}.hero{height:calc(88svh - 100px);min-height:560px;max-height:760px;align-items:flex-end}.hero-photo{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(5,32,42,.84) 0%,rgba(5,32,42,.48) 52%,rgba(5,32,42,.05) 100%)}.hero-copy{width:auto;margin:0;padding:0 22px 75px}.hero h1{font-size:43px}.hero-intro{font-size:14px}.hero-caption{left:22px;right:22px;font-size:8px}.intro-band{display:grid;grid-template-columns:1fr;gap:8px;padding:19px 22px}.intro-band p{font-size:11px}.section,.stories-section{padding:68px 22px}.section-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:26px}.section h2,.about-copy h2,.faq-heading h2{font-size:34px}.mobile-break{display:block}.course-grid{grid-template-columns:1fr}.course-item{min-height:220px;padding:20px;border-left:1px solid var(--sgc-line);border-top:1px solid var(--sgc-line)}.course-item:first-child{border-top:0}.course-item:nth-child(3){border-left:1px solid var(--sgc-line)}.course-item:nth-child(n+3){border-top:1px solid var(--sgc-line)}.course-icon{margin-top:17px}.about-section{grid-template-columns:1fr;padding:45px 22px;gap:27px}.about-image-wrap,.about-image-wrap img{min-height:245px;max-height:330px}.about-copy>p:not(.eyebrow){font-size:14px}.story-links>a{grid-template-columns:32px 1fr 24px;gap:9px}.story-links strong{font-size:15px}.story-links small{font-size:11px}.notice-list>a{grid-template-columns:72px 1fr 18px;gap:9px}.notice-list>a strong{font-size:12px}.faq-section{padding:66px 22px}.contact-section{padding:46px 22px;align-items:flex-start;flex-direction:column;gap:23px}.contact-section h2{font-size:36px}.site-footer{grid-template-columns:1fr;padding:30px 22px 18px;gap:19px}.footer-links,.footer-social{grid-column:auto;justify-content:flex-start;gap:13px}.copyright{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo,.hero-copy{animation:none}.button,.course-item,.story-links>a{transition:none}}

body.sgc-page{margin:0;background:var(--sgc-paper);color:var(--sgc-ink);font-family:var(--sgc-font);font-size:16px;line-height:1.65}
.sgc-page *{box-sizing:border-box}
.sgc-page a{color:inherit;text-decoration:none}
.sgc-page a:focus-visible{outline:3px solid var(--sgc-coral);outline-offset:4px}
.sgc-page-main{min-height:65vh}
.page-hero{padding:clamp(55px,8vw,105px) clamp(22px,10vw,150px) 43px;background:var(--sgc-water);border-bottom:1px solid var(--sgc-line)}
.page-hero h1{margin:0;color:var(--sgc-ink);font-size:clamp(38px,6vw,68px);line-height:1.15;font-weight:800}
.page-lead{max-width:640px;margin:19px 0 0;color:#50686c;font-size:16px;line-height:1.85}
.page-breadcrumb{margin:28px 0 0;color:#61767a;font-size:12px}.page-breadcrumb a{font-weight:700}.page-breadcrumb a:hover,.sgc-inline-link:hover{color:var(--sgc-blue)}
.page-content{max-width:1040px;margin:0 auto;padding:clamp(38px,7vw,82px) clamp(22px,5vw,65px);font-size:16px;line-height:1.9}
.page-content>p:first-child{margin-top:0;font-size:18px;color:#405b61}
.page-content h2,.page-content h3{color:var(--sgc-ink);font-weight:800;line-height:1.3}
.page-content h2{margin:36px 0 12px;font-size:clamp(23px,3vw,32px)}
.page-content h3{margin:25px 0 8px;font-size:20px}
.page-content p,.page-content li{color:#53696f}
.page-content img{max-width:100%;height:auto}
.page-content figure{margin:28px 0}
.page-content .wp-block-gallery{gap:14px}
.page-content a:not(.sgc-inline-link){color:var(--sgc-blue);text-decoration:underline;text-underline-offset:3px}
.page-id-29 .page-content ul.wp-block-latest-posts__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0;padding:0;list-style:none}
.page-id-29 .page-content ul.wp-block-latest-posts__list>li{min-width:0;margin:0;padding:24px;background:#fff;border:1px solid var(--sgc-line);border-radius:14px;box-shadow:0 8px 24px rgba(16,45,55,.06)}
.page-id-29 .wp-block-latest-posts__post-title{display:block;color:var(--sgc-ink)!important;font-size:19px;font-weight:800;line-height:1.45;text-decoration:none!important}
.page-id-29 .wp-block-latest-posts__post-title:hover{color:var(--sgc-blue)!important}
.page-id-29 .wp-block-latest-posts__post-date{display:block;margin:8px 0;color:#748589;font-size:11px}
.page-id-29 .wp-block-latest-posts__post-excerpt{margin:10px 0 0;color:#53696f;font-size:14px;line-height:1.8}
.page-id-29 .wp-block-latest-posts__read-more{display:inline-block;margin-top:8px;font-weight:800}
.sgc-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:var(--sgc-blue);font-weight:800}
.sgc-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0}
.sgc-info-grid article{padding:24px 26px;background:#fff;border:1px solid var(--sgc-line);border-top:4px solid var(--sgc-blue)}
.sgc-info-grid h2{margin:0 0 8px;font-size:21px}
.sgc-info-grid p{margin:0;font-size:14px;line-height:1.8}
.sgc-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;counter-reset:sgc-step;list-style:none;padding:0;margin:30px 0}
.sgc-steps li{counter-increment:sgc-step;position:relative;min-height:108px;padding:21px 22px 20px 62px;background:#fff;border:1px solid var(--sgc-line)}
.sgc-steps li:before{content:counter(sgc-step,decimal-leading-zero);position:absolute;left:20px;top:20px;color:var(--sgc-blue);font-size:12px;font-weight:800}
.sgc-steps strong,.sgc-steps span{display:block}
.sgc-steps strong{color:var(--sgc-ink)}.sgc-steps span{margin-top:5px;font-size:13px;line-height:1.7}
.sgc-notice-list{display:grid;gap:18px;margin:28px 0}.sgc-notice{padding:25px 28px;background:#fff;border:1px solid var(--sgc-line);border-left:4px solid var(--sgc-blue)}.sgc-notice time{color:#748589;font-size:12px}.sgc-notice h2{margin:8px 0;font-size:22px}.sgc-notice h2 a:hover{color:var(--sgc-blue)}.sgc-notice p{margin:10px 0 0}.sgc-calendar{margin:28px 0;border:1px solid var(--sgc-line);background:#fff}.sgc-calendar iframe{display:block;max-width:100%}
.page-related{padding:60px clamp(22px,10vw,150px);background:#fff}
.page-related>.eyebrow{margin-bottom:8px}
.page-related h2{margin:0 0 25px;font-size:clamp(25px,3.5vw,36px);color:var(--sgc-ink)}
.page-related-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--sgc-line)}
.page-related-links a{display:flex;justify-content:space-between;gap:10px;padding:15px 13px;border-bottom:1px solid var(--sgc-line);font-size:13px;font-weight:700}
.page-related-links a:hover{color:var(--sgc-blue);background:var(--sgc-paper)}
.sgc-page .contact-section{margin:0}
.sgc-page .footer-brand .brand-mark-img{border-radius:50%}
@media(max-width:900px){.sgc-page .site-header{height:auto;min-height:76px;flex-wrap:wrap;padding-top:13px;padding-bottom:13px;gap:12px}.sgc-page .main-nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;white-space:nowrap;padding:4px 0}.page-related-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.sgc-page .site-header{padding-left:18px;padding-right:18px}.sgc-page .brand-mark-img{width:40px;height:40px}.sgc-page .header-contact{padding:9px 11px;font-size:11px}.sgc-page .main-nav{gap:22px;font-size:12px}.page-hero{padding:48px 22px 29px}.page-hero h1{font-size:42px}.page-lead{font-size:14px}.page-content{padding:35px 22px;font-size:15px}.page-content>p:first-child{font-size:16px}.page-id-29 .page-content ul.wp-block-latest-posts__list{grid-template-columns:1fr;gap:12px}.page-id-29 .page-content ul.wp-block-latest-posts__list>li{padding:20px}.sgc-info-grid,.sgc-steps{grid-template-columns:1fr}.sgc-info-grid article{padding:20px}.sgc-steps li{min-height:0}.sgc-notice{padding:20px}.sgc-notice h2{font-size:19px}.sgc-calendar iframe{height:560px}.page-related{padding:44px 22px}.page-related-links{grid-template-columns:repeat(2,minmax(0,1fr))}.page-related-links a{padding:12px 8px;font-size:12px}}