/*
Theme Name: Gul Educators UK
Theme URI: https://guleducators.com/
Author: Gul Educators
Description: Premium, conversion-focused landing theme for Gul Educators' live online tuition for UK students (Year 6, KS3, GCSE) and Urdu classes for children and adults. Edit prices, WhatsApp number and contact details in Appearance → Customize → Gul Educators UK.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gul-educators-uk
Tags: education, one-column, custom-logo, accessibility-ready
*/
/* =========================================================
   Gul Educators UK — design tokens (derived from the logo)
   ========================================================= */
:root{
  --forest:#0c3212;      /* deepest logo green */
  --pine:#174a20;        /* wordmark green */
  --leaf:#2b7a31;        /* leaf highlight green */
  --leaf-strong:#22652a; /* text-safe green */
  --sage:#a9d8a2;        /* light green on dark */
  --mint:#e9f2e5;
  --mint-2:#d6e7cf;
  --cream:#faf8f2;
  --sand:#f3efe4;
  --paper:#ffffff;
  --ink:#121c16;
  --muted:#4b5a51;
  --line:#dde4d8;
  --line-dark:rgba(255,255,255,.16);
  --on-dark:#eef5ea;
  --on-dark-muted:#bfd3bc;
  --danger:#a8261b;

  --f-head:"Roboto Slab", Rockwell, "Zilla Slab", Georgia, serif;
  --f-body:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --f-urdu:"Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Urdu Typesetting", serif;

  --r-sm:10px; --r:16px; --r-lg:26px;
  --sh-1:0 1px 2px rgba(12,50,18,.06), 0 2px 8px rgba(12,50,18,.05);
  --sh-2:0 18px 40px -18px rgba(12,50,18,.35), 0 2px 6px rgba(12,50,18,.06);
  --wrap:1200px;
  --gut:clamp(16px, 4vw, 32px);
  --sec:clamp(72px, 9vw, 120px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:92px}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--leaf-strong);text-underline-offset:3px}
