/* Brightside Tutoring (concept). A white planning board in sticky-note colours; the score range read like a Seattle forecast. */
.b-tutoring {
  --b-bg: #ffffff; --b-ink: #1c1c1e; --b-acc: #1c1c1e; --b-soft: #f4f5f7; --b-on: #ffffff;
  --b-d: "Lexend", system-ui, sans-serif; --b-t: "Lexend", system-ui, sans-serif;
  --ink: #1c1c1e; --ink-2: #2c2c34; --slate: #50566a; --surf: #f4f5f7; --surf-2: #eceef2; --line: #d9dce3;
  --sun: #ffd02f; --sun-k: #f2b705; --moss: #187574; --moss-k: #0f5f5e;
  --y: #fff1b8; --t: #c9f2ec; --c: #ffd6cf; --r: #fbe0ef; --m: #e3eaee;
  --s-small: 14px; --s-body: 17px; --s-lead: clamp(19px, 1rem + .42vw, 22px); --s-h3: clamp(20px, 1rem + .42vw, 22px);
  --s-h2: clamp(30px, 1rem + 2.6vw, 54px); --s-h1: clamp(42px, 1rem + 4.6vw, 88px); --s-hero: clamp(50px, 7.4vw, 124px);
  --gut: clamp(16px, 3vw, 32px); --max: 1320px; --rad: 24px; --rad-s: 14px;
  --ease: cubic-bezier(.16, 1, .3, 1); --t-press: 120ms; --t-hover: 180ms; --t-ui: 320ms;
}
body.b-tutoring { background: #fff; color: var(--ink); font: 400 var(--s-body)/1.55 var(--b-t); scrollbar-color: #b9bdc8 #f4f5f7; }
.b-tutoring ::selection { background: var(--sun); color: var(--ink); }
.b-tutoring input, .b-tutoring select, .b-tutoring textarea { caret-color: var(--moss); }
.b-tutoring :focus-visible { outline: 3px solid var(--moss); outline-offset: 3px; }
.b-tutoring a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1.5px; }
.b-tutoring h1, .b-tutoring h2, .b-tutoring h3 { font-family: var(--b-d); font-weight: 500; letter-spacing: -.03em; line-height: 1.04; margin: 0; text-wrap: balance; }
.b-tutoring p, .b-tutoring ul, .b-tutoring ol { margin: 0; }
.b-tutoring p { text-wrap: pretty; }
.b-tutoring img { display: block; width: 100%; height: auto; }
.b-tutoring .bt-wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--gut); }
.b-tutoring .bt-sec { padding: clamp(80px, 10vw, 150px) 0; }
.b-tutoring .bt-h1 { font-size: var(--s-h1); letter-spacing: -.04em; line-height: 1; max-width: 15ch; }
.b-tutoring .bt-h2 { font-size: var(--s-h2); letter-spacing: -.035em; max-width: 18ch; }
.b-tutoring .bt-lead { font-size: var(--s-lead); line-height: 1.45; max-width: 40ch; margin-top: 22px; }
.b-tutoring .bt-fine { font-size: var(--s-small); color: var(--slate); max-width: 72ch; margin-top: 20px; }
.b-tutoring [hidden] { display: none !important; }
.b-tutoring .bt-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.b-tutoring .bt-mark { flex: none; }
.b-tutoring .bt-sun { fill: var(--sun-k); }
.b-tutoring tbody, .b-tutoring td, .b-tutoring th { font-variant-numeric: tabular-nums; }

/* buttons: Miro's pill, black, one shape everywhere */
.b-tutoring .bt-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--ink); color: #fff;
  font: 500 17px/1.2 var(--b-t); text-decoration: none; cursor: pointer; transition: transform var(--t-press) var(--ease), background-color var(--t-hover) ease; }
