/* Soft surfaces, one program choice, essential information first. */
.detail-page{--paper:#f4efe3;--text:#342923;--subtle:#74665b;--rule:#ddcfbd}
.detail-inner{width:calc(100% - 128px);max-width:1240px;margin-inline:auto}
.detail-page .button,.detail-page .header-contact{border-radius:12px}
.detail-page .consult-dialog{border-radius:22px}
.detail-page .consult-dialog .messenger-card{border-radius:14px}
.breadcrumb{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:#e6d0bd;min-height:44px;margin:4px 0 16px}.breadcrumb svg{width:16px;height:16px;transform:rotate(180deg)}.breadcrumb:hover{color:white}
.detail-cover{position:relative;isolation:isolate;width:calc(100% - 64px);max-width:1512px;min-height:530px;margin:0 auto;overflow:hidden;border-radius:26px;background:#513628}
.detail-photo{position:absolute;inset:0;z-index:-2}.detail-photo img{height:100%;width:100%;object-fit:cover;object-position:center 55%}.detail-cover:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(30,24,22,.77),rgba(30,24,22,.48) 43%,rgba(30,24,22,.05) 82%)}
.detail-lead{padding:50px 54px;min-height:530px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.detail-lead h1{font-size:clamp(55px,5.8vw,84px);line-height:1.08;letter-spacing:-.045em;max-width:820px}.detail-intro{font-size:17px;line-height:1.75;max-width:430px;color:#f4efe3;margin-top:25px}.detail-primary{background:var(--cream);color:var(--wine);font-size:14px;font-weight:500;padding:17px 22px;min-height:54px;margin-top:28px}.detail-primary:hover{background:white;color:var(--red)}.detail-hero{padding-bottom:36px}
.detail-paper{background:var(--paper);color:var(--text);border-radius:28px 28px 0 0}.detail-paper :focus-visible{outline-color:var(--red)}.detail-section{padding:55px 0;scroll-margin-top:20px}.detail-section h2{font-size:39px;line-height:1.2;letter-spacing:-1.5px;margin:0}.budget-section{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.budget-heading p{font-size:14px;color:var(--subtle);margin-top:13px}.budget-selector{position:relative;z-index:2;justify-self:end;align-self:center;width:100%;max-width:410px}.budget-selector label{display:block;font-size:12px;color:var(--subtle);margin-bottom:8px}
.budget-panel{grid-column:1/-1;margin-top:27px;border-radius:22px;background:#faf6ed;border:1px solid #e3d8c7;padding:28px 30px;min-width:0}.budget-panel-title{font-size:25px;margin-bottom:18px;letter-spacing:-.5px}.budget-selector:not([hidden])~.budget-panel>.budget-panel-title,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:0}.program-description{font-size:15px;color:var(--subtle);line-height:1.8;max-width:820px}.budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:26px}.budget-card{min-width:0;border-left:1px solid var(--rule);padding-left:25px}.budget-card:first-child{border-left:0;padding-left:0}.budget-category{display:block;font-size:13px;line-height:1.7;color:var(--subtle)}.budget-amount{display:block;font-size:29px;line-height:1.35;font-weight:500;letter-spacing:-1px;margin-top:12px}.budget-tuition .budget-amount{color:var(--red)}.budget-unknown{font-size:23px;letter-spacing:-.6px}.budget-period{display:block;font-size:12px;line-height:1.7;color:var(--subtle);margin-top:7px}
.budget-exclusions{font-size:12px;line-height:1.8;color:var(--subtle);max-width:620px;align-self:center;margin-top:20px}.budget-cta{justify-self:end;align-self:start;margin-top:20px;background:var(--red);color:var(--white);font-size:14px;font-weight:500;min-height:52px;gap:32px;padding:16px 20px}.budget-cta:hover{background:var(--red-hover)}
.detail-faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;border-top:1px solid var(--rule);padding-bottom:60px}.detail-faq h2{font-size:35px}
.detail-contact{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-block:52px 45px;scroll-margin-top:25px}.detail-contact h2{font-size:38px;line-height:1.2;letter-spacing:-1.5px;margin:0}.detail-contact p{font-size:15px;line-height:1.8;color:#e6d0bd;margin-top:20px}.detail-contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-contact .messenger-card{border-radius:16px;min-height:90px;padding:17px;gap:12px}.detail-contact .messenger-label strong{font-size:22px}.detail-contact .messenger-icon{width:33px;height:33px}.detail-contact .messenger-card>svg{width:16px;height:16px}.anchor-alias{position:absolute;top:0}
/* Shared program dropdown: selected value, soft menu, keyboard navigation. */
.program-picker{position:relative}
.program-trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:56px;padding:15px 17px;border:1px solid #d7c8b6;border-radius:14px;background:#faf6ed;color:var(--text);font:400 16px/1.5 var(--font);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.program-trigger:hover{border-color:#b49c82}
.program-trigger[aria-expanded="true"]{border-color:#b17c60;box-shadow:0 0 0 3px #a4382510}
.detail-paper .program-trigger:focus-visible{outline:2px solid #a95036;outline-offset:3px}
.program-chevron{width:18px;height:18px;flex-shrink:0;stroke:#876d5b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.program-trigger[aria-expanded="true"] .program-chevron{transform:rotate(180deg)}
.program-options{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:10;max-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #dfd2c0;border-radius:17px;background:#faf6ed;box-shadow:0 12px 30px #34292317,0 2px 6px #34292306;scrollbar-width:thin;scrollbar-color:#cbb49a transparent}
.opens-up .program-options{top:auto;bottom:calc(100% + 8px)}
.program-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:13px 14px;border-radius:11px;color:var(--text);font-size:15px;line-height:1.6;cursor:pointer;user-select:none}
.program-option[aria-selected="true"]{background:#eee0ce;color:#973723;font-weight:500}
.program-option.is-active{background:#efe7d9}
.program-option[aria-selected="true"].is-active{background:#ebdac8}
.program-check{width:18px;height:18px;flex-shrink:0;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.program-option[aria-selected="true"] .program-check{opacity:1}
@media(max-width:1150px){.detail-inner{width:calc(100% - 88px)}.detail-lead h1{font-size:66px}.detail-lead{padding:45px}.budget-grid{gap:20px}.budget-card{padding-left:20px}.budget-amount{font-size:26px}.budget-unknown{font-size:21px}.budget-section{column-gap:30px}.detail-section h2{font-size:34px}.detail-contact{gap:35px}.detail-contact-buttons{grid-template-columns:1fr}.detail-contact .messenger-card{min-height:80px}.detail-faq{gap:40px}}
@media(max-width:850px){.detail-inner{width:calc(100% - 60px)}.detail-cover{width:calc(100% - 32px)}.detail-lead h1{font-size:60px}.budget-panel{padding:25px}.budget-grid{grid-template-columns:1fr 1fr}.budget-tuition{grid-column:1/-1;padding-bottom:22px;border-bottom:1px solid var(--rule)}.budget-card:nth-child(2){border-left:0;padding-left:0}.budget-tuition .budget-amount{font-size:33px}.budget-tuition .budget-unknown{font-size:26px}.budget-heading h2{font-size:31px}.detail-faq{grid-template-columns:1fr;gap:28px}.detail-contact h2{font-size:34px}}
@media(max-width:600px){
.detail-inner{width:calc(100% - 40px)}.breadcrumb{font-size:11px;min-height:35px;margin:0 0 12px}.detail-hero{padding-bottom:24px}.detail-cover{width:calc(100% - 24px);min-height:550px;border-radius:20px}.detail-lead{min-height:550px;padding:30px 23px;justify-content:flex-start}.detail-lead h1{font-size:clamp(42px,11vw,60px);line-height:1.1;letter-spacing:-1.8px;margin-top:9px}.detail-intro{font-size:14px;line-height:1.75;margin-top:21px;max-width:330px}.detail-primary{margin-top:auto;font-size:13px;min-height:52px;padding:15px 18px}.detail-photo img{object-position:59% center}.detail-cover:after{background:linear-gradient(180deg,rgba(27,22,20,.65),rgba(27,22,20,.47) 39%,rgba(27,22,20,.03) 65%,rgba(27,22,20,.48))}.detail-paper{border-radius:23px 23px 0 0}.detail-section{padding:35px 0;scroll-margin-top:10px}.budget-section{display:block}.detail-section h2,.budget-heading h2{font-size:30px;letter-spacing:-1.1px;line-height:1.2}.budget-heading p{font-size:13px;margin-top:12px}.budget-selector{max-width:none;margin-top:23px}.budget-selector label{font-size:12px;margin-bottom:7px}.program-trigger{font-size:15px;padding:14px 15px}.program-option{font-size:14px;padding:13px 14px}.budget-panel{border-radius:18px;padding:22px 20px;margin-top:19px}.program-description{font-size:14px;line-height:1.8}.budget-grid{display:block;margin-top:22px}.budget-card{padding:20px 0;border:0;border-top:1px solid var(--rule)}.budget-card:first-child{padding-top:0;border-top:0;border-bottom:0}.budget-card:last-child{padding-bottom:0}.budget-category{font-size:12px}.budget-amount,.budget-tuition .budget-amount{font-size:29px;letter-spacing:-.8px;line-height:1.3;margin-top:9px}.budget-unknown,.budget-tuition .budget-unknown{font-size:23px}.budget-period{font-size:12px;margin-top:6px}.budget-exclusions{font-size:12px;margin-top:17px}.budget-cta{width:100%;margin-top:18px;min-height:52px;font-size:14px}.detail-faq{gap:25px;padding-bottom:38px}.detail-contact{grid-template-columns:1fr;gap:24px;padding:36px 0 27px}.detail-contact h2{font-size:30px;letter-spacing:-1.1px}.detail-contact p{font-size:14px;margin-top:14px}.detail-contact-buttons{gap:10px}.detail-contact .messenger-card{border-radius:14px;min-height:78px;padding:16px}.detail-contact .messenger-icon{width:38px;height:38px}.detail-contact .messenger-label strong{font-size:22px}.detail-page .footer{padding-top:24px}
}
@media(max-width:370px){.detail-lead{padding-inline:19px}.detail-lead h1{font-size:38px;letter-spacing:-1.5px}.detail-cover,.detail-lead{min-height:535px}.budget-panel{padding:20px 17px}.budget-amount,.budget-tuition .budget-amount{font-size:25px}.budget-unknown,.budget-tuition .budget-unknown{font-size:21px}.detail-section h2,.budget-heading h2{font-size:28px}}
