/* CDI V28.7 profile finish CSS bundle. Generated from ordered production assets. */

/* ===== BEGIN assets/css/cdi-premium-final-v20.css ===== */
/* ============================================================
   CDI Premium Final UX Guardrail - V20
   Purpose: compact premium desktop, mobile-first rails, no overflow.
   ============================================================ */
:root{
  --cdi-page-max:1120px;
  --cdi-wide-max:1180px;
  --cdi-reader-max:760px;
  --cdi-mobile-pad:16px;
  --cdi-tablet-pad:22px;
  --cdi-card-radius:22px;
  --cdi-compact-shadow:0 16px 42px rgba(10,31,58,.08);
}
html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
body{width:100%;max-width:100%;overflow-x:hidden;background:#f7fbff;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,svg,video,canvas,iframe{max-width:100%;height:auto}

/* Full-width shell with compact centred body */
body:not(.admin-body) .fw,
body:not(.admin-body) .mphero,
body:not(.admin-body) .cdi-hero,
body:not(.admin-body) .page-hero,
body:not(.admin-body) .hero-band,
body:not(.admin-body) .sec,
body:not(.admin-body) .cdi-section,
body:not(.admin-body) .site-footer{width:100%;max-width:100%;overflow:hidden}
body:not(.admin-body) .cw,
body:not(.admin-body) .container,
body:not(.admin-body) .topnav .row,
body:not(.admin-body) .cdi-topnav .row,
body:not(.admin-body) .site-footer .cdi-footer-inner,
body:not(.admin-body) .site-footer .foot-grid,
body:not(.admin-body) .site-footer .foot-bottom{
  width:100%;
  max-width:var(--cdi-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
body:not(.admin-body) .topnav,
body:not(.admin-body) .cdi-topnav{width:100%;max-width:100%;background:#071831}
body:not(.admin-body) .site-footer{background:#071831;color:#fff;border-top:0}
body:not(.admin-body) .dcard,
body:not(.admin-body) .page-card,
body:not(.admin-body) .guide-card,
body:not(.admin-body) .trust-card,
body:not(.admin-body) .locux-hero-card,
body:not(.admin-body) .locux-side-card,
body:not(.admin-body) .locux-region-card{box-shadow:var(--cdi-compact-shadow)}

/* Reading width for text-heavy blocks */
body:not(.admin-body) .dcard > p,
body:not(.admin-body) .dcard > ul,
body:not(.admin-body) .dcard > ol,
body:not(.admin-body) .content-copy,
body:not(.admin-body) .reader,
body:not(.admin-body) .seo-copy,
body:not(.admin-body) article p{max-width:var(--cdi-reader-max)}
body:not(.admin-body) .dcard > p,
body:not(.admin-body) article p{line-height:1.7}

/* Desktop rhythm: compact, premium, not stretched */
@media (min-width:1024px){
  body:not(.admin-body) .cw,
  body:not(.admin-body) .container{padding-left:28px!important;padding-right:28px!important}
  body:not(.admin-body) .mphero,
  body:not(.admin-body) .cdi-hero,
  body:not(.admin-body) .page-hero{padding-top:48px;padding-bottom:46px}
  body:not(.admin-body) .sec,
  body:not(.admin-body) .cdi-section{padding-top:48px;padding-bottom:48px}
  body:not(.admin-body) h1{font-size:clamp(36px,4.2vw,58px);letter-spacing:-.055em;line-height:1.02}
  body:not(.admin-body) h2{font-size:clamp(25px,2.4vw,34px);letter-spacing:-.035em;line-height:1.13}
}
@media (min-width:1380px){
  body:not(.admin-body) .topnav .row,
  body:not(.admin-body) .cdi-topnav .row{max-width:1180px!important}
}

/* Buttons: premium compact, not thick */
body:not(.admin-body) .btn,
body:not(.admin-body) .btn-lg,
body:not(.admin-body) button.btn,
body:not(.admin-body) a.btn{
  min-height:40px!important;
  padding:10px 15px!important;
  border-radius:13px!important;
  font-size:13px!important;
  line-height:1.15!important;
  gap:7px!important;
  white-space:normal!important;
  max-width:100%!important;
}
body:not(.admin-body) .btn-lg{min-height:44px!important;padding:11px 17px!important;font-size:13.5px!important}
body:not(.admin-body) .btn svg,
body:not(.admin-body) .btn .ti{flex:0 0 auto}

/* Mobile CTAs: two-up where possible, never edge-to-edge ugly stacks */
@media (max-width:760px){
  body:not(.admin-body) .cw,
  body:not(.admin-body) .container,
  body:not(.admin-body) .topnav .row,
  body:not(.admin-body) .cdi-topnav .row,
  body:not(.admin-body) .site-footer .cdi-footer-inner,
  body:not(.admin-body) .site-footer .foot-grid,
  body:not(.admin-body) .site-footer .foot-bottom{
    max-width:100%!important;
    padding-left:var(--cdi-mobile-pad)!important;
    padding-right:var(--cdi-mobile-pad)!important;
  }
  body:not(.admin-body) .mphero,
  body:not(.admin-body) .cdi-hero,
  body:not(.admin-body) .page-hero{padding-top:26px!important;padding-bottom:24px!important}
  body:not(.admin-body) .sec,
  body:not(.admin-body) .cdi-section{padding-top:34px!important;padding-bottom:34px!important}
  body:not(.admin-body) h1{font-size:clamp(29px,9vw,39px)!important;line-height:1.05!important;letter-spacing:-.045em!important}
  body:not(.admin-body) h2{font-size:clamp(21px,6vw,28px)!important;line-height:1.15!important;letter-spacing:-.035em!important}
  body:not(.admin-body) p, body:not(.admin-body) li{font-size:14px;line-height:1.62}
  body:not(.admin-body) .hero-ctas,
  body:not(.admin-body) .cdi-hero-ctas,
  body:not(.admin-body) .locux-cta-row,
  body:not(.admin-body) .market-actions,
  body:not(.admin-body) .cta-row,
  body:not(.admin-body) .actions-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    align-items:stretch!important;
  }
  body:not(.admin-body) .hero-ctas .btn,
  body:not(.admin-body) .cdi-hero-ctas .btn,
  body:not(.admin-body) .locux-cta-row .btn,
  body:not(.admin-body) .market-actions .btn,
  body:not(.admin-body) .cta-row .btn,
  body:not(.admin-body) .actions-row .btn{
    width:100%!important;
    min-height:40px!important;
    padding:10px 11px!important;
    font-size:12.5px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  body:not(.admin-body) .hero-ctas .btn:only-child,
  body:not(.admin-body) .cdi-hero-ctas .btn:only-child,
  body:not(.admin-body) .locux-cta-row .btn:only-child{grid-column:1/-1}
}
@media (max-width:380px){
  body:not(.admin-body) .hero-ctas,
  body:not(.admin-body) .cdi-hero-ctas,
  body:not(.admin-body) .locux-cta-row,
  body:not(.admin-body) .market-actions,
  body:not(.admin-body) .cta-row,
  body:not(.admin-body) .actions-row{grid-template-columns:1fr!important}
}

/* Pills and filters: compact mobile experience */
body:not(.admin-body) .chip,
body:not(.admin-body) .pill,
body:not(.admin-body) .cdi-pill,
body:not(.admin-body) .filter-pill,
body:not(.admin-body) .eyepill,
body:not(.admin-body) .locux-card-kicker{
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  line-height:1.1;
  max-width:100%;
}
@media (max-width:760px){
  body:not(.admin-body) .qf-bar,
  body:not(.admin-body) .qf-pills,
  body:not(.admin-body) .chip-row,
  body:not(.admin-body) .filter-pills,
  body:not(.admin-body) .related-searches-rail,
  body:not(.admin-body) .ph2-qfilter,
  body:not(.admin-body) .locux-region-pills,
  body:not(.admin-body) .locux-lesson-rail,
  body:not(.admin-body) .locux-rail,
  body:not(.admin-body) .cdi-mobile-rail{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:2px 0 10px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body:not(.admin-body) .qf-bar::-webkit-scrollbar,
  body:not(.admin-body) .qf-pills::-webkit-scrollbar,
  body:not(.admin-body) .chip-row::-webkit-scrollbar,
  body:not(.admin-body) .filter-pills::-webkit-scrollbar,
  body:not(.admin-body) .related-searches-rail::-webkit-scrollbar,
  body:not(.admin-body) .ph2-qfilter::-webkit-scrollbar,
  body:not(.admin-body) .locux-region-pills::-webkit-scrollbar,
  body:not(.admin-body) .locux-lesson-rail::-webkit-scrollbar,
  body:not(.admin-body) .locux-rail::-webkit-scrollbar,
  body:not(.admin-body) .cdi-mobile-rail::-webkit-scrollbar{display:none}
  body:not(.admin-body) .qf-bar > *,
  body:not(.admin-body) .qf-pills > *,
  body:not(.admin-body) .chip-row > *,
  body:not(.admin-body) .filter-pills > *,
  body:not(.admin-body) .related-searches-rail > *,
  body:not(.admin-body) .ph2-qfilter > *,
  body:not(.admin-body) .locux-region-pills > *,
  body:not(.admin-body) .locux-lesson-rail > *,
  body:not(.admin-body) .cdi-mobile-rail > *{
    flex:0 0 auto!important;
    scroll-snap-align:start;
    white-space:nowrap!important;
  }
  body:not(.admin-body) .cdi-pills-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body:not(.admin-body) .cdi-pills-grid .cdi-pill{
    width:100%;
    white-space:normal!important;
    min-height:38px!important;
    padding:8px 9px!important;
    font-size:12.5px!important;
  }
}

/* Mobile card rails: swipeable instead of endless vertical stacks */
@media (max-width:860px){
  body:not(.admin-body) .grid-3,
  body:not(.admin-body) .cards-grid,
  body:not(.admin-body) .comparison-help-grid,
  body:not(.admin-body) .trust-grid,
  body:not(.admin-body) .parent-card-grid,
  body:not(.admin-body) .tc-compare-grid,
  body:not(.admin-body) .sl-rail,
  body:not(.admin-body) .auto-carousel,
  body:not(.admin-body) .premium-rail{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none;
    padding-bottom:10px!important;
  }
  body:not(.admin-body) .grid-3::-webkit-scrollbar,
  body:not(.admin-body) .cards-grid::-webkit-scrollbar,
  body:not(.admin-body) .comparison-help-grid::-webkit-scrollbar,
  body:not(.admin-body) .trust-grid::-webkit-scrollbar,
  body:not(.admin-body) .parent-card-grid::-webkit-scrollbar,
  body:not(.admin-body) .tc-compare-grid::-webkit-scrollbar,
  body:not(.admin-body) .sl-rail::-webkit-scrollbar,
  body:not(.admin-body) .auto-carousel::-webkit-scrollbar,
  body:not(.admin-body) .premium-rail::-webkit-scrollbar{display:none}
  body:not(.admin-body) .grid-3 > *,
  body:not(.admin-body) .cards-grid > *,
  body:not(.admin-body) .comparison-help-grid > *,
  body:not(.admin-body) .trust-grid > *,
  body:not(.admin-body) .parent-card-grid > *,
  body:not(.admin-body) .tc-compare-grid > *,
  body:not(.admin-body) .sl-rail > *,
  body:not(.admin-body) .auto-carousel > *,
  body:not(.admin-body) .premium-rail > *{
    flex:0 0 min(82vw,340px)!important;
    scroll-snap-align:start!important;
  }
}

/* Forms and controls never overflow */
body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea{max-width:100%;font-size:16px}
body:not(.admin-body) form,
body:not(.admin-body) fieldset{min-width:0;max-width:100%}
body:not(.admin-body) .filter-grid,
body:not(.admin-body) .fgrid,
body:not(.admin-body) .fg-grid{min-width:0}
@media (max-width:760px){
  body:not(.admin-body) .filter-grid,
  body:not(.admin-body) .fgrid,
  body:not(.admin-body) .fg-grid{grid-template-columns:1fr!important;gap:12px!important}
}

/* Tables: contained horizontal scroll only, never page scroll */
body:not(.admin-body) .table-scroll,
body:not(.admin-body) .compare-table-wrap,
body:not(.admin-body) .responsive-table{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:760px){
  body:not(.admin-body) table:not(.no-scroll){display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Locations page final guardrails */
.locux-main-grid{grid-template-columns:250px minmax(0,1fr)!important;gap:22px!important}
.locux-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.locux-city-card{min-height:44px}
.locux-hero-copy,.locux-directory,.locux-side,.locux-hero-card{min-width:0}
@media (min-width:1320px){.locux-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:980px){.locux-main-grid{grid-template-columns:1fr!important}.locux-side{position:relative!important;top:auto!important}.locux-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:760px){
  .locux-region-grid{grid-template-columns:1fr!important}
  .locux-hero-card,.locux-side-card,.locux-region-card{border-radius:18px!important}
  .locux-route-card{flex-basis:76vw!important;max-width:330px!important}
  .locux-lesson-rail a{padding:9px 12px!important;font-size:12.5px!important}
  .locux-city-card{grid-template-columns:minmax(0,1fr) 16px!important;padding:10px 9px!important}
  .locux-city-meta{grid-column:1/-1!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:5px!important;scrollbar-width:none}
  .locux-city-meta::-webkit-scrollbar{display:none}
}

/* Footer: full-width background, compact inner */
.site-footer .foot-grid{display:grid;grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:26px!important;align-items:start}
.site-footer .foot-brand p{max-width:330px}
.site-footer .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.10);padding-top:18px!important;margin-top:22px!important}
@media (max-width:900px){.site-footer .foot-grid{grid-template-columns:1fr 1fr!important}.site-footer .foot-brand{grid-column:1/-1}}
@media (max-width:560px){.site-footer .foot-grid{grid-template-columns:1fr 1fr!important;gap:18px!important}.site-footer .foot-brand{grid-column:1/-1}.site-footer .foot-col h4{font-size:12px!important}.site-footer .foot-col a{font-size:12.5px!important}.site-footer .foot-bottom{display:grid;grid-template-columns:1fr;gap:8px;text-align:left}}

/* Sticky/floating elements safe zones */
@media (max-width:760px){
  .ai-fab{right:14px!important;bottom:84px!important;max-width:calc(100vw - 28px)!important}
  .pwa-bottom-nav{max-width:100vw!important}
  .ios-install-nudge,.cdi-ios-install-nudge{left:12px!important;right:12px!important;max-width:calc(100vw - 24px)!important}
}

/* ============================================================
   V20 UX hotfix - fixed FAQ containment and rail behaviour
   ============================================================ */
body:not(.admin-body) .seo-faq-section,
body:not(.admin-body) .seo-interlinks-section{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
body:not(.admin-body) .seo-faq-section .cw,
body:not(.admin-body) .seo-interlinks-section .cw{
  max-width:var(--cdi-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:28px!important;
  padding-right:28px!important;
}
@media(max-width:760px){
  body:not(.admin-body) .seo-faq-section .cw,
  body:not(.admin-body) .seo-interlinks-section .cw{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* Desktop should be premium and calm: rails become compact grids/wraps, no motion. */
@media(min-width:861px){
  .locux-rail{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    overflow:visible!important;
    padding:0!important;
  }
  .locux-route-card{
    flex:initial!important;
    width:100%;
    min-height:132px;
  }
  .locux-lesson-rail{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
    gap:10px!important;
    padding:0!important;
  }
  .locux-lesson-rail a{
    flex:0 0 auto!important;
    padding:9px 13px!important;
    font-size:12.5px!important;
    box-shadow:0 8px 18px rgba(13,39,77,.045)!important;
  }
  .locux-lessons{padding:32px 0 36px!important;}
}
@media(min-width:861px) and (max-width:1180px){
  .locux-rail{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:860px){
  .locux-rail,
  .locux-lesson-rail{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:2px 0 10px!important;
    overscroll-behavior-inline:contain;
    touch-action:pan-x;
  }
  .locux-rail::-webkit-scrollbar,
  .locux-lesson-rail::-webkit-scrollbar{display:none;}
  .locux-route-card{flex:0 0 min(78vw,320px)!important;scroll-snap-align:start;}
  .locux-lesson-rail a{
    flex:0 0 auto!important;
    scroll-snap-align:start;
    padding:9px 12px!important;
    font-size:12.5px!important;
    max-width:82vw;
    white-space:nowrap;
  }
}
@media(max-width:520px){
  .locux-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .locux-cta-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;display:grid!important;}
  .locux-cta-row .btn{width:100%!important;padding:11px 9px!important;font-size:12px!important;min-height:42px!important;}
  .locux-hero-card{padding:16px!important;}
}

/* Extra protection for generic FAQ sections that appear outside a page wrapper. */
.seo-faq-h{max-width:var(--cdi-page-max);}
.seo-faq-list{max-width:var(--cdi-page-max);}
/* ===== END assets/css/cdi-premium-final-v20.css ===== */

/* ===== BEGIN assets/css/cdi-nav-stability-v20.css ===== */
/* ============================================================
   CDI V20 NAV STABILITY FIX
   Fixes desktop dropdown clipping after scrolling and keeps menus
   readable inside the viewport.
   ============================================================ */
@media (min-width: 981px){
  body:not(.admin-body) .topnav{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9900 !important;
    overflow: visible !important;
    contain: none !important;
  }
  body:not(.admin-body) .topnav .row,
  body:not(.admin-body) .nav-links,
  body:not(.admin-body) .cdi-megawrap{
    overflow: visible !important;
    contain: none !important;
  }
  body:not(.admin-body) .cdi-mega{
    position: fixed !important;
    left: 50% !important;
    top: 76px;
    width: min(920px, calc(100vw - 40px)) !important;
    max-width: calc(100vw - 40px) !important;
    max-height: calc(100svh - 94px);
    overflow: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    z-index: 10020 !important;
    transform: translateX(-50%) translateY(-8px) !important;
    margin: 0 !important;
  }
  body:not(.admin-body) .cdi-mega.open{
    transform: translateX(-50%) translateY(0) !important;
  }
  body:not(.admin-body) .cdi-overlay{
    z-index: 10000 !important;
    background: transparent !important;
  }
  body:not(.admin-body) .cdi-menu{
    min-height: 0 !important;
  }
  body:not(.admin-body) .cdi-navpane,
  body:not(.admin-body) .cdi-featurepane{
    min-height: 0 !important;
  }
  body:not(.admin-body) .cdi-level{
    max-height: calc(100svh - 122px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body:not(.admin-body) .cdi-featurepane{
    overflow-y: auto;
    max-height: calc(100svh - 94px);
  }
}

@media (max-width: 980px){
  body:not(.admin-body) .cdi-mega,
  body:not(.admin-body) .cdi-overlay{
    display: none !important;
  }
}
/* ===== END assets/css/cdi-nav-stability-v20.css ===== */

/* ===== BEGIN assets/css/cdi-mobile-card-copy-polish-v20.css ===== */
/* ============================================================
   V20 Mobile card + copy polish
   - Preply-style mobile instructor card anatomy
   - Premium 3-line mobile intro clamp with read-more
   - Safer mobile pills, price spacing and no horizontal page scroll
   ============================================================ */

html, body{max-width:100%;overflow-x:hidden;}
body:not(.admin-body) .container,
body:not(.admin-body) .cw,
body:not(.admin-body) .page-container,
body:not(.admin-body) .cdi-container{box-sizing:border-box;}

/* Desktop should remain calm and centred, while header/footer/hero bands can stay full width. */
@media (min-width:1024px){
  body:not(.admin-body) .container,
  body:not(.admin-body) .cw,
  body:not(.admin-body) .page-container,
  body:not(.admin-body) .cdi-container{max-width:1120px;}
}

/* Global mobile text clamp used by JS. Keeps AI/landing copy premium instead of long blocks. */
@media (max-width:760px){
  .cdi-mobile-clamp{
    position:relative;
    display:-webkit-box!important;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
    max-height:calc(1.62em * 3)!important;
  }
  .cdi-mobile-clamp.is-expanded{
    display:block!important;
    max-height:none!important;
    -webkit-line-clamp:unset;
    overflow:visible!important;
  }
  .cdi-read-toggle{
    margin:8px 0 0;
    border:0;
    background:transparent;
    color:#0B5ED7;
    font:800 12.5px/1.2 Poppins, sans-serif;
    padding:2px 0;
    cursor:pointer;
    text-decoration:underline;
    text-underline-offset:3px;
  }
  .cdi-read-toggle:focus-visible{outline:3px solid rgba(45,127,246,.22);border-radius:6px;}

  /* AI quick-answer cards need compact mobile rhythm and inner spacing. */
  .aeo-block{
    margin:0 0 18px!important;
    padding:14px 14px 15px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .aeo-inner{min-width:0!important;}
  .aeo-label{font-size:10.5px!important;letter-spacing:.07em!important;margin-bottom:7px!important;}
  .aeo-q{
    font-size:clamp(17px,4.7vw,21px)!important;
    line-height:1.25!important;
    margin-bottom:8px!important;
    letter-spacing:-.025em!important;
  }
  .aeo-a{
    font-size:14px!important;
    line-height:1.62!important;
    color:#596779!important;
    margin-bottom:8px!important;
  }
  .aeo-facts{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:10px!important;
    margin-bottom:10px!important;
  }
  .aeo-fact{
    min-width:0!important;
    white-space:normal!important;
    justify-content:flex-start!important;
    padding:8px 9px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1.22!important;
  }
  .aeo-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .aeo-link{
    min-width:0!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    white-space:normal!important;
    padding:9px 10px!important;
    font-size:12px!important;
    border-radius:14px!important;
  }
}

/* Very small phones: facts and quick links remain readable. */
@media (max-width:380px){
  .aeo-facts,.aeo-links{grid-template-columns:1fr!important;}
}

/* Quick filter pills: prevent dark-on-dark active states and excessive height. */
.ph2-qfilter{align-items:center;}
.ph2-qf-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  border:1px solid #DCE7F2!important;
  background:#fff!important;
  color:#0B1F3D!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.1!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(12,31,56,.04)!important;
}
.ph2-qf-pill--on{
  background:#E9F8F2!important;
  border-color:#A8E7CF!important;
  color:#067A55!important;
}
@media (max-width:760px){
  .ph2-qfilter{
    padding:8px 0 12px!important;
    gap:8px!important;
    scroll-padding-inline:16px!important;
  }
  .ph2-qf-pill{flex:0 0 auto!important;max-width:78vw!important;}
}

/* Premium mobile instructor card: image + identity top, full-width info below. */
@media (max-width:760px){
  .ic{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    gap:10px 12px!important;
    width:100%!important;
    max-width:100%!important;
    padding:13px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }
  .ic .ic-featured-badge{top:8px!important;left:8px!important;z-index:3!important;}
  .ic .ic-ph{
    grid-column:1!important;
    grid-row:1!important;
    width:76px!important;
    height:76px!important;
    min-height:76px!important;
    max-width:76px!important;
    border-radius:18px!important;
    align-self:start!important;
  }
  .ic-main{
    display:contents!important;
    min-width:0!important;
  }
  .ic-namerow{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    display:flex!important;
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    min-width:0!important;
    padding-top:1px!important;
  }
  .ic .icname{
    display:block!important;
    flex-basis:100%!important;
    font-size:17px!important;
    line-height:1.18!important;
    letter-spacing:-.025em!important;
  }
  .icvtick{width:17px!important;height:17px!important;font-size:9px!important;}
  .ic-match,
  .v20-profile-level{
    font-size:10.5px!important;
    padding:4px 8px!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  .ic-creds{
    grid-column:1 / -1!important;
    display:flex!important;
    gap:6px!important;
    margin:2px 0 0!important;
    min-width:0!important;
  }
  .ic-creds .lstb,
  .ic-cred{font-size:11px!important;}
  .ic-rows{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:2px 0 0!important;
  }
  .ic-row{
    min-width:0!important;
    display:flex!important;
    align-items:flex-start!important;
    gap:6px!important;
    padding:9px 10px!important;
    background:#F8FAFC!important;
    border:1px solid #E8EEF5!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1.28!important;
    color:#41546E!important;
  }
  .ic-ri{flex:0 0 16px!important;width:16px!important;font-size:13px!important;}
  .ic-hl,
  .v19-card-insight,
  .v20-stale-warning,
  .v19-parent-badges,
  .ic .icsum{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .ic-hl{margin:2px 0 0!important;white-space:normal!important;border-radius:14px!important;padding:8px 10px!important;font-size:12px!important;}
  .v19-card-insight{
    margin:2px 0 0!important;
    padding:11px 12px!important;
    border:1px solid #E8EEF5!important;
    border-radius:16px!important;
    background:#FBFDFF!important;
    box-sizing:border-box!important;
  }
  .v19-card-insight strong{font-size:13px!important;line-height:1.25!important;display:block!important;}
  .v19-card-insight p{
    font-size:12px!important;
    line-height:1.45!important;
    margin:5px 0 0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
  }
  .v19-parent-badges{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin-top:2px!important;
  }
  .v19-badge{
    flex:0 1 auto!important;
    max-width:100%!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:11.5px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .ic .icsum{
    font-size:12.5px!important;
    line-height:1.55!important;
    margin-top:0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
  }

  /* Price rail: compact, spaced and readable. */
  .ic .ic-act{
    grid-column:1 / -1!important;
    width:100%!important;
    padding-top:12px!important;
    border-top:1px solid #E8EEF5!important;
    gap:11px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }
  .ic-pricebox{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:"price per" "context context" "booking booking"!important;
    align-items:center!important;
    gap:7px 12px!important;
    padding:11px 12px!important;
    border:1px solid #E6EEF7!important;
    border-radius:16px!important;
    background:#F8FBFF!important;
    line-height:1!important;
  }
  .ic .icprice{
    grid-area:price!important;
    font-size:28px!important;
    line-height:1!important;
    margin:0!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }
  .ic .icper{
    grid-area:per!important;
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    color:#627187!important;
    max-width:92px!important;
  }
  .v19-price-context{
    grid-area:context!important;
    justify-self:start!important;
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    padding:7px 10px!important;
    border-radius:12px!important;
    font-size:11.5px!important;
    line-height:1.1!important;
    white-space:normal!important;
  }
  .v19-booking{
    grid-area:booking!important;
    justify-self:start!important;
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    padding:7px 10px!important;
    border-radius:12px!important;
    font-size:11.5px!important;
    line-height:1.12!important;
    white-space:normal!important;
  }
  .ic-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .ic-stat{
    min-width:0!important;
    padding:10px!important;
    border:1px solid #E8EEF5!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  .ic-stat b{font-size:16px!important;line-height:1.15!important;word-break:break-word!important;}
  .ic-stat span{font-size:11.5px!important;line-height:1.2!important;}
  .ic-ctas{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;}
  .ic-ctas .btn{min-height:44px!important;border-radius:14px!important;font-size:13.5px!important;padding:10px 12px!important;}
  .ic-cta-row2{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;}
  .cmpchk{font-size:12px!important;line-height:1.2!important;padding:8px 10px!important;border-radius:12px!important;background:#F8FAFC!important;border:1px solid #E8EEF5!important;color:#34475F!important;}
  .ic-save-btn{min-height:38px!important;border-radius:12px!important;padding:8px 10px!important;}
  .ic-topic-row{gap:6px!important;}
  .ic-topic-row span{font-size:10.5px!important;line-height:1.1!important;padding:5px 7px!important;}
}

@media (max-width:390px){
  .ic{grid-template-columns:68px minmax(0,1fr)!important;padding:11px!important;gap:9px 10px!important;}
  .ic .ic-ph{width:68px!important;height:68px!important;min-height:68px!important;border-radius:16px!important;}
  .ic .icname{font-size:16px!important;}
  .ic-rows{grid-template-columns:1fr!important;}
  .ic-pricebox{grid-template-columns:auto minmax(0,1fr)!important;gap:7px 9px!important;}
  .ic .icprice{font-size:25px!important;}
  .ic .icper{font-size:11px!important;max-width:82px!important;}
}
/* ===== END assets/css/cdi-mobile-card-copy-polish-v20.css ===== */

/* ===== BEGIN assets/css/cdi-desktop-card-polish-v20.css ===== */
/* ============================================================
   V20 Desktop instructor card polish
   - Removes dead whitespace on desktop marketplace cards
   - Keeps mobile Preply-style card behaviour from mobile polish file
   - Creates a premium 3-column desktop card: image, decision details, price/action
   ============================================================ */

@media (min-width: 861px){
  body:not(.admin-body) .ic{
    display:grid!important;
    grid-template-columns:170px minmax(0,1fr) 292px!important;
    gap:20px!important;
    align-items:start!important;
    padding:18px!important;
    border-radius:24px!important;
    overflow:visible!important;
    background:#fff!important;
    box-shadow:0 14px 40px rgba(12,31,56,.06)!important;
  }

  body:not(.admin-body) .ic .ic-ph{
    width:170px!important;
    height:170px!important;
    min-height:170px!important;
    max-width:170px!important;
    align-self:start!important;
    border-radius:22px!important;
    overflow:hidden!important;
    box-shadow:0 12px 28px rgba(12,31,56,.08)!important;
  }

  body:not(.admin-body) .ic .ic-ph img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body:not(.admin-body) .ic .ic-main{
    padding:0!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }

  body:not(.admin-body) .ic .ic-namerow{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:7px!important;
    margin:0!important;
  }

  body:not(.admin-body) .ic .icname{
    font-size:22px!important;
    line-height:1.12!important;
    letter-spacing:-.035em!important;
    display:inline-flex!important;
    margin-right:4px!important;
  }

  body:not(.admin-body) .ic .ic-match,
  body:not(.admin-body) .ic .v20-profile-level{
    font-size:11px!important;
    line-height:1.05!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
  }

  body:not(.admin-body) .ic .ic-creds{
    margin:0!important;
    gap:7px!important;
  }

  body:not(.admin-body) .ic .ic-rows{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin:0!important;
  }

  body:not(.admin-body) .ic .ic-row{
    min-width:0!important;
    padding:9px 10px!important;
    border:1px solid #E8EEF5!important;
    border-radius:14px!important;
    background:#F8FAFC!important;
    font-size:13px!important;
    line-height:1.25!important;
    color:#41546E!important;
  }

  body:not(.admin-body) .ic .v19-card-insight{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:12px 13px!important;
    border-radius:16px!important;
    background:linear-gradient(180deg,#fff,#F8FBFF)!important;
  }

  body:not(.admin-body) .ic .v19-card-insight strong{
    font-size:13px!important;
    line-height:1.3!important;
  }

  body:not(.admin-body) .ic .v19-card-insight p{
    font-size:12px!important;
    line-height:1.45!important;
    margin-top:4px!important;
  }

  body:not(.admin-body) .ic .v19-parent-badges{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin:0!important;
  }

  body:not(.admin-body) .ic .v19-badge{
    font-size:11px!important;
    line-height:1.1!important;
    padding:6px 9px!important;
    white-space:nowrap!important;
  }

  body:not(.admin-body) .ic .icsum{
    margin:0!important;
    font-size:13px!important;
    line-height:1.5!important;
    color:#526176!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  body:not(.admin-body) .ic .ic-act{
    padding:0!important;
    border-left:0!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:11px!important;
    min-width:0!important;
  }

  body:not(.admin-body) .ic .ic-pricebox{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:"price per" "context context" "booking booking"!important;
    gap:7px 12px!important;
    align-items:center!important;
    padding:14px!important;
    border-radius:18px!important;
    border:1px solid #E5EEF7!important;
    background:#F8FBFF!important;
    min-width:0!important;
  }

  body:not(.admin-body) .ic .icprice{
    grid-area:price!important;
    display:block!important;
    margin:0!important;
    font-size:34px!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
  }

  body:not(.admin-body) .ic .icper{
    grid-area:per!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.18!important;
    color:#6B7B90!important;
    font-weight:700!important;
    max-width:92px!important;
  }

  body:not(.admin-body) .ic .v19-price-context{
    grid-area:context!important;
  }

  body:not(.admin-body) .ic .v19-booking{
    grid-area:booking!important;
  }

  body:not(.admin-body) .ic .v19-price-context,
  body:not(.admin-body) .ic .v19-booking{
    display:inline-flex!important;
    justify-self:start!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:6px 9px!important;
    border-radius:12px!important;
    background:#fff!important;
    border:1px solid #E8EEF5!important;
    font-size:11px!important;
    line-height:1.12!important;
    white-space:normal!important;
  }

  body:not(.admin-body) .ic .ic-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }

  body:not(.admin-body) .ic .ic-stat{
    min-width:0!important;
    padding:10px!important;
    border-radius:14px!important;
    border:1px solid #E8EEF5!important;
    background:#fff!important;
  }

  body:not(.admin-body) .ic .ic-stat b{
    font-size:15px!important;
    line-height:1.1!important;
    word-break:break-word!important;
  }

  body:not(.admin-body) .ic .ic-stat span{
    font-size:11.5px!important;
    line-height:1.2!important;
  }

  body:not(.admin-body) .ic .ic-ctas{
    margin-top:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
  }

  body:not(.admin-body) .ic .ic-ctas .btn{
    width:100%!important;
    min-height:44px!important;
    padding:11px 14px!important;
    border-radius:14px!important;
  }

  body:not(.admin-body) .ic .ic-cta-row2{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
  }

  body:not(.admin-body) .ic .cmpchk{
    align-self:auto!important;
    margin:0!important;
    padding:8px 10px!important;
    border-radius:12px!important;
    border:1px solid #E8EEF5!important;
    background:#F8FAFC!important;
    font-size:12px!important;
    color:#465B73!important;
  }

  body:not(.admin-body) .ic .ic-save-btn{
    min-height:38px!important;
    padding:8px 11px!important;
    border-radius:12px!important;
  }

  body:not(.admin-body) .ic .ic-topic-row{
    margin-top:0!important;
  }
}

@media (min-width: 861px) and (max-width: 1040px){
  body:not(.admin-body) .ic{
    grid-template-columns:150px minmax(0,1fr) 260px!important;
    gap:16px!important;
    padding:16px!important;
  }
  body:not(.admin-body) .ic .ic-ph{
    width:150px!important;
    height:150px!important;
    min-height:150px!important;
  }
  body:not(.admin-body) .ic .ic-rows{
    grid-template-columns:1fr!important;
  }
  body:not(.admin-body) .ic .ic-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
/* ===== END assets/css/cdi-desktop-card-polish-v20.css ===== */

/* ===== BEGIN assets/css/cdi-pill-polish-v20.css ===== */
/* CDI V20 - compact related-search / route pill polish
   Purpose: stop fat multi-line chips and keep mobile rails premium. */

body:not(.admin-body) .related-searches-block{
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

body:not(.admin-body) .related-searches-block > p{
  margin-bottom:10px!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.075em!important;
  color:#607089!important;
}

body:not(.admin-body) .related-searches-rail{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
  scroll-behavior:smooth;
}

body:not(.admin-body) .related-searches-rail .acchip{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:30px!important;
  max-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  box-sizing:border-box!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:-.01em!important;
  color:#0B1B32!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  background:#FFFFFF!important;
  border:1px solid #DCE6F1!important;
  box-shadow:0 2px 7px rgba(8,24,44,.045)!important;
  text-decoration:none!important;
}

body:not(.admin-body) .related-searches-rail .acchip:hover,
body:not(.admin-body) .related-searches-rail .acchip:focus-visible{
  border-color:#7FB7E8!important;
  background:#F4FAFF!important;
  color:#08284A!important;
  outline:none!important;
}

/* Any dark active chips need readable contrast and a slimmer height. */
body:not(.admin-body) .filter-pills .active,
body:not(.admin-body) .qf-pills .active,
body:not(.admin-body) .chip-row .active,
body:not(.admin-body) .ph2-qfilter .active,
body:not(.admin-body) .related-searches-rail .active{
  background:#EAF5FF!important;
  border-color:#8CC8F5!important;
  color:#0A3B63!important;
  box-shadow:inset 0 0 0 1px rgba(44,170,226,.18)!important;
}

@media (max-width:760px){
  body:not(.admin-body) .related-searches-block{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body:not(.admin-body) .related-searches-rail{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-rows:repeat(2,34px)!important;
    grid-auto-columns:max-content!important;
    align-items:center!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 2px 10px!important;
    margin:0!important;
  }

  body:not(.admin-body) .related-searches-rail::-webkit-scrollbar{display:none!important;}

  body:not(.admin-body) .related-searches-rail .acchip{
    flex:0 0 auto!important;
    min-height:32px!important;
    max-height:34px!important;
    padding:7px 11px!important;
    font-size:11.75px!important;
    scroll-snap-align:start!important;
    white-space:nowrap!important;
  }
}

@media (max-width:390px){
  body:not(.admin-body) .related-searches-rail{
    grid-template-rows:repeat(2,32px)!important;
    gap:7px!important;
  }
  body:not(.admin-body) .related-searches-rail .acchip{
    min-height:31px!important;
    max-height:32px!important;
    font-size:11.25px!important;
    padding:7px 10px!important;
  }
}

/* ============================================================
   CDI V20 final mobile UX patch - hero rails, drawer spacing,
   clamp toggle polish, and mobile header offset
   ============================================================ */
body:not(.admin-body) .urg{
  margin-top:68px!important;
}
@media(max-width:760px){
  body:not(.admin-body) .urg{margin-top:72px!important;}
  body:not(.admin-body) .urg{display:none!important;}
}

/* Mobile homepage hero chips: proper auto rail, no cut-off, no page overflow */
@media(max-width:760px){
  body:not(.admin-body) .hero-ticks,
  body:not(.admin-body) .tboxes,
  body:not(.admin-body) .comparison-points{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 2px 10px!important;
    margin-left:0!important;
    margin-right:0!important;
    grid-template-columns:none!important;
  }
  body:not(.admin-body) .hero-ticks::-webkit-scrollbar,
  body:not(.admin-body) .tboxes::-webkit-scrollbar,
  body:not(.admin-body) .comparison-points::-webkit-scrollbar{display:none!important;}

  body:not(.admin-body) .hero-ticks .htick,
  body:not(.admin-body) .tboxes .tbox,
  body:not(.admin-body) .comparison-points span{
    flex:0 0 auto!important;
    scroll-snap-align:start!important;
    min-width:154px!important;
    max-width:188px!important;
    width:auto!important;
    min-height:56px!important;
    border-radius:18px!important;
    white-space:normal!important;
    overflow:hidden!important;
  }
  body:not(.admin-body) .hero-ticks .htick{
    min-height:40px!important;
    padding:9px 14px!important;
    align-items:center!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  body:not(.admin-body) .tboxes .tbox{
    background:#fff!important;
    border:1px solid rgba(13,31,56,.10)!important;
    box-shadow:0 14px 30px rgba(13,31,56,.08)!important;
    padding:13px 14px!important;
  }
  body:not(.admin-body) .tboxes .tbox strong{
    font-size:16px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body:not(.admin-body) .tboxes .tbox span{
    display:block!important;
    margin-top:4px!important;
    font-size:12px!important;
    line-height:1.3!important;
    color:#6B7587!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body:not(.admin-body) .comparison-points{
    --cdi-rail-row-gap:10px;
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(220px, 76vw)!important;
    grid-template-rows:repeat(2, minmax(54px, auto))!important;
    gap:10px!important;
    padding-bottom:12px!important;
  }
  body:not(.admin-body) .comparison-points span{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:54px!important;
    padding:11px 13px!important;
    border-radius:16px!important;
    font-size:13.5px!important;
    line-height:1.22!important;
    box-shadow:0 12px 28px rgba(13,31,56,.07)!important;
  }
  body:not(.admin-body) .comparison-points span:before{
    width:24px!important;
    height:24px!important;
    flex-basis:24px!important;
  }
}

/* Read-more / show-less pill with chevron */
@media(max-width:760px){
  body:not(.admin-body) .cdi-mobile-clamp{
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    position:relative!important;
    margin-bottom:8px!important;
  }
  body:not(.admin-body) .cdi-mobile-clamp.is-expanded{
    display:block!important;
    -webkit-line-clamp:unset!important;
    overflow:visible!important;
  }
  body:not(.admin-body) .cdi-read-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:34px!important;
    border:1px solid rgba(47,128,237,.20)!important;
    background:#F2F8FF!important;
    color:#0B5EC8!important;
    border-radius:999px!important;
    padding:7px 12px!important;
    font:800 12px/1 Poppins,system-ui,sans-serif!important;
    box-shadow:0 8px 18px rgba(47,128,237,.08)!important;
    margin:4px 0 14px!important;
  }
  body:not(.admin-body) .cdi-read-toggle .cdi-toggle-icon{
    font-size:13px!important;
    line-height:1!important;
    transform:translateY(-1px)!important;
  }
}

/* Mobile drawer: menu has room, CTAs are compact and never cover last items */
@media(max-width:760px){
  body:not(.admin-body) .mobile-drawer{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    height:100dvh!important;
  }
  body:not(.admin-body) .mobile-drawer .dtop{
    flex:0 0 auto!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:16px 18px 8px!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot{
    flex:0 0 auto!important;
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    padding:10px 18px calc(16px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(12,31,56,.08)!important;
    background:linear-gradient(180deg,rgba(255,255,255,.96),#fff)!important;
    box-shadow:0 -16px 34px rgba(12,31,56,.08)!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn{
    width:100%!important;
    min-height:42px!important;
    padding:10px 11px!important;
    border-radius:14px!important;
    font-size:12.5px!important;
    white-space:normal!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn:nth-child(3),
  body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn{
    grid-column:1 / -1!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu-flat{
    min-height:52px!important;
  }
}

/* Keep mobile content below fixed nav when urgency strip is hidden */
@media(max-width:760px){
  body:not(.admin-body) .cdi-premium > .hero:first-child,
  body:not(.admin-body) main > .hero:first-child,
  body:not(.admin-body) .mphero:first-child,
  body:not(.admin-body) .page-hero:first-child,
  body:not(.admin-body) .cdi-hero:first-child{
    padding-top:96px!important;
  }
}
/* ===== END assets/css/cdi-pill-polish-v20.css ===== */

/* ===== BEGIN assets/css/cdi-v20-final-live-polish.css ===== */
/* CDI V20 final live polish - drawer, mobile copy, hero rails and signup card */

/* Remove internal/build-feeling cards and make launch proof card user-facing */
body:not(.admin-body) .rg15-side-live{
  background:linear-gradient(150deg,#0B1F3D,#163B63)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:0 18px 45px rgba(4,18,36,.18)!important;
}
body:not(.admin-body) .rg15-side-live strong{color:#fff!important;}
body:not(.admin-body) .rg15-side-live p{color:rgba(255,255,255,.76)!important;}

@media(max-width:760px){
  /* Cleaner mobile drawer: one scrollable sheet, CTAs after menu, never overlaying menu items */
  body:not(.admin-body) .mobile-drawer{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:block!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
  }
  body:not(.admin-body) .mobile-drawer .dtop{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    min-height:72px!important;
    background:#0B1F3D!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu{
    overflow:visible!important;
    min-height:0!important;
    padding:16px 18px 8px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu details,
  body:not(.admin-body) .mobile-drawer .mmenu .mmenu-flat{
    margin-bottom:10px!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:10px 18px 0!important;
    padding:14px 0 22px!important;
    border-top:1px solid rgba(12,31,56,.08)!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn{
    min-height:44px!important;
    width:100%!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.1!important;
    padding:10px 12px!important;
    white-space:normal!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn:nth-child(3),
  body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn{
    grid-column:1 / -1!important;
  }

  /* Mobile copy toggle: one clean white/blue pill, no chevron, no underlined icon. */
  body:not(.admin-body) .cdi-read-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    border:1px solid #CFE3F7!important;
    background:#FFFFFF!important;
    color:#0B5EC8!important;
    border-radius:999px!important;
    padding:8px 14px!important;
    font:800 12.5px/1 Poppins,system-ui,sans-serif!important;
    text-decoration:none!important;
    box-shadow:0 10px 22px rgba(47,128,237,.08)!important;
    margin:4px 0 16px!important;
  }
  body:not(.admin-body) .cdi-read-toggle .cdi-toggle-icon{display:none!important;}
  body:not(.admin-body) .cdi-mobile-clamp{margin-bottom:8px!important;}

  /* Hero trust rail: smaller cards, more premium, less clipped. */
  body:not(.admin-body) .hero-ticks,
  body:not(.admin-body) .tboxes{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 0 12px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body:not(.admin-body) .hero-ticks::-webkit-scrollbar,
  body:not(.admin-body) .tboxes::-webkit-scrollbar{display:none!important;}
  body:not(.admin-body) .hero-ticks .htick{
    flex:0 0 calc(50% - 6px)!important;
    min-width:0!important;
    max-width:none!important;
    min-height:36px!important;
    padding:8px 10px!important;
    border-radius:999px!important;
    scroll-snap-align:start!important;
    font-size:12px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body:not(.admin-body) .tboxes .tbox{
    flex:0 0 calc(33.333% - 7px)!important;
    min-width:106px!important;
    max-width:132px!important;
    min-height:68px!important;
    padding:12px 10px!important;
    border-radius:17px!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
  }
  body:not(.admin-body) .tboxes .tbox strong{
    font-size:14.5px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
  }
  body:not(.admin-body) .tboxes .tbox span{
    font-size:11.25px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Marketplace comparison checklist: two-row compact rail on phones, not six stacked boxes. */
  body:not(.admin-body) .comparison-points{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(190px, 68vw)!important;
    grid-template-rows:repeat(2, minmax(48px, auto))!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 0 12px!important;
    margin:0!important;
  }
  body:not(.admin-body) .comparison-points::-webkit-scrollbar{display:none!important;}
  body:not(.admin-body) .comparison-points span{
    min-height:48px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
    scroll-snap-align:start!important;
    font-size:12.75px!important;
    line-height:1.18!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    white-space:normal!important;
  }
  body:not(.admin-body) .comparison-points span:before{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
  }

  /* Keep the first mobile H1 visible below the fixed header. */
  body:not(.admin-body) .hero.fw,
  body:not(.admin-body) .page-hero,
  body:not(.admin-body) .cdi-hero,
  body:not(.admin-body) .guide-hero,
  body:not(.admin-body) .cost-hero{
    scroll-margin-top:96px!important;
  }
}

@media(max-width:380px){
  body:not(.admin-body) .tboxes .tbox{flex-basis:112px!important;min-width:104px!important;}
  body:not(.admin-body) .hero-ticks .htick{flex-basis:calc(56% - 6px)!important;}
}
/* ===== END assets/css/cdi-v20-final-live-polish.css ===== */

/* ===== BEGIN assets/css/cdi-v20-final-nav-menu-clean.css ===== */
/* ============================================================
   CDI V20 final nav, drawer and mobile rail clean-up
   - Removes desktop white gap under nav
   - Prevents desktop mega menus from showing internal scrollbars
   - Gives mobile drawer a proper menu area + CTA dock
   - Tightens mobile rails and read-more UI
   ============================================================ */

/* Keep the header in normal document flow. Sticky still keeps it visible,
   but it no longer creates the transparent white spacer seen on desktop. */
body:not(.admin-body) .topnav{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:9900!important;
  overflow:visible!important;
  contain:none!important;
}
body:not(.admin-body) .urg{
  margin-top:0!important;
}
body:not(.admin-body) .util{display:none!important;}

@media(min-width:981px){
  body:not(.admin-body) .topnav .row,
  body:not(.admin-body) .nav-links,
  body:not(.admin-body) .cdi-megawrap{
    overflow:visible!important;
    contain:none!important;
  }
  body:not(.admin-body) .cdi-mega{
    position:fixed!important;
    left:50%!important;
    width:min(920px, calc(100vw - 56px))!important;
    max-width:calc(100vw - 56px)!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    scrollbar-width:none!important;
    z-index:10020!important;
    margin:0!important;
    transform:translateX(-50%) translateY(-8px)!important;
  }
  body:not(.admin-body) .cdi-mega::-webkit-scrollbar{display:none!important;}
  body:not(.admin-body) .cdi-mega.open{transform:translateX(-50%) translateY(0)!important;}
  body:not(.admin-body) .cdi-level,
  body:not(.admin-body) .cdi-featurepane,
  body:not(.admin-body) .cdi-navpane{
    max-height:none!important;
    overflow:visible!important;
  }
  body:not(.admin-body) .cdi-menu{
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  /* Compact mega internals enough that they fit on common laptop screens. */
  body:not(.admin-body) .cdi-level{padding:22px 26px!important;}
  body:not(.admin-body) .cdi-featurepane{padding:24px 24px!important;}
  body:not(.admin-body) .cdi-catcard{padding:13px 15px!important;}
  body:not(.admin-body) .cdi-cic{width:40px!important;height:40px!important;}
  body:not(.admin-body) .cdi-sub{margin-bottom:14px!important;}
  body:not(.admin-body) .cdi-footlinks{margin-top:14px!important;padding-top:12px!important;}
}

@media(max-width:980px){
  body:not(.admin-body) .urg{display:none!important;}
  body:not(.admin-body) .cdi-mega,
  body:not(.admin-body) .cdi-overlay{display:none!important;}
}

/* Mobile drawer: proper sheet. Menu scrolls inside its area; CTAs never cover menu items. */
@media(max-width:760px){
  body:not(.admin-body) .topnav{
    position:sticky!important;
    top:0!important;
    z-index:9900!important;
  }
  body:not(.admin-body) .mobile-drawer.open,
  body:not(.admin-body) .mobile-drawer{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    flex-direction:column!important;
    padding:0!important;
    background:#fff!important;
  }
  body:not(.admin-body) .mobile-drawer.open{display:flex!important;}
  body:not(.admin-body) .mobile-drawer .dtop{
    flex:0 0 auto!important;
    position:relative!important;
    top:auto!important;
    z-index:4!important;
    min-height:80px!important;
    padding:15px 18px!important;
    background:#0B1F3D!important;
  }
  body:not(.admin-body) .mobile-drawer .drawer-logo{max-height:42px!important;width:auto!important;}
  body:not(.admin-body) .mobile-drawer .dclose{width:52px!important;height:52px!important;border-radius:18px!important;}
  body:not(.admin-body) .mobile-drawer .mmenu{
    flex:1 1 auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    min-height:0!important;
    max-height:none!important;
    -webkit-overflow-scrolling:touch!important;
    padding:18px 18px 14px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu details,
  body:not(.admin-body) .mobile-drawer .mmenu .mmenu-flat{
    margin-bottom:10px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu-flat,
  body:not(.admin-body) .mobile-drawer summary{
    min-height:58px!important;
    padding:14px 12px!important;
    border-radius:18px!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot{
    flex:0 0 auto!important;
    position:relative!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:0!important;
    padding:12px 18px calc(14px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #E6EDF4!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 -14px 34px rgba(12,31,56,.08)!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn{
    min-height:44px!important;
    width:100%!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.12!important;
    padding:10px 12px!important;
    white-space:normal!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn:nth-child(3),
  body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn{
    grid-column:1 / -1!important;
  }

  /* Cleaner mobile copy toggle: text only, no underline clutter or arrows. */
  body:not(.admin-body) .cdi-read-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    border:1px solid #CFE3F7!important;
    background:#fff!important;
    color:#0B5EC8!important;
    border-radius:999px!important;
    padding:8px 15px!important;
    font:800 12.5px/1 Poppins,system-ui,sans-serif!important;
    text-decoration:none!important;
    box-shadow:0 10px 22px rgba(47,128,237,.08)!important;
    margin:6px 0 16px!important;
  }
  body:not(.admin-body) .cdi-read-toggle *{display:none!important;}

  /* Homepage hero chips/cards: compact auto-carousel rail, no vertical stack. */
  body:not(.admin-body) .hero-ticks,
  body:not(.admin-body) .tboxes{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:0!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 0 12px!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body:not(.admin-body) .hero-ticks::-webkit-scrollbar,
  body:not(.admin-body) .tboxes::-webkit-scrollbar{display:none!important;}
  body:not(.admin-body) .hero-ticks .htick{
    flex:0 0 calc(50% - 6px)!important;
    min-width:calc(50% - 6px)!important;
    max-width:calc(50% - 6px)!important;
    min-height:36px!important;
    padding:8px 10px!important;
    border-radius:999px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    font-size:12px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body:not(.admin-body) .tboxes .tbox{
    flex:0 0 calc(50% - 6px)!important;
    min-width:calc(50% - 6px)!important;
    max-width:calc(50% - 6px)!important;
    min-height:70px!important;
    padding:12px 11px!important;
    border-radius:17px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    overflow:hidden!important;
  }
  body:not(.admin-body) .tboxes .tbox strong,
  body:not(.admin-body) .tboxes .tbox span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
  }
  body:not(.admin-body) .tboxes .tbox strong{font-size:15px!important;line-height:1.08!important;}
  body:not(.admin-body) .tboxes .tbox span{font-size:11.5px!important;line-height:1.2!important;}

  /* Comparison checklist two-row rail. */
  body:not(.admin-body) .comparison-points{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(190px, 72vw)!important;
    grid-template-rows:repeat(2, minmax(48px, auto))!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding:2px 0 12px!important;
    margin:0!important;
  }
  body:not(.admin-body) .comparison-points::-webkit-scrollbar{display:none!important;}
  body:not(.admin-body) .comparison-points span{
    min-height:48px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    font-size:12.75px!important;
    line-height:1.18!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    white-space:normal!important;
  }
}

@media(max-width:380px){
  body:not(.admin-body) .hero-ticks .htick,
  body:not(.admin-body) .tboxes .tbox{
    flex-basis:calc(56% - 6px)!important;
    min-width:calc(56% - 6px)!important;
    max-width:calc(56% - 6px)!important;
  }
}
/* ===== END assets/css/cdi-v20-final-nav-menu-clean.css ===== */

/* ===== BEGIN assets/css/cdi-v20-mobile-hero-drawer-carousel-final.css ===== */
/* ============================================================
   CDI V20 mobile hero, drawer and carousel final fix
   - Removes accidental hero top whitespace on mobile
   - Gives homepage chips/cards a smooth continuous carousel
   - Makes drawer opening reliable and keeps CTA dock safe
   ============================================================ */

@media(max-width:760px){
  html,body{max-width:100%!important;overflow-x:hidden!important;}

  /* The mobile header is in normal flow, so the hero must not add fake offset. */
  body:not(.admin-body) .cdi-premium > .hero:first-child,
  body:not(.admin-body) main > .hero:first-child,
  body:not(.admin-body) .mphero:first-child,
  body:not(.admin-body) .page-hero:first-child,
  body:not(.admin-body) .cdi-hero:first-child{
    padding-top:0!important;
  }
  body:not(.admin-body) .hero.fw{
    padding-top:0!important;
    margin-top:0!important;
  }
  body:not(.admin-body) .hero .hgrid{
    min-height:0!important;
    padding:0!important;
    gap:0!important;
  }
  body:not(.admin-body) .hero .hl{
    padding:22px 18px 18px!important;
  }
  body:not(.admin-body) .hero .breadcrumb,
  body:not(.admin-body) .hero .breadcrumbs,
  body:not(.admin-body) .hero nav[aria-label="Breadcrumb"]{
    margin-bottom:22px!important;
  }
  body:not(.admin-body) .hero h1{
    font-size:clamp(34px,11vw,48px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    margin-bottom:16px!important;
  }
  body:not(.admin-body) .hero .eyepill{margin-bottom:14px!important;}
  body:not(.admin-body) .hero p{
    font-size:17px!important;
    line-height:1.5!important;
    margin-bottom:16px!important;
  }

  /* Drawer: force a dependable sheet on top of every page. */
  body:not(.admin-body) .mobile-drawer{
    position:fixed!important;
    inset:0 0 0 auto!important;
    width:min(92vw,390px)!important;
    max-width:min(92vw,390px)!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#fff!important;
    z-index:2147483000!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(105%,0,0)!important;
    transition:transform .28s cubic-bezier(.22,.8,.28,1), visibility 0s linear .28s!important;
    box-shadow:-30px 0 70px rgba(8,24,44,.28)!important;
  }
  body:not(.admin-body) .mobile-drawer.open,
  body:not(.admin-body) .mobile-drawer.is-open{
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
    transition:transform .28s cubic-bezier(.22,.8,.28,1), visibility 0s!important;
  }
  body:not(.admin-body) .mobile-drawer .dtop{
    flex:0 0 auto!important;
    min-height:78px!important;
    padding:14px 18px!important;
    background:#0B1F3D!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:18px 18px 20px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot{
    flex:0 0 auto!important;
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding:12px 18px calc(14px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #E8EEF6!important;
    box-shadow:0 -16px 36px rgba(12,31,56,.10)!important;
    opacity:1!important;
    transform:none!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn{
    min-height:42px!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.1!important;
    padding:10px 10px!important;
    white-space:normal!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn:nth-child(3),
  body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn{
    grid-column:1 / -1!important;
  }
  body.cdi-drawer-open{overflow:hidden!important;}

  /* Hero chip/card carousel - continuous, smooth and no sideways page overflow. */
  body:not(.admin-body) .hero-ticks,
  body:not(.admin-body) .tboxes{
    display:block!important;
    overflow:hidden!important;
    position:relative!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:4px 0 10px!important;
    scroll-snap-type:none!important;
    -webkit-overflow-scrolling:auto!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  }
  body:not(.admin-body) .hero-ticks .cdi-rail-inner,
  body:not(.admin-body) .tboxes .cdi-rail-inner{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:max-content!important;
    will-change:transform!important;
    transform:translate3d(0,0,0);
    animation:cdiSmoothRail 24s linear infinite!important;
  }
  body:not(.admin-body) .tboxes .cdi-rail-inner{animation-duration:26s!important;}
  body:not(.admin-body) .hero-ticks:hover .cdi-rail-inner,
  body:not(.admin-body) .tboxes:hover .cdi-rail-inner,
  body:not(.admin-body) .hero-ticks.is-paused .cdi-rail-inner,
  body:not(.admin-body) .tboxes.is-paused .cdi-rail-inner{
    animation-play-state:paused!important;
  }
  body:not(.admin-body) .hero-ticks .htick{
    flex:0 0 auto!important;
    min-width:max-content!important;
    max-width:none!important;
    width:auto!important;
    height:38px!important;
    min-height:38px!important;
    padding:8px 13px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:12.5px!important;
    line-height:1!important;
    scroll-snap-align:none!important;
  }
  body:not(.admin-body) .tboxes .tbox{
    flex:0 0 174px!important;
    min-width:174px!important;
    max-width:174px!important;
    width:174px!important;
    min-height:82px!important;
    padding:13px 14px!important;
    border-radius:18px!important;
    scroll-snap-align:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  body:not(.admin-body) .tboxes .tbox strong,
  body:not(.admin-body) .tboxes .tbox span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:block!important;
  }
  body:not(.admin-body) .tboxes .tbox strong{font-size:17px!important;line-height:1.05!important;margin-bottom:6px!important;}
  body:not(.admin-body) .tboxes .tbox span{font-size:12.5px!important;line-height:1.15!important;}

  /* Comparison checklist uses a smoother two-row carousel too. */
  body:not(.admin-body) .comparison-points{
    overflow:hidden!important;
    display:block!important;
    max-width:100%!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  }
  body:not(.admin-body) .comparison-points .cdi-rail-inner{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-rows:repeat(2,minmax(52px,auto))!important;
    grid-auto-columns:220px!important;
    gap:10px!important;
    width:max-content!important;
    animation:cdiSmoothRail 30s linear infinite!important;
  }
  body:not(.admin-body) .comparison-points.is-paused .cdi-rail-inner{animation-play-state:paused!important;}
  body:not(.admin-body) .comparison-points span{
    min-height:52px!important;
    padding:10px 12px!important;
    border-radius:17px!important;
    font-size:13px!important;
    line-height:1.15!important;
  }

  /* Clean show more / show less pill. No icons, no underline. */
  body:not(.admin-body) .cdi-read-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    border:1px solid #CFE3F7!important;
    background:#fff!important;
    color:#0B5EC8!important;
    border-radius:999px!important;
    padding:10px 22px!important;
    font:800 15px/1 Poppins,system-ui,sans-serif!important;
    text-decoration:none!important;
    box-shadow:0 12px 24px rgba(47,128,237,.09)!important;
    margin:8px 0 18px!important;
  }
  body:not(.admin-body) .cdi-read-toggle:before,
  body:not(.admin-body) .cdi-read-toggle:after,
  body:not(.admin-body) .cdi-read-toggle *{display:none!important;content:none!important;}
}

@keyframes cdiSmoothRail{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-50%,0,0);}
}

@media(max-width:760px) and (prefers-reduced-motion:reduce){
  body:not(.admin-body) .hero-ticks .cdi-rail-inner,
  body:not(.admin-body) .tboxes .cdi-rail-inner,
  body:not(.admin-body) .comparison-points .cdi-rail-inner{animation:none!important;}
}

/* ============================================================
   CDI V20 final mobile correction - hero, drawer, marquee polish
   ============================================================ */
@media(max-width:760px){
  body:not(.admin-body) .hero.fw{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body:not(.admin-body) .hero .hgrid{
    display:block!important;
    min-height:0!important;
  }
  body:not(.admin-body) .hero .hl{
    padding:28px 20px 18px!important;
  }
  body:not(.admin-body) .hero .eyepill{
    display:inline-flex!important;
    max-width:100%!important;
    font-size:11px!important;
    line-height:1.25!important;
    letter-spacing:.12em!important;
    margin:0 0 18px!important;
    padding:0!important;
    color:rgba(7,20,38,.64)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body:not(.admin-body) .hero h1{
    font-size:clamp(37px,10.2vw,43px)!important;
    line-height:1.03!important;
    max-width:350px!important;
    margin:0 0 18px!important;
    letter-spacing:-.055em!important;
  }
  body:not(.admin-body) .hero p{
    font-size:17px!important;
    line-height:1.48!important;
    max-width:348px!important;
    margin-bottom:14px!important;
  }
  body:not(.admin-body) .hero-search{
    margin-top:14px!important;
  }
  body:not(.admin-body) .hero .hr{
    display:none!important;
  }
  body:not(.admin-body) .hero .breadcrumb,
  body:not(.admin-body) .hero .breadcrumbs,
  body:not(.admin-body) .hero nav[aria-label="Breadcrumb"]{
    display:none!important;
  }

  /* Proper backdrop: tap outside drawer closes the menu. */
  .cdi-mobile-drawer-backdrop{
    position:fixed!important;
    inset:0!important;
    background:rgba(8,24,44,.54)!important;
    backdrop-filter:blur(6px)!important;
    -webkit-backdrop-filter:blur(6px)!important;
    z-index:2147482990!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .22s ease!important;
  }
  .cdi-mobile-drawer-backdrop.is-open{
    opacity:1!important;
    pointer-events:auto!important;
  }
  body:not(.admin-body) .mobile-drawer{
    width:min(90vw,370px)!important;
    max-width:min(90vw,370px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
  }
  body:not(.admin-body) .mobile-drawer .dtop{
    min-height:72px!important;
    padding:12px 16px!important;
  }
  body:not(.admin-body) .mobile-drawer .drawer-logo{
    max-width:150px!important;
    height:auto!important;
  }
  body:not(.admin-body) .mobile-drawer .dclose{
    width:50px!important;
    height:50px!important;
    border-radius:18px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:12px 16px 10px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu details,
  body:not(.admin-body) .mobile-drawer .mmenu .mmenu-flat{
    margin-bottom:10px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu summary,
  body:not(.admin-body) .mobile-drawer .mmenu-flat{
    min-height:62px!important;
    padding:15px 16px!important;
    border-radius:22px!important;
    font-size:20px!important;
    line-height:1.1!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu-panel{
    padding:8px 6px 12px!important;
  }
  body:not(.admin-body) .mobile-drawer .mmenu-grid a,
  body:not(.admin-body) .mobile-drawer .mmenu-panel > a{
    min-height:40px!important;
    padding:9px 8px!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot{
    flex:0 0 auto!important;
    position:static!important;
    margin-top:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    padding:10px 16px calc(12px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #E8EEF6!important;
    box-shadow:0 -10px 26px rgba(12,31,56,.08)!important;
    z-index:2!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn{
    min-height:46px!important;
    border-radius:17px!important;
    font-size:14px!important;
    line-height:1.08!important;
    padding:10px 8px!important;
  }
  body:not(.admin-body) .mobile-drawer .dfoot .btn:nth-child(3){
    grid-column:1 / -1!important;
  }
  /* Keep the PWA install action visible. A later mobile polish rule previously
     hid this control, which made the working install flow impossible to reach. */
  body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn{
    display:flex!important;
    grid-column:1 / -1!important;
    min-height:48px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    background:#0B1F3D!important;
    border:1px solid #0B1F3D!important;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(11,31,61,.16)!important;
  }
  .pwa-standalone body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn{
    display:none!important;
  }

  /* Smooth marquee rails: CSS transform only, no JS scrollLeft movement. */
  body:not(.admin-body) .hero-ticks,
  body:not(.admin-body) .tboxes,
  body:not(.admin-body) .comparison-points{
    touch-action:pan-y!important;
    overscroll-behavior-x:contain!important;
  }
  body:not(.admin-body) .hero-ticks .cdi-rail-inner,
  body:not(.admin-body) .tboxes .cdi-rail-inner{
    animation-timing-function:linear!important;
    animation-play-state:running!important;
  }
  body:not(.admin-body) .hero-ticks .cdi-rail-inner{animation-duration:20s!important;}
  body:not(.admin-body) .tboxes .cdi-rail-inner{animation-duration:24s!important;}
  body:not(.admin-body) .comparison-points .cdi-rail-inner{animation-duration:28s!important;}

  body:not(.admin-body) .cdi-read-toggle{
    min-height:38px!important;
    padding:9px 18px!important;
    border-radius:999px!important;
    font-size:14px!important;
    text-decoration:none!important;
  }
}
/* ===== END assets/css/cdi-v20-mobile-hero-drawer-carousel-final.css ===== */

/* ===== BEGIN assets/css/cdi-v21-drawer-pwa.css ===== */
/* ============================================================
   CDI V21 drawer and PWA install refinement
   - quieter, sharper mobile navigation typography
   - always-visible install CTA in normal browser mode
   - compact CTA dock that fits common mobile viewports
   ============================================================ */
@media (max-width: 760px){
  body:not(.admin-body) .mobile-drawer{
    width:min(88vw,360px)!important;
    max-width:min(88vw,360px)!important;
  }

  body:not(.admin-body) .mobile-drawer .dtop{
    min-height:68px!important;
    padding:10px 15px!important;
  }

  body:not(.admin-body) .mobile-drawer .drawer-logo{
    max-width:142px!important;
  }

  body:not(.admin-body) .mobile-drawer .dclose{
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    font-size:24px!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu{
    padding:10px 15px 8px!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu details,
  body:not(.admin-body) .mobile-drawer .mmenu .mmenu-flat{
    margin-bottom:8px!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu summary,
  body:not(.admin-body) .mobile-drawer .mmenu-flat{
    min-height:54px!important;
    padding:12px 14px!important;
    border-radius:18px!important;
    font-family:Poppins,Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:-.015em!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu details[open] > summary{
    font-weight:600!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu-chevron{
    font-size:12px!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu-panel{
    padding:6px 5px 10px!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu-grid a,
  body:not(.admin-body) .mobile-drawer .mmenu-panel > a,
  body:not(.admin-body) .mobile-drawer .mmenu-viewall{
    min-height:38px!important;
    padding:8px 7px!important;
    font-size:13.5px!important;
    font-weight:500!important;
    line-height:1.3!important;
  }

  body:not(.admin-body) .mobile-drawer .mmenu-flat .tag{
    font-size:10px!important;
    font-weight:500!important;
    padding:4px 8px!important;
  }

  body:not(.admin-body) .mobile-drawer .dfoot{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:9px 15px calc(11px + env(safe-area-inset-bottom))!important;
  }

  body:not(.admin-body) .mobile-drawer .dfoot .btn{
    min-height:43px!important;
    border-radius:15px!important;
    padding:9px 8px!important;
    font-size:12.5px!important;
    font-weight:600!important;
    line-height:1.12!important;
  }

  body:not(.admin-body) .mobile-drawer .dfoot .btn:nth-child(3){
    grid-column:1 / -1!important;
  }

  /* Put the app action first so it is visible without scrolling. */
  html:not(.pwa-standalone) body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn:not([hidden]){
    display:flex!important;
    order:-1!important;
    grid-column:1 / -1!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    background:#0B1F3D!important;
    border:1px solid #0B1F3D!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(11,31,61,.14)!important;
    font-size:13.5px!important;
    font-weight:600!important;
  }

  html:not(.pwa-standalone) body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn:not([hidden]) .cdi-icon,
  html:not(.pwa-standalone) body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn:not([hidden]) i{
    width:18px!important;
    height:18px!important;
    font-size:18px!important;
    flex:0 0 auto!important;
  }

  html.pwa-standalone body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn,
  body:not(.admin-body) .mobile-drawer .dfoot .cdi-install-menu-btn[hidden]{
    display:none!important;
  }
}
/* ===== END assets/css/cdi-v21-drawer-pwa.css ===== */

/* ===== BEGIN assets/css/cdi-marketplace-actions-v24.css ===== */
/* CDI V24 marketplace trust and contact actions */
.ic-namerow{position:relative;padding-right:42px}
.ic-share-btn,.cdi-share-btn{appearance:none;border:1px solid var(--line,#dbe3ea);background:#fff;color:var(--ink,#071426);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.2s ease}
.ic-share-btn{position:absolute;right:0;top:-4px;width:36px;height:36px;border-radius:50%;padding:0;box-shadow:0 4px 14px rgba(7,20,38,.07)}
.ic-share-btn:hover,.cdi-share-btn:hover{border-color:var(--green,#28d39a);background:var(--green-mist,#ecfff8);transform:translateY(-1px)}
.ic-share-btn svg,.cdi-share-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ic-contact-actions{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}
.ic-phone-reveal{min-height:42px;border:1px solid #9be8ce;background:#effff9;color:#007a55;border-radius:11px;font-weight:800;font-size:13px;padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}
.ic-phone-reveal:hover{background:#dcfff2;border-color:#55dbae}
.ic-phone-reveal[disabled]{opacity:.65;cursor:wait}
.ic-phone-mask{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ic-phone-open{grid-column:1/-1;border:1px solid #9be8ce;background:#f3fff9;border-radius:12px;padding:11px 12px;display:none}
.ic-phone-open.is-open{display:block}
.ic-phone-number{font-size:17px;font-weight:900;color:var(--ink,#071426);font-variant-numeric:tabular-nums}
.ic-phone-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.ic-phone-links a,.ic-phone-links button{border:0;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none}
.ic-call-now{background:var(--green,#28d39a);color:#052d20}
.ic-copy-phone{background:#fff;color:var(--ink,#071426);border:1px solid var(--line,#dbe3ea)!important}
.cdi-action-toast{position:fixed;right:18px;bottom:18px;z-index:10050;max-width:360px;background:#fffdf0;border:1px solid #f3c94d;border-radius:16px;box-shadow:0 16px 45px rgba(7,20,38,.18);padding:16px 42px 16px 16px;color:#714600;animation:cdiToastIn .25s ease}
.cdi-action-toast strong{display:block;color:#5d3900;margin-bottom:3px;font-size:14px}
.cdi-action-toast p{margin:0;font-size:13px;line-height:1.5}
.cdi-action-toast button{position:absolute;right:10px;top:9px;border:0;background:transparent;font-size:20px;cursor:pointer;color:#8d641e}
@keyframes cdiToastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tc-direct-answer{background:#ecfff8;border:1px solid #a5ebd5;border-radius:16px;padding:18px 20px;margin:18px 0 0;max-width:880px}
.tc-direct-answer strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#007a55;margin-bottom:5px}
.tc-direct-answer p{margin:0;color:var(--ink,#071426);font-size:15px;line-height:1.65}
.tc-source-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line,#dbe3ea);font-size:12.5px;color:var(--slate,#526173);line-height:1.55}
.tc-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.tc-evidence-item{border:1px solid var(--line,#dbe3ea);border-radius:13px;padding:12px;background:#fff}
.tc-evidence-item b{display:block;font-size:17px;color:var(--ink,#071426)}
.tc-evidence-item span{font-size:12px;color:var(--slate,#526173)}
.tc-disclosure{background:#f7fafc;border-left:4px solid var(--sky,#47b8e8);padding:12px 14px;border-radius:0 10px 10px 0;margin-top:14px;font-size:12.5px;color:var(--slate,#526173);line-height:1.55}
@media(max-width:640px){.ic-contact-actions{grid-template-columns:1fr}.ic-share-btn{width:34px;height:34px}.cdi-action-toast{left:12px;right:12px;bottom:82px}.tc-evidence-grid{grid-template-columns:1fr}}
/* ===== END assets/css/cdi-marketplace-actions-v24.css ===== */

/* ===== BEGIN assets/css/cdi-profile-premium-v287.css ===== */
/* ======================================================================
   CDI V28.7 - Premium mobile profile journey
   A single, page-scoped profile layer loaded after the legacy site bundle.
   Priorities: decisive hierarchy, compact conversion path, accessible
   accordions, low-friction enquiry, privacy-safe public profile details.
   ====================================================================== */

body.cdi-profile-page{
  --profile-ink:#0b1f3d;
  --profile-copy:#31445e;
  --profile-muted:#5f7085;
  --profile-line:#dce6ef;
  --profile-soft:#f5f8fb;
  --profile-surface:#ffffff;
  --profile-green:#087a59;
  --profile-green-strong:#006f50;
  --profile-green-soft:#ecfaf5;
  --profile-blue:#1d73d4;
  --profile-focus:rgba(36,155,224,.34);
  --profile-radius:16px;
  --profile-shadow:0 12px 34px rgba(11,31,61,.075);
  color:var(--profile-ink);
  background:#f7f9fc;
}

body.cdi-profile-page .util{
  display:none!important;
}

body.cdi-profile-page .topnav{
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 6px 22px rgba(5,17,36,.13)!important;
}
body.cdi-profile-page .topnav .row{
  min-height:72px!important;
}
body.cdi-profile-page .hamburger{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:14px!important;
}
body.cdi-profile-page .brand-logo,
body.cdi-profile-page .profile-share-btn,
body.cdi-profile-page .hamburger,
body.cdi-profile-page button,
body.cdi-profile-page a{
  -webkit-tap-highlight-color:transparent;
}

/* Profile-only exclusions: one floating conversion control, never two. */
body.cdi-profile-page .ai-fab,
body.cdi-profile-page .chat-overlay,
body.cdi-profile-page .chat-panel{
  display:none!important;
}

.pg-profile{
  width:100%;
  overflow:clip;
  color:var(--profile-ink);
}
.pg-profile .cw{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}
.pg-profile .cdi-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  stroke-width:1.9;
}

/* Compact, clear demo state. */
.pg-profile .cdi-demo-profile-notice{
  width:100%;
  border-bottom:1px solid #cfe0f5;
  background:#edf5ff;
  color:#163f7f;
}
.pg-profile .cdi-demo-profile-notice-inner{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding-block:9px;
  text-align:center;
  font-size:12.5px;
  line-height:1.35;
}
.pg-profile .cdi-demo-profile-title{
  font-weight:800;
}
.pg-profile .cdi-demo-profile-copy::before{
  content:"·";
  margin-right:8px;
  color:#5c7da8;
}
.pg-profile .cdi-demo-profile-index{
  padding:4px 8px;
  border:1px solid #c8daf0;
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:#4b6585;
  font-size:10.5px;
  font-weight:700;
  white-space:nowrap;
}
.pg-profile .profile-owner-preview{
  padding:10px 0;
  border-bottom:1px solid #f2d58e;
  background:#fff8e7;
  color:#654812;
  font-size:13px;
}
.pg-profile .profile-owner-preview a{
  color:inherit;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Hero and identity. */
.pg-profile .profhero{
  width:100%;
  padding:0!important;
  border-bottom:1px solid var(--profile-line)!important;
  background:linear-gradient(180deg,#f8fbff 0%,#f3f8fc 100%)!important;
}
.pg-profile .phtop{
  padding:24px 0 26px!important;
}
.pg-profile .pbc{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 20px!important;
  color:var(--profile-muted)!important;
  font-size:12.5px!important;
}
.pg-profile .pbc a{
  color:var(--profile-muted)!important;
  text-decoration:none;
}
.pg-profile .pbc a:hover{
  color:var(--profile-blue)!important;
}
.pg-profile .profile-mobile-back{
  display:none;
}
.pg-profile .phero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,360px)!important;
  grid-template-rows:auto auto;
  align-items:start!important;
  gap:18px 28px!important;
}
.pg-profile .profile-identity{
  grid-column:1;
  grid-row:1;
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  align-items:start!important;
  gap:18px!important;
  min-width:0;
}
.pg-profile .pavatar{
  position:relative;
  width:104px!important;
  height:104px!important;
  min-width:104px!important;
  overflow:hidden!important;
  border:1px solid rgba(33,67,104,.11);
  border-radius:18px!important;
  background:#0b1f3d!important;
  box-shadow:0 10px 26px rgba(11,31,61,.13)!important;
}
.pg-profile .pavatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.pg-profile .pinfo{
  min-width:0;
  padding-top:1px;
}
.pg-profile .profile-heading-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-width:0;
}
.pg-profile .profile-heading-row h1{
  flex:1 1 auto;
  min-width:0;
  margin:0!important;
  color:var(--profile-ink)!important;
  font-size:clamp(30px,3.25vw,42px)!important;
  font-weight:800!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.pg-profile .profile-share-btn{
  appearance:none;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d7e2ec!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#173a60!important;
  box-shadow:0 7px 18px rgba(11,31,61,.075)!important;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background-color .16s ease;
}
.pg-profile .profile-share-btn:hover{
  transform:translateY(-1px);
  border-color:#96d7c3!important;
  background:#f5fffb!important;
}
.pg-profile .profile-share-btn svg{
  width:19px!important;
  height:19px!important;
}
.pg-profile .profile-primary-badges{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:9px 0 8px!important;
}
.pg-profile .profile-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:28px;
  padding:5px 9px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:11.5px;
  font-weight:800;
  line-height:1;
}
.pg-profile .profile-badge .cdi-icon{
  width:15px;
  height:15px;
}
.pg-profile .profile-badge-verified{
  border-color:#b9ead9;
  background:#eafaf4;
  color:#08775a;
}
.pg-profile .profile-badge-neutral{
  border-color:#dce5ee;
  background:#f5f7fa;
  color:#52647a;
}
.pg-profile .profile-meta-line,
.pg-profile .profile-location-line{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--profile-copy)!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.pg-profile .profile-location-line{
  margin-top:4px;
  color:var(--profile-muted)!important;
}
.pg-profile .profile-location-line .cdi-icon{
  width:16px;
  height:16px;
  color:#58708d;
}
.pg-profile .profile-school{
  margin-top:6px!important;
  color:var(--profile-muted)!important;
  font-size:12.5px!important;
}
.pg-profile .profile-school a{
  color:var(--profile-blue)!important;
  font-weight:700!important;
}
.pg-profile .prat{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap;
  gap:6px!important;
  margin-top:8px!important;
  color:var(--profile-muted)!important;
  font-size:12px!important;
}
.pg-profile .prat .rs{
  color:#df9b16!important;
  letter-spacing:-1px;
}
.pg-profile .prat strong{
  color:var(--profile-ink)!important;
}
.pg-profile .profile-trust-badges,
.pg-profile .phero-badges,
.pg-profile .pstats,
.pg-profile .ptopics,
.pg-profile .ph-calls{
  display:none!important;
}

/* Price / availability / action card. */
.pg-profile .pctab.pbook{
  grid-column:2;
  grid-row:1 / span 2;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:20px!important;
  display:block!important;
  border:1px solid #d8e3ed!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--profile-shadow)!important;
  text-align:left!important;
}
.pg-profile .pb-topline{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 14px!important;
}
.pg-profile .pb-price{
  min-width:0;
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap;
  gap:7px!important;
  margin:0!important;
}
.pg-profile .pbook .ppr{
  margin:0!important;
  color:var(--profile-ink)!important;
  font-size:42px!important;
  font-weight:800!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.pg-profile .pbook .pb-per{
  color:var(--profile-muted)!important;
  font-size:12.5px!important;
  font-weight:600!important;
  line-height:1.25!important;
  white-space:nowrap;
}
.pg-profile .pb-availability{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:30px;
  padding:6px 9px!important;
  border:1px solid #cdebdc;
  border-radius:999px;
  background:#effaf5;
  color:#087455;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-align:left;
  white-space:nowrap;
}
.pg-profile .pb-availability.is-check{
  border-color:#d9e4ee;
  background:#f5f7fa;
  color:#506177;
}
.pg-profile .pb-availability-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#08a875;
  box-shadow:0 0 0 3px rgba(8,168,117,.10);
}
.pg-profile .pb-availability.is-check .pb-availability-dot{
  background:#8090a3;
  box-shadow:none;
}
.pg-profile .pb-facts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 0 14px!important;
  padding:10px 0!important;
  border-top:1px solid #e5ecf2;
  border-bottom:1px solid #e5ecf2;
}
.pg-profile .pb-facts > span{
  min-width:0;
  display:flex!important;
  flex-direction:column;
  gap:2px;
  padding:0 12px!important;
  text-align:left!important;
}
.pg-profile .pb-facts > span:first-child{
  padding-left:0!important;
}
.pg-profile .pb-facts > span + span{
  border-left:1px solid #e5ecf2;
}
.pg-profile .pb-facts strong{
  color:var(--profile-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.pg-profile .pb-facts small{
  color:var(--profile-muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
.pg-profile .pbook .pb-main{
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:13px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--profile-green)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:13.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:center!important;
}
.pg-profile .pbook .pb-main:hover{
  background:var(--profile-green-strong)!important;
  transform:none!important;
}
.pg-profile .pbook .ic-contact-actions,
.pg-profile .demo-phone-preview{
  display:block!important;
  margin:9px 0 0!important;
}
.pg-profile .pbook .ic-phone-reveal,
.pg-profile .demo-phone-preview-button{
  appearance:none;
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:1px solid #ccdbe7!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--profile-copy)!important;
  box-shadow:none!important;
  font:inherit;
  font-size:12px!important;
  font-weight:700!important;
  cursor:pointer;
}
.pg-profile .pbook .ic-phone-mask,
.pg-profile .demo-phone-preview-button > span:first-child{
  color:var(--profile-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
}
.pg-profile .pbook .ic-phone-open,
.pg-profile .demo-phone-preview-panel{
  margin-top:8px!important;
  padding:13px!important;
  border:1px solid #cde9de!important;
  border-radius:12px!important;
  background:#f2fbf7!important;
  box-shadow:none!important;
}
.pg-profile .demo-phone-preview-panel[hidden]{
  display:none!important;
}
.pg-profile .demo-phone-preview-panel strong,
.pg-profile .demo-phone-preview-panel span{
  display:block;
}
.pg-profile .demo-phone-preview-panel strong{
  color:var(--profile-ink);
  font-size:18px;
}
.pg-profile .demo-phone-preview-panel span{
  margin-top:4px;
  color:var(--profile-muted);
  font-size:11px;
  line-height:1.45;
}
.pg-profile .pbook .ic-phone-number{
  color:var(--profile-ink)!important;
  font-size:20px!important;
  font-weight:800!important;
}
.pg-profile .pbook .ic-phone-links{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:9px!important;
}
.pg-profile .pbook .ic-phone-links a,
.pg-profile .pbook .ic-phone-links button{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  font-size:12px!important;
  font-weight:800!important;
}
.pg-profile .pb-note{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:10px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--profile-muted)!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  text-align:center!important;
}
.pg-profile .pb-note .cdi-icon{
  width:14px;
  height:14px;
  color:var(--profile-green);
}

/* Highlights follow the conversion card on mobile, not precede it. */
.pg-profile .profile-summary{
  grid-column:1;
  grid-row:2;
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);
  align-items:start;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.pg-profile .ph-highlights-wrap,
.pg-profile .profile-teaches{
  min-width:0;
  padding:13px 14px!important;
  border:1px solid #dfe8f0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:none!important;
}
.pg-profile .ph-hlbl{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 9px!important;
  color:var(--profile-copy)!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.pg-profile .ph-hlbl .cdi-icon{
  width:15px;
  height:15px;
  color:#167b63;
}
.pg-profile .ph-highlights{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0!important;
}
.pg-profile .ph-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:31px!important;
  margin:0!important;
  padding:6px 10px!important;
  border:1px solid #c8e8dc!important;
  border-radius:999px!important;
  background:#effaf6!important;
  color:#0b6b50!important;
  font-size:10.5px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.pg-profile .profile-teaches{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
}
.pg-profile .profile-teaches > .cdi-icon{
  width:35px!important;
  height:35px!important;
  padding:8px;
  border-radius:10px;
  background:#eef4fa;
  color:#315c87;
}
.pg-profile .profile-teaches div{
  min-width:0;
}
.pg-profile .profile-teaches strong,
.pg-profile .profile-teaches span{
  display:block;
}
.pg-profile .profile-teaches strong{
  color:var(--profile-ink)!important;
  font-size:12px!important;
  font-weight:800!important;
}
.pg-profile .profile-teaches span{
  margin-top:2px;
  color:var(--profile-muted)!important;
  font-size:11px!important;
  line-height:1.4!important;
}

/* Desktop tabs; mobile receives true accordion controls below. */
.pg-profile .prof-tabs{
  width:100%!important;
  overflow:visible!important;
  border-top:0!important;
  border-bottom:1px solid var(--profile-line)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.pg-profile .prof-tabs .cw{
  overflow:hidden;
}
.pg-profile .prof-tabs-inner{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  min-width:0!important;
}
.pg-profile .prof-tabs .ptab{
  appearance:none;
  min-height:48px!important;
  padding:13px 16px!important;
  border:0!important;
  border-bottom:3px solid transparent!important;
  background:transparent!important;
  color:var(--profile-muted)!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  cursor:pointer;
}
.pg-profile .prof-tabs .ptab.a,
.pg-profile .prof-tabs .ptab[aria-selected="true"]{
  border-bottom-color:#20a8dc!important;
  color:#0e6698!important;
}
.pg-profile .profile-accordion-toggle{
  display:none;
}
.pg-profile .tab-section{
  display:none!important;
  outline:0;
}
.pg-profile .tab-section.active{
  display:block!important;
}

/* Main content and form. */
.pg-profile .pbody{
  width:100%!important;
  padding:28px 0 58px!important;
  background:#f7f9fc!important;
}
.pg-profile .pgrid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 352px!important;
  align-items:start!important;
  gap:24px!important;
}
.pg-profile .pgrid main,
.pg-profile .pgrid aside{
  min-width:0;
}
.pg-profile .stickya{
  position:sticky!important;
  top:86px!important;
}
.pg-profile .pp,
.pg-profile .pcard,
.pg-profile .enqbox,
.pg-profile .profile-compare-card{
  border:1px solid #dfe7ef!important;
  border-radius:var(--profile-radius)!important;
  background:#fff!important;
  box-shadow:0 8px 25px rgba(11,31,61,.045)!important;
}
.pg-profile .pp,
.pg-profile .pcard{
  padding:21px!important;
}
.pg-profile .pp + .pp,
.pg-profile .pcard + .pp,
.pg-profile .pp + .pcard{
  margin-top:14px!important;
}
.pg-profile .pp h2,
.pg-profile .pcard h2{
  margin:0 0 12px!important;
  color:var(--profile-ink)!important;
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
.pg-profile .pp p,
.pg-profile .pcard p{
  color:var(--profile-copy)!important;
}
.pg-profile .profile-teaching-style{
  margin:14px 0 0;
  color:var(--profile-copy)!important;
  font-size:13.5px!important;
  line-height:1.65!important;
}
.pg-profile .enqbox{
  padding:21px!important;
}
.pg-profile .enquiry-kicker{
  margin:0 0 6px;
  color:var(--profile-green)!important;
  font-size:10.5px!important;
  font-weight:800!important;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
.pg-profile .enqbox > h2{
  margin:0!important;
  color:var(--profile-ink)!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:-.03em!important;
}
.pg-profile .enquiry-intro{
  margin:7px 0 16px!important;
  color:var(--profile-muted)!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}
.pg-profile #enquire{
  scroll-margin-top:86px;
}
.pg-profile .enquiry-form{
  display:grid!important;
  gap:13px!important;
}
.pg-profile .enquiry-honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.pg-profile .enquiry-step{
  display:grid!important;
  gap:11px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.pg-profile .enquiry-step-head{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 1px!important;
}
.pg-profile .enquiry-step-number{
  width:27px!important;
  height:27px!important;
  min-width:27px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  background:#e8f7f1!important;
  color:#08765a!important;
  font-size:11px!important;
  font-weight:800!important;
}
.pg-profile .enquiry-step-head strong,
.pg-profile .enquiry-summary-copy strong{
  display:block!important;
  color:var(--profile-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.pg-profile .enquiry-step-head div > span,
.pg-profile .enquiry-summary-copy small{
  display:block!important;
  margin-top:2px!important;
  color:var(--profile-muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.35!important;
}
.pg-profile .enquiry-field-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.pg-profile .enquiry-field{
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.pg-profile .enquiry-field[hidden],
.pg-profile [data-contact-email][hidden],
.pg-profile [data-contact-phone][hidden],
.pg-profile [data-parent-guardian-field][hidden]{
  display:none!important;
}
.pg-profile .enquiry-field > label,
.pg-profile .enquiry-contact-method > legend{
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  color:var(--profile-copy)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.pg-profile .enquiry-field > label span{
  color:var(--profile-muted)!important;
  font-size:10px!important;
  font-weight:500!important;
}
.pg-profile .enquiry-field .ff,
.pg-profile .profile-review-form .ff{
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 12px!important;
  border:1px solid #ccd9e5!important;
  border-radius:10px!important;
  outline:0!important;
  background:#fff!important;
  color:var(--profile-ink)!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:14px!important;
  line-height:1.35!important;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.pg-profile .enquiry-field .ff:focus,
.pg-profile .profile-review-form .ff:focus{
  border-color:#48a9d8!important;
  box-shadow:0 0 0 3px var(--profile-focus)!important;
}
.pg-profile textarea.ff{
  min-height:88px!important;
  resize:vertical;
}
.pg-profile .enquiry-contact-method{
  min-width:0;
}
.pg-profile .enquiry-contact-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.pg-profile .enquiry-contact-option{
  position:relative;
  min-width:0;
  cursor:pointer;
}
.pg-profile .enquiry-contact-option > input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
}
.pg-profile .enquiry-contact-option > span{
  min-height:46px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:8px 5px!important;
  border:1px solid #ccd9e5!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--profile-copy)!important;
  text-align:center;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.pg-profile .enquiry-contact-option .cdi-icon{
  width:15px;
  height:15px;
}
.pg-profile .enquiry-contact-option strong{
  font-size:10.5px!important;
  font-weight:700!important;
  line-height:1!important;
}
.pg-profile .enquiry-contact-option > input:checked + span{
  border-color:#67cdb0!important;
  background:#edf9f5!important;
  color:#087257!important;
  box-shadow:inset 0 0 0 1px rgba(8,122,89,.05)!important;
}
.pg-profile .enquiry-contact-option > input:focus-visible + span{
  box-shadow:0 0 0 3px var(--profile-focus)!important;
}
.pg-profile .enquiry-optional{
  margin:0!important;
  overflow:hidden!important;
  border:1px solid #dce5ed!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
.pg-profile .enquiry-optional > summary{
  position:relative;
  min-height:0!important;
  margin:0!important;
  padding:11px 38px 11px 11px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  list-style:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer;
}
.pg-profile .enquiry-optional > summary::-webkit-details-marker{
  display:none;
}
.pg-profile .enquiry-optional > summary::after{
  content:none!important;
}
.pg-profile .enquiry-summary-copy{
  min-width:0;
}
.pg-profile .enquiry-summary-chevron{
  position:absolute;
  right:14px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #5d6d82;
  border-bottom:2px solid #5d6d82;
  transform:translateY(-65%) rotate(45deg);
  transition:transform .16s ease;
}
.pg-profile .enquiry-optional[open] .enquiry-summary-chevron{
  transform:translateY(-30%) rotate(225deg);
}
.pg-profile .enquiry-optional-body{
  display:grid!important;
  gap:11px!important;
  padding:12px!important;
  border-top:1px solid #e0e8ef!important;
  background:#fff!important;
}
.pg-profile .enquiry-under-18{
  min-height:44px;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  padding:9px 10px!important;
  border:1px solid #dce5ed!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:var(--profile-copy)!important;
  font-size:11px!important;
  font-weight:700!important;
  cursor:pointer;
}
.pg-profile .enquiry-under-18 input,
.pg-profile .enquiry-consent input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  accent-color:var(--profile-green);
}
.pg-profile .enquiry-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  margin:0!important;
  color:var(--profile-muted)!important;
  font-size:10.5px!important;
  line-height:1.5!important;
}
.pg-profile .enquiry-consent input{
  margin-top:1px!important;
}
.pg-profile .enquiry-submit{
  position:relative;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:0!important;
  border-radius:11px!important;
  background:var(--profile-green)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
}
.pg-profile .enquiry-submit[disabled]{
  cursor:wait!important;
  opacity:.78!important;
}
.pg-profile .enquiry-submit-spinner{
  width:16px;
  height:16px;
  display:none;
  border:2px solid rgba(255,255,255,.38);
  border-top-color:#fff;
  border-radius:50%;
  animation:cdiProfileSpin .7s linear infinite;
}
.pg-profile .enquiry-submit.is-submitting .enquiry-submit-spinner{
  display:inline-block;
}
@keyframes cdiProfileSpin{to{transform:rotate(360deg)}}
.pg-profile .enquiry-safeguarding,
.pg-profile .enquiry-footnote{
  color:var(--profile-muted)!important;
  font-size:10px!important;
  line-height:1.5!important;
}
.pg-profile .enquiry-safeguarding{
  margin:13px 0 0!important;
  padding-top:12px!important;
  border-top:1px solid #e4ebf1!important;
}
.pg-profile .enquiry-safeguarding a{
  color:#285f91!important;
  font-weight:700!important;
}
.pg-profile .enquiry-footnote{
  margin:7px 0 0!important;
}
.pg-profile .enquiry-errors,
.pg-profile .enquiry-success{
  margin:14px 0 0!important;
  padding:13px!important;
  border-radius:12px!important;
  font-size:11.5px!important;
  line-height:1.5!important;
}
.pg-profile .enquiry-errors{
  border:1px solid #f0c9c9!important;
  background:#fff4f4!important;
  color:#862d2d!important;
}
.pg-profile .enquiry-errors p{
  margin:4px 0 0!important;
  color:inherit!important;
}
.pg-profile .enquiry-success{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  border:1px solid #bfe7d7!important;
  background:#effaf6!important;
  color:#075e48!important;
}
.pg-profile .enquiry-success-icon{
  width:28px;
  height:28px;
  min-width:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#d9f4e9;
}
.pg-profile .enquiry-success p{
  margin-top:4px!important;
  color:#2d6657!important;
}
.pg-profile .profile-compare-card{
  margin-top:12px!important;
  padding:14px!important;
  text-align:center;
}
.pg-profile .profile-compare-card p{
  margin:0 0 9px!important;
  color:var(--profile-copy)!important;
  font-size:11.5px!important;
  font-weight:700!important;
}

/* Mobile accordion shell. */
.pg-profile .profile-accordion-toggle{
  appearance:none;
  width:100%;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 0;
  padding:14px 15px;
  border:1px solid #dce5ed;
  border-radius:14px;
  background:#fff;
  color:var(--profile-ink);
  box-shadow:0 5px 18px rgba(11,31,61,.035);
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.pg-profile .profile-accordion-chevron{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-right:2px solid #617188;
  border-bottom:2px solid #617188;
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .16s ease;
}
.pg-profile .profile-accordion-toggle.is-open{
  border-color:#b8d7e8;
  border-bottom-right-radius:0;
  border-bottom-left-radius:0;
  background:#f7fbfe;
  color:#0e648f;
}
.pg-profile .profile-accordion-toggle.is-open .profile-accordion-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}
.pg-profile .profile-review-submit{
  margin-top:22px!important;
  padding-top:18px!important;
  border-top:1px solid #e2e9ef!important;
}
.pg-profile .profile-review-submit h3{
  margin:0 0 12px!important;
  color:var(--profile-ink)!important;
  font-size:15px!important;
}
.pg-profile .profile-review-disabled,
.pg-profile .profile-review-success,
.pg-profile .profile-review-errors{
  padding:13px;
  border-radius:12px;
  font-size:12px;
}
.pg-profile .profile-review-disabled{
  border:1px solid #dce5ed;
  background:#f7f9fb;
  color:var(--profile-copy);
}
.pg-profile .profile-review-disabled p,
.pg-profile .profile-review-success p{
  margin-top:4px!important;
  color:var(--profile-muted)!important;
  font-size:11px!important;
}
.pg-profile .profile-review-success{
  border:1px solid #bfe7d7;
  background:#effaf6;
  color:#075e48;
}
.pg-profile .profile-review-errors{
  border:1px solid #f0c9c9;
  background:#fff4f4;
  color:#862d2d;
}
.pg-profile .profile-review-form{
  display:grid;
  gap:10px;
}
.pg-profile .profile-review-form label > span{
  display:block;
  margin-bottom:5px;
  color:var(--profile-copy);
  font-size:11px;
  font-weight:700;
}
.pg-profile .profile-review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.pg-profile .profile-review-note{
  margin:0!important;
  color:var(--profile-muted)!important;
  font-size:10px!important;
}

/* Fixed mobile action, revealed by JS only after the hero action scrolls away. */
.profile-sticky-cta{
  display:none;
}

/* Accessible focus treatment across the scoped profile. */
body.cdi-profile-page :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--profile-focus)!important;
  outline-offset:2px!important;
}

@media (max-width:980px){
  .pg-profile .phero-grid{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    gap:14px!important;
  }
  .pg-profile .profile-identity,
  .pg-profile .pctab.pbook,
  .pg-profile .profile-summary{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .pg-profile .profile-summary{
    grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);
  }
  .pg-profile .pgrid{
    grid-template-columns:minmax(0,1fr) 326px!important;
    gap:18px!important;
  }
}

@media (max-width:760px){
  body.cdi-profile-page .topnav .row{
    width:calc(100% - 28px)!important;
    min-height:68px!important;
    padding:0!important;
  }
  body.cdi-profile-page .brand-logo{
    width:auto!important;
    max-width:132px!important;
  }
  body.cdi-profile-page .brand-logo img,
  body.cdi-profile-page img.brand-logo-img{
    width:128px!important;
    height:auto!important;
    max-width:128px!important;
    max-height:58px!important;
    object-fit:contain!important;
    transform:none!important;
  }
  .pg-profile .cw{
    width:calc(100% - 28px)!important;
  }
  .pg-profile .cdi-demo-profile-notice-inner{
    min-height:44px;
    justify-content:flex-start;
    gap:0;
    padding-block:8px;
    text-align:left;
  }
  .pg-profile .cdi-demo-profile-copy::before{
    margin-inline:7px;
  }
  .pg-profile .cdi-demo-profile-index{
    display:none;
  }
  .pg-profile .phtop{
    padding:13px 0 18px!important;
  }
  .pg-profile .pbc{
    display:none!important;
  }
  .pg-profile .profile-mobile-back{
    min-height:36px;
    display:inline-flex!important;
    align-items:center;
    margin:0 0 12px!important;
    color:#365f88!important;
    font-size:12px!important;
    font-weight:700!important;
    text-decoration:none!important;
  }
  .pg-profile .phero-grid{
    gap:12px!important;
  }
  .pg-profile .profile-identity{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:13px!important;
  }
  .pg-profile .pavatar{
    width:76px!important;
    height:76px!important;
    min-width:76px!important;
    border-radius:15px!important;
    box-shadow:0 8px 20px rgba(11,31,61,.12)!important;
  }
  .pg-profile .profile-heading-row{
    gap:7px!important;
  }
  .pg-profile .profile-heading-row h1{
    font-size:clamp(25px,7.2vw,30px)!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
  }
  .pg-profile .profile-share-btn{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:12px!important;
  }
  .pg-profile .profile-primary-badges{
    margin:7px 0 6px!important;
  }
  .pg-profile .profile-badge{
    min-height:25px;
    padding:4px 7px;
    font-size:10px;
  }
  .pg-profile .profile-meta-line,
  .pg-profile .profile-location-line{
    font-size:12px!important;
    line-height:1.4!important;
  }
  .pg-profile .profile-location-line{
    margin-top:2px!important;
  }
  .pg-profile .profile-school,
  .pg-profile .prat{
    font-size:10.5px!important;
  }
  .pg-profile .pctab.pbook{
    padding:15px!important;
    border-radius:16px!important;
    box-shadow:0 10px 28px rgba(11,31,61,.075)!important;
  }
  .pg-profile .pb-topline{
    align-items:center!important;
    margin-bottom:11px!important;
  }
  .pg-profile .pbook .ppr{
    font-size:36px!important;
  }
  .pg-profile .pbook .pb-per{
    font-size:11.5px!important;
  }
  .pg-profile .pb-availability{
    min-height:28px;
    padding:5px 8px!important;
    font-size:10px!important;
  }
  .pg-profile .pb-facts{
    margin-bottom:11px!important;
    padding:8px 0!important;
  }
  .pg-profile .pb-facts > span{
    padding-inline:10px!important;
  }
  .pg-profile .pb-facts strong{
    font-size:12px!important;
  }
  .pg-profile .pb-facts small{
    font-size:9.5px!important;
  }
  .pg-profile .pbook .pb-main{
    min-height:50px!important;
    font-size:13px!important;
  }
  .pg-profile .pbook .ic-phone-reveal,
  .pg-profile .demo-phone-preview-button{
    min-height:46px!important;
  }
  .pg-profile .pb-note{
    margin-top:8px!important;
    font-size:9.8px!important;
  }
  .pg-profile .profile-summary{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .pg-profile .ph-highlights-wrap,
  .pg-profile .profile-teaches{
    padding:11px 12px!important;
    border-radius:13px!important;
  }
  .pg-profile .ph-highlights-wrap{
    overflow:hidden;
  }
  .pg-profile .ph-hlbl{
    margin-bottom:8px!important;
  }
  .pg-profile .ph-highlights{
    width:100%;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:0 1px 2px!important;
  }
  .pg-profile .ph-highlights::-webkit-scrollbar{
    display:none;
  }
  .pg-profile .ph-pill{
    flex:0 0 auto;
    scroll-snap-align:start;
    min-height:30px!important;
    padding:6px 10px!important;
    font-size:10px!important;
  }
  .pg-profile .profile-teaches > .cdi-icon{
    width:33px!important;
    height:33px!important;
  }
  .pg-profile .profile-teaches strong{
    font-size:11.5px!important;
  }
  .pg-profile .profile-teaches span{
    font-size:10.5px!important;
  }
  .pg-profile .prof-tabs{
    display:none!important;
  }
  .pg-profile .pbody{
    padding:14px 0 42px!important;
  }
  .pg-profile .pgrid{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  .pg-profile .pgrid aside{
    order:-1;
    width:100%;
  }
  .pg-profile .stickya{
    position:static!important;
    top:auto!important;
  }
  .pg-profile .enqbox{
    padding:17px!important;
  }
  .pg-profile .enqbox > h2{
    font-size:19px!important;
  }
  .pg-profile .enquiry-intro{
    margin-bottom:14px!important;
  }
  .pg-profile .profile-compare-card{
    display:none!important;
  }
  .pg-profile .profile-accordion-toggle{
    display:flex!important;
  }
  .pg-profile .profile-accordion-toggle + .tab-section{
    display:none!important;
  }
  .pg-profile .profile-accordion-toggle.is-open + .tab-section{
    display:block!important;
    margin-top:0!important;
    padding:0!important;
    border:1px solid #dce5ed!important;
    border-top:0!important;
    border-radius:0 0 14px 14px!important;
    overflow:hidden;
    background:#fff;
  }
  .pg-profile .profile-accordion-toggle.is-open + .tab-section > .pp:first-child,
  .pg-profile .profile-accordion-toggle.is-open + .tab-section > .pcard:first-child{
    margin-top:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .pg-profile .tab-section .pp,
  .pg-profile .tab-section .pcard{
    padding:17px!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }
  .pg-profile .tab-section .pp h2,
  .pg-profile .tab-section .pcard h2{
    font-size:16px!important;
  }
  .pg-profile .profile-review-grid,
  .pg-profile .enquiry-field-grid{
    grid-template-columns:1fr!important;
  }
  .pg-profile .enquiry-contact-options{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .pg-profile .enquiry-field .ff,
  .pg-profile .profile-review-form .ff,
  .pg-profile input,
  .pg-profile select,
  .pg-profile textarea{
    font-size:16px!important;
  }
  .pg-profile .enquiry-field .ff{
    min-height:48px!important;
  }
  .pg-profile .enquiry-contact-option > span{
    min-height:48px!important;
  }
  .pg-profile .enquiry-contact-option strong{
    font-size:10px!important;
  }
  .profile-sticky-cta{
    position:fixed;
    z-index:900;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:auto;
    min-height:66px;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 9px 9px 14px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:#0b1f3d;
    box-shadow:0 16px 42px rgba(4,15,32,.28);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(calc(100% + 28px));
    transition:transform .22s ease,opacity .18s ease,visibility .18s ease;
  }
  .profile-sticky-cta.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .profile-sticky-price{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
  }
  .profile-sticky-price strong{
    color:#fff;
    font-size:15px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
  }
  .profile-sticky-price span{
    color:rgba(255,255,255,.68);
    font-size:9.5px;
    line-height:1.25;
    white-space:nowrap;
  }
  .profile-sticky-cta .btn{
    min-width:144px!important;
    min-height:48px!important;
    margin:0!important;
    padding:10px 13px!important;
    border:0!important;
    border-radius:11px!important;
    background:#0aa879!important;
    color:#fff!important;
    font-size:11.5px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-align:center!important;
  }
}

@media (max-width:390px){
  body.cdi-profile-page .brand-logo img,
  body.cdi-profile-page img.brand-logo-img{
    width:118px!important;
    max-width:118px!important;
  }
  .pg-profile .cw{
    width:calc(100% - 24px)!important;
  }
  .pg-profile .profile-identity{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:11px!important;
  }
  .pg-profile .pavatar{
    width:70px!important;
    height:70px!important;
    min-width:70px!important;
    border-radius:14px!important;
  }
  .pg-profile .profile-heading-row h1{
    font-size:clamp(23px,7vw,27px)!important;
  }
  .pg-profile .profile-share-btn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .pg-profile .pb-topline{
    gap:9px!important;
  }
  .pg-profile .pbook .ppr{
    font-size:34px!important;
  }
  .pg-profile .pb-availability{
    font-size:9.5px!important;
  }
  .pg-profile .enquiry-contact-option > span{
    flex-direction:column;
    gap:3px!important;
    min-height:52px!important;
  }
  .profile-sticky-cta{
    left:8px;
    right:8px;
    padding-left:12px;
  }
  .profile-sticky-cta .btn{
    min-width:132px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .pg-profile *,
  .profile-sticky-cta{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}

/* V28.7 profile-only conflict guard: cached shared chrome must never compete
   with the enquiry journey or the single mobile sticky action. */
body.cdi-profile-page .pwa-bottom-nav,
body.cdi-profile-page .pwa-page-loader,
body.cdi-profile-page [data-cdi-install-app]{
  display:none!important;
}
/* ===== END assets/css/cdi-profile-premium-v287.css ===== */
