:root{
    --paper:#F5F7FA; --paper-deep:#EBEFF5; --card:#FFFFFF;
    --ink:#101C2C; --ink-soft:#48566A; --ink-faint:#8B96A6;
    --marigold:#C4922E; --marigold-dark:#A6791F; --marigold-pale:#F7EEDB;
    --chalk:#0F6E68; --chalk-pale:#DEF0EE;
    --navy-deep:#0A1729;
    --redpen:#C0392B; --border:#DFE4EC;
    --shadow-sm:0 1px 2px rgba(16,28,44,0.06);
    --shadow-md:0 10px 30px rgba(16,28,44,0.08);
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  html, body{max-width:100%; overflow-x:hidden;}
  body{margin:0; background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,.display{font-family:'Poppins',sans-serif; letter-spacing:-0.01em;}
  h1,h2,h3,p{overflow-wrap:break-word; word-break:break-word;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  a{color:inherit; overflow-wrap:break-word;}
  button{font-family:inherit;}
  img,svg{max-width:100%;}
  :focus-visible{outline:3px solid var(--marigold-dark); outline-offset:2px;}
  .wrap{max-width:1152px; margin:0 auto; padding:0 20px;}
  @media(max-width:380px){ .wrap{padding:0 16px;} }
  .hidden{display:none !important;}

  /* header */
  header{position:sticky; top:0; z-index:40; background:var(--card); border-bottom:1px solid var(--border);}
  .headbar{display:flex; align-items:center; justify-content:space-between; height:64px; gap:10px;}
  .brand{display:flex; align-items:center; gap:8px; background:none; border:none; cursor:pointer; min-width:0; flex-shrink:1;}
  .brand-mark{width:36px; height:36px; flex-shrink:0; background:linear-gradient(135deg,var(--ink),var(--navy-deep)); color:var(--marigold); border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; letter-spacing:0.02em;}
  .brand-name{font-weight:600; font-size:clamp(14px,3.6vw,18px); color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;}
  nav.desktop{display:none; gap:2px;}
  nav.desktop button{background:none; border:none; padding:8px 12px; font-size:14px; font-weight:500; color:var(--ink-soft); cursor:pointer; position:relative; border-radius:3px;}
  nav.desktop button.active{color:var(--ink);}
  nav.desktop button.active::after{content:""; position:absolute; left:12px; right:12px; bottom:-1px; height:3px; background:var(--marigold); border-radius:2px;}
  .head-actions{display:none; align-items:center; gap:14px; flex-shrink:0;}
  .phone-link{display:flex; align-items:center; gap:6px; font-weight:600; font-size:13px; color:var(--chalk); text-decoration:none; white-space:nowrap;}
  .btn-primary{background:var(--ink); color:#fff; padding:11px 18px; border-radius:8px; border:none; font-weight:600; font-size:14px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;}
  .btn-primary:hover{background:var(--navy-deep);}
  .btn-ghost{background:transparent; color:var(--ink); padding:11px 18px; border-radius:8px; border:1.5px solid var(--ink); font-weight:600; font-size:14px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; white-space:nowrap;}
  .hamburger{background:none; border:none; cursor:pointer; padding:6px; flex-shrink:0;}
  nav.mobile{display:none; flex-direction:column; padding:0 20px 16px; border-top:1px solid var(--border); gap:2px;}
  nav.mobile.open{display:flex;}
  nav.mobile button{text-align:left; background:none; border:none; padding:10px 0; font-size:14px; font-weight:500; color:var(--ink); cursor:pointer;}
  nav.mobile button.active{color:var(--marigold-dark);}
  @media(min-width:860px){
    nav.desktop{display:flex;}
    .head-actions{display:flex;}
    .hamburger{display:none;}
  }

  /* generic */
  .eyebrow{font-family:'IBM Plex Mono',monospace; display:inline-flex; align-items:center; gap:8px; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--chalk); margin-bottom:10px; flex-wrap:wrap;}
  .eyebrow::before{content:""; width:18px; height:2px; background:var(--chalk); display:inline-block; flex-shrink:0;}
  .card{background:var(--card); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-sm);}
  .card-accent{position:relative;}
  .card-accent::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; border-radius:12px 12px 0 0; background:linear-gradient(90deg,var(--marigold),var(--chalk));}
  .section{padding-top:56px; padding-bottom:56px;}
  .grid{display:grid; gap:16px;}
  .g2{grid-template-columns:1fr;}
  @media(min-width:640px){ .g2{grid-template-columns:1fr 1fr;} }
  .g3{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));}
  .g3-fixed{grid-template-columns:1fr;}
  @media(min-width:720px){ .g3-fixed{grid-template-columns:1fr 1fr 1fr;} }
  .g4{grid-template-columns:1fr;}
  @media(min-width:640px){ .g4{grid-template-columns:1fr 1fr;} }
  @media(min-width:900px){ .g4{grid-template-columns:1fr 1fr 1fr 1fr;} }
  .muted{color:var(--ink-soft);}
  .chip{font-size:13px; padding:7px 13px; border-radius:999px; background:var(--chalk-pale); border:1px solid transparent; color:var(--chalk); display:inline-block; font-weight:500;}
  .chip-strong{background:var(--ink); color:#fff; border:none; cursor:pointer; font-weight:600;}
  .tile{display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; background:var(--card); border:1px solid var(--border); border-radius:10px; padding:14px 16px; cursor:pointer; width:100%; font-size:14px; font-weight:500; color:var(--ink); box-shadow:var(--shadow-sm);}
  .tile:hover{border-color:var(--ink);}
  .icon{flex-shrink:0;}

  /* services pillars */
  .service-card{padding:22px; display:flex; flex-direction:column; gap:10px;}
  .service-icon{width:42px; height:42px; border-radius:10px; background:var(--chalk-pale); color:var(--chalk); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .service-card h3{font-size:16px; margin:2px 0 0; color:var(--ink);}
  .service-card p{font-size:13.5px; line-height:1.55; color:var(--ink-soft); margin:0;}

  /* hero */
  .hero{padding-top:44px; padding-bottom:56px; display:grid; gap:36px; grid-template-columns:1fr; min-width:0;}
  @media(min-width:860px){ .hero{grid-template-columns:1.05fr 0.95fr; align-items:center; padding-top:56px; padding-bottom:64px;} }
  .hero h1{font-size:clamp(1.9rem,6vw,3rem); font-weight:700; line-height:1.14; color:var(--ink); margin:0;}
  .hero p.lead{margin-top:16px; max-width:480px; line-height:1.65; color:var(--ink-soft); font-size:15.5px;}
  .hero .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}
  .hero .actions > *{max-width:100%;}
  .hero .phones{display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:26px;}
  .reportcard{padding:22px; position:relative; min-width:0;}
  .reportcard-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; flex-wrap:wrap;}
  .badge{font-family:'IBM Plex Mono',monospace; font-size:11px; padding:4px 8px; border-radius:4px; background:var(--chalk-pale); color:var(--chalk); white-space:nowrap;}
  .rc-row{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid var(--border);}
  .rc-row:last-child{border-bottom:none;}
  .rc-label{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-soft); min-width:0;}
  .rc-value{font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:14px; color:var(--ink); white-space:nowrap;}
  .rc-note{display:flex; gap:8px; align-items:flex-start; margin-top:18px; background:var(--marigold-pale); border-radius:8px; padding:12px;}
  .rc-note span{font-size:12px; font-weight:500; color:#5C4319;}

  /* why cards */
  .why-card{padding:20px;}
  .why-card h3{font-size:16px; margin:12px 0 6px; color:var(--ink);}
  .why-card p{font-size:14px; line-height:1.55; color:var(--ink-soft); margin:0;}

  /* testimonials */
  .t-card{padding:22px;}
  .t-text{font-size:14px; line-height:1.6; color:var(--ink); margin:10px 0 16px;}
  .t-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;}
  .t-name{font-size:13.5px; font-weight:600; color:var(--ink-soft);}
  .stars svg{margin-left:1px;}

  /* CTA band */
  .cta-band{background:linear-gradient(135deg,var(--ink),var(--navy-deep)); padding:44px 0;}
  .cta-band .wrap{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px;}
  .cta-band h2{color:#fff; font-size:clamp(1.3rem,4vw,1.6rem); margin:0;}
  .cta-band p{color:#B9C3D4; margin:6px 0 0; font-size:14px;}
  .cta-band .actions{display:flex; flex-wrap:wrap; gap:12px;}

  /* forms */
  .formcard{padding:24px;}
  @media(min-width:640px){ .formcard{padding:28px;} }
  .field{display:block; margin-bottom:16px; min-width:0;}
  .field-label{font-size:14px; font-weight:500; color:var(--ink); display:block; margin-bottom:6px;}
  .field-label-row{display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:6px;}
  .locate-btn{display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600; color:var(--chalk); background:none; border:none; cursor:pointer; padding:2px 0; white-space:nowrap;}
  .locate-btn:disabled{color:var(--ink-faint); cursor:default;}
  .locate-btn .spin{animation:mes-spin 0.8s linear infinite;}
  @keyframes mes-spin{ to{ transform:rotate(360deg); } }
  .req{color:var(--redpen);}
  .field input, .field select, .field textarea{
    width:100%; max-width:100%; padding:10px 12px; border-radius:8px; border:1px solid var(--border);
    background:var(--paper); color:var(--ink); font-size:14px; font-family:'Inter',sans-serif;
  }
  .field textarea{resize:vertical;}
  .hint{font-size:12px; color:var(--ink-faint); display:block; margin-top:4px;}
  .err{font-size:12px; color:var(--redpen); display:block; margin-top:4px;}
  .form-row{display:grid; grid-template-columns:1fr; gap:0 24px;}
  .form-row.two{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));}
  .form-row.three{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));}
  .success{text-align:center; padding:40px 20px;}
  .success h2{font-size:24px; margin:14px 0 6px;}
  .refid{font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--chalk); word-break:break-all;}

  /* fee table */
  .table-scroll{width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
  table{width:100%; min-width:460px; border-collapse:collapse; font-size:13.5px;}
  thead tr{background:var(--ink);}
  th{text-align:left; padding:12px 18px; font-weight:600; color:#fff;}
  th:last-child, td:last-child{text-align:right;}
  td{padding:12px 18px; color:var(--ink-soft); border-top:1px solid var(--border);}
  tr:nth-child(even) td{background:var(--paper);}
  .rate{font-family:'IBM Plex Mono',monospace; font-weight:600; color:var(--chalk); white-space:nowrap;}
  @media(max-width:480px){ th, td{padding:10px 12px;} }

  /* tabs */
  .tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:0;}
  .tab-btn{font-size:14px; font-weight:600; padding:10px 16px; border-radius:8px 8px 0 0; border:1px solid var(--border); background:transparent; color:var(--ink-soft); cursor:pointer; margin-bottom:-1px;}
  .tab-btn.active{background:var(--card); color:var(--ink); border-bottom-color:var(--card);}
  .tab-panel{border-top:1px solid var(--border); padding-top:24px;}
  .pill-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px;}
  .pill{font-size:13.5px; font-weight:600; padding:8px 14px; border-radius:999px; border:1px solid var(--border); background:var(--card); color:var(--ink-soft); cursor:pointer; display:inline-flex; align-items:center; gap:6px;}
  .pill.active{background:var(--ink); color:#fff; border-color:var(--ink);}

  /* contact */
  .contact-grid{display:grid; gap:28px; grid-template-columns:1fr; min-width:0;}
  @media(min-width:860px){ .contact-grid{grid-template-columns:2fr 3fr;} }
  .contact-card{padding:20px; margin-bottom:16px; min-width:0;}
  .contact-card .row{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
  .contact-card .row strong{font-family:'Poppins',sans-serif; font-weight:600; color:var(--ink);}
  .contact-card a{word-break:break-all;}
  .social-row{display:flex; gap:10px; padding-top:6px;}
  .social-icon{width:36px; height:36px; border-radius:999px; background:var(--chalk-pale); color:var(--chalk); display:flex; align-items:center; justify-content:center; text-decoration:none; flex-shrink:0;}

  /* toast */
  #toast{position:fixed; bottom:16px; right:16px; left:16px; z-index:50; background:var(--ink); color:#fff; padding:14px 16px; border-radius:10px; display:flex; align-items:center; gap:10px; max-width:340px; margin-left:auto; font-size:14px; box-shadow:var(--shadow-md);}
  #toast button{background:none; border:none; color:#fff; cursor:pointer; flex-shrink:0; margin-left:auto;}

  footer{background:var(--ink); color:#C9D2DA; overflow-x:hidden;}
  .foot-grid{display:grid; gap:32px; grid-template-columns:1fr; padding-top:40px; padding-bottom:40px;}
  @media(min-width:720px){ .foot-grid{grid-template-columns:1fr 1fr 1fr;} }
  .foot-grid h4{color:#fff; font-size:14px; margin:0 0 12px;}
  .foot-grid a, .foot-grid button{display:block; color:#98A5B0; font-size:13px; text-decoration:none; background:none; border:none; padding:0 0 8px; cursor:pointer; text-align:left; font-family:inherit; word-break:break-all;}
  .foot-bottom{border-top:1px solid #23334A; text-align:center; padding:16px 20px; font-size:12px; color:#728090;}

  .search-wrap{position:relative; max-width:420px; margin-bottom:28px;}
  .search-wrap svg{position:absolute; left:12px; top:12px; color:var(--ink-faint);}
  .search-wrap input{padding-left:36px;}

  @media (prefers-reduced-motion: reduce){ *{transition:none !important; animation:none !important;} }

  /* tuition photos (hotlinked from Unsplash, free licence) */
  .hero-visual{display:flex; flex-direction:column; gap:0; min-width:0;}
  .hero-img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; display:block; box-shadow:var(--shadow-md); background:var(--paper-deep);}
  .hero-visual .reportcard{margin:-56px 16px 0; z-index:1;}
  @media(min-width:860px){ .hero-img{aspect-ratio:16/11;} .hero-visual .reportcard{margin:-72px 24px 0;} }
  .service-card{overflow:hidden;}
  .service-img{width:calc(100% + 44px); margin:-22px -22px 6px; aspect-ratio:16/10; object-fit:cover; display:block; background:var(--paper-deep);}
  .about-img{width:100%; aspect-ratio:21/9; object-fit:cover; border-radius:14px; display:block; margin:0 0 28px; background:var(--paper-deep);}
  .hero-visual.noimg .reportcard{margin:0;}

  /* nearest-area location card */
  #geoCard{position:fixed; z-index:45; left:16px; right:16px; bottom:16px; max-width:380px; background:var(--card); border:1px solid var(--border); border-radius:14px; box-shadow:0 18px 50px rgba(16,28,44,0.18); padding:16px 18px;}
  @media(min-width:640px){ #geoCard{left:auto; right:24px; bottom:24px;} }
  @media (prefers-reduced-motion: no-preference){ #geoCard{animation:geo-in .25s ease-out;} }
  @keyframes geo-in{ from{ transform:translateY(12px); opacity:0; } to{ transform:none; opacity:1; } }
  #geoCard .geo-head{display:flex; align-items:center; gap:8px; color:var(--chalk); padding-right:24px;}
  #geoCard .geo-head strong{font-family:'Poppins',sans-serif; color:var(--ink); font-size:15px; font-weight:600;}
  #geoCard p{font-size:13.5px; line-height:1.55; color:var(--ink-soft); margin:8px 0 12px;}
  #geoCard p b{color:var(--ink);}
  #geoCard .geo-actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center;}
  #geoCard .geo-actions .btn-primary{white-space:normal; text-align:left;}
  #geoCard .geo-also{display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-top:12px; padding-top:10px; border-top:1px solid var(--border); font-size:12px; color:var(--ink-faint);}
  .geo-link{background:none; border:none; padding:2px 0; font-size:12.5px; font-weight:600; color:var(--chalk); cursor:pointer; font-family:inherit;}
  .geo-close{position:absolute; top:10px; right:10px; background:none; border:none; color:var(--ink-faint); cursor:pointer; padding:4px;}
  .tile-meta{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--ink-faint); white-space:nowrap;}
  .tile-nearest{border-color:var(--chalk); background:var(--chalk-pale);}
  .tile-nearest .tile-meta{color:var(--chalk); font-weight:600;}

  /* form email delivery */
  .hp-field{position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0;}
  .send-error{display:flex; gap:8px; align-items:flex-start; margin-top:14px; padding:12px; border-radius:8px; background:#FBEAE8; color:var(--redpen); font-size:13px; line-height:1.5;}
  .send-error a{font-weight:600;}
  button[disabled]{opacity:.7; cursor:default;}

  /* =============================================================
     MOCKUP REFRESH — blue headings, green actions, light-blue bands
     ============================================================= */
  :root{
    --brand-blue:#0E3A8A; --brand-green:#15803D; --green-dark:#106A31;
    --sky:#EAF1FF; --gold:#E0A526;
    --chalk:#15803D; --chalk-pale:#E3F4E8;
  }
  h1, h2{color:var(--brand-blue);}
  .btn-primary, .btn-green{background:var(--brand-green); color:#fff; border:none; border-radius:10px; padding:13px 20px; font-weight:600; font-size:15px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:inherit; box-shadow:0 6px 16px rgba(21,128,61,.22);}
  .btn-primary:hover, .btn-green:hover{background:var(--green-dark);}
  .btn-green{width:100%;}
  .btn-ghost{border-radius:10px; border-color:var(--brand-blue); color:var(--brand-blue);}
  .field input, .field select, .field textarea{background:#fff; border-radius:10px; padding:12px 13px; border-color:#D5DDEA;}
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid #BFD3F5; border-color:var(--brand-blue);}
  .cta-band{background:linear-gradient(135deg,var(--brand-blue),#0A2A63);}

  /* home hero */
  .hero2{background:linear-gradient(180deg,var(--sky) 0%, #F3F7FF 60%, var(--paper) 100%); overflow:hidden;}
  .hero2-grid{position:relative; display:grid; grid-template-columns:1fr; padding-top:22px; padding-bottom:8px;}
  .hero2-copy{position:relative; z-index:2; min-width:0;}
  .trust-pill{display:inline-flex; align-items:center; gap:6px; background:#E3F4E8; color:var(--green-dark); font-size:12px; font-weight:600; padding:6px 12px; border-radius:999px;}
  .hero2 h1{font-size:clamp(1.75rem,7.4vw,3.2rem); line-height:1.15; font-weight:700; margin:14px 0 0; max-width:12ch;}
  .hero2 h1 span{color:var(--brand-blue);}
  .hero2 .lead{font-size:14px; line-height:1.6; color:var(--ink-soft); margin:12px 0 0; max-width:58%;}
  .hero2-phones{display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:14px; font-size:13px;}
  .hero2-photo{position:absolute; z-index:1; right:-20px; top:30px; width:56%; height:300px;}
  .hero2-photo img{width:100%; height:100%; object-fit:cover; object-position:35% 20%; display:block;
    -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 32%), linear-gradient(to bottom, #000 70%, transparent 100%);
    -webkit-mask-composite:source-in; mask-image:linear-gradient(to right, transparent 0%, #000 32%); }
  .search-card{position:relative; z-index:3; margin-top:24px; padding:0; overflow:hidden; border-radius:16px; box-shadow:0 14px 40px rgba(14,58,138,.12);}
  .sc-tabs{display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--border);}
  .sc-tab{display:flex; align-items:center; justify-content:center; gap:8px; padding:14px 8px; background:#F6F8FC; border:none; font-weight:600; font-size:14px; color:var(--ink-soft); cursor:pointer; font-family:inherit; border-bottom:3px solid transparent;}
  .sc-tab.active{background:#fff; color:var(--brand-blue); border-bottom-color:var(--brand-green);}
  .sc-body{display:grid; gap:10px; padding:16px;}
  .sc-note{margin:0; font-size:14px; line-height:1.6; color:var(--ink-soft);}
  .sel-field{display:flex; align-items:center; gap:10px; border:1px solid #D5DDEA; border-radius:10px; padding:0 12px; color:var(--brand-blue); background:#fff;}
  .sel-field select{flex:1; min-width:0; border:none; background:transparent; padding:13px 0; font-size:14px; color:var(--ink); font-family:inherit; outline:none;}
  .sel-field:focus-within{border-color:var(--brand-blue); box-shadow:0 0 0 3px #DCE7FB;}
  @media(min-width:860px){
    .hero2-grid{grid-template-columns:1.05fr .95fr; align-items:center; gap:0 40px; padding-top:48px;}
    .hero2 .lead{max-width:460px; font-size:16px;}
    .hero2-photo{position:relative; right:auto; top:auto; width:100%; height:420px; grid-row:1 / span 2; grid-column:2;}
    .hero2-photo img{border-radius:20px; -webkit-mask-image:none; mask-image:none; object-position:center;}
    .hero2-copy{grid-column:1;}
    .search-card{grid-column:1; margin-top:26px;}
    .sc-body#homeSearch{grid-template-columns:1fr 1fr 1fr; }
    .sc-body#homeSearch .btn-green{grid-column:1 / -1;}
  }

  /* quick tiles + stats */
  .quick-wrap{padding-top:22px; padding-bottom:12px;}
  .quick{display:grid; grid-template-columns:repeat(4,1fr); gap:8px;}
  .q-tile{display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; background:#fff; border:1px solid var(--border); border-radius:14px; padding:12px 4px; cursor:pointer; font-family:inherit; min-width:0;}
  .q-tile b{font-size:12.5px; color:var(--brand-blue); font-weight:600; line-height:1.25;}
  .q-tile small{font-size:10.5px; color:var(--ink-faint); line-height:1.2;}
  .q-ic, .st-ic, .mvv-ic{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; color:var(--c); background:color-mix(in srgb, var(--c) 12%, #fff); flex-shrink:0;}
  .stats{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px;}
  .stat2{display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--border); border-radius:14px; padding:12px; min-width:0;}
  .stat2 b{display:block; font-family:'Poppins',sans-serif; font-size:20px; color:var(--brand-green); line-height:1.1;}
  .stat2 small{font-size:11.5px; color:var(--ink-soft); line-height:1.3; display:block;}
  @media(min-width:860px){ .quick{gap:16px;} .q-tile{padding:20px 10px;} .q-tile b{font-size:15px;} .q-tile small{font-size:12.5px;} .stats{grid-template-columns:repeat(4,1fr); gap:16px;} .stat2 b{font-size:26px;} }

  /* page headers */
  .page-hero{background:linear-gradient(180deg,var(--sky),var(--paper)); padding:26px 0 22px;}
  .page-hero h1{font-size:clamp(1.6rem,6.6vw,2.4rem); font-weight:700; line-height:1.18; margin:0;}
  .page-hero p{margin:8px 0 0; font-size:14px; line-height:1.6; color:var(--ink-soft); max-width:560px;}
  .sec-title{font-size:clamp(1.2rem,4.6vw,1.5rem); margin:0 0 10px; font-weight:600;}

  /* find-a-tutor filter */
  .filter-card{padding:14px; display:grid; gap:12px; border-radius:16px; box-shadow:0 10px 30px rgba(14,58,138,.08);}
  .filter-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
  @media(min-width:860px){ .filter-grid{grid-template-columns:repeat(4,1fr);} }
  .mini-field{display:flex; flex-direction:column; gap:2px; border:1px solid #D5DDEA; border-radius:10px; padding:8px 10px 4px; background:#fff; min-width:0;}
  .mini-field span{font-size:11px; color:var(--ink-faint);}
  .mini-field select{border:none; background:transparent; font-size:14px; font-weight:600; color:var(--ink); padding:2px 0 6px; font-family:inherit; outline:none; min-width:0; width:100%;}
  .mini-field:focus-within{border-color:var(--brand-blue);}

  /* registration stepper */
  .stepper{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 22px; padding:0; position:relative;}
  .stepper li{display:flex; flex-direction:column; align-items:center; gap:6px; position:relative; text-align:center;}
  .stepper li:not(:first-child)::before{content:""; position:absolute; top:15px; right:50%; width:100%; height:2px; background:var(--border); z-index:0;}
  .stepper li.done:not(:first-child)::before, .stepper li.current:not(:first-child)::before{background:var(--brand-blue);}
  .stepper .dot{position:relative; z-index:1; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; background:#E6EAF1; color:var(--ink-faint);}
  .stepper li.current .dot, .stepper li.done .dot{background:var(--brand-blue); color:#fff;}
  .stepper .lbl{font-size:12px; color:var(--ink-faint); font-weight:500;}
  .stepper li.current .lbl{color:var(--brand-blue); font-weight:700;}
  fieldset.checks{border:none; padding:0; margin:0 0 16px;}
  .check-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr)); gap:8px;}
  .check{display:flex; align-items:center; gap:8px; font-size:13.5px; padding:9px 10px; border:1px solid #D5DDEA; border-radius:10px; background:#fff; cursor:pointer;}
  .check input{width:16px; height:16px; accent-color:var(--brand-blue); margin:0;}
  .check:has(input:checked){border-color:var(--brand-blue); background:#F1F5FD;}
  .step-actions{display:flex; justify-content:space-between; gap:12px; margin-top:8px;}
  .step-actions .btn-green{width:auto; flex:1; max-width:320px; margin-left:auto;}

  /* about */
  .about-grid{display:grid; gap:24px; grid-template-columns:1fr; align-items:center;}
  @media(min-width:760px){ .about-grid{grid-template-columns:1.5fr 1fr;} }
  .years-badge{position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:18px 10px 6px;}
  .years-badge .laurel{position:absolute; top:0; left:50%; transform:translateX(-50%); width:230px; height:138px;}
  .years-badge b{position:relative; font-family:'Poppins',sans-serif; font-size:52px; line-height:1; color:var(--brand-blue);}
  .years-badge span{position:relative; font-weight:700; color:var(--brand-blue); font-size:15px; margin-top:4px;}
  .years-badge small{position:relative; color:var(--ink-soft); font-size:12px; margin-top:4px;}
  .mvv{display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); margin-top:26px;}
  .mvv-card{display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--border); border-radius:14px; padding:16px;}
  .mvv-card h3{margin:0 0 4px; font-size:15px; color:var(--brand-blue);}
  .mvv-card p{margin:0; font-size:13px; line-height:1.5; color:var(--ink-soft);}

  /* contact info list */
  .info-list{padding:6px 18px; align-self:start;}
  .info-row{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border); min-width:0;}
  .info-row:last-child{border-bottom:none;}
  .info-ic{width:40px; height:40px; border-radius:10px; background:var(--brand-blue); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .info-row > div{display:flex; flex-direction:column; gap:3px; min-width:0; font-size:13.5px; color:var(--ink-soft);}
  .info-row b{color:var(--brand-blue); font-size:14px;}
  .info-row a{text-decoration:none; color:var(--ink); font-size:13px; word-break:break-all;}
  .info-phones{display:flex; flex-wrap:wrap; gap:4px 16px;}
  .years-badge{padding-top:0;}
  .laurel-wrap{position:relative; width:200px; height:140px; display:flex; align-items:center; justify-content:center;}
  .years-badge .laurel{position:absolute; inset:0; width:100%; height:100%; transform:none; top:0; left:0;}
  .hero2-photo img{object-position:76% 20%;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 30%),linear-gradient(to bottom,#000 72%,transparent 100%); -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 0%,#000 30%),linear-gradient(to bottom,#000 72%,transparent 100%); mask-composite:intersect;}
  @media(min-width:860px){ .hero2-photo img{-webkit-mask-image:none; mask-image:none; object-position:center;} }
  @media(min-width:860px){
    .hero2-photo{grid-row:1; height:380px;}
    .search-card{grid-column:1 / -1; margin-top:28px;}
    .sc-body#homeSearch{grid-template-columns:1fr 1fr 1fr auto;}
    .sc-body#homeSearch .btn-green{grid-column:auto; width:auto; padding:13px 28px;}
  }

  /* =============================================================
     ORIGINAL MES COLOURS — navy ink, marigold gold, chalk teal
     (keeps the new mobile layout, restores the original palette)
     ============================================================= */
  :root{
    --brand-blue:var(--ink); --brand-green:var(--ink); --green-dark:var(--navy-deep);
    --sky:#EBEFF5; --gold:var(--marigold);
    --chalk:#0F6E68; --chalk-pale:#DEF0EE;
  }
  h1, h2{color:var(--ink);}
  .btn-primary, .btn-green{background:var(--ink); box-shadow:0 6px 16px rgba(16,28,44,.18);}
  .btn-primary:hover, .btn-green:hover{background:var(--navy-deep);}
  .btn-ghost{border-color:var(--ink); color:var(--ink);}
  .cta-band{background:linear-gradient(135deg,var(--ink),var(--navy-deep));}
  .trust-pill{background:var(--marigold-pale); color:#5C4319;}
  .hero2{background:linear-gradient(180deg,#E6EBF3 0%, #EEF2F7 60%, var(--paper) 100%);}
  .sc-tab.active{color:var(--ink); border-bottom-color:var(--marigold);}
  .sel-field{color:var(--chalk);}
  .sel-field:focus-within, .mini-field:focus-within{border-color:var(--ink); box-shadow:0 0 0 3px var(--chalk-pale);}
  .search-card, .filter-card{box-shadow:0 14px 40px rgba(16,28,44,.10);}
  .q-tile b, .mvv-card h3, .info-row b, .years-badge b, .years-badge span{color:var(--ink);}
  .stat2 b{color:var(--chalk);}
  .info-ic{background:var(--chalk);}
  .stepper li.done:not(:first-child)::before, .stepper li.current:not(:first-child)::before{background:var(--chalk);}
  .stepper li.current .dot, .stepper li.done .dot{background:var(--chalk);}
  .stepper li.current .lbl{color:var(--chalk);}
  .check input{accent-color:var(--chalk);}
  .check:has(input:checked){border-color:var(--chalk); background:var(--chalk-pale);}
  .field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--chalk-pale); border-color:var(--chalk);}
  .page-hero{background:linear-gradient(180deg,#E6EBF3,var(--paper));}
  .tile-nearest{border-color:var(--chalk); background:var(--chalk-pale);}
  .banner-img{display:block; width:100%; max-width:100%; height:auto; border-radius:14px; margin:0 0 24px; background:var(--paper-deep);}
  @media(min-width:860px){ .hero2-photo{display:flex; justify-content:center;} .hero2-photo img{width:auto; max-width:100%; height:100%; aspect-ratio:428/600; border-radius:20px;} }
  .hero2-photo img{object-position:center 15%;
    -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20%),linear-gradient(to bottom,#000 78%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0%,#000 20%),linear-gradient(to bottom,#000 78%,transparent 100%);}
  @media(min-width:860px){ .hero2-photo img{-webkit-mask-image:none; mask-image:none;} }
  .search-wrap{max-width:none;}
  .search-wrap input{width:100%; padding:13px 14px 13px 42px; border:1px solid #D5DDEA; border-radius:10px; background:#fff; font-size:14.5px; font-family:inherit; color:var(--ink);}
  .search-wrap input:focus{outline:2px solid var(--chalk-pale); border-color:var(--chalk);}
  .search-wrap svg{left:14px; top:50%; transform:translateY(-50%);}
  @media(max-width:859px){ .hero2-photo{width:52%; right:-36px;} }