a:hover{color:var(--forest)}
h1,h2,h3,h4{font-family:var(--f-head);color:var(--forest);line-height:1.12;margin:0 0 .5em;letter-spacing:-.015em;font-weight:600}
h1{font-size:clamp(2.3rem, 5.4vw, 4rem);font-weight:700;letter-spacing:-.025em}
h2{font-size:clamp(1.85rem, 3.7vw, 2.75rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #e2a21b;outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;background:var(--forest);color:#fff;padding:10px 16px;border-radius:8px;z-index:200;font-weight:700}
.skip:focus{top:12px;color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
section{padding:var(--sec) 0}
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font:700 .76rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--leaf-strong);margin:0 0 1.1rem}
.eyebrow::before{content:"";width:24px;height:2px;background:currentColor;border-radius:2px}
.sec-head{max-width:700px;margin-bottom:clamp(36px,5vw,60px)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .eyebrow::after{content:"";width:24px;height:2px;background:currentColor;border-radius:2px}
.lead{font-size:clamp(1.05rem,1.55vw,1.2rem);color:var(--muted);line-height:1.6}
.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
figure.photo{margin:0}
.photo{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--mint-2);box-shadow:var(--sh-2)}
.photo img{width:100%;height:100%;object-fit:cover}

/* Buttons */
.btn{--bg:var(--leaf);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:.8em 1.5em;border-radius:999px;border:2px solid var(--bg);background:var(--bg);color:var(--fg);font:700 1rem/1.2 var(--f-body);text-decoration:none;cursor:pointer;transition:transform .2s ease, background-color .2s ease, color .2s, border-color .2s;box-shadow:0 8px 18px -10px rgba(12,50,18,.7)}
.btn:hover{--bg:var(--leaf-strong);color:#fff;transform:translateY(-1px)}
.btn .icon{width:20px;height:20px}
.btn-ghost{--bg:transparent;--fg:var(--forest);border-color:var(--forest);box-shadow:none}
.btn-ghost:hover{--bg:var(--forest);color:#fff}
.btn-light{--bg:#fff;--fg:var(--forest);border-color:#fff}
.btn-light:hover{--bg:var(--mint);color:var(--forest)}
.btn-outline-light{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.65);box-shadow:none}
.btn-outline-light:hover{--bg:#fff;color:var(--forest)}
.btn-sm{min-height:44px;padding:.55em 1.2em;font-size:.95rem}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:700;text-decoration:none}
.link-arrow .icon{width:18px;height:18px;transition:transform .2s}
.link-arrow:hover .icon{transform:translateX(3px)}

/* Utility bar + header */
.topbar{background:var(--forest);color:var(--on-dark);font-size:.86rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.topbar p{margin:0}
.topbar a{color:#fff;font-weight:700;text-decoration:none}
.topbar a:hover{text-decoration:underline;color:#fff}
.topbar .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--sage);margin:0 .7em;vertical-align:middle}
@media (max-width:720px){.topbar .hide-sm{display:none}.topbar .wrap{justify-content:center}}
.site-header{position:sticky;top:0;z-index:100;background:rgba(250,248,242,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s, box-shadow .2s}
.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px -16px rgba(12,50,18,.35)}
.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:56px;width:auto}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{display:block;padding:.5em .75em;border-radius:8px;color:var(--ink);font-weight:500;font-size:.95rem;text-decoration:none}
.nav-links a:hover{background:var(--mint);color:var(--forest)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--forest);cursor:pointer;align-items:center;justify-content:center}
.nav-toggle .i-close{display:none}
.nav-toggle[aria-expanded="true"] .i-open{display:none}
.nav-toggle[aria-expanded="true"] .i-close{display:block}
@media (max-width:1080px){
  .nav-toggle{display:inline-flex}
  .nav-cta .btn{display:none}
  .primary-nav{position:fixed;left:0;right:0;top:var(--nav-top,78px);background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -20px rgba(12,50,18,.35);padding:8px var(--gut) 24px;max-height:calc(100vh - var(--nav-top,78px));overflow:auto;display:none}
  .primary-nav.open{display:block}
  .nav-links{flex-direction:column;align-items:stretch;gap:0}
  .nav-links a{padding:.9em .25em;font-size:1.08rem;border-bottom:1px solid var(--line);border-radius:0}
  .primary-nav .btn{display:flex;margin-top:18px;width:100%}
}
@media (min-width:1081px){.primary-nav .mobile-only{display:none}}
@media (max-width:420px){.brand img{height:46px}}

/* Hero */
.hero{padding:clamp(28px,5vw,72px) 0 clamp(56px,7vw,96px);position:relative}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero h1 em{font-style:normal;color:var(--leaf)}
.hero .lead{max-width:34em;margin-bottom:1.4rem}
.offer{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 1.8rem;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.97rem;max-width:34em}
.offer dt{font-weight:700;color:var(--forest);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding-top:.25em}
.offer dd{margin:0;color:var(--ink)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.1rem}
.hero-note{display:flex;align-items:flex-start;gap:.5em;color:var(--muted);font-size:.93rem;margin:0}
.hero-note .icon{width:20px;height:20px;color:var(--leaf);margin-top:.15em}
.hero-media{position:relative}
.hero-media .photo{aspect-ratio:4/4.6}
.hero-media .photo img{object-position:62% 50%}
.hero-badge{position:absolute;left:-28px;bottom:32px;background:#fff;border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh-2);display:flex;gap:14px;align-items:center;max-width:290px}
.hero-badge .ic{width:44px;height:44px;border-radius:12px;background:var(--mint);color:var(--forest);display:grid;place-items:center;flex:none}
.hero-badge strong{display:block;font-family:var(--f-head);color:var(--forest);font-size:1.02rem;line-height:1.25}
.hero-badge span{font-size:.86rem;color:var(--muted);line-height:1.35;display:block}
.hero-urdu{position:absolute;right:-18px;top:28px;background:var(--forest);color:#fff;border-radius:var(--r);padding:8px 16px 10px;box-shadow:var(--sh-2);text-align:center}
.hero-urdu .ur{display:block;font:600 1.35rem/2 var(--f-urdu)}
.hero-urdu small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-top:-4px}

/* Trust */
.trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(48px,6vw,72px) 0}
.trust-grid{display:grid;grid-template-columns:.8fr 2.2fr;gap:clamp(28px,4vw,56px);align-items:start}
.trust h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0}
.trust-list{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.trust-list li{padding:0 18px;border-left:1px solid var(--line)}
.trust-list .icon{width:28px;height:28px;color:var(--leaf);margin-bottom:12px}
.trust-list h3{font-size:1rem;margin-bottom:.3em;line-height:1.3}
.trust-list p{font-size:.9rem;color:var(--muted);margin:0;line-height:1.5}

/* Subjects */
.subjects-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);align-items:start}
.subjects-aside{position:sticky;top:110px}
.subjects-aside .photo{aspect-ratio:4/3.4;margin-top:28px!important}
.subjects-aside .photo img{object-position:60% 40%}
.subject-list{list-style:none;border-top:1px solid var(--line)}
.subject{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}
.subject .num{width:56px;height:56px;border-radius:14px;background:var(--forest);color:#fff;display:grid;place-items:center}
.subject .num .icon{width:26px;height:26px}
.subject h3{font-size:1.45rem;margin-bottom:.25em}
.subject p{color:var(--muted);margin-bottom:.9em}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-bottom:16px}
.tags li{font-size:.88rem;padding:.35em .8em;border-radius:999px;background:var(--mint);color:var(--forest);font-weight:500}
.subject-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:.95rem}

