@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--ink:#1e1b16;--muted:#5e5850;--paper:#f7f4ee;--paper2:#fbfaf7;--gold:#b08d57;--line:rgba(30,27,22,.14);--line2:rgba(30,27,22,.08);--shadow:0 14px 30px rgba(30,27,22,.08);--radius:18px}
*{box-sizing:border-box} html,body{margin:0;padding:0;overflow-x:hidden}
body{background:var(--paper);color:var(--ink);font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit} .container{max-width:1180px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.container{padding:0 40px}}
.watermark::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-10;opacity:0.72;background-image:url('/media/watermark.png');background-size:50%;background-repeat:no-repeat;mix-blend-mode:multiply;background-position:-50% 100%}
@media screen and (max-width:800px){.watermark::before{background-size:70%}}
.topbar{background:#1a1a1a;border-bottom:1px solid rgba(255,255,255,.1)}
.topbar__inner{display:flex;justify-content:center;gap:12px;padding:10px 16px;flex-wrap:wrap}
.topbar__link{font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.9)}
.topbar__link:hover{color:var(--gold)} .topbar__sep{color:rgba(255,255,255,.45);font-size:12px}
.topbar__phones{color:rgba(255,255,255,.8);font-size:12px}
.top{position:sticky;top:0;z-index:50}
.nav{background:#111;backdrop-filter:blur(10px);border-bottom:1px solid rgba(176,141,87,.35)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.brand__mark{width:44px;height:44px;border-radius:999px;border:1px solid rgba(176,141,87,.55);display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:20px;background:rgba(0,0,0,.25);color:var(--gold)}
.brand__logo{height:64px;width:auto}
.brand__name{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff}
.brand__tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:3px}
.nav__menu{display:none;gap:14px;align-items:center}
.nav__link{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 6px;text-decoration:none}
.nav__link:hover{color:#fff}
.nav__link.is-active{color:#fff;position:relative}
.nav__link.is-active:after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:2px;background:var(--gold)}
.nav__actions{display:flex;gap:10px;align-items:center}
@media(min-width:1024px){.nav__menu{display:flex}.burger{display:none}}
.btn{display:inline-block;border-radius:999px;border:1px solid rgba(255,255,255,.28);padding:10px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:transparent;cursor:pointer;text-decoration:none;color:#fff;transition:all .2s ease}
.btn--primary{background:var(--gold);border-color:var(--gold);color:#111}
.btn--ghost:hover{border-color:rgba(176,141,87,.75);color:var(--gold)}
.btn--dark{background:var(--gold);border-color:var(--gold);color:#111;display:inline-block}
.burger{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}
.burger span{width:18px;height:2px;background:#fff;opacity:.75}
.mobile{border-top:1px solid rgba(176,141,87,.25);background:rgba(17,17,17,.92)}
.mobile__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 0 16px}
.mobile__grid .nav__link{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.22);border-radius:14px;padding:10px 12px}
.eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.eyebrow--light{color:rgba(247,244,238,.92)}
.h1{margin:0;font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.02;font-size:44px;color:#fff}
@media(min-width:768px){.h1{font-size:64px}}
.h2{margin:0;font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.12;font-size:34px;color:var(--ink)}
.lead{margin:12px 0 0;font-size:18px;line-height:1.6;color:var(--muted)}
.lead--light{color:#fff}
.text{margin:14px 0 0;font-size:15px;line-height:1.9;color:var(--muted)}
.section{padding:64px 0} .section__head{max-width:820px} .section__body{margin-top:28px}
.hero{position:relative;min-height:72vh;display:flex;align-items:center}
.hero__media{position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;transform:scale(1.02)}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.52) 50%,rgba(0,0,0,.30) 100%)}
.hero__inner{position:relative;padding:72px 0} .hero__content{max-width:780px}
.hero__cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
.hero__endorse{margin-top:24px;color:rgba(255,255,255,.75);font-size:13px}
.hero--centre .hero__overlay{background:rgba(0,0,0,.55)}
.hero--centre .hero__content{max-width:780px;text-align:center;margin:0 auto}
.hero--centre .hero__cta{justify-content:center}
.grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--line2);background:rgba(251,250,247,.85);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card__title{font-family:'Cormorant Garamond',serif;font-size:22px}
.card__body{margin-top:10px;font-size:14px;line-height:1.85;color:var(--muted)}
.split{padding:64px 0}
.split__grid{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:980px){.split__grid{grid-template-columns:1.05fr .95fr;align-items:center}.split__grid.is-flip{grid-template-columns:.95fr 1.05fr}.split__grid.is-flip .split__media{order:2}}
.split__media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line2);box-shadow:var(--shadow);background:#fff}
.split__media img{width:100%;height:420px;object-fit:cover;display:block}
@media(max-width:640px){.split__media img{height:280px}}
.footer{border-top:1px solid var(--line);padding:40px 0;background:#1a1a1a}
.footer__grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:900px){.footer__grid{grid-template-columns:1.2fr 1fr 1fr}}
.footer__title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.footer__small{margin-top:8px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.75}
.footer__small a{color:rgba(255,255,255,.9);text-decoration:none}
.footer__small a:hover{color:var(--gold)}
.footer__bottom{margin-top:28px;color:rgba(255,255,255,.5);font-size:12px}
.footer .brand__name{color:#fff}
.footer .brand__mark{border-color:rgba(176,141,87,.55)}
.footer__social{display:flex;gap:14px;margin-top:12px}
.footer__social a{color:rgba(255,255,255,.75);text-decoration:none;font-size:13px;letter-spacing:.06em}
.footer__social a:hover{color:var(--gold)}
.video{padding:64px 0}
.video__wrap{border:1px solid var(--line2);background:rgba(251,250,247,.88);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.video__player{margin-top:18px;position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--line2);background:#000}
.video__player iframe{position:absolute;inset:0;width:100%;height:100%}

/* Image gallery grid */
.gallery{display:grid;gap:18px;grid-template-columns:repeat(2,1fr);margin-top:28px}
@media(min-width:900px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery img{width:100%;height:260px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line2);box-shadow:var(--shadow)}

/* Testimonial cards */
.testimonials-grid{display:grid;gap:22px;grid-template-columns:1fr;margin-top:28px}
@media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
.testimonial{border:1px solid var(--line2);background:rgba(251,250,247,.85);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.testimonial__quote{font-size:15px;line-height:1.85;color:var(--muted);font-style:italic;margin:0}
.testimonial__author{margin-top:14px;font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.04em}

/* FAQ accordion */
.faq-list{margin-top:28px}
.faq-item{border:1px solid var(--line2);background:rgba(251,250,247,.85);border-radius:var(--radius);padding:22px;margin-bottom:14px;box-shadow:var(--shadow)}
.faq-item__q{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink);margin:0 0 8px;font-weight:500}
.faq-item__a{font-size:15px;line-height:1.85;color:var(--muted);margin:0}

/* Dates table */
.dates-list{margin-top:18px}
.date-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line2)}
.date-row:last-child{border-bottom:none}
.date-row__label{font-size:15px;color:var(--ink);font-weight:500}

