:root{
  --ink:#0B163F;
  --ink-2:#17285F;
  --muted:#66708f;
  --line:#dfe3f1;
  --soft:#f7f8fc;
  --paper:#fffdf9;
  --primary:#2457F5;
  --primary-dark:#1744D2;
  --primary-soft:#EEF3FF;
  --coral:#FF8A34;
  --coral-soft:#FFF1E6;
  --sky:#AFC6FF;
  --yellow:#FFC857;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Roboto",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4,.display{font-family:"Roboto",ui-sans-serif,system-ui,sans-serif;letter-spacing:-.035em}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
::selection{background:#DDE6FF;color:#0B163F}
.site-shell{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}
@media(min-width:768px){.site-shell{padding-left:30px;padding-right:30px}}
@media(min-width:1280px){.site-shell{padding-left:0;padding-right:0}}
.hairline{border-color:var(--line)}
.eyebrow{font-size:.74rem;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:var(--primary)}
.nav-link{position:relative;color:#4d5777;font-size:.9rem;font-weight:800}
.nav-link:hover,.nav-link[aria-current="page"]{color:var(--ink)}
.nav-link[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-19px;height:2px;background:var(--primary)}
.btn-primary,.btn-dark,.btn-outline,.btn-coral{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.72rem 1.05rem;border-radius:12px;font-weight:900;border:1px solid transparent;transition:.18s ease}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-dark:hover{background:var(--ink-2);border-color:var(--ink-2);transform:translateY(-1px)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-outline:hover{border-color:#b8bfd4;background:#fbfbfe}
.btn-coral{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn-coral:hover{background:#F17626;border-color:#F17626;transform:translateY(-1px)}
.card{border:1px solid var(--line);border-radius:20px;background:#fff}
.card-hover{transition:border-color .18s ease,transform .18s ease,background .18s ease}
.card-hover:hover{border-color:#BCCAF2;transform:translateY(-2px)}
.soft-panel{border:1px solid #e8eaf4;border-radius:24px;background:var(--soft)}
.pill{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.42rem .72rem;font-size:.74rem;font-weight:900;color:#58617e}
.tag-primary{display:inline-flex;border-radius:999px;background:var(--primary-soft);padding:.4rem .7rem;font-size:.72rem;font-weight:900;color:var(--primary-dark)}
.tag-coral{display:inline-flex;border-radius:999px;background:var(--coral-soft);padding:.4rem .7rem;font-size:.72rem;font-weight:900;color:#C45A1B}
.input{width:100%;min-height:48px;border:1px solid #d4d8e6;border-radius:12px;background:#fff;padding:.78rem .9rem;color:var(--ink)}
.input::placeholder{color:#969db3}.input:focus{border-color:var(--primary);outline:3px solid rgba(91,91,239,.12)}
*:focus-visible{outline:3px solid rgba(91,91,239,.35);outline-offset:3px;border-radius:8px}
.hero-dots{background-image:radial-gradient(#cbd0e4 1.2px,transparent 1.2px);background-size:22px 22px}
.hero-frame{position:relative;border-radius:30px;overflow:hidden;border:1px solid #d5d8ea;background:#e9ebf8}
.hero-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(18,25,54,.24));z-index:1;pointer-events:none}
.photo-cover{width:100%;height:100%;object-fit:cover}
.metric{font-variant-numeric:tabular-nums}
.course-chip{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:.6rem 1rem;background:#fff;font-size:.82rem;font-weight:900;color:#555f7c}
.course-chip.active,.course-chip:hover{border-color:var(--primary);background:var(--primary);color:#fff}
.progress-track{height:8px;border-radius:999px;background:#e8eaf3;overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:var(--primary)}
.mobile-panel{display:none}.mobile-panel.is-open{display:block}
.side-link{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:10px;font-weight:800;color:#5e6782;border:1px solid transparent}
.side-link:hover{background:#f6f6fb;color:var(--ink)}.side-link.active{background:var(--primary-soft);color:var(--primary-dark);border-color:#D9E3FF}
.table-clean th{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#80889e;font-weight:900}.table-clean th,.table-clean td{padding:.95rem 1rem;border-bottom:1px solid var(--line);text-align:left}.table-clean tr:last-child td{border-bottom:0}
.step-number{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:#fff;font-weight:900;font-size:.8rem}
.photo-card{overflow:hidden;border-radius:22px;border:1px solid var(--line);background:#fff}
.photo-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.sticker{position:absolute;z-index:2;border:1px solid var(--line);background:#fff;border-radius:15px;padding:.9rem 1rem}
.footer-link{color:rgba(255,255,255,.68)}.footer-link:hover{color:#fff}
@media(max-width:1023px){.nav-link[aria-current="page"]:after{display:none}}
@media(max-width:640px){.site-shell{padding-left:16px;padding-right:16px}.hero-frame{border-radius:22px}.sticker{position:static;margin-top:10px}}


/* v3 visual refinements */
body{font-weight:400}
h1,h2,h3,h4,.display{font-weight:900}
.brand-mark{position:relative;overflow:hidden}
.brand-mark:after{content:"";position:absolute;right:-8px;bottom:-8px;width:24px;height:24px;border-radius:999px;background:#FFC857}
.section-kicker{display:inline-flex;align-items:center;gap:.55rem;font-size:.74rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#2457F5}
.section-kicker:before{content:"";width:24px;height:2px;background:#FF8A34}
.accent-line{height:3px;width:62px;border-radius:999px;background:#FF8A34}
.image-accent{position:relative}
.image-accent:after{content:"";position:absolute;left:-14px;bottom:-14px;width:104px;height:104px;border-radius:26px;background:#FFC857;z-index:-1}
.tutor-stat{border-left:3px solid #2457F5;padding-left:14px}
.profile-chip{display:inline-flex;align-items:center;gap:.42rem;border:1px solid #D7DFF1;border-radius:999px;background:#fff;padding:.48rem .78rem;font-size:.75rem;font-weight:900;color:#505B7A}
.rating-box{display:flex;align-items:center;gap:.28rem;color:#E86F22}
.profile-sidebar{position:sticky;top:24px}
@media(max-width:1023px){.profile-sidebar{position:static}}
