/* Legacy page CSS, restored. Source: pages:524:teachers-faq_bookings. Built by artifacts/migration/build-legacy-css.py; do not edit. */
.bh-teacher-planning-page{
      --bh-blue:#00B6D9;
      --bh-navy:#21272F;
      --bh-yellow:#E4FF1A;
      --bh-white:#FFFFFF;
      --bh-ink:#183042;
      --bh-muted:#647789;
      --bh-soft:#F5FAFC;
      --bh-soft-2:#EAF5FA;
      --bh-line:rgba(33,39,47,0.12);
      --bh-shadow:0 18px 46px rgba(16,32,46,0.12);
      --bh-shadow-soft:0 12px 30px rgba(16,32,46,0.08);
      --bh-radius-xl:28px;
      --bh-radius-lg:22px;
      --bh-radius-md:16px;
      --bh-shell:1200px;
      position:relative;
      background:linear-gradient(180deg,#f8fbfd 0%, #ffffff 18%, #f7fbfd 100%);
      color:var(--bh-ink);
      overflow:hidden;
      font-family:inherit;
    }

    .bh-teacher-planning-page *{box-sizing:border-box;}

    .bh-tp-shell{
      width:min(var(--bh-shell), calc(100% - 32px));
      margin:0 auto;
    }

    .bh-tp-section{
      padding:clamp(48px,6vw,84px) 0;
      position:relative;
      z-index:2;
    }

    .bh-tp-kicker{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 16px;
      border-radius:999px;
      background:rgba(255,255,255,0.14);
      border:1px solid rgba(255,255,255,0.18);
      color:#ffffff;
      font-size:13px;
      line-height:1;
      font-weight:800;
      letter-spacing:.14em;
      text-transform:uppercase;
      backdrop-filter:blur(6px);
    }

    .bh-tp-kicker-dark{
      background:rgba(0,182,217,0.10);
      color:var(--bh-navy);
      border:1px solid rgba(0,182,217,0.22);
    }

    .bh-tp-title{
      margin:0 0 16px;
      font-size:clamp(34px,5.4vw,66px);
      line-height:.98;
      letter-spacing:-.03em;
      font-weight:900;
      color:#ffffff;
      max-width:12ch;
    }

    .bh-tp-intro-title{
      margin:0 0 14px;
      font-size:clamp(28px,4vw,46px);
      line-height:1.05;
      letter-spacing:-.025em;
      font-weight:900;
      color:var(--bh-navy);
    }

    .bh-tp-lead{
      margin:0 0 24px;
      max-width:760px;
      font-size:clamp(17px,2vw,20px);
      line-height:1.68;
      color:rgba(255,255,255,.92);
    }

    .bh-tp-copy{
      margin:0;
      font-size:17px;
      line-height:1.72;
      color:var(--bh-muted);
    }

    .bh-tp-copy strong{color:var(--bh-navy);}

    .bh-tp-hero{
      position:relative;
      min-height:680px;
      padding:34px 0 88px;
      display:flex;
      align-items:flex-end;
      overflow:hidden;
      background:
        linear-gradient(180deg, rgba(15,31,46,.16) 0%, rgba(15,31,46,.44) 35%, rgba(15,31,46,.86) 100%),
        linear-gradient(125deg, rgba(0,182,217,.14) 0%, rgba(228,255,26,.08) 100%);
    }

    .bh-tp-hero-bg,
    .bh-tp-hero-overlay{
      position:absolute;
      inset:0;
      z-index:0;
    }

    .bh-tp-hero-bg img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      transform:scale(1.03);
    }

    .bh-tp-hero-overlay{
      background:
        radial-gradient(circle at top right, rgba(228,255,26,.18) 0%, rgba(228,255,26,0) 34%),
        radial-gradient(circle at left center, rgba(0,182,217,.24) 0%, rgba(0,182,217,0) 36%);
      pointer-events:none;
    }

    .bh-tp-topnav{
      position:absolute;
      left:0;
      right:0;
      top:0;
      z-index:5;
      padding:18px 0;
    }

    .bh-tp-breadcrumbs{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      font-size:13px;
      line-height:1.4;
      color:rgba(255,255,255,.84);
    }

    .bh-tp-breadcrumbs a{
      color:#ffffff;
      text-decoration:none;
      font-weight:700;
    }

    .bh-tp-breadcrumbs span{opacity:.9;}

    .bh-tp-hero-grid{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);
      gap:28px;
      align-items:end;
    }

    .bh-tp-hero-panel,
    .bh-tp-hero-side{
      padding:clamp(26px,3.2vw,38px);
      border-radius:var(--bh-radius-xl);
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.18);
      box-shadow:0 20px 46px rgba(0,0,0,.18);
      backdrop-filter:blur(10px);
    }

    .bh-tp-hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin:28px 0 30px;
    }

    .bh-tp-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:54px;
      padding:14px 22px;
      border-radius:16px;
      font-size:14px;
      line-height:1.1;
      font-weight:800;
      letter-spacing:.04em;
      text-transform:uppercase;
      text-decoration:none !important;
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
      cursor:pointer;
    }

    .bh-tp-btn:hover{transform:translateY(-2px);}

    .bh-tp-btn-primary{
      background:var(--bh-yellow);
      color:var(--bh-navy) !important;
      box-shadow:0 14px 34px rgba(228,255,26,.22);
    }

    .bh-tp-btn-secondary{
      background:rgba(255,255,255,.10);
      color:#ffffff !important;
      border:1px solid rgba(255,255,255,.22);
    }

    .bh-tp-btn-outline{
      background:transparent;
      color:var(--bh-navy) !important;
      border:1px solid rgba(33,39,47,.16);
    }

    .bh-tp-hero-points{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .bh-tp-hero-points li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      padding:12px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.14);
      color:#ffffff;
      font-size:15px;
      line-height:1.45;
    }

    .bh-tp-hero-points li span{
      flex:0 0 10px;
      width:10px;
      height:10px;
      margin-top:7px;
      border-radius:50%;
      background:var(--bh-yellow);
      box-shadow:0 0 0 6px rgba(228,255,26,.10);
    }

    .bh-tp-side-label{
      display:inline-flex;
      width:max-content;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      color:#ffffff;
      font-size:12px;
      line-height:1;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      margin-bottom:14px;
    }

    .bh-tp-side-title{
      margin:0 0 12px;
      font-size:28px;
      line-height:1.05;
      font-weight:900;
      color:#ffffff;
    }

    .bh-tp-side-copy{
      margin:0 0 18px;
      font-size:15px;
      line-height:1.72;
      color:rgba(255,255,255,.86);
    }

    .bh-tp-side-list{
      display:grid;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .bh-tp-side-list li{
      display:flex;
      gap:12px;
      align-items:flex-start;
      color:#ffffff;
      font-size:15px;
      line-height:1.55;
    }

    .bh-tp-side-list li span{
      flex:0 0 11px;
      width:11px;
      height:11px;
      margin-top:6px;
      border-radius:50%;
      background:var(--bh-yellow);
      box-shadow:0 0 0 6px rgba(228,255,26,.10);
    }

    .bh-tp-journey-wrap{
      margin-top:-34px;
      position:relative;
      z-index:4;
    }

    .bh-tp-journey{
      display:grid;
      grid-template-columns:repeat(7,minmax(0,1fr));
      gap:12px;
      padding:16px;
      border-radius:24px;
      background:rgba(255,255,255,0.96);
      box-shadow:var(--bh-shadow-soft);
      border:1px solid var(--bh-line);
      backdrop-filter:blur(10px);
    }

    .bh-tp-journey a{
      display:flex;
      align-items:center;
      gap:10px;
      min-height:58px;
      padding:12px 14px;
      border-radius:18px;
      background:var(--bh-soft);
      color:var(--bh-navy);
      text-decoration:none;
      transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
    }

    .bh-tp-journey a:hover{
      transform:translateY(-2px);
      background:#eef7fb;
      box-shadow:0 10px 24px rgba(16,32,46,0.08);
    }

    .bh-tp-journey-step{
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:30px;
      height:30px;
      border-radius:999px;
      background:#ffffff;
      border:1px solid rgba(33,39,47,0.10);
      color:var(--bh-blue);
      font-size:12px;
      line-height:1;
      font-weight:900;
      letter-spacing:.04em;
    }

    .bh-tp-journey-label{
      display:block;
      font-size:13px;
      line-height:1.2;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .bh-tp-header{
      max-width:860px;
      margin:0 auto 34px;
      text-align:center;
    }

    .bh-tp-header .bh-tp-copy{
      max-width:800px;
      margin:0 auto;
    }

    .bh-tp-checklist-grid,
    .bh-tp-split-grid,
    .bh-tp-responsibility-grid,
    .bh-tp-final-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }

    .bh-tp-card,
    .bh-tp-split-card,
    .bh-tp-responsibility-card,
    .bh-tp-final-card{
      display:flex;
      flex-direction:column;
      gap:14px;
      padding:24px;
      border-radius:24px;
      background:#ffffff;
      border:1px solid var(--bh-line);
      box-shadow:var(--bh-shadow-soft);
      min-height:100%;
    }

    .bh-tp-card h3,
    .bh-tp-split-card h3,
    .bh-tp-responsibility-card h3,
    .bh-tp-final-card h3{
      margin:0;
      font-size:26px;
      line-height:1.05;
      font-weight:900;
      color:var(--bh-navy);
      letter-spacing:-.02em;
    }

    .bh-tp-card p,
    .bh-tp-split-card p,
    .bh-tp-responsibility-card p,
    .bh-tp-final-card p{
      margin:0;
      font-size:15px;
      line-height:1.76;
      color:var(--bh-muted);
    }

    .bh-tp-label{
      display:inline-flex;
      width:max-content;
      padding:9px 12px;
      border-radius:999px;
      background:rgba(0,182,217,.10);
      color:var(--bh-navy);
      font-size:12px;
      line-height:1;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .bh-tp-list{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .bh-tp-list li{
      position:relative;
      padding-left:18px;
      font-size:14px;
      line-height:1.55;
      color:var(--bh-ink);
    }

    .bh-tp-list li:before{
      content:"";
      position:absolute;
      left:0;
      top:8px;
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--bh-blue);
    }

    .bh-tp-flow{
      display:grid;
      gap:10px;
      margin-top:4px;
    }

    .bh-tp-flow-step{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:12px;
      align-items:start;
      padding:12px 14px;
      border-radius:16px;
      background:var(--bh-soft);
    }

    .bh-tp-flow-label{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:94px;
      padding:8px 10px;
      border-radius:999px;
      background:#ffffff;
      border:1px solid rgba(33,39,47,0.10);
      color:var(--bh-navy);
      font-size:12px;
      line-height:1;
      font-weight:900;
      letter-spacing:.06em;
      text-transform:uppercase;
    }

    .bh-tp-flow-text{
      font-size:14px;
      line-height:1.55;
      color:var(--bh-ink);
      font-weight:700;
    }

    .bh-tp-service-wrap{
      background:linear-gradient(180deg,#f1f7fa 0%, #ffffff 100%);
      border:1px solid rgba(33,39,47,0.08);
      border-radius:30px;
      padding:clamp(24px,3.5vw,38px);
      box-shadow:var(--bh-shadow-soft);
    }

    .bh-tp-final-cta{
      position:relative;
      overflow:hidden;
      padding:clamp(32px,5vw,54px);
      border-radius:34px;
      background:linear-gradient(135deg,#0f2437 0%, #123851 56%, #00B6D9 140%);
      box-shadow:var(--bh-shadow);
      color:#ffffff;
    }

    .bh-tp-final-cta h2{
      margin:0 0 12px;
      font-size:clamp(30px,4vw,50px);
      line-height:1.02;
      letter-spacing:-.025em;
      font-weight:900;
      color:#ffffff;
      max-width:13ch;
    }

    .bh-tp-final-cta p{
      margin:0;
      max-width:720px;
      font-size:17px;
      line-height:1.72;
      color:rgba(255,255,255,.9);
    }

    .bh-tp-final-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      justify-content:flex-end;
      align-items:center;
    }

    @media (max-width: 1280px){
      .bh-tp-journey{grid-template-columns:repeat(4,minmax(0,1fr));}
    }

    @media (max-width: 1120px){
      .bh-tp-hero-grid,
      .bh-tp-checklist-grid,
      .bh-tp-split-grid,
      .bh-tp-responsibility-grid,
      .bh-tp-final-grid{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 980px){
      .bh-tp-journey{grid-template-columns:repeat(2,minmax(0,1fr));}
    }

    @media (max-width: 860px){
      .bh-tp-hero{
        min-height:auto;
        padding:22px 0 80px;
      }

      .bh-tp-title{max-width:none;}
      .bh-tp-journey-wrap{margin-top:-24px;}
      .bh-tp-final-actions{justify-content:flex-start;}
    }

    @media (max-width: 640px){
      .bh-tp-shell{
        width:min(var(--bh-shell), calc(100% - 20px));
      }

      .bh-tp-section{padding:44px 0 64px;}
      .bh-tp-hero{padding:16px 0 70px;}

      .bh-tp-hero-panel,
      .bh-tp-hero-side,
      .bh-tp-card,
      .bh-tp-split-card,
      .bh-tp-responsibility-card,
      .bh-tp-final-card{
        padding:20px;
      }

      .bh-tp-hero-points{grid-template-columns:1fr;}
      .bh-tp-hero-actions,
      .bh-tp-final-actions{flex-direction:column;}
      .bh-tp-btn{width:100%;}
      .bh-tp-final-cta{border-radius:28px;}
      .bh-tp-journey{grid-template-columns:1fr;}
      .bh-tp-journey a{min-height:52px;padding:12px 13px;}
      .bh-tp-flow-step{grid-template-columns:1fr;gap:10px;}
    }
