@font-face{font-family:'Bad Script';src:url('assets/instructors/bad-script.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
/* Instructor/contact sheet: the supplied clipped-print references, in local tokens. */
/* Closing contact scene: approved surf cutouts orbit the live sign-off; no sand. */
.school-contact{position:relative;isolation:isolate;display:grid;place-items:center;overflow:clip;min-height:100vh;min-height:100svh;padding:clamp(72px,12vh,140px) 6%;background:linear-gradient(180deg,#0c3b50 0%,var(--sea) 52%,#082a39 100%);color:var(--paper);scroll-margin-top:0}
.school-contact-vortex{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none}
.school-contact::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 56% 32% at 50% 52%,#0b374af7 0%,#0b374ae0 54%,#0b374a00 100%);pointer-events:none}
.school-contact-copy{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;text-align:center}
.school-contact h2{max-width:12ch;margin:0 auto clamp(32px,5vh,56px);color:var(--sun);font:400 clamp(54px,7.4vw,120px)/1.02 var(--font-display);letter-spacing:-.055em;text-wrap:balance}
html[lang=vi] .school-contact h2{max-width:13ch;font-size:clamp(48px,6.4vw,104px)}
.school-contact p{margin:0}
.school-contact [data-school-phone]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:6px 2px;color:var(--paper);font:700 clamp(20px,2.2vw,34px)/1.2 var(--font-body);letter-spacing:.01em;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:10px}
.school-contact [data-school-phone]:focus-visible{outline:3px solid var(--sun);outline-offset:8px}
.school-contact [data-school-phone]:active{color:var(--sun)}
@media(hover:hover) and (pointer:fine){.school-contact [data-school-phone]:hover{color:var(--sun);text-decoration-thickness:3px}}
/* The sign-off repeats both contact channels as pills under the phone, matched to its width. */
.school-contact-direct{display:inline-grid;justify-items:stretch;gap:18px;max-width:100%}
.school-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.school-contact-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:var(--radius-pill);color:#fff;font:600 var(--text-reading)/1.2 var(--font-sans);letter-spacing:.01em;text-decoration:none;white-space:nowrap}
.school-contact-action[data-contact="whatsapp"]{background:#11763b}
.school-contact-action[data-contact="zalo"]{background:#0068ff}
.school-contact-action svg{width:20px;height:20px;flex:none}
.school-contact-action:focus-visible{outline:3px solid var(--sun);outline-offset:4px}
.school-contact-action:active{filter:brightness(.9)}
@media(hover:hover) and (pointer:fine){.school-contact-action:hover{filter:brightness(1.08)}}
@media(max-width:700px){
 .school-contact{min-height:100vh;min-height:100svh;padding:96px 8%}
 .school-contact h2{max-width:10ch;font-size:clamp(46px,13.6vw,76px);margin-bottom:32px}
 html[lang=vi] .school-contact h2{max-width:11ch;font-size:clamp(42px,12.2vw,68px)}
 .school-contact [data-school-phone]{font-size:clamp(19px,6vw,26px);text-underline-offset:8px}
 .school-contact-direct{gap:16px}
 .school-contact-actions{gap:8px}
 .school-contact-action{gap:6px;padding:10px 12px;font-size:13px}
 .school-contact-action svg{width:18px;height:18px}
}
.instructor-card{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;max-width:680px;margin:0 auto;padding:28px 28px 22px;background:transparent;border:0}
.instructor-card::before{content:'';position:absolute;inset:-15px -17px -30px;z-index:-1;background:url('assets/instructors/ivory-sheet.webp') center/100% 100% no-repeat;filter:drop-shadow(0 1px 1px #3b302a70) drop-shadow(2px 4px 3px #3b302a24);opacity:1;pointer-events:none}
.instructor-card::after{content:'';position:absolute;inset:8px -9px -9px 10px;z-index:-2;background:#b4bcb3 var(--texture-paper);background-blend-mode:soft-light;box-shadow:0 1px 2px #3b302a55;transform:rotate(.6deg)}
.instructor-card .instructor-school{margin:0 0 32px;font:700 1rem/1.2 'Google Sans',sans-serif;text-transform:uppercase;letter-spacing:-.03em}
.instructor-identity h3{margin:0;font:700 clamp(38px,4vw,54px)/1.06 'Google Sans',sans-serif;letter-spacing:-.06em}
.instructor-identity h3 span{display:block;margin-top:7px;font-size:.45em;letter-spacing:-.04em}
.instructor-card .instructor-place{margin:18px 0 0;font-size:.75rem;line-height:1.8}
.instructor-photo{position:relative;align-self:start;margin:-18px -46px 0 -4px;padding:12px 12px 0;background:#eae7dc var(--texture-paper);background-blend-mode:soft-light;border:1px solid #746c5a55;box-shadow:0 1px 1px #3b302a65,2px 4px 4px #3b302a33;transform:rotate(3deg)}
.instructor-photo img{display:block;width:100%;height:260px;object-fit:cover;object-position:50% 42%;border:1px solid #4c4b4070;filter:saturate(.8) contrast(.97)}
.instructor-photo figcaption{padding:12px 2px 16px;font-size:.6875rem;line-height:1.6;text-align:center}
.instructor-clip{position:absolute;z-index:1;right:30px;top:-17px;width:18px;height:78px;border:2px solid #77786c;border-radius:12px;box-shadow:inset 1px 0 0 #e6e3d8,1px 0 0 #e6e3d8,2px 2px 1px #392f2860;transform:rotate(-5deg)}
.instructor-clip::after{content:'';position:absolute;top:6px;left:3px;width:7px;height:55px;border:2px solid #7b7d72;border-top:0;border-radius:0 0 8px 8px}
.instructor-details{grid-column:1/-1;padding-top:0}
.instructor-register{margin:0;border:1px solid var(--ink)}
.instructor-register>div{display:grid;grid-template-columns:90px 1fr;align-items:baseline;gap:16px;padding:3px 12px;min-height:46px}
.instructor-register>div+div{border-top:1px solid var(--ink)}
.instructor-register dt{font:700 .6875rem/1.6 var(--font-body);text-transform:uppercase}
.instructor-register dd{margin:0;font:400 clamp(23px,2vw,27px)/1.6 'Bad Script','Segoe Print',cursive;letter-spacing:0;min-width:0}
.instructor-register a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
.instructor-card a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:700px){
 .instructor-card{gap:18px 22px;padding:24px 24px 20px}
 .instructor-card .instructor-school{margin-bottom:32px;font-size:.75rem}
 .instructor-identity h3{font-size:42px}
 .instructor-photo{margin:-14px -35px 0 -8px;padding:10px 10px 0}
 .instructor-photo img{height:240px}
 .instructor-photo figcaption{font-size:.625rem;padding:12px 0 16px}
 .instructor-clip{right:20px;width:16px;height:65px}
 .instructor-clip::after{height:43px;width:5px}
 .instructor-register>div{grid-template-columns:90px 1fr;gap:12px}
}
@media(max-width:480px){
 .instructor-card{grid-template-columns:1fr;padding:22px 20px 20px;gap:18px}
 .instructor-card .instructor-school{margin-bottom:24px}
 .instructor-identity h3{font-size:42px}
 .instructor-card .instructor-place{margin-top:18px}
 .instructor-photo{width:76%;margin:0 -5px 0 auto;transform:rotate(3deg)}
 .instructor-photo img{height:auto;aspect-ratio:4/5;object-position:50% 42%}
 .instructor-details{padding-top:0}
 .instructor-register>div{grid-template-columns:1fr;gap:2px;padding:9px 12px}
 .instructor-register dd{font-size:1.5rem;overflow-wrap:anywhere}
}

/* Collected surf ephemera frames the live profile; decoration never owns controls. */
.instructor-collage{position:relative;isolation:isolate;max-width:940px;margin-inline:auto;padding:32px 130px 16px}
.instructor-collage .instructor-card{z-index:1}
.instructor-folder{position:absolute;z-index:0;inset:-12px 34px -22px 36px;background:url('assets/instructors/kraft-folder.webp') center/100% 100% no-repeat;filter:drop-shadow(2px 4px 3px #203e4b33);transform:rotate(-2.5deg);pointer-events:none}
.instructor-backsheet{position:absolute;z-index:0;inset:4px 125px 28px 132px;background:#aab4ae var(--texture-paper);background-blend-mode:soft-light;box-shadow:0 1px 2px #3b302a55;transform:rotate(.8deg);pointer-events:none}
.instructor-backsheet>span{display:block;background:#b85336;color:var(--paper-stock-cream);padding:6px 14px;font:700 .625rem/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.05em}
.instructor-gear{position:absolute;z-index:2;left:2px;top:150px;width:132px;padding:20px 10px 12px;display:grid;gap:10px;background:#bd593c var(--texture-paper);background-blend-mode:multiply;box-shadow:0 1px 1px #3b302a70,2px 4px 3px #3b302a35;transform:rotate(-5deg);pointer-events:none;user-select:none}
.instructor-gear-item{display:grid;gap:3px;padding:6px 7px;background:#e6dfcc var(--texture-paper);background-blend-mode:soft-light;border:1px solid #4a443d80}
.instructor-gear-item>span:last-child{font:400 .5625rem/1.5 var(--font-body);text-align:center}
.instructor-gear-art{position:relative;display:block;width:100%;aspect-ratio:var(--gear-w)/var(--gear-h);overflow:hidden;filter:saturate(.65) contrast(.95);mix-blend-mode:multiply}
.instructor-gear-art img{display:block;width:100%;height:100%;object-fit:contain}
.instructor-gear-art--product{aspect-ratio:1;filter:none;mix-blend-mode:normal}
.instructor-gear-clip{position:absolute;top:-68px;left:36px;width:60px;height:100px;background:url('assets/instructors/binder-clip.webp') center/contain no-repeat;filter:drop-shadow(1px 2px 1px #302b2560)}
.instructor-hangtag{position:absolute;z-index:2;top:168px;right:20px;width:94px;min-height:205px;padding:34px 11px 16px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transform:rotate(7deg);text-align:center;pointer-events:none;font:700 .75rem/1.2 'Google Sans',sans-serif}
.instructor-hangtag::before{content:'';position:absolute;z-index:-1;inset:-171px -45px -2px;background:url('assets/instructors/cord-tag.webp') center/100% 100% no-repeat;filter:drop-shadow(1px 3px 2px #203e4b33)}
.instructor-hangtag .instructor-tag-wave{color:var(--orange);font:400 62px/.7 Georgia,serif}
.instructor-hangtag>span:last-child{font:400 .5625rem/1.7 var(--font-body)}
@media(max-width:1000px) and (min-width:701px){
 .instructor-collage{padding-inline:105px}
 .instructor-folder{left:34px;right:32px}
 .instructor-backsheet{left:108px;right:100px}
 .instructor-gear{left:-6px;width:110px;top:140px}
 .instructor-hangtag{right:-7px;width:76px}
}
@media(max-width:700px){
 .instructor-collage{padding:26px 3px 10px}
 .instructor-folder{inset:4px -10px 42px -10px;transform:rotate(-1.5deg)}
 .instructor-backsheet{inset:4px 4px 80px 6px;transform:rotate(1deg)}
 .instructor-backsheet>span{padding:6px 10px;font-size:.5rem}
 .instructor-hangtag{display:none}
 .instructor-gear{position:relative;top:auto;left:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:94%;margin:54px auto 0;padding:12px 8px 8px;gap:7px;transform:rotate(-2deg)}
 .instructor-gear-item{min-width:0;padding:4px}
 .instructor-gear-item>span:last-child{font-size:.5rem}
 .instructor-gear-clip{left:calc(50% - 22px);width:44px;height:74px;top:-50px}
 .instructor-gear-art{max-height:84px}
}
/* Small real tape fragments attach the loose sheet and the tag cord to their backing. */
.instructor-sheet-tape,.instructor-cord-tape{position:absolute;z-index:3;width:88px;aspect-ratio:var(--tape-aspect-ratio);background-image:var(--texture-tape);background-repeat:no-repeat;background-size:201.59% 385.65%;background-position:4.25% 52.36%;filter:saturate(.7);pointer-events:none}
.instructor-sheet-tape{top:-11px;left:35px;transform:rotate(-8deg);opacity:.86}
.instructor-cord-tape{top:-1px;right:21px;width:74px;transform:rotate(5deg);opacity:.8}
@media(max-width:700px){.instructor-cord-tape{display:none}.instructor-sheet-tape{width:70px;top:-8px;left:22px}}

/* Both coaches follow the complete course information, before the film board. */
.school-coaches{position:relative;isolation:isolate;overflow:clip;padding:96px 5% 140px;background:#dfd3c5}
.school-coaches>.lesson-container{position:relative;max-width:1280px}
.coaches-sand{position:absolute;z-index:-1;inset:-80px 0;pointer-events:none;background:url('assets/fast/sand-board.webp') center/cover no-repeat;background-image:image-set(url('assets/fast/sand-board.webp') 1x,url('assets/fast/sand-board@1.5x.webp') 1.5x)}
/* One composited layer: the scrubbed drift must never re-raster the full ground. */
.coaches-sand--depth{will-change:transform}
.coach-arrival--backing,.coach-arrival--tag,.coach-arrival--gear{position:absolute;inset:0;pointer-events:none}
.coach-arrival--backing{z-index:0}
.coach-arrival--tag{z-index:2}
.coach-arrival--gear{z-index:2}
.coach-arrival--profile{position:relative;min-width:0}
.coach-arrival--profile>.instructor-card{height:100%}
.school-coaches h2{margin:0 0 80px;text-align:center;font:700 clamp(28px,2.5vw,36px)/1.2 var(--font-sans);letter-spacing:-.02em}
.school-coaches .instructor-collage{max-width:1200px;padding:57px 66px 150px}
.coach-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px;position:relative;z-index:1}
.coach-profiles .instructor-card{width:100%;min-width:0;gap:18px;padding:24px 18px}
.coach-profiles .instructor-identity h3{font-size:42px}
.coach-profiles .instructor-photo{margin:-6px -24px 0 0}
.coach-profiles .instructor-photo img{height:230px;object-position:50% 35%}
.coach-profiles .instructor-register>div{grid-template-columns:68px 1fr;gap:8px;padding-inline:8px}
.coach-profiles .instructor-register dd{font-size:22px;overflow-wrap:anywhere}
.school-coaches .instructor-gear{left:calc(50% - 215px);top:auto;bottom:-8px;width:430px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 8px 8px;transform:rotate(-2deg)}
.school-coaches .instructor-gear-clip{top:-42px;left:calc(50% - 22px);width:44px;height:74px}
.school-coaches .instructor-hangtag{right:-16px}
@media(max-width:1000px){
 .school-coaches .instructor-collage{padding-inline:30px}
 .coach-profiles{gap:40px}
 .coach-profiles .instructor-card{grid-template-columns:1fr}
 .coach-profiles .instructor-photo{width:80%;margin:0 0 0 auto}
 .coach-profiles .instructor-photo img{height:auto;aspect-ratio:4/5}
 .school-coaches .instructor-hangtag,.school-coaches .instructor-cord-tape{display:none}
}
@media(max-width:700px){
 .coaches-sand{background-image:image-set(url('assets/fast/sand-portrait.webp') 1x,url('assets/fast/sand-portrait@1.5x.webp') 1.5x)}
 .coach-arrival--gear{position:relative;inset:auto}
 .school-coaches{padding:36px 7% 56px}
 .school-coaches h2{margin-bottom:32px}
 .school-coaches .instructor-collage{padding:26px 3px 10px}
 .coach-profiles{grid-template-columns:1fr;gap:78px}
 .coach-profiles .instructor-card{padding:22px 20px 20px}
 .coach-profiles .instructor-register>div{grid-template-columns:1fr}
 .school-coaches .instructor-gear{position:relative;left:auto;bottom:auto;width:94%;margin:60px auto 0}
 .school-coaches .instructor-gear-clip{left:calc(50% - 22px)}
}
