*{box-sizing:border-box}
html:has(body.academy-body){min-height:100%;scroll-behavior:smooth;background:var(--drz-cream)}
body.academy-body{min-height:100dvh;margin:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:hidden;background:var(--drz-paper);color:var(--drz-navy);font-family:var(--drz-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.academy-body img{max-width:100%}
.academy-body a{color:inherit}
.academy-body button,.academy-body input,.academy-body select{font:inherit}
.academy-body [hidden]{display:none!important}
.academy-skip-link{position:fixed;left:14px;top:10px;z-index:1200;transform:translateY(-140%);padding:10px 14px;border-radius:var(--drz-radius-control);background:var(--drz-navy);color:white;font-size:13px;font-weight:800;text-decoration:none;transition:transform 160ms ease}
.academy-skip-link:focus{transform:none}
.academy-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.academy-narrow{width:min(780px,100%)}
.academy-eyebrow{margin:0;color:#84672f;font-size:10px;font-weight:850;letter-spacing:.13em;line-height:1.4;text-transform:uppercase}
.academy-muted{color:var(--drz-muted)}

.academy-header{position:sticky;top:0;z-index:100;min-height:calc(80px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:1px solid rgba(7,26,49,.12);background:var(--drz-cream)}
.academy-header__inner{min-height:79px;display:flex;align-items:center;gap:28px}
.academy-header .brand-lockup{margin-right:auto}
.academy-header__nav{display:flex;align-items:center;gap:27px}
.academy-header__nav>a{min-height:44px;display:inline-flex;align-items:center;position:relative;color:#465362;font-size:11px;font-weight:790;text-decoration:none}
.academy-header__nav>a:not(.academy-header__portal)::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--drz-gold);transition:right 220ms var(--drz-motion)}
.academy-header__nav>a[aria-current="page"]{color:var(--drz-navy)}
.academy-header__nav>a[aria-current="page"]::after{right:0}
.academy-header__portal{padding-inline:14px;border:1px solid rgba(7,26,49,.35);border-radius:var(--drz-radius-control);color:var(--drz-navy)!important}
.academy-menu-toggle{width:46px;height:46px;display:none;place-items:center;padding:0;border:1px solid rgba(7,26,49,.2);border-radius:var(--drz-radius-control);background:transparent;color:var(--drz-navy);cursor:pointer}
.academy-menu-toggle span,.academy-menu-toggle::before,.academy-menu-toggle::after{content:"";width:18px;height:1px;display:block;position:absolute;background:currentColor;transition:transform 180ms ease,opacity 180ms ease}
.academy-menu-toggle::before{transform:translateY(-5px)}
.academy-menu-toggle::after{transform:translateY(5px)}
.academy-menu-toggle[aria-expanded="true"] span{opacity:0}
.academy-menu-toggle[aria-expanded="true"]::before{transform:rotate(45deg)}
.academy-menu-toggle[aria-expanded="true"]::after{transform:rotate(-45deg)}

.academy-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 19px;border:1px solid var(--drz-navy);border-radius:var(--drz-radius-control);background:var(--drz-navy);color:white!important;font-size:11px;font-weight:850;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background 180ms ease,border-color 180ms ease,transform 120ms ease}
.academy-button--secondary,.academy-button--quiet{background:transparent;color:var(--drz-navy)!important}
.academy-button--quiet{border-color:transparent}
.academy-button--light{border-color:var(--drz-paper);background:var(--drz-paper);color:var(--drz-navy)!important}
.academy-button[aria-disabled="true"],span.academy-button{border-color:#aeb5bd;background:#aeb5bd;color:white!important;cursor:not-allowed}
.academy-button:active{transform:translateY(1px)}
.academy-text-link{min-height:44px;display:inline-flex;align-items:center;gap:6px;color:#695733;font-size:10px;font-weight:850;text-decoration:none;text-underline-offset:4px}
.academy-text-link[aria-disabled="true"]{color:#7e8791;cursor:not-allowed}
.academy-text-link--light{color:#f1dfb7!important}
.academy-status{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:7px;margin:0;color:#596572;font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.academy-status::before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#77828d}
.academy-status.is-open::before{background:#397258}
.academy-status.is-waitlist::before{background:#b47b2b}
.academy-status.is-upcoming::before{background:#607991}
.academy-status.is-closed::before{background:#8d6c6c}

.academy-section{padding:clamp(74px,8vw,124px) 0;background:var(--drz-paper)}
.academy-section-band{padding:clamp(72px,7vw,112px) 0}
.academy-section-band--cream{background:var(--drz-cream)}
.academy-section-band--paper{background:var(--drz-paper-2)}
.academy-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);align-items:end;gap:48px;margin-bottom:38px}
.academy-section-heading h2{max-width:760px;margin:8px 0 0;font-family:var(--drz-serif);font-size:clamp(36px,4.6vw,64px);font-weight:500;letter-spacing:-.045em;line-height:.98}
.academy-section-heading>p{margin:0;color:var(--drz-muted);font-size:13px;line-height:1.75}

.academy-course-list{border-top:1px solid rgba(7,26,49,.18)}
.academy-course-row{display:grid;grid-template-columns:132px minmax(0,1fr) 172px;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(7,26,49,.18)}
.academy-course-row__marker{width:132px;aspect-ratio:1.15;display:grid;place-items:center;overflow:hidden;background:var(--drz-navy);color:#ead8b1}
.academy-course-row__marker img{width:100%;height:100%;object-fit:cover}
.academy-course-row__marker span{padding:12px;font-family:var(--drz-serif);font-size:20px;letter-spacing:-.02em;text-align:center}
.academy-course-row__meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.academy-course-row__content h3{margin:0;font-family:var(--drz-serif);font-size:clamp(23px,2.3vw,32px);font-weight:500;letter-spacing:-.025em;line-height:1.16}
.academy-course-row__content h3 a{text-decoration:none}
.academy-course-row__content>p:not(.academy-course-row__facts){max-width:680px;margin:10px 0 0;color:#4f5c69;font-size:12px;line-height:1.65}
.academy-course-row__facts{margin:11px 0 0;color:var(--drz-muted);font-size:9px;font-weight:700;letter-spacing:.03em;line-height:1.5;text-transform:uppercase}
.academy-course-row__actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.academy-course-row.is-compact{grid-template-columns:112px minmax(0,1fr) 160px}
.academy-course-row.is-compact .academy-course-row__marker{width:112px}

.academy-state{min-height:190px;display:grid;place-content:center;justify-items:start;padding:28px 0;border-bottom:1px solid rgba(7,26,49,.18)}
.academy-state strong{font-family:var(--drz-serif);font-size:25px;font-weight:500}
.academy-state p{max-width:520px;margin:8px 0 17px;color:var(--drz-muted);font-size:12px;line-height:1.65}
.academy-state--error strong{color:#713f3b}
.academy-loading{min-height:220px;display:grid;place-items:center;border-top:1px solid rgba(7,26,49,.18);border-bottom:1px solid rgba(7,26,49,.18);color:var(--drz-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

.academy-footer{padding:54px 0 max(30px,env(safe-area-inset-bottom));border-top:1px solid rgba(7,26,49,.16);background:var(--drz-cream)}
.academy-footer__grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:70px}
.academy-footer__identity p{max-width:390px;margin:18px 0 0;color:#64707d;font-size:11px;line-height:1.65}
.academy-footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.academy-footer__links strong{display:block;margin-bottom:10px;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.academy-footer__links a{min-height:32px;display:flex;align-items:center;color:#586573;font-size:10px;text-decoration:none}
.academy-footer__legal{display:flex;justify-content:space-between;gap:24px;margin-top:44px;padding-top:20px;border-top:1px solid rgba(7,26,49,.12);color:#747d87;font-size:8px;line-height:1.55}
.academy-footer__legal p{max-width:760px;margin:0}

.academy-reveal{opacity:0;transform:translateY(13px);transition:opacity 520ms var(--drz-motion),transform 620ms var(--drz-motion);transition-delay:calc(var(--reveal-index,0) * 55ms)}
.academy-reveal.is-visible{opacity:1;transform:none}
.academy-preview-banner{position:sticky;top:calc(80px + env(safe-area-inset-top));z-index:90;min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 20px;border-bottom:1px solid #c49743;background:#f4e8cc;color:#5d4b28;font-size:10px;line-height:1.4}
.academy-preview-banner strong{letter-spacing:.12em}

.academy-body :focus-visible{outline:3px solid rgba(184,139,57,.48);outline-offset:3px}
@media(hover:hover){
  .academy-header__nav>a:hover::after{right:0}
  .academy-header__portal:hover{border-color:var(--drz-navy);background:var(--drz-navy);color:white!important}
  .academy-button:hover{border-color:var(--drz-navy-2);background:var(--drz-navy-2)}
  .academy-button--secondary:hover,.academy-button--quiet:hover{background:var(--drz-paper-2);color:var(--drz-navy)!important}
  .academy-button--light:hover{border-color:#ead8b1;background:#ead8b1}
  .academy-text-link[href]:hover{text-decoration:underline}
  .academy-course-row:hover .academy-course-row__content h3 a{text-decoration:underline;text-decoration-color:var(--drz-gold);text-decoration-thickness:1px;text-underline-offset:5px}
}
@media(max-width:1024px){
  .academy-course-row{grid-template-columns:112px minmax(0,1fr) 150px;gap:24px}
  .academy-course-row__marker{width:112px}
}
@media(max-width:860px){
  .academy-wrap{width:min(100% - 32px,1180px)}
  .academy-header{min-height:calc(72px + env(safe-area-inset-top))}
  .academy-header__inner{min-height:71px}
  .academy-menu-toggle{display:grid;position:relative}
  .academy-header__nav{position:absolute;left:0;right:0;top:calc(72px + env(safe-area-inset-top));display:none;align-items:stretch;padding:12px 16px 20px;border-bottom:1px solid rgba(7,26,49,.15);background:var(--drz-cream)}
  .academy-header__nav[data-open="true"]{display:grid}
  .academy-header__nav>a{min-height:48px;padding:0 8px;border-bottom:1px solid rgba(7,26,49,.08)}
  .academy-header__nav>a::after{display:none}
  .academy-header__portal{justify-content:center;margin-top:8px;border-bottom:1px solid rgba(7,26,49,.35)!important}
  .academy-menu-open{overflow:hidden}
  .academy-section-heading{grid-template-columns:1fr;gap:18px}
  .academy-course-row{grid-template-columns:100px minmax(0,1fr);gap:22px}
  .academy-course-row__marker{width:100px;grid-row:1/3}
  .academy-course-row__actions{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:16px}
  .academy-footer__grid{grid-template-columns:1fr;gap:38px}
}
@media(max-width:620px){
  .academy-wrap{width:min(100% - 24px,1180px)}
  .academy-header .brand-crest{width:42px;height:46px}
  .academy-header .brand-crest img{transform:scale(.9);transform-origin:center}
  .academy-header .brand-words strong{font-size:15px}
  .academy-section,.academy-section-band{padding-block:64px}
  .academy-section-heading{margin-bottom:27px}
  .academy-course-row,.academy-course-row.is-compact{grid-template-columns:1fr;gap:16px;padding:25px 0}
  .academy-course-row__marker,.academy-course-row.is-compact .academy-course-row__marker{width:100%;height:108px;aspect-ratio:auto;grid-row:auto;place-items:end start}
  .academy-course-row__marker span{font-size:24px;text-align:left}
  .academy-course-row__meta{align-items:flex-start;flex-direction:column;gap:7px}
  .academy-course-row__actions{grid-column:1;gap:18px}
  .academy-footer__links{grid-template-columns:1fr 1fr;gap:28px}
  .academy-footer__legal{display:block}
  .academy-footer__legal span{display:block;margin-top:12px}
  .academy-preview-banner{top:calc(72px + env(safe-area-inset-top));align-items:flex-start;flex-direction:column;gap:2px}
}
@media(max-width:430px){
  .academy-header .brand-words small{display:none}
  .academy-header__inner{gap:13px}
  .academy-section-heading h2{font-size:36px}
  .academy-footer__links{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html:has(body.academy-body){scroll-behavior:auto}
  .academy-reveal{opacity:1;transform:none;transition:none}
  .academy-header__nav>a::after,.academy-button,.academy-menu-toggle span,.academy-menu-toggle::before,.academy-menu-toggle::after{transition:none!important}
}