/* Urdu */
.urdu{background:var(--forest);color:var(--on-dark);position:relative;overflow:hidden}
.urdu h2,.urdu h3{color:#fff}
.urdu .eyebrow{color:var(--sage)}
.urdu-top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.urdu-top .photo{aspect-ratio:4/3.3;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.urdu-word{text-align:left;font:600 clamp(2.4rem,5vw,3.8rem)/1.9 var(--f-urdu);color:#fff;margin:0 0 .2rem}
.urdu-word + .eyebrow{margin-top:0}
.urdu .lead{color:var(--on-dark-muted)}
.skills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0 0}
.skills li{padding:.4em .9em;border-radius:999px;border:1px solid var(--line-dark);font-size:.9rem;color:var(--on-dark)}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,6vw,72px);border-top:1px solid var(--line-dark)}
.path{padding:32px 28px 8px;border-left:1px solid var(--line-dark)}
.path:first-child{border-left:0;padding-left:0}
.path .who{display:block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:.7rem}
.path h3{font-size:1.35rem}
.path p{color:var(--on-dark-muted);font-size:.97rem}
.ticks{list-style:none;display:grid;gap:8px}
.ticks li{position:relative;padding-left:26px;font-size:.96rem}
.ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:13px;height:7px;border-left:2px solid var(--leaf);border-bottom:2px solid var(--leaf);transform:rotate(-45deg)}
.urdu .ticks li::before{border-color:#8fd18a}
.urdu-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line-dark)}
.urdu-foot .fee{font-weight:700;color:#fff;margin-right:auto}
.urdu-foot .fee span{display:block;font-weight:400;font-size:.9rem;color:var(--on-dark-muted)}

/* Year groups */
.years-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);position:relative}
.years-grid::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,var(--leaf),var(--mint-2))}
.year{position:relative;padding-top:44px;display:flex;flex-direction:column}
.year::before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--cream);border:4px solid var(--leaf)}
.year .stage{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--leaf-strong);margin-bottom:.4rem}
.year h3{font-size:1.85rem;margin-bottom:.15em}
.year .sub{color:var(--muted);margin-bottom:1.1rem}
.year .from{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:.95rem}
.year .from strong{font-family:var(--f-head);color:var(--forest);font-size:1.3rem}
.year .ticks{margin-bottom:8px}

/* GCSE */
.gcse{background:var(--sand)}
.gcse-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.gcse-media .photo{aspect-ratio:16/10.5}
.boards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 16px;list-style:none}
.boards li{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 10px;text-align:center;font:700 1.02rem var(--f-head);color:var(--forest)}
.boards li small{display:block;font:500 .78rem var(--f-body);color:var(--muted);margin-top:2px}
.note{display:flex;gap:12px;background:#fff;border-left:4px solid var(--leaf);border-radius:var(--r-sm);padding:14px 16px;font-size:.94rem;color:var(--muted);margin:0}
.note .icon{color:var(--leaf);margin-top:2px}
.gcse-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin:26px 0 30px}
.gcse-list li{border-top:2px solid var(--leaf);padding-top:12px}
.gcse-list strong{display:block;color:var(--forest);font-family:var(--f-head);font-weight:600;font-size:1.05rem;margin-bottom:.2em}
.gcse-list span{color:var(--muted);font-size:.93rem;line-height:1.5;display:block}

