/* Academy extends the approved shared palette and components. */
.academy-page .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}
.academy-medallion svg{width:25px;height:25px}
.academy-page .services-main{padding-bottom:62px;background:#fcfaf6;min-height:75vh}
.academy-photo>img{width:calc(1312 / var(--w) * 100%)}
.academy-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);min-height:470px}
.academy-hero-art{position:absolute;inset:0 0 0 45%;z-index:-2;display:flex;align-items:center;justify-content:center}
.academy-hero-art .academy-photo{width:100%;min-width:560px;flex:none}
.academy-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 20%,#031727e0 38%,transparent 65%)}
.academy-hero-copy{padding-block:76px}
.academy-hero .eyebrow,.academy-hero h1 em{color:var(--gold)}
.academy-hero h1{color:var(--white);font-size:clamp(46px,5.2vw,76px);line-height:1.08}
.academy-hero-copy>p:not(.eyebrow){color:var(--white);font-size:18px;margin-block:24px}
.academy-gateways{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;padding-block:26px 0}
.academy-card{display:flex;flex-direction:column;min-width:0;background:#fffdf9;border:1px solid #ece5da;border-radius:3px;overflow:hidden;box-shadow:0 4px 14px #3e291009;transition:box-shadow .2s,border-color .2s}
.academy-card:hover{border-color:#be9664;box-shadow:0 7px 24px #3e291016}
.academy-card-copy{position:relative;padding:19px 18px 17px;display:flex;flex-direction:column;flex:1}
.academy-card h2{font-family:var(--serif);font-size:25px;line-height:1.18;font-weight:400;margin-bottom:20px}
.academy-card .button{margin-top:auto;width:100%;gap:24px}
.gateway .academy-card-copy{padding:27px 17px 16px}
.gateway h2{font-size:24px;margin-bottom:10px}
.gateway p{font-size:13px;line-height:1.55;margin:0 0 18px}
.academy-medallion{position:absolute;top:-27px;left:15px;width:47px;height:47px;display:grid;place-items:center;background:#fffdf9;border-radius:50%;color:var(--gold-dark);font-size:26px}
.gateway-arrow{margin-top:auto;color:var(--gold-dark);display:block;text-align:center}
.gateway-arrow svg{width:24px;height:24px}
.academy-promise{text-align:center;padding:35px 20px 4px;font-size:15px;line-height:1.55}
.academy-lotus{width:51px;height:43px;color:var(--gold-dark);margin:0 auto 7px}
.academy-intro{position:relative;text-align:center;padding:24px 20px 35px;overflow:hidden;background:radial-gradient(ellipse at 0 65%,#eedcc680,transparent 35%),radial-gradient(ellipse at 100% 25%,#eedcc67a,transparent 35%)}
.academy-intro::before,.academy-intro::after{content:'';position:absolute;top:0;bottom:0;width:17%;max-width:240px;opacity:.23;pointer-events:none;background-image:url('/references/academy-reference.webp');background-size:3936px 3597px;background-position:-1353px -135px}
.academy-intro::before{left:0}.academy-intro::after{right:0;transform:scaleX(-1)}
.academy-intro .container{position:relative;z-index:1}
.academy-intro h1{font-size:clamp(32px,3.5vw,48px)}
.academy-intro p:last-child{max-width:600px;margin:15px auto 0;font-size:15px;line-height:1.6}
.academy-listing{padding-top:25px;max-width:1190px}
.academy-filters{display:flex;justify-content:center;gap:12px;margin:0 0 26px;flex-wrap:wrap}
.academy-filter{padding:13px 24px;background:#f4f1ec;border:1px solid #e9e3db;border-radius:3px;font-size:13px;min-height:44px;color:var(--navy)}
.academy-filter.selected{background:linear-gradient(120deg,#b8863e,#dcb16e);color:white;border-color:#c69d5e}
.academy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}
.academy-grid>.academy-card>.academy-photo{flex:none}
.levels-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
.levels-grid>.academy-card>.academy-photo{aspect-ratio:63/109}
.levels-grid .academy-card-copy{padding:15px 7px;text-align:center;background:#f4eee4}
.levels-grid h2{font-family:var(--sans);font-size:13px;margin-bottom:16px}
.levels-grid .level-label{font-size:12px;margin-bottom:7px}
.levels-grid .button{background:none;border:0;padding:8px 2px;color:var(--gold-dark);font-size:11px;gap:5px}
.levels-grid .button svg{width:18px}
.academy-detail{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:38px;align-items:start;padding:10px 0 40px;max-width:1210px}
.academy-gallery{min-width:0}
.academy-gallery .academy-photo{border-radius:3px}
.academy-thumbnails{display:flex;gap:10px;margin-top:10px}
.academy-thumbnails button{width:86px;border:2px solid transparent;border-radius:3px;padding:2px;min-height:44px}
.academy-thumbnails button[aria-pressed=true]{border-color:var(--gold-dark)}
.academy-thumbnails .academy-photo{aspect-ratio:var(--w)/var(--h)}
#gallery-main>.academy-photo{aspect-ratio:var(--w)/var(--h)}
.academy-description h1{font-size:clamp(31px,3vw,44px);margin:20px 0 15px;max-width:500px}
.academy-description>p{font-size:15px;line-height:1.65;max-width:580px}
.academy-features{list-style:none;padding:0;display:grid;gap:17px;margin:25px 0 28px}
.academy-features li{display:flex;gap:13px;align-items:center;font-size:14px;color:#32465d}
.academy-features span{color:var(--gold-dark);border:1px solid;border-radius:50%;width:21px;height:21px;flex:none;text-align:center;font-size:13px;line-height:20px}
.academy-form-panel{background:#fff;padding:29px 28px;border:1px solid #eee7dd;box-shadow:0 5px 20px #291c0808;border-radius:3px}
.academy-form-panel h2{font-size:27px;font-weight:400;margin-bottom:12px}
.academy-form-panel>p{font-size:13px;line-height:1.6}
.academy-field{margin-top:22px}
.academy-field label{font-size:13px;display:block;margin-bottom:8px;font-weight:600}
.academy-field input,.academy-field select,.academy-field textarea{border:1px solid #dadde0;background:#fff;border-radius:2px;min-height:46px;padding:11px 12px;width:100%;font:14px var(--sans);color:var(--navy);box-sizing:border-box}
.academy-field textarea{resize:vertical;min-height:120px}
.academy-field input::placeholder,.academy-field textarea::placeholder{color:#8190a0}
.academy-phone{display:flex;gap:7px;min-width:0}.academy-phone select{width:112px;flex:none;padding-inline:7px}.academy-phone input{min-width:0}
.academy-field-error{display:block;color:#a42828;font-size:12px;margin-top:5px;line-height:1.4}
.academy-field [aria-invalid=true]{border-color:#a42828}
#form-error{font-size:13px;color:#a42828;line-height:1.5;margin-top:12px}
.academy-form-panel form>.button{width:100%;margin-top:18px;gap:20px}
.academy-form-panel button:disabled{opacity:.65;cursor:wait}
.academy-whatsapp{display:flex;justify-content:center;align-items:center;gap:13px;margin-top:25px;font-size:13px!important}
.academy-whatsapp svg{width:34px;height:34px;color:#00b541;flex:none}
.academy-detail.informational{display:block;max-width:1170px}
.informational .academy-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.informational #gallery-main>.academy-photo{aspect-ratio:var(--w)/var(--h)}
.informational .academy-description h1{margin-top:0}
.academy-confirmation{text-align:center;padding-block:35px;max-width:760px}
.confirmation-check{border:1px solid var(--gold-dark);width:95px;height:95px;border-radius:50%;margin:0 auto 25px;display:grid;place-items:center;color:var(--gold-dark);font-size:57px;font-weight:200}
.academy-confirmation>p{margin:22px 0;line-height:1.6}
.academy-receipt{border:1px solid #e8d8c3;padding:24px 30px;margin:25px auto;max-width:490px;text-align:left;line-height:1.7;font-size:14px}
.academy-receipt strong{display:inline-block;min-width:70px}.academy-receipt p+p{margin-top:10px}
.academy-empty{padding:55px 0;grid-column:1/-1;text-align:center}.academy-empty p{margin:20px auto;max-width:580px;line-height:1.6}
@media(min-width:1500px){.academy-hero{min-height:550px}.academy-hero-copy{padding-block:100px}}
@media(max-width:1000px){.academy-gateways{gap:12px}.gateway h2{font-size:20px}.gateway .academy-card-copy{padding-inline:11px}.academy-card h2{font-size:22px}.academy-grid{gap:17px}.academy-detail{gap:24px}.academy-form-panel{padding:23px 20px}.levels-grid{grid-template-columns:repeat(3,1fr)}.levels-grid>.academy-card>.academy-photo{aspect-ratio:var(--w)/var(--h)}.informational .academy-detail-content{gap:28px}}
@media(max-width:700px){.academy-hero{min-height:420px}.academy-hero-art{left:25%;right:-32%;opacity:.65}.academy-hero::after{background:linear-gradient(90deg,var(--navy) 0%,#031727a0 45%,transparent)}.academy-hero-copy{padding-block:55px}.academy-hero h1{font-size:48px}.academy-hero-copy>p:not(.eyebrow){font-size:16px}.academy-gateways{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:20px}.gateway:last-child{grid-column:1/-1;max-width:calc(50% - 8px);width:100%;justify-self:center}.gateway .academy-photo{aspect-ratio:var(--w)/var(--h)}.academy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.academy-card h2{font-size:20px}.academy-card-copy{padding:15px 12px}.academy-card .button{padding-inline:8px;gap:8px;font-size:11px}.academy-intro{padding:15px 0 25px}.academy-intro p:last-child{font-size:14px}.academy-filters{gap:8px}.academy-filter{padding:11px 15px;font-size:12px}.academy-detail{grid-template-columns:1fr}.academy-form-panel{margin-top:3px}.informational .academy-detail-content{grid-template-columns:1fr}.academy-description h1{font-size:33px}.academy-form-panel h2{font-size:27px}.levels-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.levels-grid h2{font-size:12px}.levels-grid .button{font-size:10px}.academy-confirmation h1{font-size:33px}.academy-receipt{padding:20px}.academy-page .services-main{padding-bottom:40px}}
@media(max-width:380px){.academy-grid:not(.levels-grid){grid-template-columns:1fr}.academy-gateways{gap:10px}.gateway h2{font-size:18px}.gateway p{font-size:12px}.academy-phone select{width:99px}.academy-form-panel{padding:20px 16px}.levels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
