*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:#111e35;font:16px/1.65 system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid #e3e8ee;min-height:86px;padding:14px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:750}.brand img{object-fit:contain}.brand small{display:block;font-size:14px;font-weight:400;color:#596579}nav{display:flex;align-items:center;gap:26px}nav>a{font-size:16px}summary{cursor:pointer;list-style:none;background:#111e35;color:white;padding:10px 19px;border-radius:8px}summary::-webkit-details-marker{display:none}summary span{margin-left:12px}details{position:relative}.submenu{position:absolute;right:0;top:calc(100% + 10px);width:280px;background:white;border:1px solid #e3e8ee;box-shadow:0 12px 30px #111e351a;padding:8px;border-radius:10px;max-height:65vh;overflow:auto}.submenu a{display:block;padding:12px;border-radius:6px}.submenu a:hover{background:#eef4fa}a:focus-visible,summary:focus-visible{outline:3px solid #ed632f;outline-offset:4px}main{max-width:1480px;margin:auto;padding:0 clamp(16px,4vw,60px)}.intro{padding:48px 0 34px}.eyebrow{color:#c84c1e;font-size:14px;font-weight:700;letter-spacing:2px;margin:0}h1{font-size:clamp(30px,4vw,48px);margin:8px 0}h2{font-size:clamp(22px,3vw,30px);margin:4px 0}.intro>p:last-child{color:#596579;margin:8px 0}.section-heading{border-top:1px solid #e3e8ee;padding:24px 0 18px}.section-heading>span{font-size:14px;letter-spacing:1px;color:#596579}.poster{display:block}.poster img{display:block;width:100%;height:auto}.caption{font-size:14px;color:#596579;text-align:right;margin:10px 0 0}section{padding-bottom:64px}footer{padding:24px;text-align:center;background:#111e35;color:white;font-size:14px}@media(max-width:640px){header{gap:12px;flex-wrap:wrap;padding:12px 16px}.brand{font-size:18px}nav{width:100%;justify-content:space-between;gap:12px}nav>a{font-size:14px}summary{padding:8px 14px}.intro{padding-top:28px}section{padding-bottom:36px}html{scroll-padding-top:160px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:380px){nav{flex-wrap:wrap;justify-content:flex-start;column-gap:18px;row-gap:10px}nav details{margin-left:auto}html{scroll-padding-top:210px}}

