/* Minh Long — shared palette, typography and layouts */
:root{--navy:#092d58;--deep:#05234b;--blue:#0758ac;--red:#d71c2a;--yellow:#ffda24;--ink:#173354;--muted:#607189;--pale:#eff6fc;--line:#dae3ed;--white:#fff;--serif:Cambria,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:16px/1.65 var(--sans);color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h2{font:700 clamp(2rem,3.2vw,2.85rem)/1.2 var(--serif);color:var(--navy);margin-bottom:22px}h3{font:700 1.5rem/1.2 var(--serif)}p{margin-bottom:18px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}button{color:inherit}a,button{transition:background .2s,transform .2s,color .2s,box-shadow .2s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #167bd0;outline-offset:4px}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section{padding-block:70px}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:700;color:#5b718b;margin-bottom:15px}.eyebrow.light{color:#d8e7fc}.script{font:italic 1.45rem/1.4 var(--serif)}.small{font-size:.875rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:white;padding:12px 20px}.skip-link:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:12px 22px;border:1px solid transparent;border-radius:30px;background:var(--navy);color:white;font-size:.9rem;font-weight:650;line-height:1.5}.button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #092d5825}.button.yellow{background:var(--yellow);color:var(--navy)}.button.red{background:var(--red);color:white}.button.outline{background:white;color:var(--navy);border-color:var(--line)}.button.small-button{font-size:.85rem;min-height:40px;padding:7px 18px}.actions{display:flex;gap:14px;flex-wrap:wrap}.text-link{font-weight:650;font-size:.9rem;border-bottom:1px solid #b8c6d8;padding-bottom:5px;display:inline-flex;gap:24px;align-items:center}.text-link:hover{color:var(--blue)}.red-stroke{display:block;width:44px;height:3px;background:var(--red);margin-top:15px}.centered{text-align:center}.centered .red-stroke{margin-inline:auto}.section-heading>p:last-child{color:var(--muted)}
/* Shared header */
#site-header{position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid #dce4ed;backdrop-filter:blur(12px)}.header-inner{max-width:1600px;margin:auto;min-height:100px;display:flex;align-items:center;gap:20px;padding:12px 30px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand img{height:74px;width:74px;object-fit:contain}.brand-copy{line-height:1.15}.brand-copy small{font:600 .69rem var(--serif);letter-spacing:.04em;display:block}.brand-copy strong{display:block;font:700 1.85rem/1.15 var(--serif);letter-spacing:.055em;color:#064495}.brand-copy span{font-size:.65rem;letter-spacing:.32em;font-weight:700}.main-nav{display:flex;align-items:center;gap:3px;margin-left:auto}.main-nav a{font-size:.8rem;white-space:nowrap;padding:8px 10px;border-radius:24px;font-weight:600}.main-nav a:hover{background:var(--pale)}.main-nav a.active{background:#0751a3;color:white}.header-motto{font:italic 1.1rem/1.35 var(--serif);text-align:center;max-width:155px;transform:rotate(-4deg);margin:0 0 0 8px;color:#536b8c}.header-motto:after{content:'';display:block;background:var(--yellow);height:3px;width:90%;margin-top:6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;background:transparent;border-radius:50%;flex-shrink:0}.icon-button:hover{background:var(--pale)}.menu-toggle{display:none}
/* Homepage */
.hero{position:relative;isolation:isolate;min-height:615px;display:flex;align-items:center;overflow:hidden;background:var(--deep);color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#03234bf5 0%,#07366de8 31%,#052e61a6 47%,#07264810 76%)}.hero:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:30px;background:white;clip-path:polygon(0 65%,8% 85%,22% 52%,35% 79%,50% 55%,66% 92%,78% 60%,91% 85%,100% 50%,100% 100%,0 100%)}.hero-content{padding-block:65px 82px}.hero h1{font:700 clamp(2.1rem,3.1vw,3rem)/1.18 var(--serif);max-width:700px;margin-bottom:10px;text-shadow:0 2px 20px #001b4730}.hero h1 span{color:var(--yellow)}.hero-school{font:700 clamp(1.3rem,2vw,1.9rem)/1.3 var(--serif)}.color-line{display:flex;width:250px;height:5px;margin:27px 0;border-radius:3px;overflow:hidden}.color-line i{flex:1;background:#171d25}.color-line i:nth-child(2){background:#1681e3}.color-line i:nth-child(3){background:var(--yellow)}.color-line i:nth-child(4){background:#ef2735}.color-line i:nth-child(5){background:white}.hero-motto{font:italic 700 1.8rem/1.3 var(--serif);margin-bottom:8px}.hero-family{font:italic 1.35rem var(--serif);color:#e2eafa;margin-bottom:32px}.hero-caption{position:absolute;right:32px;bottom:45px;font-size:.65rem;letter-spacing:.2em;text-shadow:0 1px 4px black}.hero-caption span{font-size:1.25rem;border:1px solid #ffffff90;padding:5px;margin-left:10px}.mobile-break{display:none}.origins{display:grid;grid-template-columns: .95fr 1.2fr;align-items:center;gap:75px}.origins-art{position:relative;text-align:center}.origins-art img{width:100%;height:auto;mix-blend-mode:multiply}.art-caption{display:block;font:italic 1.2rem var(--serif);color:#617c9d;margin-top:20px}.origins-copy p:not(.eyebrow){color:#52637a;font-size:.95rem;line-height:1.8}.origins-copy strong{color:var(--navy)}.grades{background:linear-gradient(110deg,#e8f4ff,#f3f9fd);border-block:1px solid #dcebf7}.grades-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:50px;margin-top:35px}.grade-col{text-align:center;border-right:1px solid #b7d3ec;padding-right:45px}.cap-number{font:700 3.6rem var(--serif);color:var(--navy)}.cap-number span{font-size:2.4rem}.belt-intro{font-size:.9rem;margin:6px 0 25px}.belt-colors{display:flex;justify-content:space-around;gap:10px;margin-bottom:23px}.belt-sample{font-size:.8rem}.belt-sample .belt{width:55px;height:11px;margin:0 auto 25px}.belt{position:relative;background:var(--belt-color,#d82230);border:1px solid #0002;border-radius:4px;height:14px;width:145px;display:flex;align-items:stretch;justify-content:center;gap:5px;box-shadow:inset 0 -3px 4px #0002}.belt i{display:block;background:var(--stripe-color,#fff);width:5px}.belt.knotted:before,.belt.knotted:after{content:'';position:absolute;width:12px;height:25px;background:var(--belt-color);top:6px;left:19px;transform:rotate(25deg);border:1px solid #0002;border-radius:2px}.belt.knotted:after{transform:rotate(-25deg);left:31px}.belt.white{--belt-color:#fff;border:1px solid #4d596a}.belt.yellow{--belt-color:#ffda24;--stripe-color:#d71c2a}.journey-col{align-self:center;text-align:center}.journey{padding:0;list-style:none;display:flex;justify-content:space-between;gap:9px;counter-reset:step}.journey li{font-size:.75rem;font-weight:650;counter-increment:step}.journey li:before{content:counter(step,decimal-leading-zero);display:block;font:italic 2rem var(--serif);color:#4e7baa;margin-bottom:12px}.journey-arrow{height:4px;background:var(--yellow);position:relative;margin:20px 0 23px}.journey-arrow:after{content:'';position:absolute;right:-2px;top:-6px;border-left:13px solid var(--yellow);border-block:8px solid transparent}.journey-col .script{font-size:1.15rem;color:#577294;margin:0}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}.value{text-align:center;background:#f0f7fd;border:1px solid #cce2f4;padding:28px 20px 23px;border-radius:7px}.value>span svg{width:39px;height:39px;margin-bottom:15px}.value h3{font-size:1.5rem;margin-bottom:12px}.value p{font-size:.9rem;line-height:1.6;margin:0}.value.respect{background:#fff5f5;border-color:#f3d2d6}.respect>span,.respect h3{color:#c82431}.value.progression{background:#fffbec;border-color:#f3e4b0}.progression>span,.progression h3{color:#a47505}.value.family{background:#eff7ff}.family>span,.family h3{color:#0768bb}.club-links{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px}.club-links .script{margin:0;border-bottom:3px solid var(--yellow);transform:rotate(-3deg)}
/* Footer */
#site-footer{background:var(--deep);color:#fff;border-top:5px solid #164578;position:relative}.footer-main{display:grid;grid-template-columns:1fr 1fr .9fr;gap:40px;align-items:center;padding-block:45px}.footer-address strong{display:block;margin-bottom:7px}.footer-address p{font-size:.85rem;color:#d1deef;margin:0}.footer-motto{font:italic 1.5rem var(--serif);text-align:center;margin:0}.footer-right{text-align:right}.footer-right p{font-size:.85rem;color:#d1deef;margin:12px 0}.social-labels{display:flex;justify-content:flex-end;gap:17px;font-size:.8rem;color:#c8d8ed}.footer-bottom{border-top:1px solid #ffffff20;padding:15px 0;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:#b4c7df}.footer-bottom a:hover{text-decoration:underline}
/* Secondary pages */
.page-main{background:linear-gradient(120deg,#f5f8fc,#fff 65%);min-height:65vh;padding-block:50px 80px}.breadcrumb{font-size:.8rem;color:var(--muted);display:flex;gap:10px;margin-bottom:30px}.breadcrumb a:hover{text-decoration:underline}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.page-intro h1{font:700 clamp(2.3rem,4vw,3.4rem)/1.1 var(--serif);color:var(--navy);margin:0 0 15px}.page-intro h1:after{content:'';display:inline-block;width:43px;height:3px;vertical-align:middle;background:var(--red);margin-left:22px}.page-intro h2{font:600 1.2rem var(--sans);margin:0 0 8px}.page-intro p{color:var(--muted);max-width:770px;margin:0}.page-intro blockquote{font:italic 1.5rem/1.4 var(--serif);color:#778aa1;text-align:right;min-width:220px;margin:0}.filters{display:flex;gap:10px;overflow-x:auto;padding:5px 4px 14px;margin-bottom:24px}.filter{border:1px solid var(--line);border-radius:25px;background:white;padding:9px 20px;white-space:nowrap;font-size:.875rem;font-weight:600}.filter:hover{background:var(--pale)}.filter.active{background:var(--red);color:white;border-color:var(--red)}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.member-card{background:white;border:1px solid #e0e5ec;border-radius:8px;overflow:hidden;box-shadow:0 5px 16px #0b285909;transition:transform .2s,box-shadow .2s;text-align:center;display:flex;flex-direction:column}.member-card:hover{transform:translateY(-4px);box-shadow:0 9px 22px #0b285916}.role-band{background:var(--navy);color:white;font-size:.85rem;padding:6px;font-weight:600}.role-band.master{background:#fff;color:var(--navy);border-bottom:1px solid #ccd6e1}.role-band.teacher{background:var(--red)}.role-band.assistant{background:var(--yellow);color:var(--navy)}.member-body{padding:20px 18px;display:flex;flex-direction:column;align-items:center;flex:1}.member-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;object-position:50% 23%;border:3px solid #e5eaf1;margin-bottom:17px}.member-card h3{font:700 1.4rem var(--sans);margin-bottom:10px}.member-card .belt{margin-bottom:9px}.member-grade{font-size:.83rem;line-height:1.6;margin-bottom:10px}.member-teaching{font-size:.8rem;color:var(--muted);padding-top:11px;border-top:1px solid #edf0f5;width:100%;margin-bottom:18px}.member-card .button{margin-top:auto}.team-note{font-size:.8rem;color:var(--muted);margin-top:22px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.course-card{background:var(--navy);color:white;padding:30px;border-radius:12px;position:relative;overflow:hidden;display:flex;flex-direction:column}.course-card:last-child{grid-column:1/-1}.course-top{display:flex;gap:20px;align-items:center;margin-bottom:17px}.course-number{font:italic 2.6rem var(--serif);color:#ffffff50}.course-card h2{font-size:1.8rem;color:var(--yellow);margin:0}.course-card p{font-size:.95rem;color:#e2eaf4}.course-time{border-top:1px solid #ffffff25;padding-top:15px;margin-top:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.9rem}.course-time strong{color:var(--yellow)}.page-actions{margin-top:32px}.profile-layout{display:grid;grid-template-columns:340px 1fr;gap:40px}.profile-identity{align-self:start;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.profile-portrait{width:100%;aspect-ratio:3/3.5;object-fit:cover;object-position:center 22%}.profile-name{padding:25px}.profile-name h1{font:700 2.7rem var(--serif);margin:0 0 10px}.profile-name p{margin:0;color:var(--muted)}.profile-details{display:grid;gap:20px}.detail-block{background:white;border:1px solid var(--line);border-radius:10px;padding:28px}.detail-block h2{font-size:1.55rem}.detail-block p:last-child{margin:0}.profile-belt{width:min(330px,100%);height:25px;margin:35px auto 60px;justify-content:flex-end;padding-right:25px;gap:8px;transform:rotate(-2deg)}.profile-belt i{width:7px}.profile-belt:before,.profile-belt:after{content:'';position:absolute;left:44%;top:7px;width:24px;height:64px;background:var(--belt-color,#d82230);border:1px solid #0003;border-radius:3px;transform:rotate(23deg);box-shadow:inset 0 -5px 10px #0002}.profile-belt:after{transform:rotate(-27deg);left:49%}.grade-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grade-details dt{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.grade-details dd{margin:0;font-weight:650}.badge{display:inline-flex;font-size:.8rem;border-radius:20px;background:var(--pale);padding:5px 13px;margin-top:15px}.empty-state{border:1px dashed #bdccdc;border-radius:10px;padding:45px;text-align:center;color:var(--muted);grid-column:1/-1}.featured-media{position:relative;width:100%;border:0;border-radius:10px;overflow:hidden;padding:0;background:var(--deep);text-align:left;color:white;display:block}.featured-media img{width:100%;height:490px;object-fit:cover;object-position:center 48%;transition:transform .5s}.featured-media:hover img{transform:scale(1.025)}.featured-caption{position:absolute;inset:auto 0 0;padding:65px 30px 25px;background:linear-gradient(transparent,#001c40e6)}.featured-caption strong{font:700 2rem var(--serif);display:block}.featured-caption .badge{margin:0 0 10px;background:#fff;color:var(--navy)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.family-banner{text-align:center;padding:45px 20px;background:var(--pale);border-radius:10px;margin-top:40px}.family-banner h2{margin-bottom:10px}.family-banner .script{color:var(--muted)}.contact-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:50px}.contact-info{background:var(--navy);color:white;border-radius:12px;padding:32px;align-self:start}.contact-info h2{color:white;font-size:1.8rem}.contact-info p{color:#d5e2f2}.contact-info .button{margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-size:.875rem;font-weight:650}.form-field input,.form-field textarea{width:100%;border:1px solid #becbd9;border-radius:6px;padding:11px 13px;background:white;color:var(--navy)}.form-field textarea{min-height:150px;resize:vertical}.form-help{font-size:.8rem;color:var(--muted);margin-top:18px}.form-message{padding:15px;border-radius:6px;background:#fff1ed;border:1px solid #edc0b4;margin-top:20px}.form-message.success{background:#edf8f1;border-color:#badbc7}.honeypot{position:absolute;left:-10000px}.contact-form button[disabled]{opacity:.55;cursor:wait}
/* Dialogs */
dialog{border:0;border-radius:12px;color:var(--navy);box-shadow:0 20px 80px #0004;max-width:calc(100% - 32px)}dialog::backdrop{background:#03152be8;backdrop-filter:blur(5px)}.search-dialog{width:650px;padding:25px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.dialog-top h2{font-size:1.7rem;margin:0}.search-input{width:100%;border:1px solid #bacbdd;border-radius:6px;padding:12px}.search-results{padding:0;list-style:none;max-height:50vh;overflow:auto}.search-results a{display:block;padding:12px;border-bottom:1px solid var(--line)}.search-results a:hover{background:var(--pale)}.search-results small{display:block;color:var(--muted)}.lightbox{width:min(1100px,95vw);padding:15px;background:var(--deep);color:white}.lightbox img{max-height:73vh;width:100%;object-fit:contain}.lightbox h2{color:white;font-size:1.3rem;margin:0}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px}.lightbox .icon-button{color:white}.lightbox .icon-button:hover{background:#ffffff20}.lightbox .icon-button:disabled{opacity:.3;cursor:default}.lightbox video{width:100%;max-height:73vh}.noscript{padding:20px;background:#fff5d9;text-align:center}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:680px}.hero h1{font-size:3.3rem}}
@media(max-width:1320px){.header-motto{display:none}.header-inner{padding-inline:22px;gap:10px}.brand-copy strong{font-size:1.65rem}.brand img{width:65px;height:65px}.main-nav a{padding:8px;font-size:.76rem}}
@media(max-width:1100px){.header-inner{min-height:90px}.menu-toggle{display:flex;margin-left:auto}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:80vh;overflow-y:auto;background:white;padding:18px 25px;box-shadow:0 10px 20px #092d5815;flex-wrap:wrap;gap:8px}.main-nav.open{display:flex}.main-nav a{font-size:.9rem;padding:12px}.hero{min-height:600px}.hero h1{font-size:2.75rem}.hero-shade{background:linear-gradient(90deg,#03234bf5,#07366dd4 45%,#07264830)}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.origins{gap:40px}.values{gap:12px}.value{padding:24px 15px}.value h3{font-size:1.3rem}.grades-layout{gap:30px}.grade-col{padding-right:25px}.footer-main{grid-template-columns:1fr 1fr}.footer-motto{display:none}.profile-layout{grid-template-columns:280px 1fr;gap:25px}.page-intro blockquote{display:none}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.section{padding-block:48px}.header-inner{min-height:80px;padding:10px 16px}.brand{gap:9px}.brand img{width:56px;height:56px}.brand-copy strong{font-size:1.4rem}.brand-copy small{font-size:.58rem}.brand-copy span{font-size:.55rem}.hero{min-height:650px;align-items:end}.hero-image{object-position:66% center}.hero-shade{background:linear-gradient(0deg,#03234b 0%,#032c62ed 39%,#052e6170 72%,#052e6120)}.hero-content{text-align:center;padding:155px 0 65px}.hero .eyebrow{font-size:.65rem;letter-spacing:.1em}.hero h1{font-size:2.15rem}.hero-school{font-size:1.25rem}.color-line{margin:23px auto}.hero-motto{font-size:1.45rem}.hero-family{font-size:1.1rem}.hero .actions{justify-content:center;gap:12px}.hero .button{font-size:.8rem;padding:12px 17px}.hero-caption{display:none}.origins{grid-template-columns:1fr;gap:30px}.origins-art{max-width:420px;margin:auto}.origins-copy .eyebrow{margin-bottom:10px}.grades-layout{grid-template-columns:1fr;gap:35px}.grade-col{border-right:0;border-bottom:1px solid #b7d3ec;padding:0 0 22px}.belt-colors{max-width:420px;margin-inline:auto}.journey li{font-size:.67rem}.journey li:before{font-size:1.8rem}.values{grid-template-columns:1fr 1fr;gap:15px}.club-links{flex-wrap:wrap;justify-content:center}.club-links .script{order:-1;flex-basis:100%;text-align:center;border:0}.footer-main{gap:25px;padding-block:35px}.footer-right{text-align:left}.social-labels{justify-content:flex-start;flex-wrap:wrap;gap:10px}.footer-bottom{font-size:.7rem}.page-main{padding-block:30px 50px}.breadcrumb{margin-bottom:24px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-photo{width:120px;height:120px}.member-body{padding:18px 12px}.page-intro h1:after{width:30px;margin-left:15px}.course-grid{grid-template-columns:1fr}.course-card:last-child{grid-column:auto}.course-card{padding:25px}.profile-layout{grid-template-columns:1fr}.profile-identity{display:grid;grid-template-columns:40% 60%}.profile-portrait{height:100%;aspect-ratio:3/4}.profile-name{align-self:center;padding:20px}.profile-name h1{font-size:2.2rem}.detail-block{padding:23px}.featured-media img{height:390px}.featured-caption{padding:55px 20px 20px}.featured-caption strong{font-size:1.6rem}.gallery-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-info{padding:25px}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.brand-copy small{font-size:.52rem}.brand-copy strong{font-size:1.25rem}.brand-copy span{font-size:.48rem}.header-inner{gap:3px;padding-inline:10px}.icon-button{width:38px;height:38px}.brand img{width:51px;height:51px}.hero h1{font-size:1.95rem}.mobile-break{display:block}.hero .actions{flex-direction:column;margin-inline:15px}.values,.team-grid{grid-template-columns:1fr}.member-photo{width:155px;height:155px}.member-body{padding:22px}.member-card{max-width:380px;width:100%;margin:auto}.value{padding:28px}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.form-grid{grid-template-columns:1fr}.grade-details{grid-template-columns:1fr}.featured-media img{height:320px}.profile-name h1{font-size:1.8rem}.profile-name p{font-size:.85rem}.page-intro h1{font-size:2.3rem}.page-intro h1:after{display:block;margin:15px 0}.journey{gap:4px}.journey li{font-size:.6rem}.filter{padding:9px 16px}.empty-state{padding:30px 20px}.hero-content{padding-top:125px}.hero-school{font-size:1.1rem}}
.page-main{position:relative;isolation:isolate}.page-main:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:520px;background:url('../assets/images/origines-vietnam.jpg') right top/650px auto no-repeat;opacity:.035;pointer-events:none}.member-photo{object-position:center top;transition:transform .3s}.member-card:hover .member-photo{transform:scale(1.025)}.reveal-in{animation:reveal-in .65s ease-out both}@keyframes reveal-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.grades-layout>*{min-width:0}.belt-colors{gap:5px}.belt-sample .belt{width:46px}.belt-sample .belt:before{left:15px}.belt-sample .belt:after{left:26px}.journey{flex-wrap:wrap;row-gap:18px}.journey li{flex:1 0 28%;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
