/* Every public route has a bounded content area and a separate navigation area. */
html,body{height:100%;overflow:hidden}#app,#app:not(.showing-browse){height:100dvh;max-height:100dvh;min-height:0;margin:0 auto;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
#app>.content,#app:not(.showing-browse)>.content{display:block;flex:1;min-height:0;overflow:hidden;padding:14px 20px}
#app .page:not(#browse){height:100%;min-height:0;margin:0;padding:0}.page .page-title{margin:0 0 16px}.page .page-title h2{font-size:clamp(26px,3vw,36px)}.page .page-title p:last-child{font-size:14px}.page .screen-flow .tool{margin-bottom:16px}.page .screen-flow .contact{padding:20px}.page .screen-flow .recruiter-bio{padding:16px}
#app>header{flex:none;min-height:58px;padding:8px 20px}#app>footer{flex:none;position:relative;min-height:36px;padding:6px 20px;font-size:9px;gap:8px}#app>footer .footer-info[open]>p{position:absolute;bottom:100%;left:12px;right:12px;background:#131c10;border:1px solid #64704d;padding:14px;margin:0;border-radius:10px}#app>footer .footer-info summary{font-size:10px}#app>footer .text-link{font-size:10px}
#app.showing-browse>.content{display:flex;align-items:stretch;padding:6px 0}.browse-page{height:100%;min-height:0;justify-content:flex-start}.browse-title{flex:none;margin:6px 0;padding-bottom:42px}.browse-title h2{font-size:clamp(24px,3vw,36px)}.topic-carousel{flex:1;min-height:0;height:auto;max-height:none}.topic-card,.topic-card.is-centered,.topic-card:active{height:calc(100% - 24px);min-height:0;max-height:640px}.carousel-controls,.swipe-hint{flex:none}.carousel-controls{margin:0}.swipe-hint{margin:4px 0;font-size:10px}.topic-copy h3{font-size:clamp(25px,5dvh,43px)}.topic-copy p{font-size:clamp(12px,1.7dvh,17px)}
.intro{height:100dvh;min-height:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));overflow:hidden}.intro-card{height:100%;max-height:100%;min-height:0;grid-template-rows:minmax(0,1fr);gap:20px}.intro .collage{height:100%;max-height:100%;min-height:0}.intro-copy{padding:12px;min-height:0}.intro h1{font-size:clamp(28px,4vw,50px)}.intro .button{min-height:46px;font-size:17px;padding:12px}.intro-copy .eyebrow{font-size:11px;margin-bottom:12px}.intro-note{font-size:12px;margin-top:12px}
.booking-home{height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.booking-home header{flex:none;padding:10px 20px;min-height:62px}.booking-home main.screen-pages{flex:1;min-height:0;padding:16px 20px 8px}.booking-home footer{flex:none;padding:8px 20px;font-size:10px}.booking-paths{display:block}.booking-paths article{padding:20px;margin-bottom:16px}.booking-paths h3{font-size:24px}.booking-paths p{font-size:15px}.booking-home .page-title p:last-child{font-size:15px}.booking-home .button{font-size:15px;min-height:46px}
.booking-content.screen-pages{overflow:hidden;padding:16px 20px 8px}.booking-content .screen-flow>section{height:auto}.booking-content .screen-flow .prep-group{padding:12px;margin:10px 0}.booking-content .screen-flow .prep-group>label,.booking-content .screen-flow section>label{display:block;margin:12px 0 6px}.booking-content h2{font-size:28px}.booking-content .subheading{font-size:14px;margin:8px 0 14px}.booking-content .meeting-choices{margin:14px 0}.booking-content .meeting-choice{padding:12px}.booking-content .meeting-choice small{margin-top:6px}.booking-content .choice-icon{margin-bottom:5px}.booking-content .review-card{padding:12px}.booking-content .review-card p{font-size:13px;line-height:1.5}.booking-panel .progress-heading{padding:12px 20px 10px;font-size:11px}.booking-panel .form-actions{padding:10px 20px;min-height:66px}.booking-panel .primary,.booking-panel .secondary{min-height:44px;font-size:14px}.booking-panel input,.booking-panel select{height:46px;min-height:46px}.booking-content .screen-flow .time-note{font-size:11px}.booking-content .screen-flow .address-suggestions{break-inside:avoid}
@media(max-width:1023px) and (orientation:portrait){.intro-card{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:12px}.intro-copy{padding:0 8px}.intro .collage{height:100%}.intro h1{font-size:clamp(28px,5vw,38px);margin:10px 0 16px}.intro-copy .eyebrow{font-size:10px}.intro-actions{gap:8px}.intro-note{margin:8px 0}.booking-home .page-title h2{font-size:30px}}
@media(max-height:550px){#app>header{min-height:45px;padding:4px 16px}#app>footer{min-height:24px;padding:3px 16px;font-size:8px}#app:not(.showing-browse)>.content{padding:8px 16px}.browse-title{margin:2px 0;padding-bottom:36px}.browse-title h2{font-size:22px}.topic-copy h3{font-size:24px}.topic-copy p{display:none}.topic-copy{bottom:15px}.topic-open{padding-top:8px;font-size:12px}.carousel-controls>button{height:36px;width:40px}.intro-card{gap:12px;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr)}.intro h1{font-size:26px;margin:8px 0 12px}.intro-copy .eyebrow{font-size:9px;margin-bottom:6px}.intro .button{font-size:14px;min-height:40px;padding:9px}.intro-note{font-size:10px;margin:6px 0}.booking-content.screen-pages{padding:10px 16px 5px}.booking-panel .form-actions{padding:6px 16px;min-height:56px}.booking-panel .progress-heading{padding:7px 16px}.booking-home header{min-height:48px;padding:6px 16px}.booking-home main.screen-pages{padding:8px 16px}.booking-home .page-title h2{font-size:26px}}
.screen-actions{flex:none;display:flex;align-items:center;gap:8px;padding-top:6px}.screen-actions:empty{display:none}.screen-actions>.contact-primary{margin:0;min-height:46px}.screen-actions>.journey-controls,.screen-actions>.eligibility-controls{width:100%;margin:0;display:flex;justify-content:space-between;gap:12px}.screen-actions button{min-height:44px}.screen-actions #next{flex:1;margin:0}.screen-actions #quizRecruiter{font-size:12px;margin:0}.screen-actions [hidden]{display:none!important}
.screen-flow .review-row{display:block;break-inside:auto}.screen-flow .review-row>button{margin-bottom:6px}.screen-flow .consent{display:block}.screen-flow .consent input{float:left;margin:3px 9px 3px 0}.screen-flow .review-card>div{break-after:avoid}
#app>.content{width:100%;max-width:none}.page .screen-flow .tool,.booking-paths article{box-decoration-break:clone;-webkit-box-decoration-break:clone}.screen-flow .quiz-card,.screen-flow .eligibility-walkthrough,.screen-flow .journey-card{min-height:0;box-decoration-break:clone;-webkit-box-decoration-break:clone}
/* Header controls occupy separate grid cells at every phone width. */
#app>header{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(0,1fr);grid-template-rows:40px 40px;gap:6px 10px;align-items:center;padding:8px 16px;min-height:102px;position:relative;z-index:50}
#app>header>.back-home{grid-column:1;grid-row:1;width:36px;height:40px;margin:0;border-color:#8b986f;color:#fff;background:#182010}
#app>header>.brand{grid-column:2/4;grid-row:1;padding:0;min-width:0;gap:9px}#app>header>.brand span{font-size:12px}#app>header>.brand small{font-size:10px}
#app>header>.language-switch{grid-column:2;grid-row:2;justify-self:start;position:static;inset:auto;margin:0;order:initial;min-height:40px;z-index:auto}
#app>header>.topic-menu{grid-column:3;grid-row:2;justify-self:end;position:relative;inset:auto;margin:0;transform:none;z-index:60}
#app>header>.topic-menu summary{min-height:40px;display:flex;align-items:center;padding:8px 12px;font-size:12px}
#app>header>.topic-menu nav{right:0;top:calc(100% + 7px);bottom:auto;transform:none;max-height:calc(100dvh - 125px);overflow-y:auto}
#app.showing-browse>header{display:none}
.browse-title{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;padding:0!important;margin:6px 16px!important}.browse-title h2{grid-column:1/-1;grid-row:1;padding:0 35px;margin:0 0 4px;font-size:26px;text-align:center}.browse-title>.language-switch{grid-column:1;grid-row:2;justify-self:start;position:static;inset:auto;margin:0;min-height:40px}.browse-title>.topic-menu{grid-column:2;grid-row:2;justify-self:end;position:relative;inset:auto;transform:none;margin:0}.browse-title>.topic-menu nav{right:0;transform:none;top:calc(100% + 7px)}.browse-back{z-index:5}
@media(min-width:600px){#app>header{grid-template-columns:40px minmax(0,1fr) auto auto;grid-template-rows:44px;min-height:60px;gap:12px}#app>header>.brand{grid-column:2;grid-row:1}#app>header>.language-switch{grid-column:3;grid-row:1}#app>header>.topic-menu{grid-column:4;grid-row:1}}
@media(max-height:500px) and (min-width:450px){#app>header{grid-template-columns:36px minmax(0,1fr) auto auto;grid-template-rows:38px;min-height:48px;padding:5px 12px}#app>header>.brand{grid-column:2;grid-row:1}#app>header>.language-switch{grid-column:3;grid-row:1}#app>header>.topic-menu{grid-column:4;grid-row:1}}