.contact-admin{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:8px;background:#087f46;color:#fff;font-size:16px;font-weight:650;white-space:nowrap}.contact-admin:hover{background:#066636}.enroll-contact{text-align:center;margin-top:24px}@media(max-width:900px){header{flex-wrap:wrap}nav{flex-wrap:wrap;gap:12px}html{scroll-padding-top:180px}}@media(max-width:640px){nav .contact-admin{flex:1}nav details{margin-left:0}}

.review-gallery{display:grid;gap:28px}.review-gallery .poster{overflow:hidden;border:1px solid #e3e8ee;border-radius:12px}.social-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px 28px;margin:0 0 22px}.social-links a{display:inline-flex;align-items:center;gap:9px;font-size:14px}.social-links svg{width:22px;height:22px;flex:none}.social-links a:hover{text-decoration:underline}@media(max-width:1200px){header{flex-wrap:wrap}nav{flex-wrap:wrap;gap:12px}html{scroll-padding-top:190px}}

.review-gallery{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px}.review-gallery::-webkit-scrollbar{display:none}.review-gallery .poster{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.review-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:18px}.review-controls button{width:46px;height:46px;border:1px solid #d3dbe5;border-radius:50%;background:#111e35;color:white;font:22px system-ui;cursor:pointer}.review-controls button:disabled{opacity:.35;cursor:default}.review-controls button:focus-visible,.review-gallery:focus-visible{outline:3px solid #ed632f;outline-offset:4px}#review-position{font-size:16px;min-width:50px;text-align:center}

[data-carousel] .review-gallery,[data-carousel] .review-controls,[data-carousel]>.caption{max-width:860px;margin-left:auto;margin-right:auto}#reviews-2 .review-gallery{max-width:600px}.review-controls button[data-play]{width:auto;min-width:76px;font-size:16px;padding:0 14px}[data-position]{min-width:60px;text-align:center}.review-gallery .poster img{object-fit:contain}

@media(max-width:640px){header nav{position:relative;min-width:0}nav details{position:static}.submenu{left:0;right:0;width:auto;max-width:100%;top:calc(100% + 8px);max-height:50dvh;overflow-y:auto;overflow-wrap:anywhere}.submenu a{white-space:normal}main{min-width:0}}

.course-format{margin:0 0 24px;padding:18px 22px;border-left:4px solid #087f46;background:#f0f8f4;border-radius:0 8px 8px 0;font-size:18px;line-height:1.8}.enroll-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;margin:0 0 28px}.enroll-prompt{display:inline-flex;align-items:center;gap:16px;font-weight:650}.enroll-arrow{display:inline-block;color:#087f46;font-size:36px;line-height:1;animation:point-to-admin 1.4s ease-in-out infinite}@keyframes point-to-admin{0%,100%{transform:translateX(-4px)}50%{transform:translateX(6px)}}@media(max-width:480px){.enroll-contact{flex-direction:column;gap:12px}.enroll-prompt{flex-direction:column;gap:6px}.enroll-arrow{rotate:90deg}.course-format{font-size:16px;padding:16px}}@media(prefers-reduced-motion:reduce){.enroll-arrow{animation:none}}

.home-intro{display:flex;align-items:center;justify-content:space-between;gap:32px}.home-intro>div{min-width:0}.home-intro p:last-child{color:#596579}.trial-button{display:flex;align-items:center;gap:16px;padding:24px 28px;background:#fff3e9;border:1px solid #f5bd94;border-radius:16px;font-size:clamp(17px,1.6vw,22px);font-weight:750;color:#9b340d;box-shadow:0 8px 24px #b84b1010}.trial-button small{display:block;font-size:14px;font-weight:500;margin-top:5px;color:#7e4933}.trial-button:hover{background:#ffe7d5}.trial-fire{font-size:36px;display:inline-block;animation:trial-flame 1.2s ease-in-out infinite;transform-origin:center bottom}@keyframes trial-flame{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.14);filter:drop-shadow(0 0 6px #ffad43)}}.video-series{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lesson-video{min-width:0;border:1px solid #e0e6ee;border-radius:16px;overflow:hidden;background:#fff}.video-heading{padding:20px;display:flex;align-items:center;gap:14px}.episode{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:8px;background:#111e35;color:#fff;border-radius:10px;font-weight:750}.video-heading h3{margin:0;font-size:20px}.lesson-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#111e35}.video-bottom{padding:16px 20px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:14px;color:#596579}.video-bottom a{color:#a53c15;text-decoration:underline;text-underline-offset:3px}.free-lessons .section-heading p{color:#596579;margin:8px 0}.free-lessons{max-width:1320px}@media(max-width:900px){.home-intro{align-items:flex-start;flex-direction:column;gap:20px}.trial-button{max-width:100%}}@media(max-width:720px){.video-series{grid-template-columns:1fr}.trial-button{padding:20px;gap:12px}.video-heading h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.trial-fire{animation:none}}

/* Shared navy navigation across public pages. */
header{background:#10294f;color:#fff;border-bottom:1px solid #294568;box-shadow:0 4px 18px #10294f1a}header .brand small{color:#c7d6eb}header .brand img{background:#fff;border-radius:50%;padding:2px}header nav>a:not(.contact-admin):hover{color:#ffcb87}header summary{background:#254873;color:#fff;border:1px solid #537299}header summary:hover{background:#315986}header .submenu{color:#111e35}header .contact-admin{background:#087f46;border:1px solid #48ad7f}header .contact-admin:hover{background:#066636}header a:focus-visible,header summary:focus-visible{outline-color:#ffcb87}

/* Premium free-lesson invitation */
.trial-button{position:relative;isolation:isolate;overflow:hidden;min-height:132px;gap:22px;padding:26px 30px;background:linear-gradient(120deg,#102744,#193d66);border:1px solid #bd955d;border-radius:20px;color:#fff;box-shadow:0 12px 30px #10294f26,inset 0 1px 0 #ffffff18;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.trial-button::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 25%,#f3d49c16 48%,transparent 70%);transform:translateX(-130%);animation:trial-sheen 6s ease-in-out infinite;pointer-events:none}.trial-button:hover{background:linear-gradient(120deg,#143354,#204b77);border-color:#f5d79e;box-shadow:0 18px 36px #10294f35;transform:translateY(-3px)}.trial-orbit{position:relative;display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:linear-gradient(140deg,#fceac5,#c99d59);color:#10294f;box-shadow:0 0 24px #e8be6b22,inset 0 1px 0 #fff8}.trial-orbit::before{content:"";position:absolute;inset:-7px;border:1px solid #edcb8d66;border-radius:50%;animation:trial-ring 3s ease-in-out infinite}.trial-orbit svg{width:32px;height:32px}.trial-copy{min-width:0;display:block;text-align:left}.trial-button .trial-kicker{color:#edcd98;font-size:11px;letter-spacing:2.3px;font-weight:700;margin:0 0 7px}.trial-copy>span{display:block;font-size:clamp(17px,1.5vw,21px);line-height:1.5;font-weight:700}.trial-button .trial-detail{color:#cbd9e9;font-size:14px;font-weight:400;margin-top:6px}.trial-link-arrow{width:24px;height:24px;flex:none;color:#edcd98;transition:transform .25s}.trial-button:hover .trial-link-arrow{transform:translate(2px,-2px)}@keyframes trial-sheen{0%,55%{transform:translateX(-130%)}85%,100%{transform:translateX(130%)}}@keyframes trial-ring{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:1}}@media(max-width:640px){.trial-button{width:100%;min-height:120px;padding:24px 20px;gap:18px}.trial-orbit{width:50px;height:50px;flex-basis:50px}.trial-link-arrow{margin-left:auto;width:20px;height:20px}.trial-copy>span{font-size:17px}}@media(max-width:380px){.trial-button{gap:14px;padding:22px 16px}.trial-link-arrow{display:none}}@media(prefers-reduced-motion:reduce){.trial-button::before,.trial-orbit::before{animation:none}.trial-button,.trial-link-arrow{transition:none}.trial-button:hover,.trial-button:hover .trial-link-arrow{transform:none}}

header .course-menu summary{background:transparent;border:0;padding:10px 0;color:inherit;font-size:16px}header .course-menu summary:hover{background:transparent;color:#ffcb87}.course-menu summary span{margin-left:5px}.course-list{top:100%;width:290px}.course-list>span{display:block;padding:12px 14px;font-size:16px;color:#111e35;border-bottom:1px solid #edf0f5}.course-list>span:last-child{border-bottom:0}@media(max-width:640px){header .course-menu summary{font-size:14px}.course-list{top:100%;width:auto}}

#teacher>.poster,#courses>.poster{width:75%;margin-inline:auto}

header{flex-wrap:wrap}header nav{flex-wrap:wrap;max-width:100%}

/* Compact touch navigation; only the menu strip scrolls horizontally. */
@media(max-width:900px){
  html{scroll-padding-top:80px}
  header{height:64px;min-height:64px;padding:8px 12px;gap:10px;flex-wrap:nowrap}
  header .brand{flex:0 0 auto;gap:0}
  header .brand img{width:36px;height:36px}
  header .brand>span{display:none}
  header nav{position:static;display:flex;flex:1 1 auto;width:auto;min-width:0;max-width:100%;flex-wrap:nowrap;justify-content:flex-start;gap:16px;overflow-x:auto;overflow-y:hidden;padding:4px 3px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6985a8 transparent;-webkit-overflow-scrolling:touch}
  header nav>*{flex:0 0 auto;white-space:nowrap}
  header nav>a{display:inline-flex;align-items:center;min-height:40px;font-size:14px}
  header nav .contact-admin{flex:0 0 auto;padding:7px 12px;font-size:14px}
  header nav details{position:static;margin:0}
  header nav summary,header .course-menu summary{display:flex;align-items:center;min-height:40px;padding:7px 10px;font-size:14px}
  header nav .submenu{position:fixed;top:64px;left:12px;right:12px;width:auto;max-width:none;max-height:calc(100dvh - 80px);overflow-y:auto;white-space:normal;overscroll-behavior:contain}
  header nav .submenu a,header nav .submenu>span{white-space:normal;overflow-wrap:anywhere}
  header nav a:focus-visible,header nav summary:focus-visible{outline-offset:-3px}
}

/* Homepage questions: native disclosure controls work with touch and keyboard. */
.faq-list{max-width:960px;margin:8px auto 0;display:grid;gap:14px}.faq-item{border:1px solid #dce4ef;border-radius:14px;background:#fff;overflow:hidden}.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f3f6fb;color:#10294f;padding:22px 24px;border-radius:0;font-size:18px;font-weight:650;line-height:1.6}.faq-item>summary:hover{background:#eaf0f8}.faq-item>summary:focus-visible{outline-offset:-4px}.faq-item[open]>summary{background:#10294f;color:#fff}.faq-toggle{position:relative;flex:0 0 20px;width:20px;height:20px;margin:0}.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;top:9px;left:2px;width:16px;height:2px;background:currentColor;border-radius:2px}.faq-toggle::after{transform:rotate(90deg)}.faq-item[open] .faq-toggle::after{display:none}.faq-answer{padding:6px 24px 20px;font-size:16px;line-height:1.85;color:#384960}.faq-answer p{margin:14px 0 0}.faq-answer ul{margin:8px 0 0;padding-left:24px}.faq-answer a{color:#087f46;font-weight:650;text-decoration:underline;text-underline-offset:4px}.faq-answer a:hover{color:#066636}@media(max-width:640px){.faq-item>summary{padding:18px 16px;font-size:16px;gap:14px}.faq-answer{padding:4px 16px 18px}}
