body.home-page{background:#f5f8f7;color:#15312d}
.home-page .topbar{padding:14px clamp(18px,4vw,54px);background:rgba(248,250,249,.92)}
.home-brand{gap:10px}
.home-brand-logo{width:48px;height:48px;display:block}
.home-brand-copy strong{font-size:1.06rem;letter-spacing:-.02em}
.home-brand-copy small{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.home-page .top-actions{display:flex;align-items:center;gap:10px}

.home-hero{max-width:1180px;margin:0 auto;padding:72px 28px 38px;display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center}
.home-logo-stage{display:grid;place-items:center}
.home-logo-card{width:min(100%,330px);aspect-ratio:1;border-radius:34px;background:rgba(255,255,255,.78);border:1px solid #dbe8e5;box-shadow:0 28px 70px rgba(20,58,52,.09);display:grid;place-items:center;padding:26px}
.home-logo-card img{width:100%;height:100%;object-fit:contain}
.home-intro .eyebrow{margin-bottom:12px;display:inline-block}
.home-intro h1{font-size:clamp(2.9rem,5.4vw,5.3rem);line-height:.98;letter-spacing:-.06em;margin:0 0 22px;max-width:760px}
.home-intro h1 span{color:#0f766e}
.home-lead{font-size:clamp(1.05rem,1.55vw,1.22rem);line-height:1.72;color:#5c706b;max-width:760px;margin:0}
.district-notice{margin-top:26px;display:flex;align-items:flex-start;gap:13px;padding:16px 18px;border:1px solid #bddbd5;background:#eaf6f3;border-radius:18px;max-width:760px}
.district-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#0f766e;color:#fff;display:grid;place-items:center;font-weight:900;font-size:.9rem}
.district-notice strong{display:block;margin-bottom:3px}
.district-notice p{margin:0;color:#536964;line-height:1.5;font-size:.91rem}

.home-disclaimer{max-width:1180px;margin:0 auto;padding:0 28px 28px}
.home-disclaimer-inner{border-top:1px solid #dce7e4;padding-top:16px;color:#71817d;font-size:.82rem;line-height:1.55;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.home-disclaimer strong{color:#46605a}

.route-section{padding:44px 28px 76px}
.route-shell{max-width:1080px;margin:0 auto}
.route-heading{text-align:center;max-width:720px;margin:0 auto 28px}
.route-heading h2{font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:-.045em;margin:8px 0 10px}
.route-heading p{color:#627570;line-height:1.65;margin:0}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.route-card{position:relative;text-align:left;border:1px solid #d8e5e2;background:#fff;border-radius:26px;padding:28px;box-shadow:0 18px 48px rgba(20,58,52,.06);transition:.2s ease;overflow:hidden}
.route-card:hover{transform:translateY(-3px);border-color:#b7d6d0;box-shadow:0 22px 55px rgba(20,58,52,.1)}
.route-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-58px;bottom:-72px;background:#edf7f5}
.route-card-icon{width:48px;height:48px;border-radius:15px;background:#edf7f5;color:#0f766e;display:grid;place-items:center;margin-bottom:20px;position:relative;z-index:1}
.route-card-icon svg{width:25px;height:25px;stroke:currentColor}
.route-card h3{font-size:1.35rem;margin:0 0 9px;letter-spacing:-.025em;position:relative;z-index:1}
.route-card p{margin:0;color:#637671;line-height:1.62;max-width:440px;position:relative;z-index:1}
.route-card .route-action{display:inline-flex;align-items:center;gap:7px;margin-top:22px;color:#0f766e;font-weight:850;position:relative;z-index:1}
.route-card button.route-action{padding:0;border:0;background:none}

.flow-panel{max-width:1080px;margin:20px auto 0;border:1px solid #d7e5e1;background:#fff;border-radius:28px;padding:clamp(22px,4vw,34px);box-shadow:0 22px 60px rgba(20,58,52,.07)}
.flow-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.flow-panel-head h3{font-size:clamp(1.6rem,3vw,2.2rem);margin:4px 0 8px;letter-spacing:-.035em}
.flow-panel-head p{color:#667974;line-height:1.6;margin:0;max-width:680px}
.flow-close{border:1px solid #dce7e4;background:#fff;border-radius:999px;padding:9px 13px;color:#5c706b;font-weight:750}
.flow-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.flow-choice{border:1px solid #dce7e4;background:#f9fbfa;border-radius:20px;padding:21px;text-align:left;transition:.18s ease}
.flow-choice:hover{border-color:#acd0c8;background:#f2f9f7}
.flow-choice strong{display:block;font-size:1.05rem;margin-bottom:6px}
.flow-choice span{display:block;color:#6a7b77;line-height:1.5;font-size:.9rem}
.flow-choice .choice-link{display:inline-block;margin-top:15px;color:#0f766e;font-weight:850}

.registration-panel{margin-top:18px;padding-top:20px;border-top:1px solid #e2ebe9}
.registration-panel h4,.quick-panel h4{font-size:1.12rem;margin:0 0 6px}
.registration-panel>p,.quick-panel>p{margin:0 0 16px;color:#6b7c78;line-height:1.55;font-size:.92rem}
.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.registration-card{display:block;border:1px solid #dce7e4;border-radius:18px;padding:19px;background:#fff;transition:.18s ease}
.registration-card:hover{border-color:#9fc9c1;background:#f5faf9}
.registration-card .tag{display:inline-block;padding:5px 9px;border-radius:999px;background:#e8f5f2;color:#0f766e;font-size:.72rem;font-weight:900;margin-bottom:10px}
.registration-card strong{display:block;font-size:1.05rem}
.registration-card small{display:block;color:#6b7d78;margin-top:6px;line-height:1.5}

.quick-panel{margin-top:18px;padding-top:20px;border-top:1px solid #e2ebe9}
.lookup-methods{display:inline-flex;padding:4px;background:#edf4f2;border-radius:14px;gap:4px;margin-bottom:16px}
.lookup-method{border:0;background:transparent;color:#59706a;border-radius:11px;padding:10px 13px;font-weight:800}
.lookup-method.active{background:#fff;color:#0f766e;box-shadow:0 3px 12px rgba(20,58,52,.08)}
.quick-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.quick-field{display:grid;gap:8px}
.quick-field label{font-weight:800;font-size:.91rem}
.quick-field input{width:100%;border:1px solid #d7e4e1;border-radius:15px;padding:13px 15px;background:#fbfcfc;outline:none}
.quick-field input:focus{border-color:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.08)}
.quick-helper{margin-top:9px;color:#71817d;font-size:.82rem;line-height:1.5}
.quick-result{margin-top:14px;border-radius:14px;padding:13px 15px;background:#edf7f5;border:1px solid #cce3dd;color:#46615b;font-size:.9rem;line-height:1.5}

.home-page #dashboardPreview{margin-top:20px}
.home-page .section-soft{border-top:1px solid #dbe7e4;border-bottom:1px solid #dbe7e4}
.home-page .footer{background:#f8faf9}
.home-footer-brand{display:flex;align-items:center;gap:10px}
.home-footer-brand img{width:36px;height:36px}
.home-footer-meta{text-align:right}
.home-footer-meta strong{color:#425d57}

@media(max-width:900px){
  .home-hero{grid-template-columns:1fr;gap:30px;padding-top:46px;text-align:center}
  .home-logo-card{width:220px}
  .home-lead,.district-notice{margin-left:auto;margin-right:auto}
  .district-notice{text-align:left}
}
@media(max-width:700px){
  .home-brand-logo{width:42px;height:42px}
  .home-brand-copy small{display:block!important}
  .route-grid,.flow-choice-grid,.registration-grid{grid-template-columns:1fr}
  .route-section{padding:34px 18px 58px}
  .home-hero{padding:40px 18px 26px}
  .home-disclaimer{padding:0 18px 20px}
  .home-intro h1{font-size:clamp(2.55rem,13vw,4rem)}
  .flow-panel-head{flex-direction:column}
  .quick-form{grid-template-columns:1fr}
  .quick-form .button{width:100%}
  .home-footer-meta{text-align:left}
}