.b-tutoring .bt-btn:hover { background: var(--ink-2); transform: translateY(-2px); }
.b-tutoring .bt-btn:active { transform: translateY(0) scale(.97); }
.b-tutoring .bt-btn:disabled { background: var(--line); color: var(--slate); cursor: default; transform: none; }
.b-tutoring .bt-btn--light, .b-tutoring .bt-btn--paper { background: #fff; color: var(--ink); }
.b-tutoring .bt-btn--light:hover, .b-tutoring .bt-btn--paper:hover { background: var(--y); }
.b-tutoring .bt-btn--ghost { background: var(--surf-2); color: var(--ink); }
.b-tutoring .bt-btn--ghost:hover { background: var(--y); }
.b-tutoring .bt-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; text-decoration: underline; transition: color var(--t-hover) ease; }
.b-tutoring .bt-link:hover { color: var(--moss); }
.b-tutoring .bt-link--on { color: #fff; } .b-tutoring .bt-link--on:hover { color: var(--sun); }

/* banner + header */
.b-tutoring .bt-banner { background: var(--sun); color: var(--ink); text-align: center; font-size: var(--s-small); font-weight: 500; padding: 10px var(--gut); }
.b-tutoring .bt-banner a { font-weight: 600; }
.b-tutoring .bt-top { position: sticky; top: 0; z-index: 30; background: #fff; }
.b-tutoring .bt-top__in { max-width: var(--max); margin: 0 auto; padding: 12px var(--gut); display: flex; align-items: center; gap: 32px; min-height: 76px; }
.b-tutoring .bt-top__logo { font-size: 22px; text-decoration: none; display: inline-flex; min-height: 44px; align-items: center; }
.b-tutoring .bt-top__nav { display: flex; gap: 6px; margin-left: auto; }
.b-tutoring .bt-top__nav a { font-size: 17px; font-weight: 500; text-decoration: none; padding: 10px 14px; border-radius: 999px; transition: background-color var(--t-hover) ease; }
.b-tutoring .bt-top__nav a:hover { background: var(--surf); }
.b-tutoring .bt-top__nav a[aria-current] { background: var(--surf-2); }
.b-tutoring .bt-top__act { min-height: 46px; font-size: 17px; padding: 0 22px; }
.b-tutoring .bt-menu { display: none; position: relative; margin-left: auto; }
.b-tutoring .bt-menu summary { list-style: none; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; padding: 0 20px; border-radius: 999px; background: var(--surf-2); font-weight: 500; }
.b-tutoring .bt-menu summary::-webkit-details-marker { display: none; }
.b-tutoring .bt-menu nav { position: absolute; right: 0; top: calc(100% + 8px); width: min(300px, 86vw); background: #fff; border-radius: 20px; padding: 12px; display: grid; gap: 2px; box-shadow: 0 16px 48px -8px rgba(28, 28, 30, .22); } /* taste-skill-ignore: dropdown menu floats */
.b-tutoring .bt-menu nav a { padding: 12px 14px; border-radius: 12px; text-decoration: none; font-weight: 500; }
.b-tutoring .bt-menu nav a:not(.bt-btn):hover { background: var(--surf); }
.b-tutoring .bt-menu nav .bt-btn { margin-top: 6px; color: #fff; }
@media (max-width: 1080px) { .b-tutoring .bt-top__nav, .b-tutoring .bt-top__act { display: none; } .b-tutoring .bt-menu { display: block; } }

/* hero: the headline, then the photograph with the forecast pinned to it */
.b-tutoring .bt-hero { padding: clamp(36px, 5vw, 72px) 0 clamp(64px, 8vw, 120px); }
.b-tutoring .bt-hero__h { font-size: var(--s-hero); letter-spacing: -.045em; line-height: .98; max-width: none; animation: bt-rise .9s var(--ease) both; }
.b-tutoring .bt-hero__side { display: grid; grid-template-columns: minmax(0, 46ch) auto; justify-content: space-between; align-items: end; gap: 24px 48px; margin-top: clamp(22px, 2.4vw, 36px); animation: bt-rise .9s var(--ease) .12s both; }
.b-tutoring .bt-hero__sub { font-size: var(--s-lead); line-height: 1.45; }
.b-tutoring .bt-hero__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 28px; }
.b-tutoring .bt-hero__side .bt-hero__acts { margin-top: 0; }
.b-tutoring .bt-hero__media { position: relative; margin-top: clamp(28px, 3.4vw, 52px); animation: bt-rise 1s var(--ease) .22s both; }
.b-tutoring .bt-fade { position: relative; aspect-ratio: 21 / 9; border-radius: var(--rad); overflow: hidden; background: var(--m); }
.b-tutoring .bt-fade img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.6s ease; transform: scale(1.04); }
.b-tutoring .bt-fade img.is-on { opacity: 1; animation: bt-drift 14s linear both; }
.b-tutoring .bt-hero__media .bt-outlook { position: absolute; right: 24px; bottom: 24px; width: min(440px, 40%); }

/* the outlook card (score forecast) */
.b-tutoring .bt-outlook { background: #fff; border-radius: 20px; padding: 22px 22px 18px; }
.b-tutoring .bt-outlook__top { display: flex; justify-content: space-between; gap: 12px; font-size: var(--s-small); }
.b-tutoring .bt-outlook__t { font-weight: 600; }
.b-tutoring .bt-outlook__w { color: var(--slate); text-align: right; }
.b-tutoring .bt-outlook__range { display: flex; align-items: baseline; gap: 12px; margin-top: 10px; font-variant-numeric: tabular-nums; }
.b-tutoring .bt-outlook__range b { font-size: clamp(40px, 1rem + 2.6vw, 54px); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.b-tutoring .bt-outlook__range span { color: var(--slate); }
.b-tutoring .bt-outlook__sub { font-size: var(--s-small); color: var(--slate); margin: 10px 0 14px; }
.b-tutoring .bt-outlook .bt-strip { grid-template-columns: repeat(4, 1fr); }
.b-tutoring .bt-scale { position: relative; height: 12px; border-radius: 99px; background: var(--surf-2); margin-top: 14px; }
.b-tutoring .bt-scale__band { position: absolute; top: 0; bottom: 0; border-radius: 99px; background: var(--moss); transition: left var(--t-ui) var(--ease), width var(--t-ui) var(--ease); }
.b-tutoring .bt-scale__goal { position: absolute; top: -5px; width: 4px; height: 22px; margin-left: -2px; border-radius: 2px; background: var(--ink); transition: left var(--t-ui) var(--ease); }

/* week strip, like a 10-day outlook */
.b-tutoring .bt-strip { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 6px; }
.b-tutoring .bt-wk { position: relative; display: grid; gap: 2px; padding: 10px 10px 9px; border-radius: 12px; background: var(--m); min-height: 82px; align-content: start; }
.b-tutoring .bt-wk__d { font-size: 14px; color: var(--slate); font-variant-numeric: tabular-nums; }
.b-tutoring .bt-wk__l { font-size: 14px; font-weight: 600; line-height: 1.2; }
.b-tutoring .bt-wk__h { font-size: 14px; margin-top: auto; }
.b-tutoring .bt-wk__flag { display: block; margin-top: 6px; font-style: normal; font-size: 14px; font-weight: 600; background: var(--ink); color: #fff; border-radius: 8px; padding: 2px 6px; line-height: 1.3; text-align: center; }
.b-tutoring .bt-wk--m, .b-tutoring .bt-legend .bt-wk--m { background: var(--t); }
.b-tutoring .bt-wk--rw, .b-tutoring .bt-legend .bt-wk--rw { background: var(--c); }
.b-tutoring .bt-wk--test, .b-tutoring .bt-legend .bt-wk--test { background: var(--y); }
.b-tutoring .bt-wk--rest, .b-tutoring .bt-legend .bt-wk--rest { background: var(--m); }
.b-tutoring .bt-wk--go { background: var(--r); }
.b-tutoring .bt-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 18px; font-size: var(--s-small); color: var(--slate); }
.b-tutoring .bt-legend span { display: inline-flex; align-items: center; gap: 8px; }
.b-tutoring .bt-legend i { width: 14px; height: 14px; border-radius: 4px; }

/* statement on a sticky-yellow field */
.b-tutoring .bt-state { background: var(--y); padding: clamp(96px, 12vw, 170px) 0; overflow: hidden; }
.b-tutoring .bt-state__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; }
.b-tutoring .bt-state__p { font-size: clamp(22px, 1rem + 1.4vw, 36px); font-weight: 500; letter-spacing: -.025em; line-height: 1.22; max-width: 42ch; }
.b-tutoring .bt-chip-pic { display: block; width: clamp(120px, 13vw, 190px); transform: rotate(4deg); border-radius: 18px; overflow: hidden; transition: transform .6s var(--ease); }
.b-tutoring .bt-chip-pic:hover { transform: rotate(0deg) scale(1.03); }

/* diagnostic section */
.b-tutoring .bt-dxsec__in, .b-tutoring .bt-dtop__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.b-tutoring .bt-dxsec__h, .b-tutoring .bt-dtop__h { position: sticky; top: 110px; display: grid; gap: 18px; }
.b-tutoring .bt-dxsec__h p, .b-tutoring .bt-dtop__h p { max-width: 44ch; }
.b-tutoring .bt-dxsec__h .bt-h2 { margin-bottom: 6px; }
.b-tutoring .bt-dtop { padding: clamp(40px, 6vw, 90px) 0 clamp(80px, 10vw, 140px); }
.b-tutoring .bt-dtop__h .bt-lead { margin-top: 0; }

/* ---------- the diagnostic tool ---------- */
.b-tutoring .bt-dx { font-family: var(--b-t); color: var(--ink); }
.b-tutoring .bt-dx__card { background: var(--surf); border-radius: var(--rad); padding: clamp(18px, 3vw, 36px); }
.b-tutoring .bt-dx__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: var(--s-small); }
.b-tutoring .bt-dx__name { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; }
.b-tutoring .bt-dx__meta { color: var(--slate); font-variant-numeric: tabular-nums; text-align: right; }
.b-tutoring .bt-dx__prog { height: 8px; border-radius: 99px; background: var(--surf-2); margin: 16px 0 26px; overflow: hidden; }
.b-tutoring .bt-dx__prog span { display: block; height: 100%; width: 0; background: var(--moss); border-radius: 99px; transition: width var(--t-ui) var(--ease); }
.b-tutoring .bt-dx__stage { min-height: 420px; }
.b-tutoring .bt-dx__stage > * + * { margin-top: 18px; }
.b-tutoring .bt-dx__stage.is-in > * { animation: bt-rise .5s var(--ease) both; }
.b-tutoring .bt-dx__stage.is-in > *:nth-child(2) { animation-delay: 50ms; } .b-tutoring .bt-dx__stage.is-in > *:nth-child(3) { animation-delay: 100ms; } .b-tutoring .bt-dx__stage.is-in > *:nth-child(n+4) { animation-delay: 150ms; }
.b-tutoring .bt-dx__h { font-size: var(--s-h3); letter-spacing: -.03em; }
.b-tutoring .bt-dx__h:focus { outline: none; }
.b-tutoring .bt-dx__p { max-width: 52ch; }
.b-tutoring .bt-dx__fb { padding-left: 1.2em; font-size: var(--s-small); color: var(--slate); display: grid; gap: 4px; }
.b-tutoring .bt-dx__nojs { font-weight: 500; }
.b-tutoring .js-dx .bt-dx__fb, .b-tutoring .js-dx .bt-dx__nojs { display: none; }
.b-tutoring .bt-dx__type { font-size: var(--s-small); color: var(--slate); }
.b-tutoring .bt-dx__type b { color: var(--ink); font-weight: 600; }
.b-tutoring .bt-dx__pass { background: #fff; border-radius: 16px; padding: 18px 20px; font-size: 17px; line-height: 1.6; }
.b-tutoring .bt-dx__q { font-weight: 500; font-size: 17px; line-height: 1.45; }
.b-tutoring .bt-opts { display: grid; gap: 8px; }
.b-tutoring .bt-opt { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 56px; padding: 10px 16px; border: 0; border-radius: 16px; background: #fff; color: var(--ink); font: 400 17px/1.35 var(--b-t);
  text-align: left; cursor: pointer; transition: background-color var(--t-hover) ease, transform var(--t-press) var(--ease); }
.b-tutoring .bt-opt:hover { background: var(--y); }
.b-tutoring .bt-opt:active { transform: scale(.985); }
.b-tutoring .bt-opt i { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--surf-2); font-style: normal; font-weight: 600; font-size: 14px; }
.b-tutoring .bt-opt[aria-pressed="true"] { background: var(--ink); color: #fff; }
.b-tutoring .bt-opt[aria-pressed="true"] i { background: var(--sun); color: var(--ink); }
.b-tutoring .bt-dx__nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.b-tutoring .bt-back { background: none; border: 0; font: 500 17px var(--b-t); color: var(--ink); text-decoration: underline; text-underline-offset: .22em; min-height: 44px; cursor: pointer; padding: 0; }
.b-tutoring .bt-back:hover { color: var(--moss); }

/* chips (setup, planner, match) */
.b-tutoring .bt-field { display: grid; gap: 10px; }
.b-tutoring .bt-field__l { font-size: 14px; font-weight: 600; }
.b-tutoring .bt-field__l span { font-weight: 400; color: var(--slate); }
.b-tutoring .bt-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.b-tutoring .bt-chips > span { font-size: var(--s-small); color: var(--slate); }
.b-tutoring .bt-chip { min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--surf-2); color: var(--ink); font: 500 17px var(--b-t); cursor: pointer; font-variant-numeric: tabular-nums;
  transition: background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease); }
.b-tutoring .bt-dx .bt-chip, .b-tutoring .bt-plan__ctl .bt-chip { background: #fff; }
.b-tutoring .bt-chip:hover { background: var(--y); }
.b-tutoring .bt-chip:active { transform: scale(.96); }
.b-tutoring .bt-chip[aria-pressed="true"] { background: var(--ink); color: #fff; }
.b-tutoring .bt-num { width: 140px; min-height: 48px; border: 1.5px solid var(--line); border-radius: 12px; padding: 0 14px; font: 500 17px var(--b-t); background: #fff; color: var(--ink); }

/* report */
.b-tutoring .bt-rep__range { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; font-variant-numeric: tabular-nums; }
.b-tutoring .bt-rep__range b { font-size: var(--s-h2); font-weight: 500; letter-spacing: -.045em; line-height: .95; }
.b-tutoring .bt-rep__range span { font-size: 17px; color: var(--slate); }
.b-tutoring .bt-rep__secs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.b-tutoring .bt-rep__sec { background: #fff; border-radius: 16px; padding: 16px 18px; display: grid; gap: 6px; }
.b-tutoring .bt-rep__sec b { font-size: 22px; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.b-tutoring .bt-rep__sec span { font-size: var(--s-small); color: var(--slate); }
.b-tutoring .bt-rep__pkg { background: var(--y); border-radius: 18px; padding: 20px; display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; align-items: baseline; }
.b-tutoring .bt-rep__pkg h4 { margin: 0; font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
.b-tutoring .bt-rep__pkg .bt-rep__price { font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.b-tutoring .bt-rep__pkg p { grid-column: 1 / -1; }
.b-tutoring .bt-rep__warn { background: var(--c); border-radius: 14px; padding: 12px 16px; font-size: 14px; }
.b-tutoring .bt-rep__h { font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
.b-tutoring .bt-rep__fine { font-size: var(--s-small); color: var(--slate); }
.b-tutoring .bt-rep__book { background: #fff; border-radius: 18px; padding: clamp(16px, 2.4vw, 24px); display: grid; gap: 14px; }
.b-tutoring .bt-rep__book .bt-f input { background: var(--surf); }
.b-tutoring .bt-rep__book .bt-chip { background: var(--surf-2); } .b-tutoring .bt-rep__book .bt-chip[aria-pressed="true"] { background: var(--ink); }

/* forms */
.b-tutoring .bt-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.b-tutoring .bt-f { display: grid; gap: 6px; font-size: 14px; font-weight: 500; min-width: 0; border: 0; padding: 0; margin: 0; }
.b-tutoring .bt-f legend { padding: 0; margin-bottom: 8px; }
.b-tutoring .bt-f--slots, .b-tutoring .bt-form .bt-chk, .b-tutoring .bt-form .bt-btn, .b-tutoring .bt-form__err { grid-column: 1 / -1; }
.b-tutoring .bt-form .bt-btn { justify-self: start; }
.b-tutoring .bt-f input, .b-tutoring .bt-f select { width: 100%; min-height: 50px; border: 1.5px solid var(--line); border-radius: 12px; padding: 0 14px; font: 400 17px var(--b-t); color: var(--ink); background: #fff; transition: border-color var(--t-hover) ease; }
.b-tutoring .bt-f input:hover, .b-tutoring .bt-f select:hover { border-color: #b9bdc8; }
.b-tutoring .bt-f input:focus, .b-tutoring .bt-f select:focus { border-color: var(--moss); outline: 2px solid var(--moss); outline-offset: 0; }
.b-tutoring .bt-f input[aria-invalid="true"], .b-tutoring .bt-chk input[aria-invalid="true"] + span { border-color: #b3261e; color: inherit; }
.b-tutoring .bt-chk { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.45; cursor: pointer; min-height: 44px; }
.b-tutoring .bt-chk input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--ink); }
.b-tutoring .bt-checks { display: grid; gap: 4px; }
.b-tutoring .bt-form__err { color: #b3261e; font-weight: 500; font-size: 14px; }
.b-tutoring .bt-done { background: var(--t); border-radius: 18px; padding: 22px; display: grid; gap: 10px; }
.b-tutoring .bt-done h3 { font-size: 22px; }
.b-tutoring .bt-done ol { padding-left: 1.2em; display: grid; gap: 4px; }
.b-tutoring .bt-consult { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); background: var(--surf); border-radius: var(--rad); padding: clamp(24px, 4vw, 56px); }
.b-tutoring .bt-consult__h { display: grid; gap: 16px; align-content: start; }
.b-tutoring .bt-how__pics { display: grid; grid-template-columns: 4fr 6fr 4fr; gap: 8px; align-items: end; }
.b-tutoring .bt-how__pics figure { margin: 0; border-radius: var(--rad); overflow: hidden; background: var(--m); aspect-ratio: 4 / 5; }
.b-tutoring .bt-how__pics figure:nth-child(2) { aspect-ratio: 3 / 2; }
.b-tutoring .bt-how__pics img { height: 100%; object-fit: cover; }
.b-tutoring .bt-consult__img { margin: 8px 0 0; border-radius: 18px; overflow: hidden; aspect-ratio: 3 / 2; }
.b-tutoring .bt-consult__fine { font-size: var(--s-small); color: var(--slate); }
.b-tutoring .bt-cbox { padding-top: 0; }

/* two kinds of help: two fields that meet with no gap */
.b-tutoring .bt-two { display: grid; grid-template-columns: 1fr 1fr; }
.b-tutoring .bt-two__p { position: relative; display: flex; flex-direction: column; gap: 24px; min-height: clamp(560px, 86svh, 880px); padding: clamp(24px, 3vw, 40px); overflow: hidden; }
.b-tutoring .bt-two__p--t { background: var(--t); } .b-tutoring .bt-two__p--c { background: var(--c); }
.b-tutoring .bt-two__p--y { background: var(--y); } .b-tutoring .bt-two__p--m { background: var(--m); }
.b-tutoring .bt-two__img { flex: 1; min-height: 300px; margin: 0; border-radius: var(--rad); overflow: hidden; }
.b-tutoring .bt-two__img img { height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.b-tutoring .bt-two__p:hover .bt-two__img img { transform: scale(1.035); }
.b-tutoring .bt-two__row { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; }
.b-tutoring .bt-two__row p { display: grid; gap: 2px; }
.b-tutoring .bt-two__row b { font-size: 22px; font-weight: 500; letter-spacing: -.02em; }
.b-tutoring .bt-two__acts { display: flex; gap: 8px; flex-wrap: wrap; }

/* the forecast board */
.b-tutoring .bt-fc .bt-wrap { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.b-tutoring .bt-fc__h { display: grid; gap: 20px; justify-items: start; }
.b-tutoring .bt-fc__board { background: var(--surf); border-radius: var(--rad); padding: clamp(18px, 3vw, 36px); }
.b-tutoring .bt-plan__start { font-size: var(--s-h3); letter-spacing: -.02em; margin-bottom: 18px; }
.b-tutoring .bt-plan__start b { font-weight: 600; }

/* stepped figure tiles */
.b-tutoring .bt-figs__in { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 8px; }
.b-tutoring .bt-fig { border-radius: var(--rad); padding: clamp(22px, 2.4vw, 32px); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.b-tutoring .bt-fig--a { grid-column: 1 / 7; grid-row: 1 / 3; min-height: clamp(420px, 66vh, 640px); background: var(--t); }
.b-tutoring .bt-figs__h { grid-column: 7 / 13; grid-row: 1; align-self: end; padding: 0 0 18px 24px; }
.b-tutoring .bt-fig--b { grid-column: 7 / 10; grid-row: 2; min-height: clamp(300px, 44vh, 440px); background: var(--ink); color: #fff; }
.b-tutoring .bt-fig--c { grid-column: 10 / 13; grid-row: 2; min-height: clamp(240px, 34vh, 340px); margin-top: clamp(40px, 10vh, 110px); background: var(--y); }
.b-tutoring .bt-fig__n { font-size: var(--s-hero); font-weight: 500; letter-spacing: -.05em; line-height: .95; font-variant-numeric: tabular-nums; }
.b-tutoring .bt-fig--b .bt-fig__n, .b-tutoring .bt-fig--c .bt-fig__n { font-size: var(--s-h2); }
.b-tutoring .bt-fig__c { max-width: 34ch; }

/* about: the story with sticky-note highlights */
.b-tutoring .bt-about { background: var(--surf); }
.b-tutoring .bt-about__p { columns: 2; column-gap: 40px; font-size: clamp(20px, 1rem + .9vw, 29px); line-height: 1.32; letter-spacing: -.015em; text-align: justify; hyphens: auto; color: var(--ink-2); }
.b-tutoring .bt-about__p > b { font-weight: 600; color: var(--ink); }
.b-tutoring .bt-hl { color: var(--ink); padding: 0 .1em; border-radius: 4px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.b-tutoring .bt-hl--y { background: var(--y); } .b-tutoring .bt-hl--t { background: var(--t); } .b-tutoring .bt-hl--c { background: var(--c); } .b-tutoring .bt-hl--r { background: var(--r); }
.b-tutoring .bt-hl--k { background: var(--ink); color: #fff; }
.b-tutoring .bt-about__go { text-decoration: none; display: inline; transition: opacity var(--t-hover) ease; }
.b-tutoring .bt-about__go:hover .bt-hl--k { background: var(--moss); }

/* pricing table */
.b-tutoring .bt-price__h { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 20px 48px; align-items: end; margin-bottom: clamp(28px, 4vw, 52px); }
.b-tutoring .bt-price--full .bt-h2 { margin-bottom: 32px; }
.b-tutoring .bt-table { background: #fff; border-radius: var(--rad); overflow-x: auto; }
.b-tutoring .bt-price .bt-table { background: var(--surf); }
.b-tutoring .bt-table table { width: 100%; border-collapse: collapse; font-size: 17px; }
.b-tutoring .bt-table caption { text-align: left; font-weight: 600; font-size: 22px; padding: 22px 22px 6px; }
.b-tutoring .bt-table th, .b-tutoring .bt-table td { text-align: left; padding: 16px 22px; border-bottom: 1px solid var(--line); vertical-align: top; }
.b-tutoring .bt-table tbody tr:last-child > * { border-bottom: 0; }
.b-tutoring .bt-table thead th { font-size: 22px; font-weight: 500; letter-spacing: -.02em; padding-top: 24px; }
.b-tutoring .bt-table tbody th { font-weight: 500; width: 30%; }
.b-tutoring .bt-table .is-pick { background: var(--y); }
.b-tutoring .bt-table--dates { background: var(--surf); }

/* FAQ: index cards with stepped tabs */
.b-tutoring .bt-faq__in { display: grid; gap: clamp(32px, 4vw, 56px); }
.b-tutoring .bt-cards { max-width: 980px; margin-left: auto; width: 100%; padding-top: 44px; }
.b-tutoring .bt-card { position: relative; border-radius: 0 var(--rad) var(--rad) var(--rad); margin-top: -18px; z-index: var(--i); }
.b-tutoring .bt-card + .bt-card { margin-top: 30px; }
.b-tutoring .bt-card { background: var(--tone); } .b-tutoring .bt-card--0 { --tone: var(--y); } .b-tutoring .bt-card--1 { --tone: var(--t); } .b-tutoring .bt-card--2 { --tone: var(--c); } .b-tutoring .bt-card--3 { --tone: var(--r); }
.b-tutoring .bt-card summary { list-style: none; cursor: pointer; padding: 22px 28px 26px; display: block; }
.b-tutoring .bt-card summary::-webkit-details-marker { display: none; }
.b-tutoring .bt-card__tab { position: absolute; top: -40px; left: calc(var(--i) * min(120px, 11vw)); height: 42px; min-width: 150px; padding: 0 20px; display: flex; align-items: center; border-radius: 16px 16px 0 0; background: var(--tone); font-size: 14px; font-weight: 600; }
.b-tutoring .bt-card__q { font-size: var(--s-h3); font-weight: 500; letter-spacing: -.015em; display: flex; justify-content: space-between; gap: 16px; }
.b-tutoring .bt-card__q::after { content: "+"; font-weight: 400; font-size: 22px; line-height: 1; transition: transform var(--t-ui) var(--ease); }
.b-tutoring .bt-card[open] .bt-card__q::after { transform: rotate(45deg); }
.b-tutoring .bt-card summary:hover .bt-card__q { color: var(--moss-k); }
.b-tutoring .bt-card > p { padding: 0 28px 34px; max-width: 62ch; animation: bt-rise .45s var(--ease) both; }

/* CTA band */
.b-tutoring .bt-cta { padding-top: 0; }
.b-tutoring .bt-cta__in { background: var(--ink); color: #fff; border-radius: 32px; padding: clamp(36px, 6vw, 88px); display: grid; gap: 20px; justify-items: start; }
.b-tutoring .bt-cta__in .bt-h2 { color: #fff; }
.b-tutoring .bt-cta__in p { font-size: var(--s-lead); max-width: 46ch; color: #e8e9ee; }
.b-tutoring .bt-cta__row { display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; margin-top: 8px; }

/* footer: dark, the name at full width */
.b-tutoring .bt-foot { background: var(--ink); color: #e8e9ee; padding: clamp(64px, 8vw, 110px) 0 28px; }
.b-tutoring .bt-foot__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.b-tutoring .bt-foot__cols > div { display: grid; gap: 12px; align-content: start; font-size: 17px; }
.b-tutoring .bt-foot__h { font-size: 17px; font-weight: 600; color: #fff; letter-spacing: 0; }
.b-tutoring .bt-foot a { color: #fff; }
.b-tutoring .bt-foot a:hover { color: var(--sun); }
.b-tutoring .bt-foot__links { display: grid; gap: 2px; }
.b-tutoring .bt-foot__links a { text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.b-tutoring .bt-foot__name { display: flex; align-items: center; gap: .18em; margin: clamp(48px, 7vw, 100px) 0 clamp(24px, 3vw, 40px); font-size: clamp(64px, 15.4vw, 214px); font-weight: 600; letter-spacing: -.06em; line-height: .9; color: #fff; }
.b-tutoring .bt-foot__name .bt-mark { width: 1.1em; height: .74em; }
.b-tutoring .bt-foot__fine { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; font-size: var(--s-small); color: #c4c7d0; }

/* inner page tops */
.b-tutoring .bt-ptop { padding: clamp(40px, 6vw, 96px) 0 clamp(64px, 8vw, 120px); }
.b-tutoring .bt-ptop__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.b-tutoring .bt-ptop__in > div > *, .b-tutoring .bt-ptop--plain .bt-wrap > * { animation: bt-rise .8s var(--ease) both; }
.b-tutoring .bt-ptop__in > div > :nth-child(2), .b-tutoring .bt-ptop--plain .bt-wrap > :nth-child(2) { animation-delay: .08s; }
.b-tutoring .bt-ptop__in > div > :nth-child(3), .b-tutoring .bt-ptop--plain .bt-wrap > :nth-child(3) { animation-delay: .16s; }
.b-tutoring .bt-ptop__img { margin: 0; border-radius: var(--rad); overflow: hidden; aspect-ratio: 4 / 5; background: var(--m); animation: bt-rise 1s var(--ease) .2s both; }
.b-tutoring .bt-ptop__img img { height: 100%; object-fit: cover; }
.b-tutoring .bt-ptop--plain .bt-h1 { max-width: 18ch; }
.b-tutoring .bt-ptop--plain .bt-lead { max-width: 52ch; }

/* planner */
.b-tutoring .bt-planner { background: var(--surf); }
.b-tutoring .bt-planner__h { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: end; margin-bottom: clamp(28px, 4vw, 52px); }
.b-tutoring .bt-plan { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.b-tutoring .bt-plan__ctl { display: grid; gap: 24px; }
.b-tutoring .bt-plan__out { background: #fff; border-radius: var(--rad); padding: clamp(18px, 3vw, 36px); }
.b-tutoring .bt-plan__note { color: var(--slate); margin: -8px 0 18px; }
.b-tutoring .bt-plan__note.is-warn { color: var(--ink); background: var(--c); border-radius: 12px; padding: 10px 14px; margin-top: 0; }

/* comparison */
.b-tutoring .bt-cmp__in { display: grid; gap: clamp(28px, 4vw, 52px); }
.b-tutoring .bt-cmp__h { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: end; }
.b-tutoring .bt-cmp .bt-table { background: var(--surf); }
.b-tutoring .bt-dates { padding-top: 0; }
.b-tutoring .bt-dates__in { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.b-tutoring .bt-tm { padding: 0 0 clamp(40px, 5vw, 64px); }
.b-tutoring .bt-tm .bt-fine { margin: 0; }

/* grade bands */
.b-tutoring .bt-grades { padding-top: 0; }
.b-tutoring .bt-grades .bt-wrap { display: grid; gap: 16px; }
.b-tutoring .bt-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: center; border-radius: var(--rad); padding: clamp(18px, 2.4vw, 32px); }
.b-tutoring .bt-grade--t { background: var(--t); } .b-tutoring .bt-grade--c { background: var(--c); } .b-tutoring .bt-grade--y { background: var(--y); }
.b-tutoring .bt-grade--flip figure { order: 2; }
.b-tutoring .bt-grade figure { margin: 0; border-radius: 18px; overflow: hidden; aspect-ratio: 5 / 4; }
.b-tutoring .bt-grade figure img { height: 100%; object-fit: cover; }
.b-tutoring .bt-grade__t { display: grid; gap: 4px; padding: 8px 0; }
.b-tutoring .bt-grade ul, .b-tutoring .bt-list { list-style: none; padding: 0; display: grid; gap: 12px; margin-top: 22px; }
.b-tutoring .bt-grade li, .b-tutoring .bt-list li { position: relative; padding-left: 26px; max-width: 58ch; }
.b-tutoring .bt-grade li::before, .b-tutoring .bt-list li::before { content: ""; position: absolute; left: 0; top: .5em; width: 12px; height: 12px; border-radius: 50%; background: var(--moss); }
.b-tutoring .bt-grade__who { margin-top: 18px; font-weight: 500; }

/* progress note as a sticky note */
.b-tutoring .bt-note__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.b-tutoring .bt-note__in > div:first-child { display: grid; gap: 18px; }
.b-tutoring .bt-pnote { background: var(--y); border-radius: 6px 6px 28px 6px; padding: clamp(24px, 3vw, 40px); display: grid; gap: 12px; transform: rotate(-1.5deg); transition: transform .5s var(--ease); max-width: 560px; }
.b-tutoring .bt-pnote:hover { transform: rotate(0); }
.b-tutoring .bt-pnote__top { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 22px; }
.b-tutoring .bt-pnote__top b { font-weight: 600; } .b-tutoring .bt-pnote__top span { font-size: var(--s-small); color: var(--slate); align-self: center; }
.b-tutoring .bt-pnote b { font-weight: 600; }

/* tutor match */
.b-tutoring .bt-matchsec { background: var(--surf); }
.b-tutoring .bt-matchsec__h { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: end; margin-bottom: clamp(28px, 4vw, 52px); }
.b-tutoring .bt-match { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.b-tutoring .bt-match__ctl { display: grid; gap: 22px; }
.b-tutoring .bt-match__ctl .bt-chip { background: #fff; }
.b-tutoring .bt-match__ctl .bt-chip[aria-pressed="true"] { background: var(--ink); }
.b-tutoring .bt-match__out { position: sticky; top: 110px; background: var(--ink); color: #fff; border-radius: var(--rad); padding: clamp(22px, 3vw, 36px); display: grid; gap: 12px; justify-items: start; }
.b-tutoring .bt-match__k { font-size: 14px; color: var(--sun); font-weight: 600; }
.b-tutoring .bt-match__n { font-size: clamp(28px, 2.5vw, 36px); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.b-tutoring .bt-match__out .bt-tutor__o { color: #c4c7d0; }
.b-tutoring .bt-match__why { list-style: none; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.b-tutoring .bt-match__why li::before { content: "\2713\00a0\00a0"; color: var(--sun); }
.b-tutoring .bt-match__alt { font-size: var(--s-small); color: #c4c7d0; }
.b-tutoring .bt-match__out.is-in > * { animation: bt-rise .45s var(--ease) both; }

/* tutors */
.b-tutoring .bt-tutors { padding-top: 0; }
.b-tutoring .bt-tutors__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.b-tutoring .bt-tutor { border-radius: var(--rad); padding: clamp(22px, 2.4vw, 32px); display: grid; gap: 10px; transition: transform .4s var(--ease); }
.b-tutoring .bt-tutor:nth-child(3n+2) { margin-top: 48px; } .b-tutoring .bt-tutor:nth-child(3n) { margin-top: 96px; }
.b-tutoring .bt-tutor:hover { transform: translateY(-4px) rotate(-.5deg); }
.b-tutoring .bt-tutor--0 { background: var(--y); } .b-tutoring .bt-tutor--1 { background: var(--t); } .b-tutoring .bt-tutor--2 { background: var(--c); } .b-tutoring .bt-tutor--3 { background: var(--r); }
.b-tutoring .bt-tutor__score { display: grid; margin-bottom: 26px; }
.b-tutoring .bt-tutor__score b { font-size: var(--s-h2); font-weight: 500; letter-spacing: -.05em; line-height: .95; font-variant-numeric: tabular-nums; }
.b-tutoring .bt-tutor__score span { font-size: 14px; font-weight: 500; }
.b-tutoring .bt-tutor h3 { font-size: var(--s-h3); }
.b-tutoring .bt-tutor__r { font-weight: 500; font-size: 14px; }
.b-tutoring .bt-tutor__o { font-size: var(--s-small); color: var(--slate); }

/* steps board, policy board, counselor offers: stickies on a board */
.b-tutoring .bt-steps { background: var(--surf); }
.b-tutoring .bt-steps__ol, .b-tutoring .bt-offers__ol, .b-tutoring .bt-pols__grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.b-tutoring .bt-step, .b-tutoring .bt-offer, .b-tutoring .bt-pol { border-radius: 6px 6px var(--rad) 6px; padding: clamp(22px, 2.4vw, 32px); display: grid; gap: 10px; align-content: start; min-height: 260px; transition: transform .4s var(--ease); }
.b-tutoring .bt-step:nth-child(odd), .b-tutoring .bt-offer:nth-child(odd), .b-tutoring .bt-pol:nth-child(odd) { transform: rotate(-1deg); }
.b-tutoring .bt-step:nth-child(even), .b-tutoring .bt-offer:nth-child(even), .b-tutoring .bt-pol:nth-child(even) { transform: rotate(.8deg) translateY(22px); }
.b-tutoring .bt-step:hover, .b-tutoring .bt-offer:hover, .b-tutoring .bt-pol:hover { transform: rotate(0) translateY(-4px); }
.b-tutoring .bt-step--0, .b-tutoring .bt-offer--0, .b-tutoring .bt-pol--0 { background: var(--y); } .b-tutoring .bt-step--1, .b-tutoring .bt-offer--1, .b-tutoring .bt-pol--1 { background: var(--t); }
.b-tutoring .bt-step--2, .b-tutoring .bt-offer--2, .b-tutoring .bt-pol--2 { background: var(--c); } .b-tutoring .bt-step--3, .b-tutoring .bt-offer--3, .b-tutoring .bt-pol--3 { background: var(--r); }
.b-tutoring .bt-step h3, .b-tutoring .bt-offer h3, .b-tutoring .bt-pol h3 { font-size: var(--s-h3); }
.b-tutoring .bt-step__w { font-weight: 600; font-size: 14px; }
.b-tutoring .bt-pols .bt-h2, .b-tutoring .bt-offers .bt-h2 { margin-bottom: clamp(28px, 4vw, 52px); }
.b-tutoring .bt-offers__ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* chart */
.b-tutoring .bt-chart__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.b-tutoring .bt-chart__in > div { display: grid; gap: 18px; }
.b-tutoring .bt-ch { margin: 0; background: var(--surf); border-radius: var(--rad); padding: clamp(16px, 2.4vw, 32px); }
.b-tutoring .bt-ch svg { width: 100%; height: auto; overflow: visible; }
.b-tutoring .bt-ch__line { fill: none; stroke: var(--moss); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.b-tutoring .bt-ch__dot { fill: var(--moss); stroke: var(--surf); stroke-width: 4; }
.b-tutoring .bt-ch__v { font: 600 17px var(--b-t); fill: var(--ink); }
.b-tutoring .bt-ch__x { font: 400 14px var(--b-t); fill: var(--slate); }
.b-tutoring .bt-ch figcaption { font-size: var(--s-small); color: var(--slate); margin-top: 12px; }

/* safety, hiring, keep */
.b-tutoring .bt-safe__in, .b-tutoring .bt-hire__in, .b-tutoring .bt-keep__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.b-tutoring .bt-safe figure, .b-tutoring .bt-hire figure, .b-tutoring .bt-keep figure { margin: 0; border-radius: var(--rad); overflow: hidden; background: var(--m); }
.b-tutoring .bt-hire figure, .b-tutoring .bt-keep figure { aspect-ratio: 4 / 5; max-height: 640px; }
.b-tutoring .bt-hire figure img, .b-tutoring .bt-keep figure img { height: 100%; object-fit: cover; }
.b-tutoring .bt-hire p { margin-top: 20px; max-width: 52ch; }
.b-tutoring .bt-keep { background: var(--surf); }
.b-tutoring .bt-keep__in > div { order: -1; }

/* how the range works, academic list */
.b-tutoring .bt-how__in { display: grid; gap: clamp(28px, 4vw, 48px); }
.b-tutoring .bt-how__cols { columns: 3 280px; column-gap: 40px; }
.b-tutoring .bt-how__cols p { break-inside: avoid; margin-bottom: 22px; }
.b-tutoring .bt-how__cols b { display: block; font-weight: 600; margin-bottom: 4px; }
.b-tutoring .bt-acad { background: var(--surf); }
.b-tutoring .bt-acad__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.b-tutoring .bt-acad__in > div { display: grid; gap: 18px; justify-items: start; }
.b-tutoring .bt-acad__l { list-style: none; padding: 0; display: grid; gap: 8px; }
.b-tutoring .bt-acad__l li { background: #fff; border-radius: 18px; padding: 20px 24px; display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: baseline; }
.b-tutoring .bt-acad__l b { font-size: 22px; font-weight: 500; }
.b-tutoring .bt-acad__p { font-size: clamp(26px, 2.5vw, 36px); font-weight: 500; letter-spacing: -.03em; grid-row: span 2; }
.b-tutoring .bt-acad__l li > span:last-child { color: var(--slate); font-size: 14px; }

@keyframes bt-rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes bt-drift { from { transform: scale(1.04); } to { transform: scale(1.11) translateX(-1.2%); } }

/* tablet */
@media (max-width: 900px) {
  .b-tutoring .bt-hero__side { grid-template-columns: 1fr; }
  .b-tutoring .bt-fade { aspect-ratio: 4 / 3; }
  .b-tutoring .bt-hero__media .bt-outlook { position: relative; right: auto; bottom: auto; width: calc(100% - 32px); margin: -96px auto 0; }
  .b-tutoring .bt-dxsec__in, .b-tutoring .bt-dtop__in, .b-tutoring .bt-fc .bt-wrap, .b-tutoring .bt-consult, .b-tutoring .bt-plan, .b-tutoring .bt-match, .b-tutoring .bt-note__in,
  .b-tutoring .bt-chart__in, .b-tutoring .bt-safe__in, .b-tutoring .bt-hire__in, .b-tutoring .bt-keep__in, .b-tutoring .bt-acad__in, .b-tutoring .bt-ptop__in { grid-template-columns: 1fr; }
  .b-tutoring .bt-dxsec__h, .b-tutoring .bt-dtop__h, .b-tutoring .bt-match__out { position: static; }
  .b-tutoring .bt-two { grid-template-columns: 1fr; }
  .b-tutoring .bt-two__p { min-height: 78svh; }
  .b-tutoring .bt-price__h, .b-tutoring .bt-planner__h, .b-tutoring .bt-cmp__h, .b-tutoring .bt-matchsec__h { grid-template-columns: 1fr; justify-items: start; }
  .b-tutoring .bt-about__p { columns: 1; text-align: left; hyphens: manual; }
  .b-tutoring .bt-tutors__grid, .b-tutoring .bt-steps__ol, .b-tutoring .bt-pols__grid { grid-template-columns: 1fr 1fr; }
  .b-tutoring .bt-tutor:nth-child(n) { margin-top: 0; } .b-tutoring .bt-tutor:nth-child(even) { margin-top: 32px; }
  .b-tutoring .bt-foot__cols { grid-template-columns: 1fr 1fr; }
  .b-tutoring .bt-dates__in { grid-template-columns: 1fr; }
  .b-tutoring .bt-ptop__img { aspect-ratio: 3 / 2; }
  .b-tutoring .bt-grade, .b-tutoring .bt-grade--flip { grid-template-columns: 1fr; } .b-tutoring .bt-grade--flip figure { order: 0; }
}
/* phone */
@media (max-width: 600px) {
  .b-tutoring { --s-hero: 13.4vw; }
  .b-tutoring .bt-top__logo { font-size: 22px; }
  .b-tutoring .bt-hero__acts .bt-btn { width: 100%; }
  .b-tutoring .bt-fade { aspect-ratio: 4 / 5; }
  .b-tutoring .bt-hero__media .bt-outlook { width: calc(100% - 20px); margin-top: -140px; padding: 18px 16px 14px; }
  .b-tutoring .bt-outlook__top { flex-direction: column; gap: 2px; } .b-tutoring .bt-outlook__w { text-align: left; }
  .b-tutoring .bt-state__in { grid-template-columns: 1fr; gap: 32px; }
  .b-tutoring .bt-state__p { font-size: 22px; } .b-tutoring .bt-fig--a .bt-fig__n { font-size: 22vw; }
  .b-tutoring .bt-chip-pic { width: 34vw; justify-self: end; }
  .b-tutoring .bt-strip { grid-template-columns: repeat(3, 1fr); }
  .b-tutoring .bt-figs__in { grid-template-columns: 1fr 1fr; gap: 6px; }
  .b-tutoring .bt-figs__h { grid-column: 1 / -1; grid-row: 1; padding: 0 0 16px; }
  .b-tutoring .bt-fig--a { grid-column: 1 / -1; grid-row: 2; min-height: 104vw; }
  .b-tutoring .bt-fig--b { grid-column: 1; grid-row: 3; min-height: 300px; }
  .b-tutoring .bt-fig--c { grid-column: 2; grid-row: 3; min-height: 260px; margin-top: 32px; }
  .b-tutoring .bt-fig--b .bt-fig__n, .b-tutoring .bt-fig--c .bt-fig__n { font-size: 36px; }
  .b-tutoring .bt-fig__c { font-size: 14px; }
  .b-tutoring .bt-two__p { min-height: 0; } .b-tutoring .bt-two__img { flex: none; aspect-ratio: 4 / 5; }
  .b-tutoring .bt-two__acts { width: 100%; } .b-tutoring .bt-two__acts .bt-btn { flex: 1; }
  .b-tutoring .bt-card__tab { left: calc(var(--i) * 40px); min-width: 0; padding: 0 14px; font-size: 14px; }
  .b-tutoring .bt-card summary { padding: 18px 20px 22px; } .b-tutoring .bt-card > p { padding: 0 20px 28px; }
  .b-tutoring .bt-form { grid-template-columns: 1fr; }
  .b-tutoring .bt-form .bt-btn { width: 100%; }
  .b-tutoring .bt-rep__secs { grid-template-columns: 1fr 1fr; }
  .b-tutoring .bt-tutors__grid, .b-tutoring .bt-steps__ol, .b-tutoring .bt-pols__grid, .b-tutoring .bt-offers__ol { grid-template-columns: 1fr; }
  .b-tutoring .bt-tutor:nth-child(n) { margin-top: 0; }
  .b-tutoring .bt-step:nth-child(even), .b-tutoring .bt-offer:nth-child(even), .b-tutoring .bt-pol:nth-child(even) { transform: rotate(.8deg); }
  .b-tutoring .bt-step, .b-tutoring .bt-offer, .b-tutoring .bt-pol { min-height: 0; }
  .b-tutoring .bt-foot__cols, .b-tutoring .bt-foot__fine { grid-template-columns: 1fr; }
  .b-tutoring .bt-table th, .b-tutoring .bt-table td { padding: 12px 14px; font-size: 14px; }
  .b-tutoring .bt-table thead th { font-size: 17px; } .b-tutoring .bt-table table { min-width: 560px; }
  .b-tutoring .bt-cta__row .bt-btn { width: 100%; }
  .b-tutoring .bt-acad__l li { grid-template-columns: 1fr; } .b-tutoring .bt-acad__p { grid-row: auto; }
  .b-tutoring .bt-pnote { transform: rotate(-1deg); }
  .b-tutoring .bt-how__pics { grid-template-columns: 1fr 1fr; } .b-tutoring .bt-how__pics figure:nth-child(2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .b-tutoring *, .b-tutoring *::before, .b-tutoring *::after { animation: none !important; transition-duration: .01ms !important; }
  .b-tutoring .bt-fade img { transform: none; }
}
