/* ==========================================================
   Learners' Nest child theme: site chrome + interactive pieces
   Values copied from the live theme (learnersnest.sg, style.css).
   Header/footer classes use an lnc- prefix so they never collide
   with Astra or the ln-* content classes.
   ========================================================== */

body.ln-site,body.ln-site.ast-page-builder-template,body.ln-site.ast-plain-container{background:#F1F2F3}

/* Astra pieces we replace */
#ast-scroll-top{display:none!important}

/* ---------- shared resets inside the chrome ---------- */
.lnc-topbar,.lnc-header,.lnc-footer,.lnc-fab{box-sizing:border-box;font-family:'Inter',system-ui,sans-serif}
.lnc-header *,.lnc-footer *{margin:0;padding:0;box-sizing:border-box}
.lnc-header a,.lnc-footer a{color:inherit;text-decoration:none}
.lnc-header ul,.lnc-footer ul,.lnc-header li{list-style:none}
.lnc-header img,.lnc-footer img{max-width:100%;display:block}
.lnc-wrap{width:min(1200px,92vw);margin:0 auto}

/* ---------- top bar ---------- */
.lnc-topbar{background:#0E3A44;color:#CFE9EE;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  text-align:center;padding:9px 12px;font-weight:600;line-height:1.65}
.lnc-topbar b{color:#6FCBDC}

/* ---------- header ---------- */
.lnc-header{position:sticky;top:0;z-index:80;padding:12px 0;background:rgba(241,242,243,.9);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.admin-bar .lnc-header{top:32px}
@media (max-width:782px){.admin-bar .lnc-header{top:46px}}
@media (max-width:600px){.admin-bar .lnc-header{top:0}}
.lnc-navbar{position:relative;background:#fff;border-radius:100px;padding:9px 9px 9px 18px;display:flex;align-items:center;gap:14px;
  box-shadow:0 6px 26px rgba(14,58,68,.09)}
.lnc-brand{display:flex;align-items:center;gap:11px;flex-shrink:0;color:#141A1C}
.lnc-brand img{width:44px;height:44px;border-radius:50%}
.lnc-brand b{font-family:'Fredoka',sans-serif;font-weight:600;font-size:17px;letter-spacing:-.02em;display:block;line-height:1.1;color:#141A1C}
.lnc-brand span span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#5A696D;font-weight:600;line-height:1.65}
.lnc-links{display:flex;gap:2px;margin-left:auto}
.lnc-links li{list-style:none}
.lnc-links a{display:block;padding:9px 12px;border-radius:100px;font-size:14px;font-weight:500;color:#3D4B4F;transition:.18s;line-height:1.65}
.lnc-links a:hover{background:#EAF7FA;color:#0E3A44}
.lnc-links a.on{background:#0E3A44;color:#fff}
.lnc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:15.5px;padding:13px 24px;border-radius:100px;
  transition:.2s;white-space:nowrap;text-align:center;line-height:1.65;text-decoration:none}
.lnc-btn-wa{background:#6FCBDC;color:#0B2C34!important;box-shadow:0 5px 0 #45A9BC}
.lnc-btn-wa:hover{transform:translateY(2px);box-shadow:0 3px 0 #45A9BC;color:#0B2C34}
.lnc-burger{display:none;margin-left:auto;background:#0E3A44;color:#fff;border:0;width:44px;height:44px;
  border-radius:50%;cursor:pointer;font-size:19px;line-height:1}
.lnc-burger:hover,.lnc-burger:focus{background:#0E3A44;color:#fff}
/* open mobile menu (live sets these inline from JS) */
.lnc-links.is-open{display:flex;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;
  padding:12px;border-radius:22px;box-shadow:0 14px 34px rgba(14,58,68,.15)}

/* ---------- footer ---------- */
.lnc-footer{background:#141A1C;color:#9FB0B4;padding:66px 0 28px;margin-top:80px;line-height:1.65}
.lnc-f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.lnc-f-brand{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.lnc-f-brand img{width:52px;height:52px;border-radius:50%}
.lnc-f-brand b{font-family:'Fredoka',sans-serif;font-size:20px;color:#fff;display:block;line-height:1.1;font-weight:600}
.lnc-f-brand span span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6FCBDC;font-weight:600}
.lnc-footer p{font-size:14.5px;max-width:33ch;color:#9FB0B4}
.lnc-footer h4{font-family:'Fredoka',sans-serif;font-weight:600;color:#fff;font-size:15px;margin-bottom:16px;line-height:1.1;letter-spacing:-.015em}
.lnc-footer li{margin-bottom:10px;font-size:14.5px}
.lnc-footer a:hover{color:#6FCBDC}
.lnc-f-bottom{margin-top:46px;padding-top:22px;border-top:1px solid #2A3235;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;font-size:13px}
/* Astra content area sits directly above our footer */
.site-content{margin-bottom:0}

/* ---------- floating WhatsApp ---------- */
.lnc-fab{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;
  color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:.2s}
.lnc-fab:hover{transform:scale(1.08);color:#fff}

/* ---------- responsive (live breakpoints) ---------- */
@media (max-width:1040px){
  .lnc-links{display:none}.lnc-burger{display:block}
  .lnc-f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .lnc-f-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .lnc-navbar{padding:8px 8px 8px 12px;gap:8px}
  .lnc-navbar .lnc-btn-wa{padding:11px 14px;font-size:0;gap:0}
  .lnc-navbar .lnc-btn-wa svg{width:19px;height:19px}
  .lnc-brand img{width:38px;height:38px}
  .lnc-brand b{font-size:15px}
  .lnc-brand span span{font-size:8.5px}
  .lnc-burger{width:40px;height:40px;font-size:17px}
}
@media (max-width:380px){
  .lnc-brand span span{display:none}
  .lnc-navbar{padding:7px 7px 7px 10px;gap:6px}
  .lnc-topbar{font-size:10px;letter-spacing:.14em}
  .lnc-wrap{width:94vw}
}

/* ==========================================================
   Scroll reveal (live: .rv / .rv.in). JS adds .ln-rv only when
   it runs, so content is never hidden without JavaScript.
   ========================================================== */
.ln-rv{opacity:0;transform:translateY(22px)}
.ln-rv.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){.ln-rv{opacity:1;transform:none}}

/* ==========================================================
   Home hero: pills, avatar stack, trial card (live values)
   ========================================================== */
.ln-hero .ln-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.ln-hero .ln-pills{margin:0}
.ln-hero .ln-pill{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.24);border-radius:100px;
  padding:7px 14px;font-size:13px;font-weight:600;color:#fff}
.ln-hero .ln-hero-cta{margin-top:30px}
.ln-hero-mini{display:flex;gap:14px;align-items:center;margin-top:30px}
.ln-hero-mini>*{margin:0!important}
.ln-stack{display:flex;flex-shrink:0}
.ln-stack figure,.ln-stack .wp-block-image{margin:0 0 0 -12px!important;width:42px;height:42px;flex:0 0 42px}
.ln-stack figure:first-child{margin-left:0!important}
.ln-stack img{width:42px!important;height:42px!important;border-radius:50%;object-fit:cover;border:2.5px solid #08262D;display:block}
.ln-hero-mini p{font-size:13.5px;color:#BFD9DF;line-height:1.4;margin:0}
.ln-hero-mini b,.ln-hero-mini strong{color:#fff;display:block;font-family:'Fredoka',sans-serif;font-size:15px;font-weight:600}

.ln-form-card{color:#141A1C}
.ln-form-card h3{font-size:22px!important;margin:0!important}
.ln-form-card>p{font-size:14px;color:#4E5D61!important;margin-top:5px!important;margin-bottom:18px!important}
.ln-fld{margin-bottom:12px}
.ln-fld label{display:block;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:#4E5D61;margin-bottom:6px}
.ln-fld input,.ln-fld select{width:100%;padding:12px 14px;border:1.5px solid #DCE2E4;border-radius:12px;
  background:#F8FAFA;font-family:'Inter',sans-serif;font-size:15px;color:#141A1C;height:auto;line-height:1.4}
.ln-fld input:focus,.ln-fld select:focus{border-color:#6FCBDC;outline:0;background:#fff}
.ln-form-card .wp-block-buttons,.ln-form-card .wp-block-button{width:100%;margin-top:6px}
.ln-form-card .wp-block-button__link{width:100%;display:flex;align-items:center;justify-content:center;gap:9px}
.ln-form-card .ln-form-note{font-size:12px!important;color:#67757A!important;text-align:center;margin-top:12px!important;margin-bottom:0!important}

/* ==========================================================
   Testimonials carousel (live lnt-* styles, ln- prefixed)
   ========================================================== */
.ln-lnt-wrap{position:relative}
.ln-lnt-car-nav{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin:0 0 18px;min-height:44px}
.ln-lnt-car.ln-car-on{display:block!important;margin:0 -11px;position:relative;overflow:hidden}
.ln-car-track{display:flex;transition:transform .55s ease;will-change:transform}
.ln-car-track>*{flex:0 0 33.3333%;padding:0 11px;margin:0!important;box-sizing:border-box}
@media (max-width:1023px){.ln-car-track>*{flex-basis:50%}}
@media (max-width:699px){.ln-car-track>*{flex-basis:100%}}
.ln-car-track>*>.ln-lnt-card{height:100%}
.ln-lnt-card{background:#fff;border:1px solid #E2ECEE!important;border-radius:18px;overflow:hidden;
  box-shadow:0 12px 30px rgba(8,38,45,.06);display:flex!important;flex-direction:column;height:100%;padding:0!important}
.ln-lnt-card>*{margin:0!important}
.ln-lnt-media{position:relative;width:100%;aspect-ratio:4/3;background:#0F4A57;overflow:hidden;margin:0}
.ln-lnt-media img,.ln-lnt-media iframe{width:100%;height:100%;object-fit:cover;display:block;border:0;margin:0}
.ln-lnt-yt{cursor:pointer}
.ln-lnt-yt:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,38,45,0) 40%,rgba(8,38,45,.45) 100%)}
.ln-lnt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;
  background:#0F4A57;display:flex;align-items:center;justify-content:center;z-index:2;
  box-shadow:0 10px 24px rgba(8,38,45,.35);transition:transform .25s ease,background .25s ease;padding-left:4px}
.ln-lnt-yt:hover .ln-lnt-play{transform:translate(-50%,-50%) scale(1.08);background:#0B3C47}
.ln-lnt-body{padding:22px 22px 24px!important;display:flex;flex-direction:column;flex:1}
.ln-lnt-body>*{margin:0!important}
.ln-lnt-stars,.ln-lnt-stars p{color:#E4A03C!important;font-size:15px;letter-spacing:3px;margin:0 0 12px!important;line-height:1}
.ln-lnt-text,.ln-lnt-body>p{color:#0B3C47!important;font-size:15.5px;line-height:1.72;margin:0 0 18px!important}
.ln-lnt-who{margin-top:auto!important;border-top:1px solid #E2ECEE;padding-top:14px;font-size:13px;color:#5E7C84}
.ln-lnt-who p{margin:0!important;font-size:13px;color:#5E7C84!important}
.ln-lnt-who b,.ln-lnt-who strong{display:block;color:#08262D;font-size:15.5px;margin-bottom:3px;font-weight:700;line-height:1.5}
.ln-lnt-arrow{margin:0;width:44px;height:44px;padding:0;border:1px solid #E2ECEE;border-radius:50%;background:#fff;
  box-shadow:0 8px 20px rgba(8,38,45,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .25s ease}
.ln-lnt-arrow svg{width:15px;height:15px;display:block;pointer-events:none}
.ln-lnt-arrow svg path{stroke:#0F4A57;transition:stroke .25s ease}
.ln-lnt-arrow:hover,.ln-lnt-arrow:focus{background:#0F4A57;border-color:#0F4A57;outline:none;transform:translateY(-2px)}
.ln-lnt-arrow:hover svg path,.ln-lnt-arrow:focus svg path{stroke:#fff}
.ln-car-dots{display:flex;justify-content:center;gap:8px;margin:26px 0 0;padding:0;list-style:none}
.ln-car-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#C6D9DD;cursor:pointer;
  transition:background .25s ease,width .25s ease;font-size:0}
.ln-car-dots button.on{background:#0F4A57;width:26px;border-radius:999px}
@media (max-width:767px){.ln-lnt-car-nav{justify-content:flex-end}.ln-testimoials .ln-sec-head{margin-bottom:10px!important}}
@media (max-width:700px){.ln-lnt-arrow{width:40px;height:40px}}

/* ==========================================================
   Contact Form 7 (live .wpcf7 / .formgrid / .fld styles)
   ========================================================== */
.wpcf7 .formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wpcf7 .formgrid .full{grid-column:span 2}
.wpcf7 .fld{margin:0}
.wpcf7 .fld p,.wpcf7 p{margin:0}
.wpcf7 label{display:block;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#4E5D61;margin-bottom:6px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,.wpcf7 textarea{
  width:100%;padding:12px 14px;border:1.5px solid #DCE2E4;border-radius:12px;background:#F8FAFA;
  font-family:'Inter',sans-serif;font-size:15px;color:#141A1C;height:auto;line-height:1.4}
.wpcf7 textarea{min-height:120px;resize:vertical}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{border-color:#6FCBDC;outline:0;background:#fff}
.wpcf7 .wpcf7-submit{width:100%;background:#6FCBDC;color:#0B2C34;border:0;cursor:pointer;margin-top:16px;
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:15.5px;padding:13px 24px;border-radius:100px;
  transition:.2s;box-shadow:0 5px 0 #45A9BC}
.wpcf7 .wpcf7-submit:hover{transform:translateY(2px);box-shadow:0 3px 0 #45A9BC;background:#6FCBDC;color:#0B2C34}
.wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}
.wpcf7 .form-note{font-size:12px;color:#67757A;text-align:center;margin-top:12px}
.wpcf7 form .wpcf7-response-output{border-radius:12px;border-width:1.5px;font-size:14.5px;margin:14px 0 0;padding:12px 16px}
@media (max-width:1040px){.wpcf7 .formgrid{grid-template-columns:1fr}.wpcf7 .formgrid .full{grid-column:span 1}}

/* ==========================================================
   Founder: quote band with logo (live .qband)
   ========================================================== */
.ln-qband{background:#6FCBDC!important;border-radius:34px;padding:clamp(30px,4.4vw,54px)!important;display:grid!important;
  grid-template-columns:120px 1fr;gap:34px;align-items:center;color:#08262D}
.ln-qband>*{margin:0!important}
.ln-qband figure{width:120px;margin:0}
.ln-qband img{width:120px;height:120px;border-radius:50%;display:block}
.ln-qband p{font-family:'Fredoka',sans-serif;font-size:clamp(20px,2.6vw,30px);line-height:1.35;color:#08262D!important;margin:0!important}
.ln-qband .ln-cite{display:block;margin-top:14px!important;font-style:normal;font-size:12px!important;letter-spacing:.18em;
  text-transform:uppercase;font-weight:700;color:#0F4A57!important;font-family:'Inter',sans-serif;line-height:1.65}
@media (max-width:1040px){.ln-qband{grid-template-columns:1fr;gap:20px;text-align:left}}

/* ==========================================================
   Fees tables (live .dt): fee column right-aligned, group rows
   ========================================================== */
.ln-dt table{width:100%;border-collapse:collapse;background:#fff;border:1.5px solid #E7EBEC;border-radius:20px;overflow:hidden}
.ln-dt th,.ln-dt td{padding:15px 20px;text-align:left;font-size:15.5px;border:0;border-bottom:1px solid #EDF0F1}
.ln-dt thead th{background:#0E3A44;color:#fff;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14px;letter-spacing:.04em}
.ln-dt tbody tr:last-child td{border-bottom:0}
.ln-dt tbody tr:hover{background:#F6FBFC}
.ln-dt td:last-child,.ln-dt th:last-child{text-align:right;font-family:'Fredoka',sans-serif;font-weight:600;color:#0E3A44}
.ln-dt td[colspan]{background:#EAF7FA;font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:#1F5F6C;text-align:left!important}
.ln-dt thead{border:0}

/* ==========================================================
   FAQ numbering (live .acc-q: 01, 02 ... across the page)
   ========================================================== */
.entry-content{counter-reset:ln-faq}
.ln-acc details{counter-increment:ln-faq}
.ln-acc summary{display:flex;align-items:flex-start;gap:14px}
.ln-acc summary::before{content:counter(ln-faq,decimal-leading-zero);display:inline-block;min-width:30px;color:#3B7C89;font-size:14px;line-height:1.7}
.ln-acc summary:after{margin-left:auto;float:none}

/* ==========================================================
   Founder: photo beside "Hello, I'm Liya" (live .shot.tall)
   ========================================================== */
.ln-msplit>.ln-shot{border-radius:30px;overflow:hidden;box-shadow:0 22px 50px rgba(14,58,68,.16);margin:0}
.ln-msplit>.ln-shot figure{margin:0}
.ln-msplit>.ln-shot.ln-tall img{width:100%;height:520px;object-fit:cover;object-position:top;display:block}
@media (max-width:640px){.ln-msplit>.ln-shot.ln-tall img{height:340px}}

/* ==========================================================
   Founder "My journey" timeline (live .tl / .tl-item / .tl-year)
   ========================================================== */
.ln-sec .ln-tl{display:grid;gap:0;margin-top:12px}
.ln-sec .ln-tl>*{margin:0!important}
.ln-sec .ln-tl-item{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:30px 0;border-bottom:1.5px dashed #CDD6D8;
  background:none;border-radius:0}
.ln-sec .ln-tl-item:last-child{border-bottom:0}
.ln-sec .ln-tl-item>*{margin:0!important}
.ln-sec .ln-tl-year>*{margin:0!important}
.ln-sec .ln-tl-year .ln-tl-num{font-family:'Fredoka',sans-serif;font-size:30px;font-weight:500;color:#0E3A44!important;line-height:1}
.ln-sec .ln-tl-year .ln-tl-label{display:block;font-family:'Inter',sans-serif;font-size:11px!important;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#3B7C89!important;margin-top:6px!important;line-height:1.4}
.ln-sec .ln-tl-body>*{margin:0}
.ln-sec .ln-tl-body h3{font-size:22px;margin:0 0 8px!important;color:#141A1C!important}
.ln-sec .ln-tl-body p{color:#46565A;font-size:16.5px;margin:0 0 12px!important;line-height:1.65}
.ln-sec .ln-tl-body p:last-child{margin-bottom:0!important}
@media (max-width:640px){.ln-sec .ln-tl-item{grid-template-columns:1fr;gap:12px}}

/* ==========================================================
   Side-by-side alignment (2026-10-04 audit)
   1) WordPress "flow" layout adds margin-top to every block except the
      first; inside grids that pushes items 2..n down by 24px.
   2) Photo rows/cards use live's fixed heights with cover cropping so
      images of different shapes line up.
   ========================================================== */
.entry-content :is(.ln-cards,.ln-ccards,.ln-cgrid,.ln-cur,.ln-diff-grid,.ln-fees-grid,.ln-formgrid,.ln-gal,.ln-hero-in,
  .ln-msplit,.ln-stats-grid,.ln-steps,.ln-strip3,.ln-vs-row,.ln-cmp-row,.ln-welcome,.ln-tl-item,.ln-trustbar)>*{
  margin-block-start:0!important;margin-top:0!important}

/* photo strips (live .strip3): 3 equal tiles, 230px tall */
.entry-content .ln-strip3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}
.entry-content .ln-strip3>*{border-radius:22px;overflow:hidden;height:230px;background:#DDE3E4;margin:0}
.entry-content .ln-strip3 figure{margin:0!important;height:100%}
.entry-content .ln-strip3 img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:.5s;border-radius:0}
.entry-content .ln-strip3>*:hover img{transform:scale(1.05)}

/* card photos (live .card .ph 158px, .cur-card .ph 140px, format cards 220px) */
.entry-content .ln-ph{overflow:hidden;margin:0!important}
.entry-content .ln-ph figure{margin:0!important;height:100%}
.entry-content .ln-ph img{width:100%!important;height:100%!important;object-fit:cover;display:block;border-radius:0}
.entry-content .ln-cards .ln-card .ln-ph{height:158px}
.entry-content .ln-cards .ln-card .ln-ph img{object-position:top;transition:.5s}
.entry-content .ln-cards .ln-card:hover .ln-ph img{transform:scale(1.06)}
.entry-content .ln-cur .ln-cur-card .ln-ph{height:140px;position:relative}
.entry-content .ln-cgrid.ln-two .ln-card .ln-ph{height:220px}

@media (max-width:1040px){
  .entry-content .ln-strip3{grid-template-columns:1fr 1fr}
  .entry-content .ln-strip3>*:nth-child(3){display:none}
}
@media (max-width:640px){
  .entry-content .ln-strip3{grid-template-columns:1fr}
  .entry-content .ln-strip3>*:nth-child(3){display:block}
}

/* ==========================================================
   Home "Our learning framework" (live .fw-band / .steps / .stp / .twig)
   ========================================================== */
.entry-content .ln-fw-band{border-radius:34px;overflow:hidden;position:relative;margin:0 0 40px!important}
.entry-content .ln-fw-band>figure{margin:0!important}
.entry-content .ln-fw-band img{width:100%;height:300px;object-fit:cover;display:block;border-radius:0}
.entry-content .ln-fw-band .ln-ov{position:absolute;inset:0;margin:0!important;
  background:linear-gradient(90deg,rgba(8,38,45,.9),rgba(8,38,45,.25));
  display:flex;align-items:center;padding:0 clamp(24px,5vw,58px)}
.entry-content .ln-fw-band .ln-ov>div>*{margin:0!important}
.entry-content .ln-fw-band .ln-eyebrow{color:#8FDCEA!important}
.entry-content .ln-fw-band h2{color:#fff!important;font-size:clamp(26px,3.3vw,40px)!important;max-width:17ch;
  margin:12px 0 0!important;line-height:1.1}

.entry-content .ln-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.entry-content .ln-stp{background:#fff;border-radius:24px;padding:24px 20px 26px!important;border:1.5px solid #E7EBEC;transition:.24s;box-shadow:none}
.entry-content .ln-stp:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(14,58,68,.09);border-color:#6FCBDC}
.entry-content .ln-stp>*{margin:0!important}
.entry-content .ln-stp .ln-n{width:52px;height:52px;border-radius:50%;background:#6FCBDC;border:2px solid #141A1C;
  display:grid;place-items:center;margin:0 0 16px!important;padding:0}
.entry-content .ln-stp .ln-n p{font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px!important;color:#08262D!important;margin:0!important;line-height:1}
.entry-content .ln-stp h3{font-size:19px!important;margin:0 0 8px!important;color:#141A1C!important;line-height:1.1}
.entry-content .ln-stp>p:not(.ln-goal){font-size:14px!important;color:#4E5D61!important;line-height:1.6}
.entry-content .ln-stp .ln-goal{display:inline-block;margin-top:12px!important;font-size:12px!important;font-weight:600;
  color:#2A7C8C!important;background:#EAF7FA;padding:5px 12px;border-radius:100px;line-height:1.65}

/* hand-drawn divider under the section (live .twig) */
.entry-content #approach.ln-sec{padding-bottom:0}
.entry-content #approach.ln-sec::after{content:"";display:block;width:100%;aspect-ratio:1200/40;margin-top:80px;opacity:.85;
  background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C 180 8, 300 34, 470 22 S 760 6, 900 24 S 1100 34, 1200 18' fill='none' stroke='%23141A1C' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M300 30 l-26 10 M306 30 l-4 12 M880 27 l24 12 M874 27 l4 13' fill='none' stroke='%23141A1C' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}

@media (max-width:1040px){.entry-content .ln-steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .entry-content .ln-steps{grid-template-columns:1fr}
  .entry-content .ln-fw-band img{height:230px}
}

/* Eyebrow labels: short turquoise line before the text (live .eyebrow::before) */
.entry-content .ln-eyebrow{display:inline-flex!important;align-items:center;gap:9px}
.entry-content .ln-eyebrow::before{content:"";width:22px;height:2px;background:#6FCBDC;border-radius:2px;flex-shrink:0}

/* ==========================================================
   Home welcome: photo collage + text (live .welcome / .collage)
   ========================================================== */
.entry-content .ln-sec.ln-welcome,
.entry-content .ln-sec:has(> .ln-stats-grid){background:transparent}
.entry-content .ln-sec.ln-welcome{padding:80px 0}
.entry-content .ln-wrap.ln-welcome{display:grid!important;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.entry-content .ln-collage{position:relative;padding:0 44px 52px 0!important}
.entry-content .ln-collage>*{margin:0!important}
.entry-content .ln-collage .ln-big{border-radius:30px;overflow:hidden;box-shadow:0 22px 50px rgba(14,58,68,.16)}
.entry-content .ln-collage .ln-big img{width:100%;height:420px;object-fit:cover;display:block;border-radius:0}
.entry-content .ln-collage .ln-sm{position:absolute!important;right:0;bottom:0;width:56%;border-radius:22px;overflow:hidden;
  border:7px solid #F1F2F3;box-shadow:0 16px 36px rgba(14,58,68,.16)}
.entry-content .ln-collage .ln-sm img{width:100%;height:190px;object-fit:cover;display:block;border-radius:0}
.entry-content .ln-collage .ln-badge-yrs{position:absolute;left:-16px;top:26px;background:#6FCBDC;color:#08262D!important;border-radius:20px;
  padding:14px 18px;box-shadow:0 12px 28px rgba(14,58,68,.2);font-size:11px!important;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;line-height:1.65;z-index:2}
.entry-content .ln-badge-yrs strong{font-family:'Fredoka',sans-serif;font-size:26px;display:block;line-height:1;letter-spacing:0;text-transform:none;font-weight:600}
.entry-content .ln-badge-yrs br{display:none}
.entry-content .ln-welcome-text>*{margin-top:0!important}
.entry-content .ln-welcome-text h2{font-size:clamp(28px,3.4vw,42px)!important;margin:14px 0 18px!important;color:#141A1C!important;line-height:1.1}
.entry-content .ln-welcome-text p:not(.ln-eyebrow):not(.ln-link-arrow){color:#415155!important;margin:0 0 16px!important;font-size:17px;line-height:1.65}
.entry-content .ln-link-arrow{margin:12px 0 0!important}
.entry-content .ln-link-arrow a{display:inline-flex;align-items:center;gap:8px;font-family:'Fredoka',sans-serif;font-weight:600;
  color:#0E3A44!important;border-bottom:2px solid #6FCBDC;padding-bottom:3px;transition:.2s;text-decoration:none}
.entry-content .ln-link-arrow a:hover{gap:14px}

/* Stats band (live .stats / .stats-grid) */
.entry-content .ln-sec:has(> .ln-stats-grid){padding:0!important}
.entry-content .ln-stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;
  background:#0E3A44;border-radius:34px;padding:14px 0;color:#fff}
.entry-content .ln-stats-grid>.ln-cell{padding:26px 24px!important;border-right:1px solid rgba(255,255,255,.14);text-align:center;margin:0!important}
.entry-content .ln-stats-grid>.ln-cell:last-child{border-right:0}
.entry-content .ln-stats-grid p{margin:0!important;font-size:12.5px!important;letter-spacing:.13em;text-transform:uppercase;color:#B4CFD5!important;font-weight:600;line-height:1.65}
.entry-content .ln-stats-grid strong{font-family:'Fredoka',sans-serif;font-size:36px!important;display:block;line-height:1.1!important;
  color:#6FCBDC!important;letter-spacing:0;text-transform:none;font-weight:600}
.entry-content .ln-stats-grid br{display:none}

@media (max-width:1040px){
  .entry-content .ln-wrap.ln-welcome{grid-template-columns:1fr;gap:40px}
  .entry-content .ln-collage{padding:0 0 70px 0!important}
  .entry-content .ln-collage .ln-sm{width:62%}
  .entry-content .ln-stats-grid{grid-template-columns:1fr 1fr!important}
  .entry-content .ln-stats-grid>.ln-cell:nth-child(2){border-right:0}
}
@media (max-width:640px){
  .entry-content .ln-sec.ln-welcome{padding:56px 0}
  .entry-content .ln-collage .ln-big img{height:300px}
}

/* Testimonial video thumbnails are 2:1 on live (.lnt-media aspect-ratio 6/3) */
.ln-lnt-media{aspect-ratio:6/3!important}
/* Live's welcome columns span 1100px of the 1200px wrap (509px / 535px); match the widths, keep it centred */
@media (min-width:1041px){.entry-content .ln-wrap.ln-welcome{padding:0 50px!important;box-sizing:border-box}}

/* ==========================================================
   HOME PAGE: full match with live (2026-10-04)
   ========================================================== */
/* Sections sit on the page grey with live's 80px padding; headings are ink, not teal */
.home .entry-content .ln-sec:not(.ln-hero):not(.ln-trustbar){background:transparent!important}
.home .entry-content .ln-sec:not(.ln-hero):not(.ln-trustbar):not(:has(> .ln-stats-grid)){padding:80px 0}
.home .entry-content .ln-sec.ln-gallery{padding-top:20px!important}
.home .entry-content .ln-sec.ln-ctas{padding-top:24px!important}
.home .entry-content .ln-sec h2,.home .entry-content .ln-sec h3,.home .entry-content .ln-sec h4{color:#141A1C;font-weight:600;letter-spacing:-.015em}
.home .entry-content .ln-sec-head{max-width:680px;margin-bottom:44px!important}
.home .entry-content .ln-sec-head.ln-ctr{margin-left:auto!important;margin-right:auto!important;text-align:center}
.home .entry-content .ln-sec-head>*{margin:0}
.home .entry-content .ln-sec-head h2{font-size:clamp(29px,3.5vw,43px)!important;margin:14px 0 0!important;line-height:1.1}
.home .entry-content .ln-eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.16em;color:#3B7C89!important;margin:0!important}
.home .entry-content .ln-eyebrow.ln-lt{color:#8FDCEA!important}

/* Hero (live .hero) */
.home .entry-content .ln-hero{padding:76px 0 84px!important}
.home .entry-content .ln-hero .ln-bg::after{background:linear-gradient(100deg,rgba(8,38,45,.94) 0%,rgba(8,38,45,.86) 42%,rgba(8,38,45,.52) 100%)!important}
.home .entry-content .ln-hero-in{grid-template-columns:1.15fr .85fr!important;gap:52px!important}
.home .entry-content .ln-hero-in>.ln-cell>*{margin-top:0;margin-bottom:0}
.home .entry-content .ln-hero h1{font-size:clamp(37px,4.9vw,60px)!important;margin:18px 0 0!important;line-height:1.1}
.home .entry-content .ln-hero h1 em{font-style:normal;color:#6FCBDC}
.home .entry-content .ln-hero .ln-sub{font-size:18.5px!important;color:#D2E8EC!important;margin-top:20px!important;max-width:40ch}
.home .entry-content .ln-hero .ln-pill{padding:7px 15px;font-size:13.5px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.home .entry-content .ln-hero-cta .wp-block-buttons{gap:12px}

/* Trust bar (live .trustbar) */
.home .entry-content .ln-trustbar{background:#fff!important;padding:22px 0!important;border-bottom:1px solid #E3E7E8}
.home .entry-content .ln-trust-items{display:flex;flex-wrap:wrap;gap:14px 38px;justify-content:center;align-items:center;margin:0!important}
.home .entry-content .ln-trust-items span{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#3F4E52;
  display:flex;align-items:center;gap:9px;line-height:1.65}
.home .entry-content .ln-trust-items span::before{content:"";width:8px;height:8px;border-radius:50%;background:#6FCBDC}

/* Why choose us cards (live .cards / .card / .icn / .card.feature) */
.home .entry-content .ln-cards{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important}
.home .entry-content .ln-card{background:#fff;border-radius:26px!important;overflow:hidden;border:1.5px solid #E7EBEC!important;transition:.24s;
  display:flex!important;flex-direction:column;padding:0!important;box-shadow:none}
.home .entry-content .ln-card:hover{transform:translateY(-7px);border-color:#6FCBDC!important;box-shadow:0 18px 38px rgba(14,58,68,.1)}
.home .entry-content .ln-card .ln-bd{padding:22px!important;margin:0!important}
.home .entry-content .ln-card .ln-bd>*{margin:0}
.home .entry-content .ln-icn{width:46px;height:46px;border-radius:15px;background:#EAF7FA;display:grid;place-items:center;
  margin-bottom:14px;color:#2A7C8C}
.home .entry-content .ln-icn svg{display:block}
.home .entry-content .ln-card h3{font-size:18.5px!important;margin:0 0 7px!important;line-height:1.1}
.home .entry-content .ln-card .ln-bd>p:not(.ln-link-arrow){font-size:14.5px!important;color:#4E5D61!important;line-height:1.6;margin:0!important}
.home .entry-content .ln-card.ln-feature{background:#0E3A44;border-color:#0E3A44!important;color:#fff;grid-column:span 2}
.home .entry-content .ln-card.ln-feature h3{color:#fff!important}
.home .entry-content .ln-card.ln-feature .ln-bd>p:not(.ln-link-arrow){color:#C0DAE0!important}
.home .entry-content .ln-card.ln-feature .ln-icn{background:rgba(111,203,220,.18);color:#6FCBDC}
.home .entry-content .ln-card.ln-feature .ln-link-arrow a{color:#6FCBDC!important;border-color:#6FCBDC}

/* Curricula (live .cur / .cur-card) */
.home .entry-content .ln-cur{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important}
.home .entry-content .ln-cur-card{background:#fff;border-radius:26px!important;overflow:hidden;border:1.5px solid #E7EBEC!important;transition:.24s;padding:0!important}
.home .entry-content .ln-cur-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(14,58,68,.1);border-color:#6FCBDC!important}
.home .entry-content .ln-cur-card .ln-ph .ln-tag{position:absolute;left:14px;bottom:14px;margin:0!important;background:#fff;border-radius:100px;padding:5px 13px;
  font-size:11px!important;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#2A7C8C!important;line-height:1.65;z-index:2}
.home .entry-content .ln-cur-card .ln-bd{padding:22px!important}
.home .entry-content .ln-cur-card .ln-bd>*{margin:0}
.home .entry-content .ln-cur-card h3{font-size:21px!important;margin:0 0 12px!important}
.home .entry-content .ln-cur-card ul{list-style:none;margin:0!important;padding:0!important}
.home .entry-content .ln-cur-card li{font-size:14.5px!important;color:#46565A!important;padding-left:20px;position:relative;margin:0 0 8px!important;line-height:1.65;list-style:none}
.home .entry-content .ln-cur-card li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:#6FCBDC}
.home .entry-content .ln-curricula .ln-wrap>.ln-link-arrow{text-align:center;margin-top:32px!important}

/* "A real classroom" (live .split / .vs) */
.home .entry-content .ln-wrap.ln-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.home .entry-content .ln-split>.ln-cell>*{margin-top:0}
.home .entry-content .ln-split h2{font-size:clamp(27px,3.3vw,40px)!important;margin:14px 0 16px!important;line-height:1.1}
.home .entry-content .ln-split .ln-cell>p:not(.ln-eyebrow):not(.ln-link-arrow){color:#415155!important;font-size:17px!important;margin:0!important}
.home .entry-content .ln-split>.ln-shot{border-radius:30px;overflow:hidden;box-shadow:0 22px 50px rgba(14,58,68,.16);margin:0!important}
.home .entry-content .ln-split>.ln-shot figure{margin:0!important}
.home .entry-content .ln-split>.ln-shot img{width:100%;height:440px;object-fit:cover;display:block;border-radius:0}
.home .entry-content .ln-vs{display:grid!important;gap:14px!important;margin:24px 0 0!important}
.home .entry-content .ln-vs-row{display:block!important;background:#fff;border-radius:18px!important;padding:18px 20px!important;border:1.5px solid #E7EBEC!important}
.home .entry-content .ln-vs-row>*{margin:0!important}
.home .entry-content .ln-vs-row .ln-bad p{font-size:14.5px!important;color:#7C8A8E!important;text-decoration:line-through;margin:0 0 6px!important;line-height:1.65}
.home .entry-content .ln-vs-row .ln-good p{font-size:15.5px!important;color:#141A1C!important;font-weight:500;padding-left:26px;position:relative;margin:0!important;line-height:1.65}
.home .entry-content .ln-vs-row .ln-good p::before{content:"✓";position:absolute;left:0;top:-1px;color:#2A7C8C;font-weight:700;font-size:17px}

/* "What makes us different" (live .diff / .diff-grid / .quote) */
.home .entry-content .ln-diff-grid{background:#0E3A44;border-radius:36px;padding:clamp(30px,4.4vw,58px)!important;color:#fff;position:relative;overflow:hidden;
  display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:48px!important;align-items:center}
.home .entry-content .ln-diff-grid>.ln-cell>*{margin-top:0}
.home .entry-content .ln-diff-grid h2{font-size:clamp(27px,3.4vw,42px)!important;margin:16px 0 20px!important;max-width:20ch;color:#fff!important;line-height:1.1}
.home .entry-content .ln-diff-grid h2 em{font-style:normal;color:#6FCBDC}
.home .entry-content .ln-diff-grid p{color:#C3DBE1!important;font-size:17px!important;margin:0 0 14px!important}
.home .entry-content .ln-diff-grid>.ln-shot{border-radius:26px;overflow:hidden;margin:0!important}
.home .entry-content .ln-diff-grid>.ln-shot figure{margin:0!important}
.home .entry-content .ln-diff-grid>.ln-shot img{width:100%;height:380px;object-fit:cover;display:block;border-radius:0}
.home .entry-content .ln-quote{margin-top:26px!important;border-left:3px solid #6FCBDC;padding-left:20px}
.home .entry-content .ln-quote p{font-family:'Fredoka',sans-serif;font-size:19px!important;color:#fff!important;line-height:1.4;margin:0!important}
.home .entry-content .ln-quote .ln-cite{display:block;margin-top:10px!important;font-family:'Inter',sans-serif;font-size:12.5px!important;color:#6FCBDC!important;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1.65}

/* Testimonials note */
.home .entry-content .ln-tst-note{text-align:center;margin:26px 0 0!important;font-size:14px!important;color:#5A696D!important}

/* Fees (live .fees-grid / .fee-box / .fee-list) */
.home .entry-content .ln-sec-head:not(.ln-ctr){margin-left:0}
.home .entry-content .ln-fees-grid{display:grid!important;grid-template-columns:.85fr 1.15fr!important;gap:24px!important}
.home .entry-content .ln-fee-box{background:#6FCBDC!important;border-radius:30px!important;padding:36px 32px!important;color:#0B2C34;display:flex!important;flex-direction:column;justify-content:center;border:0!important}
.home .entry-content .ln-fee-box>*{margin:0!important}
.home .entry-content .ln-fee-box>p{font-size:15px!important;font-weight:500;color:#0B2C34!important;line-height:1.65}
.home .entry-content .ln-fee-box>p:first-child{font-size:12.5px!important;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.home .entry-content .ln-fee-box .ln-amt{margin:8px 0 4px!important}
.home .entry-content .ln-fee-box .ln-amt p{font-family:'Fredoka',sans-serif;font-size:clamp(50px,6.6vw,80px)!important;line-height:1;color:#0B2C34!important;margin:0!important;font-weight:600}
.home .entry-content .ln-fee-box .ln-amt sup{font-size:.33em;vertical-align:super;font-weight:500;top:0}
.home .entry-content .ln-fee-box .wp-block-buttons{margin-top:22px!important}
.home .entry-content .ln-fee-list{background:#fff!important;border-radius:30px!important;padding:32px!important;border:1.5px solid #E7EBEC!important}
.home .entry-content .ln-fee-list>*{margin-top:0}
.home .entry-content .ln-fee-list h3{font-size:21px!important;margin:0 0 16px!important}
.home .entry-content .ln-fee-list ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;margin:0!important;padding:0!important}
.home .entry-content .ln-fee-list li{font-size:14.5px!important;color:#46565A!important;padding-left:26px;position:relative;margin:0!important;list-style:none;line-height:1.65}
.home .entry-content .ln-fee-list li::before{content:"✓";position:absolute;left:0;top:0;color:#2A7C8C;font-weight:700}
.home .entry-content .ln-fee-note{margin:18px 0 0!important;padding-top:16px;border-top:1.5px dashed #D4DBDD;font-size:14px!important;color:#4E5D61!important}

/* Gallery (live .gal: 6 tiles, 172px) */
.home .entry-content .ln-gallery .ln-sec-head{margin-bottom:28px!important}
.home .entry-content .ln-gallery .ln-sec-head h2{font-size:clamp(24px,2.8vw,34px)!important}
.home .entry-content .ln-gal{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:12px!important}
.home .entry-content .ln-gal>figure{border-radius:18px;overflow:hidden;background:#DDE3E4;height:172px;margin:0!important}
.home .entry-content .ln-gal img{width:100%!important;height:100%!important;object-fit:cover;transition:.45s;display:block;border-radius:0}
.home .entry-content .ln-gal>figure:hover img{transform:scale(1.09)}

/* Final CTA (live .final) */
.home .entry-content .ln-final{position:relative;border-radius:36px!important;overflow:hidden;padding:clamp(46px,6vw,88px) clamp(24px,5vw,60px)!important;
  text-align:center;color:#fff;isolation:isolate}
.home .entry-content .ln-final>.ln-bg::after{background:linear-gradient(180deg,rgba(8,38,45,.9),rgba(8,38,45,.82))!important}
.home .entry-content .ln-final>*:not(.ln-bg){position:relative;z-index:2}
.home .entry-content .ln-final .ln-eyebrow{justify-content:center}
.home .entry-content .ln-final h2{font-size:clamp(30px,4.2vw,52px)!important;max-width:17ch;margin:16px auto 0!important;color:#fff!important;line-height:1.1}
.home .entry-content .ln-final>p:not(.ln-eyebrow){color:#C9E1E7!important;font-size:17.5px!important;max-width:56ch;margin:18px auto 0!important}
.home .entry-content .ln-final .ln-hero-cta{margin-top:30px!important}
.home .entry-content .ln-final .wp-block-buttons{justify-content:center;gap:12px}

/* Responsive (live breakpoints) */
@media (max-width:1040px){
  .home .entry-content .ln-hero-in,.home .entry-content .ln-wrap.ln-split,.home .entry-content .ln-diff-grid,.home .entry-content .ln-fees-grid{grid-template-columns:1fr!important;gap:40px!important}
  .home .entry-content .ln-cards,.home .entry-content .ln-cur{grid-template-columns:1fr 1fr!important}
  .home .entry-content .ln-card.ln-feature{grid-column:span 2}
  .home .entry-content .ln-gal{grid-template-columns:repeat(3,1fr)!important}
  .home .entry-content .ln-gal>figure{height:158px}
}
@media (max-width:640px){
  .home .entry-content .ln-sec:not(.ln-hero):not(.ln-trustbar):not(:has(> .ln-stats-grid)){padding:56px 0}
  .home .entry-content .ln-cards,.home .entry-content .ln-cur,.home .entry-content .ln-fee-list ul{grid-template-columns:1fr!important}
  .home .entry-content .ln-card.ln-feature{grid-column:span 1}
  .home .entry-content .ln-gal{grid-template-columns:repeat(2,1fr)!important}
  .home .entry-content .ln-gal>figure{height:150px}
  .home .entry-content .ln-split>.ln-shot img,.home .entry-content .ln-diff-grid>.ln-shot img{height:280px}
}
.home .entry-content .ln-vs>*{margin:0!important}
.home .entry-content .ln-fee-box .ln-amt sup{margin-right:2px}

/* ==========================================================
   Pixel-level fixes from the live/local measurement pass
   ========================================================== */
/* Buttons: live .btn is 13px/24px padding, 15.5px Fredoka, 1.65 line height (52px tall) */
.entry-content .wp-block-button[class*="ln-btn"] .wp-block-button__link{padding:13px 24px!important;font-size:15.5px!important;line-height:1.65!important}
/* Eyebrow labels sit on their own 20px line like live (no taller inline line box) */
.entry-content .ln-eyebrow{display:flex!important;width:-moz-fit-content;width:fit-content;line-height:1.65!important}
.entry-content .ln-sec-head.ln-ctr .ln-eyebrow,.entry-content .ln-final .ln-eyebrow{margin-left:auto!important;margin-right:auto!important}
/* "More about…" style links: 16px like live */
.entry-content .ln-link-arrow{font-size:16px!important;line-height:1.65!important}

/* Hero: no stray flow margin above the grid; live's 30px gaps above buttons and avatar row */
.home .entry-content .ln-hero>.ln-hero-in{margin-top:0!important}
.home .entry-content .ln-hero-in>.ln-cell>.ln-hero-cta,
.home .entry-content .ln-hero-in>.ln-cell>.ln-hero-mini{margin-top:30px!important}

/* Welcome: live section is 696px tall with the collage centred */
.home .entry-content .ln-sec.ln-welcome{padding:110px 0!important}

/* Why-choose-us icon tile keeps its 14px gap under it */
.home .entry-content .ln-card .ln-bd>.ln-icn,.home .entry-content .ln-card .ln-bd>p>.ln-icn{margin:0 0 14px!important}
/* Card bodies sit directly under the photo (no flow margin) */
.home .entry-content .ln-card>*,.home .entry-content .ln-cur-card>*{margin-top:0!important;margin-block-start:0!important}

/* Testimonials: cards size to their own content like live; compact star row */
.ln-car-track{align-items:flex-start}
.ln-car-track>*>.ln-lnt-card{height:auto}
.ln-lnt-body>.ln-lnt-stars{margin:0 0 12px!important}
.ln-lnt-stars p{margin:0!important;line-height:1!important;height:15px}
.ln-lnt-wrap .ln-car-dots{margin-top:26px}
.home .entry-content .ln-curricula .ln-wrap>.ln-link-arrow{margin-top:44px!important}

/* ==========================================================
   Online Lessons page (page-id-105): live section rhythm + "Common concerns"
   ========================================================== */
/* Live: sections share the page grey; after the first, each starts with no top padding */
.page-id-105 .entry-content .ln-sec:not(.ln-phero){background:transparent!important;padding:0 0 80px!important}
.page-id-105 .entry-content .ln-phero+.ln-sec{padding-top:80px!important}
.page-id-105 .entry-content .ln-sec:not(.ln-phero):last-child{padding-top:24px!important}
.page-id-105 .entry-content .ln-sec:not(.ln-phero) h2,
.page-id-105 .entry-content .ln-sec:not(.ln-phero) h3{color:#141A1C}
/* Section heads (live .sec-head) */
.page-id-105 .entry-content .ln-sec-head{max-width:680px;margin-bottom:44px!important}
.page-id-105 .entry-content .ln-sec-head>*{margin:0}
.page-id-105 .entry-content .ln-sec-head h2{font-size:clamp(29px,3.5vw,43px)!important;margin:14px 0 0!important;line-height:1.1;color:#141A1C!important}
.page-id-105 .entry-content .ln-sec-head>p:not(.ln-eyebrow){color:#46565A!important;font-size:17.5px!important;margin:14px 0 0!important;line-height:1.65}
@media (max-width:640px){
  .page-id-105 .entry-content .ln-sec:not(.ln-phero){padding-bottom:56px!important}
  .page-id-105 .entry-content .ln-phero+.ln-sec{padding-top:56px!important}
}

/* Common concerns (live .cmp / .cmp-row / .q / .a) */
.entry-content .ln-cmp{display:grid!important;gap:14px!important}
.entry-content .ln-cmp>*{margin:0!important}
.entry-content .ln-cmp-row{display:block!important;background:#fff!important;border-radius:22px!important;padding:24px!important;
  border:1.5px solid #E7EBEC!important;box-shadow:none!important;transform:none!important}
.entry-content .ln-cmp-row:hover{transform:none!important;box-shadow:none!important}
.entry-content .ln-cmp-row>*{margin:0!important}
.entry-content .ln-cmp-row .ln-q{font-family:'Fredoka',sans-serif;font-size:18px!important;color:#141A1C!important;margin:0 0 10px!important;
  padding-left:30px;position:relative;line-height:1.65;font-weight:400}
.entry-content .ln-cmp-row .ln-q::before{content:"\201C";position:absolute;left:0;top:-6px;font-size:34px;color:#6FCBDC;line-height:1}
.entry-content .ln-cmp-row .ln-a{font-size:15.5px!important;color:#415155!important;padding-left:30px;position:relative;line-height:1.65}
.entry-content .ln-cmp-row .ln-a::before{content:"✓";position:absolute;left:4px;top:0;color:#2A7C8C;font-weight:700;font-size:17px}
.entry-content .ln-cmp-row .ln-a b,.entry-content .ln-cmp-row .ln-a strong{color:#0E3A44;font-weight:600}
/* Live's eyebrow sits in a 26px text line, 8px below the top of the section head */
.page-id-105 .entry-content .ln-sec-head{padding-top:8px!important}

/* ==========================================================
   Responsive optimisation (2026-10-04)
   ========================================================== */
/* Card grids: live's fixed column counts (3 / 4 / 2 → 2 at ≤1040 → 1 at ≤640) instead of auto-fit */
.entry-content .ln-cgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.entry-content .ln-cgrid.ln-four{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.entry-content .ln-cgrid.ln-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:1040px){
  .entry-content .ln-cgrid,.entry-content .ln-cgrid.ln-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  /* WhatsApp button sits beside the menu button once the links collapse */
  .lnc-navbar .lnc-btn-wa{margin-left:auto}
  .lnc-navbar .lnc-burger{margin-left:0}
}
/* Page banners: the content wrapper already has page gutters, so no extra side padding */
.entry-content .ln-phero{padding-left:0!important;padding-right:0!important}

@media (max-width:640px){
  .entry-content .ln-cgrid,.entry-content .ln-cgrid.ln-four,.entry-content .ln-cgrid.ln-two{grid-template-columns:1fr!important}
  /* Top bar on one line */
  .lnc-topbar{font-size:10px;letter-spacing:.12em;padding:8px 10px}
  /* Photo strip: one wide photo over two small ones instead of three tall tiles */
  .entry-content .ln-strip3{grid-template-columns:1fr 1fr!important;gap:10px}
  .entry-content .ln-strip3>*{height:150px;border-radius:18px}
  .entry-content .ln-strip3>*:first-child{grid-column:span 2;height:200px}
  .entry-content .ln-strip3>*:nth-child(3){display:block}
  /* Common concerns: slightly tighter cards on phones */
  .entry-content .ln-cmp{gap:12px!important}
  .entry-content .ln-cmp-row{padding:18px!important;border-radius:18px!important}
  .entry-content .ln-cmp-row .ln-q{font-size:16.5px!important;padding-left:26px}
  .entry-content .ln-cmp-row .ln-a{font-size:15px!important;padding-left:26px}
  .entry-content .ln-cmp-row .ln-a::before{left:2px}
  /* Less dead space above the footer */
  .lnc-footer{margin-top:40px;padding-top:48px}
}
@media (max-width:380px){
  .lnc-topbar{font-size:9.5px;letter-spacing:.1em}
}
/* Astra adds 30px side padding to full-width blocks on smaller screens; our .ln-wrap already
   provides the page gutters, so remove it (it narrowed text and pushed carousels off-screen) */
.entry-content .ln-sec.alignfull{padding-left:0!important;padding-right:0!important}
@media (max-width:640px){
  .ln-lnt-car.ln-car-on{margin:0!important}
  .ln-car-track>*{padding:0!important}
}
@media (max-width:640px){.entry-content .ln-collage .ln-badge-yrs{left:-8px}}

/* ==========================================================
   Whole-site responsive pass (2026-10-04)
   ========================================================== */
/* Carousel dots: same look, but a 25px tap area */
.ln-car-dots{gap:2px}
.ln-car-dots button{box-sizing:content-box;padding:8px 5px;background-clip:content-box}

/* Fees/courses tables: the header's right-hand cell was dark-on-dark (also on live) */
.entry-content .ln-dt thead th:last-child{color:#fff!important}

/* FAQ: live's 12px between questions and clear space before the next group label */
.entry-content .ln-acc{gap:12px!important}
.entry-content .ln-acc>*{margin:0!important}
.entry-content .ln-acc+*{margin-top:48px!important}

/* Card grids that follow a panel get breathing room (Policies, etc.) */
.entry-content .ln-wrap>*+:is(.ln-cgrid,.ln-cards,.ln-cur,.ln-steps,.ln-strip3,.ln-acc,.ln-cmp,.ln-vs){margin-top:20px!important}

/* Form fields: dropdowns match text boxes (48px) */
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 select,
.ln-fld input,.ln-fld select{min-height:48px;height:auto!important;padding:12px 14px!important;line-height:1.4!important}

@media (max-width:640px){
  /* 16px stops iPhones zooming the page when a field is tapped */
  .wpcf7 input,.wpcf7 select,.wpcf7 textarea,.ln-fld input,.ln-fld select{font-size:16px!important}
  /* Tables: tighter cells, prices on one line */
  .entry-content .ln-dt th,.entry-content .ln-dt td{padding:12px 14px!important;font-size:14.5px!important}
  .entry-content .ln-dt td:last-child,.entry-content .ln-dt th:last-child{white-space:nowrap}
  .entry-content .ln-dt td[colspan]{white-space:normal;font-size:12px!important}
  /* Headings: keep long titles comfortable on small screens */
  .entry-content .ln-phero h1{font-size:clamp(30px,8.6vw,40px)!important}
}