/* Process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,36px);list-style:none;counter-reset:step;position:relative}
.steps::before{content:"";position:absolute;top:27px;left:28px;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--mint-2) 0 8px,transparent 8px 14px)}
.steps li{position:relative}
.steps li::before{counter-increment:step;content:"0" counter(step);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--forest);color:#fff;font:700 1.05rem var(--f-head);margin-bottom:20px;box-shadow:0 0 0 8px var(--cream);position:relative}
.steps h3{font-size:1.18rem}
.steps p{color:var(--muted);font-size:.96rem;margin:0}
.process-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:48px}

/* Pricing */
.pricing{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.badge{display:inline-flex;align-items:center;gap:.4em;font-size:.82rem;font-weight:700;color:#6b4e00;background:#fdf1cf;border:1px solid #f0d78c;padding:.35em .85em;border-radius:999px}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
.price{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;background:var(--cream)}
.price.feature{background:var(--forest);border-color:var(--forest);color:var(--on-dark);box-shadow:var(--sh-2)}
.price.feature h3,.price.feature .amt{color:#fff}
.price.feature .stage,.price.feature .per,.price.feature .desc{color:var(--on-dark-muted)}
.price .stage{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--leaf-strong);margin-bottom:.4rem}
.price h3{font-size:1.4rem}
.price .desc{color:var(--muted);font-size:.93rem;min-height:3.2em}
.opts{list-style:none;margin:8px 0 22px}
.opts li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:13px 0;border-top:1px dashed var(--line)}
.price.feature .opts li{border-top-color:var(--line-dark)}
.opts .what{font-size:.95rem}
.opts .amt{font:700 1.5rem var(--f-head);color:var(--forest);white-space:nowrap;display:block;text-align:right}
.opts .per{display:block;font-size:.8rem;color:var(--muted);text-align:right}
.price .btn{margin-top:auto;width:100%}
.price .enq-fee{font:700 1.55rem var(--f-head);color:var(--forest);margin:8px 0 6px}
.fee-terms{margin-top:36px;display:grid;grid-template-columns:.9fr 1.5fr;gap:28px;border-top:1px solid var(--line);padding-top:36px}
.fee-terms h3{font-size:1.25rem}
.fee-terms p{color:var(--muted);font-size:.95rem}
.fee-terms ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.fee-terms li{font-size:.94rem;color:var(--muted)}
.fee-terms li strong{display:block;color:var(--forest);font-size:.98rem;margin-bottom:.15em}

/* Team */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.team-points{list-style:none;border-top:1px solid var(--line)}
.team-points li{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.team-points .ic{width:48px;height:48px;border-radius:12px;background:var(--mint);color:var(--forest);display:grid;place-items:center}
.team-points h3{font-size:1.08rem;margin-bottom:.2em}
.team-points p{margin:0;color:var(--muted);font-size:.95rem}

/* Safeguarding */
.safe{background:var(--sand)}
.safe-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);align-items:start}
.safe-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.safe-list .icon{width:28px;height:28px;color:var(--leaf);margin-bottom:10px}
.safe-list h3{font-size:1.06rem;margin-bottom:.3em}
.safe-list p{margin:0;color:var(--muted);font-size:.94rem}
.help-box{margin-top:28px;background:var(--forest);color:var(--on-dark);border-radius:var(--r);padding:22px 24px}
.help-box p{margin:0 0 .8em;font-size:.96rem}
.help-box a{color:#fff;font-weight:700}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px);align-items:start}
.faq-grid .sec-head{position:sticky;top:110px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 2px;font:600 1.08rem/1.4 var(--f-head);color:var(--forest)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{color:var(--leaf-strong)}
.faq-list summary .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--mint-2);position:relative}
.faq-list summary .pm::before,.faq-list summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--forest);transform:translate(-50%,-50%);transition:transform .2s}
.faq-list summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-list details[open] .pm{background:var(--mint)}
.faq-list details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-list .ans{padding:0 48px 22px 2px;color:var(--muted)}
.faq-list .ans p:last-child{margin:0}