/* Pricing cards */
.pricing-grid{display:grid;gap:22px;grid-template-columns:1fr;margin-top:28px}
@media(min-width:768px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
.pricing-card{border:1px solid var(--line2);background:rgba(251,250,247,.85);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.pricing-card__title{font-family:'Cormorant Garamond',serif;font-size:22px;margin-bottom:12px}
.pricing-card__body{font-size:14px;line-height:1.85;color:var(--muted)}

/* Enquiry form */
.form{max-width:640px;margin-top:28px}
.form__group{margin-bottom:20px}
.form__label{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.form__input,.form__select,.form__textarea{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(251,250,247,.85);font-family:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .2s}
.form__input:focus,.form__select:focus,.form__textarea:focus{border-color:var(--gold)}
.form__textarea{min-height:120px;resize:vertical}
.form__submit{display:inline-block;border-radius:999px;border:1px solid var(--gold);padding:14px 32px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:#111;cursor:pointer;font-family:inherit;transition:all .2s}
.form__submit:hover{background:#9a7a4a;border-color:#9a7a4a}

/* Intro block */
.intro-block{margin-top:48px;padding:36px 0;border-top:1px solid var(--line2)}
.intro-block__img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line2);box-shadow:var(--shadow);margin-bottom:28px}

/* Tutor profile */
.tutor-profile{display:grid;gap:32px;grid-template-columns:1fr;margin-top:28px}
@media(min-width:768px){.tutor-profile{grid-template-columns:1fr 1.5fr;align-items:start}}
.tutor-profile__img{width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line2);box-shadow:var(--shadow)}

/* Testimonial carousel */
.tcarousel{padding:64px 0;border-top:1px solid var(--line2)}
.tcarousel .container{max-width:820px}
.tcarousel__heading{text-align:center;margin-bottom:28px}
.tcarousel__track{position:relative;overflow:hidden;transition:height .5s ease}
.tcarousel__slide{position:absolute;top:0;left:0;width:100%;flex-direction:column;align-items:center;text-align:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease;display:flex}
.tcarousel__slide.is-visible{opacity:1;visibility:visible;position:relative;pointer-events:auto}
.tcarousel__quote{font-size:17px;line-height:1.85;color:var(--muted);font-style:italic;margin:0;max-width:720px}
.tcarousel__author{margin-top:16px;font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.04em}

/* Awards badges */
.footer__awards{display:flex;gap:14px;margin-top:16px;align-items:center;flex-wrap:wrap}
.footer__award{display:inline-flex;align-items:center}
.footer__award img{height:150px;width:auto;border-radius:6px}
.footer__logo-lg{height:72px;width:auto}

/* Day grid — 2x2 image + card pairs (The Week page) */
.day-grid{display:grid;gap:22px;grid-template-columns:1fr;margin-top:28px}
@media(min-width:768px){.day-grid{grid-template-columns:repeat(2,1fr)}}
.day-card{display:flex;flex-direction:column}
.day-card__img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--line2);border-bottom:none}
.day-card .card{border-radius:0 0 var(--radius) var(--radius);flex:1}

