:root{--ep-header-height:104px;--ep-ease:cubic-bezier(.16,1,.3,1)}
/* The composition remains readable if JavaScript is disabled. */
.alpine-cover{overflow:hidden;z-index:12}
.alpine-cover::before{inset:-30px 0;transform:translate3d(0,var(--ep-parallax,0px),0) scaleX(-1)}
.site-header{transition:background .3s var(--ep-ease),box-shadow .3s var(--ep-ease)}
.site-header.is-compact{height:78px;background:rgba(17,27,28,.96);box-shadow:0 10px 24px rgba(10,23,22,.14)}
/* Current desktop header stays in the established layout; the mobile control has generous hit area. */
.menu-toggle{height:48px;min-width:110px;padding:0 14px;align-items:center;justify-content:space-between;gap:16px;border-color:rgba(255,255,255,.58);background:transparent;color:#f1f0e9;letter-spacing:.05em}
.menu-glyph{position:relative;width:25px;height:18px;display:block;flex:none}
.menu-glyph i{position:absolute;left:0;width:25px;height:1.5px;background:currentColor;transition:top .28s var(--ep-ease),transform .28s var(--ep-ease)}
.menu-glyph i:first-child{top:5px}.menu-glyph i:last-child{top:13px}
.menu-toggle[aria-expanded=true] .menu-glyph i:first-child{top:9px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-glyph i:last-child{top:9px;transform:rotate(-45deg)}
/* Motion follows the editorial language of the approved Alpine variant. */
.ep-title .ep-word{display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.ep-title .ep-char{display:inline-block;transform:translateZ(0)}
.motion-on .ep-title.ep-motion-pending .ep-char{transform:translate3d(0,108%,0)}
.motion-on .ep-title.ep-motion-visible .ep-char{transform:translate3d(0,0,0);transition:transform .68s var(--ep-ease);transition-delay:calc(var(--ep-char-index)*15ms)}
.motion-on .ep-reveal.ep-motion-pending{opacity:0;transform:translate3d(0,22px,0);clip-path:inset(0 0 7% 0)}
.motion-on .ep-reveal.ep-motion-visible{opacity:1;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0);transition:opacity .65s var(--ep-ease),transform .65s var(--ep-ease),clip-path .65s var(--ep-ease);transition-delay:var(--ep-reveal-delay,0ms)}
.alpine .button,.trainer-course-grid>a,.gallery-item,.story-card>a,.contact-more-links>a{transition:transform .22s var(--ep-ease),background .22s var(--ep-ease),color .22s var(--ep-ease),box-shadow .22s var(--ep-ease)}
.alpine .button:hover{transform:translate3d(0,-2px,0)}
/* Tablet: intentional two-column content and a dedicated menu layer. */
@media(max-width:1120px){
  .alpine .site-header nav{display:none}
  .alpine .site-header .menu-toggle{display:flex}
  .alpine .site-header{position:relative;z-index:90}
  .alpine .site-header nav.open{display:flex;position:fixed;inset:var(--ep-header-height) 0 0;z-index:89;width:100vw;height:calc(100dvh - var(--ep-header-height));margin:0;padding:clamp(24px,5vw,54px) max(24px,calc((100vw - 900px)/2));flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;background:#111b1c;color:#f1f0e9;box-shadow:0 20px 60px #0005}
  .alpine .site-header nav.open>a,.alpine .site-header nav.open>.courses-nav>.courses-toggle{display:flex;min-height:62px;width:100%;padding:13px 0;border:0;border-bottom:1px solid #ffffff31;justify-content:space-between;align-items:center;font:clamp(22px,3vw,31px)/1.2 var(--serif);letter-spacing:0;text-transform:none;color:#f1f0e9}
  .alpine .site-header nav.open>a:after{display:none}
  .alpine .site-header nav.open>a:focus-visible,.alpine .site-header nav.open>.courses-nav>.courses-toggle:focus-visible{outline-color:#d6c497}
  .alpine .site-header nav.open .courses-dropdown{position:static;width:100%;box-shadow:none;border:0;margin:0;padding:0 12px;background:#1d302f;color:#f1f0e9}
  .alpine .site-header nav.open .courses-dropdown a{display:grid;gap:4px;min-height:58px;border-bottom:1px solid #ffffff31;font-size:16px}
  .alpine .site-header nav.open .courses-dropdown span{color:#c9d5cd}
  .alpine .site-header nav.open .courses-toggle svg{width:19px;height:19px}
  .ep-menu-open{overflow:hidden}
  .alpine .site-header nav.open>a,.alpine .site-header nav.open>.courses-nav{animation:ep-menu-item .52s var(--ep-ease) both;animation-delay:calc(var(--ep-menu-index,0)*55ms)}
  @keyframes ep-menu-item{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  .dual-courses{gap:18px}.course-tile>img{height:190px}
  .alpine-trust,.alpine-why{gap:35px}
  .gallery-collection{gap:14px}.gallery-caption{gap:8px}
  .trainer-hero-inner{gap:30px}.trainer-copy h1{font-size:clamp(46px,5.8vw,66px)}
  .contact-content{gap:45px}
}
@media(max-width:760px){
  :root{--ep-header-height:84px}
  body{font-size:16px}
  .wrap{width:calc(100% - 40px)}
  .alpine .site-header,.course-page>.site-header,.instructor-page>.site-header,.editorial>.site-header,.public-page>.site-header{height:var(--ep-header-height);padding-left:20px;padding-right:20px}
  .alpine .site-header.is-compact{height:var(--ep-header-height)}
  .brand .brand-type{font-size:21px}.brand .brand-type small{font-size:9px}
  .brand .brand-mark{width:44px;height:48px}.brand{gap:8px}
  .alpine-cover{background:#0d1c23}
  .alpine-cover::before{background-position:67% top;background-size:auto 510px;transform:translate3d(0,var(--ep-parallax,0px),0) scaleX(-1)}
  .alpine-cover::after{background:linear-gradient(180deg,rgba(5,16,21,.88) 0,rgba(5,16,21,.16) 34%,rgba(8,23,29,.88) 65%,#0d1c23 94%)}
  .alpine-hero{height:600px;padding-bottom:42px;align-items:flex-end}
  .alpine-hero-copy{width:100%}.alpine-hero h1{font-size:clamp(43px,10vw,59px)}
  .alpine-hero-copy>p{font-size:15px;margin:17px 0 22px}
  .actions{display:flex;flex-wrap:wrap}.actions .button{flex:1 1 150px;min-height:52px}
  .hero-footnote{font-size:11px;line-height:1.5}
  .benefit-band>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
  .benefit-band article{align-items:start}.benefit-band h3{font-size:11px}.benefit-band p{font-size:11px}
  .alpine-why h2,.section-title h2{font-size:clamp(34px,8vw,44px)}
  .alpine-course{display:block}.dual-courses{grid-template-columns:1fr;gap:19px}
  .course-tile>img{height:210px}.tile-heading h3{font-size:33px}.tile-body>p{font-size:14px}
  .alpine-instructor{grid-template-columns:1fr}.instructor-story{padding:46px 20px}
  .instructor-story h2{font-size:42px}
  .testimonial-track{gap:16px}.testimonial{flex-basis:100%}.testimonial blockquote{font-size:21px}
  .close-grid{grid-template-columns:1fr;gap:30px}.alpine-close h2{font-size:44px}
  .form-row,.contact-form .form-row{grid-template-columns:1fr;gap:0}
  .inquiry-form input:not([type=checkbox]),.inquiry-form select,.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px}
  .course-tabs-shell{top:0}.course-tabs-shell .course-jump{overflow-x:auto;scrollbar-width:none}.course-tabs-shell .course-jump::-webkit-scrollbar{display:none}
  .story-grid,.trainer-course-grid{grid-template-columns:1fr}
  .gallery-collection{grid-template-columns:1fr 1fr}.gallery-item.wide{grid-column:1/-1}
  .contact-hero h1{font-size:clamp(42px,9.5vw,57px)}
  .contact-content,.trainer-history,.trainer-intro{grid-template-columns:1fr}
  .footer-main{align-items:start}
}
@media(max-width:420px){
  .wrap{width:calc(100% - 36px)}
  .alpine-hero{height:580px}.alpine-hero h1{font-size:43px}
  .hero-footnote{margin-top:19px}
  .benefit-band>.wrap{grid-template-columns:1fr;gap:19px}
  .benefit-band article{display:flex;gap:14px}.benefit-band .line-icon{width:28px;height:28px}
  .alpine-instructor .civilian-portrait{min-height:320px}
  .review-section .section-title{align-items:flex-start}.review-section .section-title h2{font-size:32px}
  .review-controls button{width:44px;height:44px}
  .gallery-collection{gap:15px 10px}.gallery-caption strong{font-size:18px}
  .contact-process{grid-template-columns:1fr 1fr}.contact-process>div:last-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  .motion-on .ep-title.ep-motion-pending .ep-char,.motion-on .ep-reveal.ep-motion-pending{opacity:1;transform:none;clip-path:none}
  .motion-on .ep-title.ep-motion-visible .ep-char,.motion-on .ep-reveal.ep-motion-visible{transition:none}
  .alpine .site-header nav.open>a,.alpine .site-header nav.open>.courses-nav{animation:none}
  .alpine .button,.gallery-item,.story-card>a{transition:background-color .18s ease,color .18s ease}
}
.ep-menu-open .alpine-cover{overflow:visible}
@media(max-width:420px){
  .alpine .site-header,.course-page>.site-header,.instructor-page>.site-header,.editorial>.site-header,.public-page>.site-header{gap:8px;padding-left:15px;padding-right:15px}
  .brand .brand-type{font-size:18px}.brand .brand-type small{font-size:8px;letter-spacing:.31em}
  .brand .brand-mark{width:37px;height:42px}
  .menu-toggle{min-width:83px;height:44px;gap:8px;padding:0 8px;font-size:11px}
  .menu-glyph,.menu-glyph i{width:21px}
}
@media(max-width:760px){.trainer-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-method-grid article{min-width:0;overflow-wrap:anywhere}}
/* Compact instructor feature on the approved homepage. */
.alpine .alpine-instructor{min-height:385px}
.alpine .alpine-instructor .civilian-portrait{min-height:385px;height:385px}
.alpine .instructor-story{padding-top:49px;padding-bottom:43px}
.alpine .instructor-story h2{font-size:44px}
@media(max-width:760px){.alpine .alpine-instructor .civilian-portrait{height:345px;min-height:345px}.alpine .instructor-story h2{font-size:39px}}
/* Persistent navigation, including the approved home hero. */
body.alpine:not(.home-page){padding-top:104px}
.alpine .site-header{position:fixed;top:0;left:0;right:0;width:100%;max-width:none;margin:0;padding:0 max(72px,calc((100vw - 1440px)/2));height:104px;z-index:120;background:#111b1c;color:#f1f0e9}
.home-page .site-header{background:rgba(10,23,27,.38)}
.home-page .alpine-cover{padding-top:106px}
.home-page .site-header.is-compact{background:rgba(17,27,28,.97)}
@media(max-width:1120px){.alpine .site-header{position:fixed;z-index:120}.alpine .site-header nav.open{z-index:119}}
@media(max-width:760px){body.alpine:not(.home-page){padding-top:84px}.alpine .site-header{height:84px;padding:0 20px}.home-page .alpine-cover{padding-top:84px}.alpine .site-header.is-compact{height:84px}}
@media(max-width:420px){.alpine .site-header{padding:0 15px}}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
/* On narrow course heroes, reveal the full title as one unit so italic digits never clip. */
@media(max-width:760px){
  .course-page main h1.ep-title .ep-word{overflow:visible}
  .motion-on .course-page main h1.ep-title.ep-motion-pending{opacity:0;transform:translate3d(0,10px,0)}
  .motion-on .course-page main h1.ep-title.ep-motion-visible{opacity:1;transform:translate3d(0,0,0);transition:opacity .55s var(--ep-ease),transform .55s var(--ep-ease)}
  .motion-on .course-page main h1.ep-title .ep-char{transform:none;transition:none}
}
