/* Highlands Forward student experience; resume print templates remain separate. */
:root{--gold:#f4b517;--text3:#64748b;--radius:10px;--radius-lg:16px;--radius-xl:22px;--blue:#006fbb;--blue-hover:#005f9f}
[data-theme="dark"]{--text3:#a2b1c8;--blue:#269fea;--blue-hover:#65beff;--blue-light:#153750;--blue-border:#306282}
body{background:var(--bg)}
.nav{background:linear-gradient(110deg,#102e50,#163f6d);border-bottom:3px solid var(--gold);height:66px;box-shadow:0 3px 20px #102e501c}
.nav-sub{color:#f4b517}.nav-apptag,.nav-clear-btn,.nav-btn{color:#d6e5f3}.nav-clear-btn{border:1px solid #55728e;min-height:36px}
.nav-btn{height:36px;width:36px}.nav-logo{border-radius:9px}.nav-right{gap:.5rem}
.landing{min-height:auto;padding:3rem 1.5rem 1.4rem;background:radial-gradient(ellipse at 10% 0%,#007dce12,transparent 50%),radial-gradient(ellipse at 90% 20%,#f4b51712,transparent 40%)}
.landing-logo{box-shadow:0 14px 35px #163f6d20;outline:1px solid #ffffff42;width:84px;height:84px;border-radius:19px;margin-bottom:1.25rem}.landing-logo img{width:84px;height:84px}
.landing-school-tag{max-width:520px;font-size:10px;letter-spacing:.1em}
.landing-title{font-size:clamp(32px,5vw,52px);letter-spacing:-.035em;line-height:1.15;margin-bottom:1rem}
.landing-subtitle{max-width:530px;font-size:15px;margin-bottom:1.75rem}
.upload-zone{border-radius:18px;max-width:540px!important;width:100%;border-color:var(--blue-border);background:var(--surface);box-shadow:0 8px 28px #163f6d08}
.upload-privacy{font-size:11px;line-height:1.6;color:var(--text2);max-width:380px;margin:10px auto 0}
.landing-cta{margin-bottom:1.3rem}.btn-primary{background:var(--blue);box-shadow:0 4px 12px #007dce20}.btn-primary:hover{background:var(--blue-hover)}
.btn{border-radius:10px;min-height:42px}.btn-lg{min-height:48px}.feat-card{box-shadow:0 3px 14px #163f6d05;padding:1.1rem .8rem}.feat-desc{color:var(--text2)}
.student-notice{max-width:540px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:12px;padding:1rem 1.1rem;margin:0 auto 1.8rem;font-size:12px;line-height:1.7;color:var(--text2)}
.student-notice strong{color:var(--text);font-size:13px}.student-notice p{margin:.3rem 0 .7rem}.student-notice .notice-small{margin:.4rem 0 0;font-size:11px}
a{color:var(--blue)}.student-notice label,.privacy-strip label{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer;color:var(--text)}
.shared-device-toggle{width:17px;height:17px;accent-color:#007dce;flex-shrink:0}
.app{height:calc(100dvh - 66px)}.sidebar{top:66px;height:calc(100dvh - 66px);width:252px}.main{min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 100% 0%,#007dce06,transparent 60%)}
.main-inner{width:100%;padding-bottom:2rem;flex:1}.privacy-strip{border-bottom:1px solid var(--border);padding:12px 24px;font-size:11px;color:var(--text2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;background:var(--surface)}
.privacy-strip strong{color:var(--text)}.privacy-strip label{font-size:11px}.step-h1{letter-spacing:-.035em}.card{box-shadow:0 4px 18px #163f6d05}.score-card{background:linear-gradient(135deg,#163f6d,#102e50);border-top:3px solid var(--gold)}
.score-label,.score-denom{color:#bfcee0}.step-item{min-height:48px}.step-item.active{box-shadow:inset 3px 0 var(--blue)}
.site-footer{border-top:1px solid var(--border);padding:1.3rem 1rem 1.5rem;text-align:center;background:var(--surface);font-size:11px;color:var(--text2);flex-shrink:0}.site-footer nav{display:flex;justify-content:center;align-items:center;gap:12px;margin:.5rem 0}.site-footer a{font-weight:600;text-underline-offset:3px;min-height:30px;display:inline-flex;align-items:center}.site-footer p{font-size:10px;max-width:580px;margin:auto}.footer-brand{display:flex;gap:5px;justify-content:center;align-items:center;color:var(--text);font-size:12px}.brand-dot{display:inline-block;width:8px;height:8px;background:var(--gold);border-radius:50%;margin-right:3px}
body:has(#appShell[style*="display: flex"]) .landing-footer{display:none}
button:focus-visible,a:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d99a00;outline-offset:3px}
:where(.we-grid,.form-grid,.action-right,.export-btns)>*{min-width:0}.action-right,.export-btns{flex-wrap:wrap}.resume-doc,.ai-output,.bullet-text,.linkedin-section-content{overflow-wrap:anywhere}.resume-exp-row{gap:10px}.resume-exp-title{min-width:0}.resume-exp-dates{flex-shrink:0}
.lang-menu{max-height:70dvh;overflow-y:auto}.lang-option{min-height:40px}.nav-brand-text{flex-shrink:0}
@media(max-width:768px){.app{height:auto;min-height:calc(100dvh - 66px)}.main{overflow:visible}.main-inner{padding:1.25rem 1rem 2rem}.privacy-strip{padding:12px 16px}.privacy-strip>span{display:none}.landing{padding-top:2rem}.step-h1{font-size:27px}.export-btns .btn{flex:1}.resume-exp-row{flex-wrap:wrap}.nav-apptag,.nav-divider{display:none}}
@media(max-width:480px){.nav{padding:0 .65rem}.nav-left{gap:.45rem}.nav-co{font-size:10px}.nav-sub{font-size:8px}.nav-logo{width:34px;height:34px}.nav-clear-btn{font-size:10px;padding:4px 6px}.nav-right{gap:.35rem}.lang-label{display:none}.lang-trigger{padding:6px;gap:4px}.landing{padding-left:1rem;padding-right:1rem}.student-notice{font-size:11px}.landing-title{font-size:35px}.action-right{width:100%;display:flex;flex-direction:column}.action-right .btn{width:100%}.resume-exp-dates{white-space:normal}.toast{left:1rem;right:1rem;max-width:none}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.privacy-strip,.site-footer,.landing-footer,.student-notice{display:none!important}}
/* Policy pages */
.policy-page{margin:0;font:15px/1.75 Inter,system-ui,sans-serif;color:#19324c;background:#f4f7fb}.policy-nav{background:#163f6d;border-bottom:4px solid #f4b517;padding:22px max(24px,calc((100vw - 900px)/2));color:white;display:flex;align-items:center;justify-content:space-between;gap:16px}.policy-nav a{color:white;text-decoration:none}.policy-nav strong{display:block;line-height:1.3}.policy-nav small{color:#f4b517;font-size:10px;letter-spacing:.16em}.policy-main{max-width:850px;margin:36px auto;padding:40px;background:white;border:1px solid #e1e8ef;border-radius:20px;box-shadow:0 10px 35px #163f6d08}.policy-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;color:#007dce;text-transform:uppercase}.policy-main h1{font-size:38px;line-height:1.2;letter-spacing:-.04em;margin:8px 0 12px}.policy-main h2{font-size:19px;color:#163f6d;margin:28px 0 8px}.policy-main p{margin:10px 0}.policy-main ul{padding-left:22px}.policy-main .policy-date{font-size:12px;color:#60758c}.policy-summary{background:#f0f7fd;border-left:4px solid #f4b517;padding:16px 20px;border-radius:8px;margin:24px 0}.policy-page .site-footer{background:white}.policy-page a{color:#0065ac}@media(max-width:600px){.policy-nav{padding:16px}.policy-main{margin:16px;padding:24px 20px}.policy-main h1{font-size:30px}.policy-nav>a:last-child{font-size:12px}}
.hb-badge{display:none}.nav-save-status.unsaved{color:#f4c65b}.nav-clear-btn{white-space:nowrap}.lang-trigger{min-width:0}
@media(max-width:480px){.lang-trigger{width:auto;min-width:0}.nav-right{flex-shrink:0}}
@media(max-width:600px){.export-btns{display:grid;grid-template-columns:1fr;width:100%}.export-btns .btn{justify-content:center;min-height:44px}input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}}