/* Enquiry */
.enquire{background:var(--forest);color:var(--on-dark)}
.enq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start}
.enquire h2{color:#fff}
.enquire .eyebrow{color:var(--sage)}
.enquire .lead{color:var(--on-dark-muted)}
.enq-points{list-style:none;display:grid;gap:14px;margin:26px 0 30px}
.enq-points li{display:flex;gap:12px;align-items:flex-start}
.enq-points .icon{color:#8fd18a;margin-top:2px}
.enq-ctas{display:flex;flex-wrap:wrap;gap:12px}
.enq-small{font-size:.88rem;color:var(--on-dark-muted);margin-top:16px}
.form-card{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:clamp(22px,3.5vw,40px);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.form-card h3{font-size:1.45rem}
.form-card .intro{color:var(--muted);font-size:.95rem}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label,.field legend{font-weight:700;font-size:.93rem;color:var(--forest)}
.field .opt{font-weight:500;color:var(--muted)}
.field input[type=text],.field select,.field textarea{width:100%;min-height:50px;padding:.7em .85em;border:1.5px solid #c5d0c0;border-radius:10px;background:#fff;color:var(--ink);font:400 1rem var(--f-body)}
.field textarea{min-height:96px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--forest) 50%),linear-gradient(135deg,var(--forest) 50%,transparent 50%);background-position:calc(100% - 20px) 52%, calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4em}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px rgba(43,122,49,.18)}
.field [aria-invalid="true"]{border-color:var(--danger)}
.field .hint{font-size:.84rem;color:var(--muted)}
.field .err{font-size:.86rem;color:var(--danger);font-weight:500}
.field .err:empty{display:none}
fieldset.field{border:0;padding:0;margin:0}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.field .check{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1.5px solid #c5d0c0;border-radius:10px;cursor:pointer;font-size:.93rem;line-height:1.35;font-weight:500;color:var(--ink)}
.check:has(input:checked){border-color:var(--leaf);background:var(--mint)}
.check input{width:20px;height:20px;margin:0;accent-color:var(--leaf);flex:none}
.field .consent{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;font-weight:400;color:var(--muted)}
.consent input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--leaf);flex:none}
.form-actions{margin-top:22px;display:flex;flex-direction:column;gap:12px}
.form-actions .btn{width:100%}
.privacy-mini{font-size:.84rem;color:var(--muted);margin:0}
.err-summary{display:none;background:#fdeceb;border:1px solid #f1b8b3;color:#7c1d14;border-radius:10px;padding:12px 14px;font-size:.92rem;margin-bottom:16px}
.err-summary.show{display:block}
.status{display:none;margin-top:16px;background:var(--mint);border:1px solid var(--mint-2);border-radius:12px;padding:16px 18px;font-size:.95rem;color:var(--forest)}
.status.show{display:block}
.status strong{display:block;font-family:var(--f-head);font-size:1.05rem;margin-bottom:.25em}
.status p{margin:.35em 0}

/* Policies */
.policies{padding:var(--sec) 0}
.policy-list{max-width:880px;margin:0 auto;border-top:1px solid var(--line)}
.policy-list details{border-bottom:1px solid var(--line)}
.policy-list summary{cursor:pointer;padding:20px 2px;font:600 1.1rem var(--f-head);color:var(--forest);list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.policy-list summary::-webkit-details-marker{display:none}
.policy-list summary::after{content:"View";font:700 .8rem var(--f-body);color:var(--leaf-strong);background:var(--mint);padding:.35em .85em;border-radius:999px}
.policy-list details[open] summary::after{content:"Close"}
.policy-body{padding:0 2px 24px;font-size:.96rem;color:var(--muted)}
.policy-body h4{font-family:var(--f-body);font-size:1rem;color:var(--forest);margin:1.2em 0 .35em}
.policy-body ul{padding-left:1.2em;margin:0 0 1em}
.policy-body li{margin-bottom:.35em}
.policy-meta{font-size:.85rem;color:var(--muted)}

/* Footer */
.site-footer{background:#0a2810;color:var(--on-dark-muted);padding:64px 0 28px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:32px}
.foot-logo{display:inline-block;background:#fff;border-radius:14px;padding:12px 16px;margin-bottom:16px}
.foot-logo img{height:64px;width:auto}
.site-footer h2{font:700 .8rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.site-footer ul{list-style:none;display:grid;gap:8px}
.site-footer a{color:var(--on-dark);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.86rem}
.foot-bottom p{margin:0}

/* Floating contact: pill on desktop, bar on mobile */
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.2em;border-radius:999px;background:var(--leaf);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);transition:transform .2s, opacity .2s}
.wa-fab:hover{color:#fff;transform:translateY(-2px);background:var(--leaf-strong)}
.wa-fab .icon{width:22px;height:22px}
.mobile-bar{display:none}
.float-hide{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease}
.js .reveal.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:1080px){
  .trust-grid{grid-template-columns:1fr}
  .trust-list{grid-template-columns:repeat(3,1fr);row-gap:28px}
  .trust-list li:nth-child(4){border-left:0;padding-left:0}
  .trust-list li:first-child{padding-left:0;border-left:0}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .hero-badge{left:16px}
  .hero-urdu{right:16px}
}
@media (max-width:900px){
  .hero-grid,.subjects-grid,.urdu-top,.gcse-grid,.team-grid,.safe-grid,.faq-grid,.enq-grid,.fee-terms{grid-template-columns:1fr}
  .subjects-aside,.faq-grid .sec-head{position:static}
  .hero-media{max-width:620px}
  .hero-media .photo{aspect-ratio:4/3.2}
  .years-grid{grid-template-columns:1fr;gap:36px}
  .years-grid::before{left:9px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,var(--leaf),var(--mint-2))}
  .year{padding:0 0 0 44px}
  .path-grid{grid-template-columns:1fr}
  .path{border-left:0;padding:28px 0 4px;border-top:1px solid var(--line-dark)}
  .path:first-child{border-top:0}
  .steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .steps::before{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .trust-list{grid-template-columns:1fr 1fr}
  .trust-list li{border-left:0;padding:0}
  .trust-list li:last-child{grid-column:1/-1}
  .subject{grid-template-columns:1fr;gap:14px}
  .price-grid,.steps,.gcse-list,.safe-list,.fee-terms ul{grid-template-columns:1fr}
  .fgrid,.checks{grid-template-columns:1fr}
  .hero-ctas .btn{flex:1 1 100%}
  .hero-badge{position:relative;left:auto;bottom:auto;margin:-36px 14px 0;max-width:none}
  .hero-urdu{right:12px;top:12px;padding:4px 12px 8px}
  .hero-urdu .ur{font-size:1.1rem}
  .offer{grid-template-columns:1fr;gap:2px}
  .offer dd{margin-bottom:8px}
  .foot-grid{grid-template-columns:1fr}
  .boards{grid-template-columns:1fr 1fr 1fr}
  .faq-list .ans{padding-right:2px}
  .wa-fab{display:none}
  .mobile-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(250,248,242,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);transition:transform .25s, opacity .25s}
  .mobile-bar .btn{min-height:46px;padding:.6em .8em;font-size:.95rem}
  body{padding-bottom:74px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .reveal{opacity:1;transform:none}
}
@media print{.site-header,.topbar,.wa-fab,.mobile-bar{display:none}}

/* WordPress additions */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}
.custom-logo-link img,.brand img{height:56px;width:auto}
.entry-wrap{max-width:820px;margin:0 auto;padding:var(--sec) var(--gut)}
.entry-wrap h1{font-size:clamp(2rem,4vw,3rem)}
.entry{margin-bottom:56px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.entry:last-child{border-bottom:0}
.entry h2 a{text-decoration:none;color:var(--forest)}
.entry-meta{font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.entry-content{font-size:1.05rem}
.entry-content img{border-radius:var(--r)}
.entry-content h2,.entry-content h3{margin-top:1.6em}
.entry-content ul,.entry-content ol{padding-left:1.3em;margin:0 0 1em}
.pagination{display:flex;gap:12px;justify-content:space-between;margin-top:32px}
.alignwide{max-width:1100px}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.wp-block-button__link{border-radius:999px;background:var(--leaf);color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