/* ── Footer newsletter form ──────────────────────────────────────────────── */
.footer__newsletter{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);max-width:500px}
.footer__nrow{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.footer__ninput{flex:1 1 220px;padding:11px 16px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);font-family:inherit;font-size:14px;color:#fff;outline:none;transition:border-color .2s}
.footer__ninput::placeholder{color:rgba(255,255,255,.45)}
.footer__ninput:focus{border-color:var(--gold)}
.footer__nsubmit{padding:11px 22px;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#111;font-family:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap}
.footer__nsubmit:hover{background:#9a7a4a;border-color:#9a7a4a}

/* ── Popup / modal ───────────────────────────────────────────────────────── */
.popup-overlay{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.popup-overlay[hidden]{display:none}
.popup-box{position:relative;background:#faf9f6;border-radius:16px;padding:40px 36px;max-width:480px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.28)}
.popup-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:24px;color:var(--muted);cursor:pointer;line-height:1;padding:4px 8px}
.popup-close:hover{color:var(--ink)}
.popup-heading{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--ink);margin:6px 0 12px;text-align:center}
.popup-body{font-size:15px;line-height:1.7;color:var(--muted);text-align:center;margin-bottom:20px}
.popup-cta{text-align:center;margin-bottom:20px}
.popup-divider{height:1px;background:var(--line);margin:20px 0}
.popup-sub{font-size:13px;letter-spacing:.04em;color:var(--muted);margin-bottom:10px;text-align:center}
.popup-form-row{display:flex;gap:8px;flex-wrap:wrap}
.popup-input{flex:1 1 180px;padding:11px 16px;border:1px solid var(--line);border-radius:999px;font-family:inherit;font-size:14px;color:var(--ink);outline:none;background:#fff;transition:border-color .2s}
.popup-input:focus{border-color:var(--gold)}
.popup-submit{padding:11px 20px;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#111;font-family:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap}
.popup-submit:hover{background:#9a7a4a;border-color:#9a7a4a}
.popup-thanks{text-align:center;color:var(--gold);font-size:14px;margin-top:10px}
@media(max-width:480px){.popup-box{padding:32px 24px}}
