    :root {
      --navy:#071d49;
      --blue:#0879df;
      --blue2:#1da1f2;
      --ink:#16233b;
      --muted:#64748b;
      --light:#f5f9ff;
      --white:#fff;
      --line:#dce7f5;
      --shadow:0 18px 55px rgba(7,29,73,.12);
      --radius:22px;
    }

    * { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body {
      font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.6;
      overflow-x:hidden;
    }
    a { color:inherit; text-decoration:none; }
    img { max-width:100%; display:block; }

    .container { width:min(1160px,92%); margin:auto; }


    .offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .offer-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:30px; display:flex; gap:18px; min-height:260px; box-shadow:0 12px 35px rgba(7,29,73,.06); transition:.3s; }
    .offer-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
    .offer-icon { width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,var(--navy),var(--blue)); color:#fff; font-size:12px; font-weight:800; }
    .offer-card h3 { color:var(--navy); font-size:22px; margin:9px 0 10px; line-height:1.2; }
    .offer-card p { color:var(--muted); font-size:14px; margin-bottom:18px; }
    .offer-card a { color:var(--blue); font-weight:700; font-size:14px; }
    .whatsapp-btn { background:#fff; color:var(--navy); border:1px solid rgba(255,255,255,.45); }
    .whatsapp-btn:hover { background:#f2fff7; }
    .contact-meta { display:grid; gap:7px; margin-top:18px; }
    .contact-meta a { color:#9fb0c8; }
    .contact-meta a:hover { color:#fff; }

    @media (max-width:1100px) {
      .container { width:min(94%,1160px); }
      .menu a { padding:10px 9px; font-size:13px; }
      .brand img { width:165px; }
      .course-grid,.review-grid,.offer-grid { grid-template-columns:repeat(2,1fr); }
      .intro-grid,.about { gap:45px; }
    }

    /* London private-tuition refinements */
    .help-cards {
      display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
    }
    .help-card {
      padding:30px; background:#fff; border:1px solid var(--line);
      border-radius:20px; box-shadow:0 10px 30px rgba(7,29,73,.055);
      transition:.3s; position:relative;
    }
    .help-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
    .help-icon {
      display:inline-grid; place-items:center; width:40px; height:40px;
      border-radius:50%; background:var(--navy); color:#fff;
      font-size:12px; font-weight:800; margin-bottom:20px;
    }
    .help-card h3 { color:var(--navy); font-size:21px; margin-bottom:9px; }
    .help-card p { color:var(--muted); font-size:14px; margin-bottom:18px; }
    .help-card a { color:var(--blue); font-weight:700; font-size:14px; }
    .offer-subtitle {
      color:var(--muted); font-size:17px; max-width:650px; margin-top:-6px;
    }
    .why-grid {
      display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
    }
    .why-card {
      padding:26px; border-top:3px solid var(--blue);
      background:#fff; border-radius:0 0 18px 18px;
      box-shadow:0 10px 30px rgba(7,29,73,.05);
    }
    .why-card > span {
      color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.12em;
    }
    .why-card h3 { color:var(--navy); font-size:17px; margin:10px 0 8px; }
    .why-card p { color:var(--muted); font-size:13px; }
    .whatsapp-link { display:inline-flex !important; align-items:center; gap:8px; }
    .wa-icon {
      width:24px; height:24px; border-radius:50%; display:inline-grid; place-items:center;
      background:#25D366; color:#fff; font-weight:900; font-size:13px; line-height:1;
    }
    .footer-address { margin-top:7px; line-height:1.8; color:#9fb0c8; font-size:13px; }
    .portrait {
      background-size:cover !important; background-position:center top !important;
    }
    @media (max-width:1050px) {
      .why-grid { grid-template-columns:repeat(2,1fr); }
      .help-cards { grid-template-columns:repeat(2,1fr); }
      .help-card:last-child { grid-column:1 / -1; }
    }

    @media (max-width:900px) {
      .nav { min-height:74px; }
      .brand img { width:155px; }
      .hero { min-height:88vh; background-attachment:scroll; }
      .hero-content { padding:72px 0 90px; max-width:680px; }
      .hero h1 { font-size:clamp(38px,7vw,56px); }
      .hero p { font-size:17px; }
      .academic-lines { display:none; }
      .intro-grid,.about { grid-template-columns:1fr; }
      .features { gap:4px; }
      #why-us .features { grid-template-columns:1fr !important; }
      .footer-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width:640px) {
      .container { width:92%; }
      .nav { min-height:68px; }
      .brand img { width:140px; }
      .hero { min-height:82vh; padding-top:68px; }
      .hero-content { padding:60px 0 70px; }
      .hero h1 { font-size:clamp(34px,10vw,46px); line-height:1.06; }
      .hero p { font-size:15px; line-height:1.65; }
      .buttons { width:100%; }
      .btn { width:100%; }
      .section { padding:65px 0; }
      h2 { font-size:36px; }
      .lead { font-size:15px; }
      .academic-card,.portrait { min-height:340px; border-radius:22px; }
      .course-grid,.review-grid,.offer-grid { grid-template-columns:1fr; }
      .offer-card { min-height:0; padding:24px; }
      .feature { padding:16px 0; }
      .feature-icon { width:38px; height:38px; flex-basis:38px; font-size:11px; }
      .footer-grid { grid-template-columns:1fr; gap:28px; }
      .copyright { flex-direction:column; }
      .dropdown { margin-top:2px; }
    }
    @media (max-width:380px) {
      .hero h1 { font-size:32px; }
      h2 { font-size:31px; }
      .offer-card { display:block; }
      .offer-icon { margin-bottom:16px; }
    }

    /* Header */
    .header {
      position:fixed; top:0; left:0; right:0; z-index:1000;
      background:#fff;
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(7,29,73,.08);
      transition:.3s ease;
    }
    .nav {
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:30px;
    }
    .brand {
      display:flex; align-items:center; min-width:190px;
    }
    .brand img {
      width:250px;
      height:auto;
      padding: 5px 0;
      object-fit:contain;
    }
    .menu {
      display:flex; align-items:center; gap:6px;
      list-style:none;
    }
    .menu > li { position:relative; }
    .menu a {
      display:flex; align-items:center; gap:6px;
      padding:12px 14px;
      border-radius:10px;
      font-size:14px;
      font-weight:600;
      color:#253858;
      transition:.25s;
    }
    .menu a:hover { color:var(--blue); background:#eef6ff; }

    .dropdown {
      position:absolute;
      top:calc(100% + 10px);
      left:0;
      width:220px;
      background:white;
      border:1px solid var(--line);
      border-radius:16px;
      box-shadow:var(--shadow);
      padding:8px;
      opacity:0;
      visibility:hidden;
      transform:translateY(8px);
      transition:.25s;
    }
    .has-dropdown:hover .dropdown,
    .has-dropdown:focus-within .dropdown {
      opacity:1; visibility:visible; transform:translateY(0);
    }
    .dropdown a { padding:11px 12px; }

    .nav-cta {
      padding:12px 18px !important;
      color:white !important;
      background:linear-gradient(135deg,var(--navy),var(--blue)) !important;
      box-shadow:0 8px 22px rgba(8,121,223,.22);
    }

    .mobile-toggle {
      display:none; border:0; background:none; font-size:28px;
      color:var(--navy); cursor:pointer;
    }

    /* Hero */
    .hero {
      min-height:100vh;
      padding-top:82px;
      position:relative;
      display:flex;
      align-items:center;
      overflow:hidden;
      background:
        linear-gradient(90deg,rgba(4,20,51,.90) 0%,rgba(4,20,51,.62) 44%,rgba(4,20,51,.25) 100%),
        url("images/banner.jpg") center/cover fixed;
    }
    .hero::after {
      content:"";
      position:absolute; inset:0;
      background:
        repeating-linear-gradient(0deg,transparent 0 48px,rgba(255,255,255,.08) 49px 50px),
        repeating-linear-gradient(90deg,transparent 0 80px,rgba(255,255,255,.055) 81px 82px);
      opacity:.45;
      pointer-events:none;
    }
    .hero-content {
      position:relative; z-index:2;
      padding:100px 0;
      color:white;
      max-width:760px;
    }
    .eyebrow {
      display:inline-flex; align-items:center; gap:9px;
      padding:8px 13px;
      border:1px solid rgba(255,255,255,.28);
      border-radius:999px;
      background:rgba(255,255,255,.08);
      font-size:12px; font-weight:700;
      letter-spacing:.12em; text-transform:uppercase;
      margin-bottom:22px;
    }
    .eyebrow::before {
      content:""; width:7px; height:7px; border-radius:50%; background:#48b9ff;
    }
    h1 {
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(36px,4.3vw,58px);
      line-height:1.02;
      letter-spacing:-.035em;
      margin-bottom:22px;
    }
    .hero p {
      max-width:650px;
      font-size:19px;
      color:rgba(255,255,255,.86);
      margin-bottom:32px;
    }
    .buttons { display:flex; gap:13px; flex-wrap:wrap; }
    .btn {
      display:inline-flex; align-items:center; justify-content:center;
      min-height:50px; padding:0 22px;
      border-radius:999px; font-weight:700; font-size:14px;
      transition:.25s;
    }
    .btn-primary { background:white; color:var(--navy); }
    .btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.18); }
    .btn-outline { border:1px solid rgba(255,255,255,.55); color:white; background:rgba(255,255,255,.05); }
    .btn-outline:hover { background:white; color:var(--navy); }

    .academic-lines {
      position:absolute; right:5%; bottom:7%; z-index:2;
      width:260px; height:190px; opacity:.45;
    }
    .academic-lines span {
      position:absolute; display:block; height:1px; background:#fff;
      transform-origin:right center;
    }
    .academic-lines span:nth-child(1) { width:220px; right:0; top:20px; transform:rotate(-8deg); }
    .academic-lines span:nth-child(2) { width:180px; right:0; top:65px; transform:rotate(-16deg); }
    .academic-lines span:nth-child(3) { width:240px; right:0; top:112px; transform:rotate(8deg); }
    .academic-lines span:nth-child(4) { width:145px; right:0; top:155px; transform:rotate(17deg); }

    /* Sections */
    section { scroll-margin-top:90px; }
    .section { padding:100px 0; }
    .section.alt { background:var(--light); }
    .section-head { max-width:720px; margin-bottom:48px; }
    .kicker {
      color:var(--blue); font-size:12px; font-weight:800;
      letter-spacing:.16em; text-transform:uppercase;
      margin-bottom:10px;
    }
    h2 {
      font-family:"Playfair Display",Georgia,serif;
      color:var(--navy);
      font-size:clamp(34px,4vw,52px);
      line-height:1.1;
      letter-spacing:-.025em;
      margin-bottom:16px;
    }
    .lead { color:var(--muted); font-size:17px; }

    /* Intro / academic section */
    .intro-grid {
      display:grid; grid-template-columns:1.05fr .95fr;
      gap:70px; align-items:center;
    }
    .academic-card {
      min-height:650px; border-radius:30px; overflow:hidden;
      position:relative;
      background:
        linear-gradient(135deg,rgba(5,28,72,.75),rgba(5,119,220,.05)),
        url("images/about.jpg") center/cover;
      box-shadow:var(--shadow);
    }
    .academic-card::before {
      content:"";
      position:absolute; inset:25px;
      border:1px solid rgba(255,255,255,.3);
      border-radius:22px;
    }
    .academic-card-content {
      position:absolute; left:38px; bottom:35px; right:38px; color:white;
    }
    .academic-card-content strong { font-size:30px; display:block; line-height:1.15; }
    .academic-card-content span { display:block; margin-top:8px; color:rgba(255,255,255,.8); }

    .features { display:grid; gap:16px; margin-top:28px; }
    .feature {
      display:flex; gap:16px; align-items:flex-start;
      padding:18px 0; border-bottom:1px solid var(--line);
    }
    .feature-icon {
      width:42px; height:42px; flex:0 0 42px;
      border-radius:12px; display:grid; place-items:center;
      color:white; background:linear-gradient(135deg,var(--navy),var(--blue));
      font-weight:800;
    }
    .feature h3 { font-size:16px; margin-bottom:3px; color:var(--navy); }
    .feature p { font-size:14px; color:var(--muted); }

    /* About */
    .about {
      display:grid; grid-template-columns:.75fr 1.25fr;
      gap:70px; align-items:center;
    }
    .portrait {
      min-height:480px; border-radius:30px; overflow:hidden;
      background:
        linear-gradient(180deg,rgba(7,29,73,.04),rgba(7,29,73,.6)),
        url("images/saibal.jpg") center/cover;
      box-shadow:var(--shadow);
      position:relative;
    }
    .portrait-note {
      position:absolute; left:24px; bottom:24px; right:24px;
      padding:18px 20px; border-radius:18px;
      color:white; background:rgba(7,29,73,.82); backdrop-filter:blur(8px);
    }
    .about-copy p { color:var(--muted); margin:0 0 17px; }
    .quote {
      margin-top:25px; padding:22px 24px;
      border-left:4px solid var(--blue);
      background:#fff; border-radius:0 16px 16px 0;
      color:var(--navy); font-weight:600;
    }

    /* Courses */
    .course-grid {
      display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
    }
    .course {
      background:white; border:1px solid var(--line);
      border-radius:22px; padding:28px;
      box-shadow:0 10px 35px rgba(7,29,73,.06);
      transition:.3s;
      position:relative; overflow:hidden;
    }
    .course::before {
      content:""; position:absolute; top:0; left:0; right:0; height:4px;
      background:linear-gradient(90deg,var(--navy),var(--blue));
    }
    .course:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
    .course-number { font-size:12px; font-weight:800; color:var(--blue); letter-spacing:.12em; }
    .course h3 { color:var(--navy); margin:12px 0 9px; font-size:21px; }
    .course p { color:var(--muted); font-size:14px; margin-bottom:20px; }
    .course a { color:var(--blue); font-weight:700; font-size:14px; }

    /* Reviews */
    .review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .review {
      padding:28px; border-radius:22px;
      background:white; border:1px solid var(--line);
      box-shadow:0 12px 35px rgba(7,29,73,.06);
    }
    .stars { color:#f4b400; letter-spacing:3px; margin-bottom:15px; }
    .review p { color:#46556d; font-size:15px; margin-bottom:20px; }
    .review strong { color:var(--navy); font-size:14px; }
    .review small { display:block; color:#8a96a8; margin-top:3px; }

    /* CTA */
    .cta {
      padding:70px 0;
      background:
        linear-gradient(110deg,rgba(4,20,51,.95),rgba(7,106,199,.86)),
        url("https://images.unsplash.com/photo-1498243691581-b145c3f54a5a?auto=format&fit=crop&w=1800&q=80") center/cover fixed;
      color:white;
      text-align:center;
    }
    .cta h2 { color:white; }
    .cta p { color:rgba(255,255,255,.8); max-width:620px; margin:0 auto 25px; }

    /* Footer */
    footer {
      background:#04132f; color:#cbd7e8; padding:55px 0 25px;
    }
    .footer-grid {
      display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr;
      gap:40px; padding-bottom:40px;
    }
    footer .brand img { background:white; border-radius:8px; padding:4px; }
    .footer-title { color:white; font-weight:700; margin-bottom:14px; }
    footer p, footer a { font-size:14px; color:#9fb0c8; }
    footer a:hover { color:white; }
    .footer-links { list-style:none; display:grid; gap:8px; }
    .copyright {
      padding-top:22px; border-top:1px solid rgba(255,255,255,.1);
      display:flex; justify-content:space-between; gap:20px;
      font-size:12px; color:#8092ad;
    }

    /* Reveal */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity .75s ease,transform .75s ease; }
    .reveal.visible { opacity:1; transform:none; }


    /* London private-tuition refinements */
    .help-cards {
      display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
    }
    .help-card {
      padding:30px; background:#fff; border:1px solid var(--line);
      border-radius:20px; box-shadow:0 10px 30px rgba(7,29,73,.055);
      transition:.3s; position:relative;
    }
    .help-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
    .help-icon {
      display:inline-grid; place-items:center; width:40px; height:40px;
      border-radius:50%; background:var(--navy); color:#fff;
      font-size:12px; font-weight:800; margin-bottom:20px;
    }
    .help-card h3 { color:var(--navy); font-size:21px; margin-bottom:9px; }
    .help-card p { color:var(--muted); font-size:14px; margin-bottom:18px; }
    .help-card a { color:var(--blue); font-weight:700; font-size:14px; }
    .offer-subtitle {
      color:var(--muted); font-size:17px; max-width:650px; margin-top:-6px;
    }
    .why-grid {
      display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
    }
    .why-card {
      padding:26px; border-top:3px solid var(--blue);
      background:#fff; border-radius:0 0 18px 18px;
      box-shadow:0 10px 30px rgba(7,29,73,.05);
    }
    .why-card > span {
      color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.12em;
    }
    .why-card h3 { color:var(--navy); font-size:17px; margin:10px 0 8px; }
    .why-card p { color:var(--muted); font-size:13px; }
    .whatsapp-link { display:inline-flex !important; align-items:center; gap:8px; }
    .wa-icon {
      width:24px; height:24px; border-radius:50%; display:inline-grid; place-items:center;
      background:#25D366; color:#fff; font-weight:900; font-size:13px; line-height:1;
    }
    .footer-address { margin-top:7px; line-height:1.8; color:#9fb0c8; font-size:13px; }
    .portrait {
      background-size:cover !important; background-position:center top !important;
    }
    @media (max-width:1050px) {
      .why-grid { grid-template-columns:repeat(2,1fr); }
      .help-cards { grid-template-columns:repeat(2,1fr); }
      .help-card:last-child { grid-column:1 / -1; }
    }

    @media (max-width:900px) {
      .menu {
        display:none; position:absolute; left:4%; right:4%; top:76px;
        padding:12px; background:white; border:1px solid var(--line);
        border-radius:18px; box-shadow:var(--shadow);
        flex-direction:column; align-items:stretch;
      }
      .menu.open { display:flex; }
      .menu > li > a { justify-content:space-between; }
      .dropdown {
        position:static; width:auto; display:none; opacity:1; visibility:visible;
        transform:none; box-shadow:none; border:0; padding:0 0 5px 10px;
      }
      .has-dropdown.open .dropdown { display:block; }
      .mobile-toggle { display:block; }
      .nav-cta { text-align:center; justify-content:center; }
      .intro-grid,.about { grid-template-columns:1fr; gap:40px; }
      .course-grid,.review-grid { grid-template-columns:1fr 1fr; }
      .help-cards { grid-template-columns:1fr; }
      .help-card:last-child { grid-column:auto; }
      .why-grid { grid-template-columns:1fr 1fr; }
      .footer-grid { grid-template-columns:1fr 1fr; }
      .academic-lines { right:-30px; }
    }
    @media (max-width:600px) {
      #why-us .features { grid-template-columns:1fr !important; }
      .nav { min-height:72px; }
      .brand img { width:145px; }
      .hero { background-attachment:scroll; }
      .hero-content { padding:75px 0 95px; }
      .hero p { font-size:16px; }
      .section { padding:72px 0; }
      .academic-card,.portrait { min-height:370px; }
      .course-grid,.review-grid,.footer-grid,.why-grid { grid-template-columns:1fr; }
      .help-cards { grid-template-columns:1fr; }
      .copyright { flex-direction:column; }
    }
  
    .floating-whatsapp {
      position:fixed; right:22px; bottom:22px; z-index:1100;
      display:flex; align-items:center; gap:8px; padding:12px 16px 12px 12px;
      border-radius:999px; background:#25D366; color:#fff;
      box-shadow:0 12px 28px rgba(0,0,0,.18); font-size:13px; font-weight:800;
    }
    .floating-whatsapp span {
      width:28px; height:28px; border-radius:50%; background:#fff; color:#25D366;
      display:grid; place-items:center; font-weight:900;
    }
    @media (max-width:600px) {
      .floating-whatsapp { right:14px; bottom:14px; padding:10px; }
      .floating-whatsapp b { display:none; }
      .floating-whatsapp span { width:34px; height:34px; }
    }