/* Target Tutors v6.0.23 — phones, tablets and compact laptops */
@media(max-width:1120px){
  .header-contact{display:none}
  .brand-wrap{min-height:92px;gap:16px}
  .brand img{width:clamp(240px,34vw,300px);height:88px;max-width:none;object-fit:cover;object-position:center 38%}
  .menu-btn{display:block;flex:0 0 auto;min-width:46px;min-height:46px}
  .nav-ribbon{position:absolute;left:0;right:0;top:100%;box-shadow:0 18px 40px rgba(35,20,18,.20)}
  .nav-ribbon .container{width:100%;padding:0}
  .main-nav{display:none;grid-template-columns:1fr;padding:8px 14px 16px;max-height:calc(100dvh - 92px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .main-nav.open{display:grid}
  .main-nav a{min-height:48px;justify-content:flex-start;text-align:left;padding:12px 14px;border-radius:10px;font-size:.92rem}
  .main-nav a.active:after{display:none}
  .main-nav .nav-cta{margin:6px 0 0;background:rgba(0,0,0,.10);color:#fff;justify-content:flex-start;border-radius:10px;min-height:48px}

  /* Full slideshow frame: no zoom/cropping on tablets. */
  .hero{height:auto;min-height:0;display:block;background:#171717;overflow:hidden}
  .hero-slides{position:relative;inset:auto;width:100%;aspect-ratio:1170/370;background:#171717}
  .hero-slide{object-fit:contain!important;object-position:center!important;background:#171717}
  .hero:before,.hero:after{display:none}
  .hero .container{position:relative;padding:clamp(34px,5vw,52px) 0}
  .hero-copy{max-width:760px}
  .hero h1{font-size:clamp(2.8rem,7vw,4.25rem);max-width:none;margin:12px 0 14px}
  .hero p{font-size:1.02rem;max-width:640px}
  .hero-actions{margin-top:24px}

  .section{padding:64px 0}
  .section-head{gap:22px;margin-bottom:28px}
  .section-head h2,.page-hero h1{font-size:clamp(2.15rem,5.5vw,3.2rem)}
  .grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
  .content-card,.form-card{padding:28px}
  .page-hero{padding:56px 0 44px}
  .rate-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:760px){
  html,body{overflow-x:hidden}
  body{font-size:15.5px;line-height:1.58}
  .container{width:calc(100% - 28px)}
  .topline{display:none}
  .site-header{top:0}
  .brand-wrap{min-height:76px;gap:12px}
  .brand{min-width:0;max-width:calc(100% - 56px)}
  .brand img{width:clamp(185px,56vw,235px);height:68px;max-width:100%;object-fit:cover;object-position:center 38%}
  .menu-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:10px}
  .main-nav{padding:8px 10px 14px;max-height:calc(100dvh - 76px)}
  .main-nav a,.main-nav .nav-cta{font-size:.9rem;min-height:46px;padding:10px 12px}

  /* v6.0.23 phone gallery: show the full slideshow image with no side/top crop,
     keep the frame slightly separated from the header, and fade neatly into the hero copy. */
  .hero-slides{aspect-ratio:1170/370;height:auto;min-height:0;background:#fff;margin-top:10px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;overflow:hidden;position:relative}
  .hero-slides:after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(180deg,rgba(23,23,23,0) 0%,rgba(23,23,23,.38) 62%,#171717 100%);pointer-events:none}
  .hero-slide{object-fit:contain!important;object-position:center center!important;background:#fff}
  .hero .container{padding:20px 0 38px;margin-top:0}
  .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(2.35rem,10vw,3rem);letter-spacing:-.035em;line-height:1.02;margin:10px 0 13px}
  .hero p{font-size:.97rem;line-height:1.55;max-width:100%}
  .kicker{font-size:.68rem;letter-spacing:.11em;gap:8px}
  .kicker:before{width:25px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:21px}
  .hero-actions .btn{width:100%;min-height:48px;padding:11px 16px}

  .section{padding:46px 0}
  .section-head{display:block;margin-bottom:24px}
  .section-head p{margin-top:12px}
  .section-head h2,.page-hero h1{font-size:clamp(1.95rem,8.8vw,2.65rem);line-height:1.08;letter-spacing:-.025em}
  .page-hero{padding:40px 0 32px}
  .page-hero p{font-size:.95rem;line-height:1.55}
  .grid-4,.grid-3,.grid-2,.progress-grid,.form-grid,.checks,.footer-grid{grid-template-columns:minmax(0,1fr)}
  .field.full,.footer-grid>div:first-child{grid-column:auto}
  .grid{gap:14px}
  .card,.content-card,.form-card,.progress-card{border-radius:16px;padding:18px}
  .card h3,.progress-card h3{font-size:1.16rem;margin-bottom:9px}
  .note-panel{border-radius:16px;padding:19px;border-left-width:4px}
  .progress-card-head{gap:12px}
  .progress-card-head img{width:60px;height:50px;object-fit:contain}

  .field{gap:6px;min-width:0}
  .field label{font-size:.8rem}
  .field input,.field select,.field textarea{font-size:16px!important;min-height:46px;padding:11px 12px;border-radius:10px}
  .field textarea{min-height:110px}
  .checks{gap:8px}
  .checks label{font-size:.9rem;line-height:1.45}
  .form-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .form-actions .btn{width:100%;min-height:48px}
  .form-status{font-size:.86rem}

  .rate-table-wrap{margin:0;max-width:100%;border-radius:14px;overflow-x:auto;overscroll-behavior-inline:contain}
  table{min-width:560px}
  th,td{padding:10px 11px;font-size:.82rem}
  .footer{padding:34px 0 20px}
  .footer-grid{gap:24px}
  .footer h2{font-size:1.45rem}
  .footer-bottom{margin-top:26px}
}

@media(max-width:430px){
  body{font-size:15px}
  .container{width:calc(100% - 22px)}
  .brand-wrap{min-height:70px}
  .brand img{width:clamp(172px,55vw,205px);height:62px}
  .menu-btn{width:42px;height:42px;min-width:42px;min-height:42px}
  .menu-btn span,.menu-btn:before,.menu-btn:after{width:20px}
  .main-nav{max-height:calc(100dvh - 70px)}

  .hero-slides{aspect-ratio:1170/370;height:auto;min-height:0;margin-top:8px}
  .hero .container{padding:18px 0 32px;margin-top:0}
  .hero h1{font-size:clamp(2.05rem,10.5vw,2.55rem);margin:8px 0 11px}
  .hero p{font-size:.92rem}
  .hero-actions{margin-top:18px}
  .hero-actions .btn{min-height:46px;font-size:.93rem}
  .kicker{font-size:.64rem}

  .section{padding:40px 0}
  .section-head h2,.page-hero h1{font-size:clamp(1.78rem,9vw,2.2rem)}
  .page-hero{padding:34px 0 28px}
  .page-hero p{font-size:.92rem}
  .card,.content-card,.form-card,.progress-card{padding:16px;border-radius:14px}
  .note-panel{padding:17px}
  .btn{padding:11px 14px;border-radius:10px}
  table{min-width:520px}
  th,td{font-size:.79rem;padding:9px 10px}
  .footer{padding-top:30px}
}

@media(max-width:360px){
  .container{width:calc(100% - 18px)}
  .brand img{width:166px;height:59px}
  .brand-wrap{gap:8px}
  .menu-btn{width:40px;height:40px;min-width:40px;min-height:40px}
  .hero-slides{aspect-ratio:1170/370;height:auto;min-height:0;margin-top:8px}
  .hero h1{font-size:1.95rem}
  .hero p{font-size:.89rem}
  .section-head h2,.page-hero h1{font-size:1.72rem}
  .card,.content-card,.form-card,.progress-card{padding:14px}
  .main-nav a,.main-nav .nav-cta{font-size:.86rem}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:1120px){
  .brand-wrap{min-height:64px}
  .brand img{height:58px;width:190px}
  .main-nav{max-height:calc(100dvh - 64px)}
  .hero .container{padding:26px 0 30px}
  .hero h1{font-size:2.35rem}
  .hero-actions{display:flex;flex-wrap:wrap}
  .hero-actions .btn{width:auto}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
  .hero-slide{transition:none!important;transform:none!important}
}
