/* MoventAI site styles shared by every page (on top of kit.css).
   Nav dropdown + drawer headings, footer extras, forms and consent boxes, the two shared modals,
   review cards, breadcrumbs, related strip, article typography, mobile bar tweaks.
   Page-specific styles stay in each page's <style> block. Tokens come from kit.css (light + dark). */

/* ---------- base extras ---------- */
.skip{position:absolute;left:16px;top:-80px;z-index:90;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:10px;font-weight:600;text-decoration:none}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.lg > svg{width:14px;height:14px;color:var(--blue-text)}
.node.dark .lg > svg{color:var(--blue)}
body{-webkit-tap-highlight-color:transparent}
.btn,button,.link-arrow,.nav-links a,.nav-drawer a,.chips-radio label{touch-action:manipulation}
.cap{text-align:center;margin-bottom:22px}
.cta-row{display:flex;align-items:center;justify-content:center;gap:14px 20px;flex-wrap:wrap;margin-top:44px;text-align:center}
.cta-row p{font-size:15.5px;color:var(--muted);max-width:520px}
@media (max-width:600px){.cta-row .btn{width:100%}}

/* ---------- nav: Programs dropdown ---------- */
.nav-in{overflow:visible}
.nav-prog{left:14px;right:14px;width:auto;border-radius:1px}
.nav-links > li{position:relative}
.nav-dd > a .nav-caret{width:14px;height:14px;transition:transform .18s}
.nav-dd:hover > a,.nav-dd:focus-within > a,.nav-dd.open > a{color:var(--ink);background:var(--bg-3)}
.nav-dd:hover > a .nav-caret,.nav-dd:focus-within > a .nav-caret,.nav-dd.open > a .nav-caret{transform:rotate(180deg)}
.nav-menu-panel{display:none;position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);width:600px;max-width:calc(100vw - 2 * var(--gut));padding:10px;grid-template-columns:1fr 1fr;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);z-index:5}
.nav-menu-panel::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-dd:hover .nav-menu-panel,.nav-dd:focus-within .nav-menu-panel,.nav-dd.open .nav-menu-panel{display:grid}
.nav-dd.closed:not(:hover) .nav-menu-panel{display:none}
.nav-menu-col{display:flex;flex-direction:column;gap:2px;padding:6px}
.nav-menu-col + .nav-menu-col{border-left:1px solid var(--line)}
.nav-menu-h{display:block;padding:6px 10px 4px;font-family:var(--f-head);font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:-.005em}
.nav-links .nav-menu-panel a{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border-radius:10px;font-size:14.5px;line-height:1.35;white-space:normal}
.nav-menu-panel a b{font-family:var(--f-head);font-weight:700;color:var(--ink);font-size:14.5px}
.nav-menu-panel a small{font-size:13px;color:var(--muted);line-height:1.4}
.nav-menu-panel a:hover b,.nav-menu-panel a:focus-visible b{color:var(--blue-text)}
@media (max-width:959px){.nav-menu-panel{display:none!important}}
@media (prefers-reduced-motion: reduce){.nav-dd > a .nav-caret{transition:none}}

/* ---------- nav drawer (mobile) ---------- */
.nav-drawer{overscroll-behavior:contain}
.nav-drawer-h{display:none}
@media (max-width:959px){
  .nav-drawer.open{max-height:calc(100dvh - var(--nav-h) - 40px);overflow:auto}
  .nav-drawer-h{display:block;padding:12px 14px 4px;font-family:var(--f-head);font-size:12.5px;font-weight:700;color:var(--muted)}
  .nav-drawer-h + a{margin-top:0}
  .nav-drawer a{min-height:44px;display:flex;align-items:center}
  .nav-drawer .btn + .btn{margin-top:8px}
}

/* ---------- footer ---------- */
.foot h3{font-family:var(--f-head);font-size:13px;color:var(--ink);margin:0 0 14px;letter-spacing:0;font-weight:700}
.foot-guarantee{display:flex;gap:9px;align-items:flex-start;margin-top:16px;font-family:var(--f-head);font-weight:600;font-size:14px;line-height:1.5;color:var(--ink);max-width:340px}
.foot-guarantee .ic{width:18px;height:18px;color:var(--ok);margin-top:2px}
.foot-addr{font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:4px;max-width:240px}
.foot-b .p-foot-links{display:flex;gap:18px;flex-wrap:wrap;padding-right:72px}
.foot li a{display:inline-block;padding:2px 0}
@media (max-width:767px){.foot li a{padding:6px 0}.foot ul{gap:4px}}

/* ---------- forms shared by every page ---------- */
.tel{display:flex}
.tel span{display:grid;place-items:center;padding:0 12px;border:1px solid var(--line-2);border-right:0;border-radius:10px 0 0 10px;background:var(--bg-2);color:var(--muted);font-variant-numeric:tabular-nums;font-size:15px}
.field .tel input{border-radius:0 10px 10px 0;min-width:0}
fieldset.field{border:0;padding:0;margin:0 0 14px;min-width:0}
fieldset.field legend{padding:0;margin-bottom:9px;font-size:14px;font-weight:600;color:var(--ink);font-family:var(--f-head)}
.field.bad .chips-radio label > span{border-color:var(--err)}
.field.bad .tel span{border-color:var(--err)}
.field input::placeholder{color:var(--faint)}
.cbx,.p-cbx{margin-bottom:4px}
.cbx .consent,.p-cbx .consent{margin:0;padding:3px 0;font-size:13px;line-height:1.45;cursor:pointer;color:var(--muted)}
.cbx .consent input,.p-cbx .consent input{width:17px;height:17px;margin-top:1px}
.cbx.bad .consent span,.p-cbx.bad .consent span{color:var(--err-text)}
.cbx.bad .consent input,.p-cbx.bad .consent input{outline:2px solid var(--err);outline-offset:1px}
.cbx .err,.p-cbx .err{margin-top:2px}
.opt,.p-opt{display:inline-block;font-size:11px;font-weight:600;font-family:var(--f-head);color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin-left:2px;vertical-align:1px;line-height:1.6}
.iform-msg:empty{display:none}
.iform.err{border-color:var(--err);box-shadow:0 0 0 3px color-mix(in srgb, var(--err) 18%, transparent), var(--shadow-lg)}
.iform input[aria-invalid="true"]{color:var(--err-text)}
.cons{width:100%;max-width:640px;display:flex;flex-direction:column;gap:2px;text-align:left;margin-top:-10px}
.cons label{display:flex;gap:9px;align-items:flex-start;padding:4px 2px;font-size:13px;line-height:1.45;color:var(--muted);cursor:pointer}
.cons input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--blue);flex:none}
.cons label.bad span{color:var(--err-text)}
.cons label.bad input{outline:2px solid var(--err);outline-offset:1px}
.under{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:-8px}
.band .cons label{color:var(--on-navy-muted)}
.band .cons label.bad span{color:#FFB4B7}
.band .iform-msg{color:#FFB4B7}
.band .iform.err{border-color:#FF8A8F}
.band .lead b{color:#fff}
@media (max-width:600px){.cons{margin-top:-6px}}
.field select{appearance:none;-webkit-appearance:none;background-color:var(--card);color:var(--ink)}

/* ---------- shared modals: #m-reg and #m-counsel ---------- */
.m-modal .modal-card{max-width:540px;overscroll-behavior:contain}
.m-modal h2{font-size:24px;letter-spacing:-.03em;margin:4px 40px 6px 0;line-height:1.2}
.m-modal h2.h3{font-size:22px}
.m-modal .eyebrow{display:block}
.m-modal .lead-s{font-size:14.5px;color:var(--muted);margin-bottom:18px;line-height:1.55}
.m-modal .btn-block{margin-top:8px}
.m-modal .iform-msg{margin-top:12px}
.m-modal .iform-msg a{color:var(--blue-text)}
.m-modal .m-topic{display:inline-flex;align-items:center;gap:6px;margin:-8px 0 16px;padding:5px 10px;border-radius:8px;background:var(--blue-50);border:1px solid var(--blue-200);color:var(--blue-text);font-family:var(--f-head);font-size:13px;font-weight:600}
.m-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-opts label{display:block}
.chips-radio.m-opts label > span{height:auto;min-height:56px;width:100%;padding:10px 12px;border-radius:12px;display:flex;align-items:center;gap:10px;line-height:1.3;white-space:normal}
.m-opts .m-o{display:block;min-width:0}
.m-opts .m-o b{display:block;font-family:var(--f-head);font-size:14px;color:inherit}
.m-opts .m-o small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.m-opts .small{grid-column:1 / -1}
@media (max-width:420px){.m-opts{grid-template-columns:1fr}}
.ty-ok{width:44px;height:44px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin-bottom:10px}
.ty-ok svg{width:26px;height:26px}
.m-ty .ty-steps{list-style:none;padding:0}
.m-ty .ty-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px 14px;align-items:start}
.m-ty .ty-step .btn{grid-column:2;justify-self:start;margin-top:8px}
.m-ty .ty-step .comm{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.m-ty .ty-step .n{margin-top:1px}
.m-ty .ty-step .tx small{display:block;line-height:1.5;margin-top:2px}
.m-ty .ty-step .tx .ty-alt a{color:var(--muted)}
.m-ty .foot-note{font-size:14px;color:var(--muted);text-align:center;line-height:1.55}
.m-ty .foot-note a{color:var(--blue-text)}
.m-done{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.m-done .lead-s{margin-bottom:6px}
@media (max-width:480px){.m-ty .ty-step .btn{width:100%}}

/* ---------- review cards (v3.2: name on its own line, "Google review" with the G icon below) ---------- */
.rv-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:22px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-sm);margin:0;min-width:0}
.rv-head{display:flex;align-items:center;gap:12px}
.rv-head .rv-av{background:var(--av,var(--blue))}
.rv-name{display:block;font-family:var(--f-head);font-size:15px;color:var(--ink);line-height:1.3}
.rv-src{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-top:2px}
.rv-src .lg{width:16px;height:16px;min-height:0;padding:0;border:0;background:none;box-shadow:none;display:inline-grid;place-items:center}
.rv-src .lg img{width:13px;height:13px}
.rv-card blockquote{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);text-wrap:pretty}
.rv-card.big blockquote{font-family:var(--f-head);font-size:clamp(19px,1.8vw,22px);line-height:1.45;letter-spacing:-.015em;color:var(--ink);font-weight:600}
.rv-card .rv-ctx{font-size:12.5px;color:var(--faint);margin-top:-6px}
.rv-all{margin-top:36px;text-align:center;display:flex;gap:12px 28px;justify-content:center;flex-wrap:wrap}

/* ---------- breadcrumb ---------- */
.crumbs{font-size:13.5px;color:var(--muted);margin:22px 0 -8px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.crumbs li{display:inline-flex;align-items:center;gap:8px;min-width:0}
.crumbs li + li::before{content:"/";color:var(--faint)}
.crumbs a{color:var(--muted);text-decoration:none;padding:4px 0}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw}

/* ---------- related pages strip ---------- */
.related{position:relative}
.related-h{font-family:var(--f-head);font-size:13px;font-weight:700;color:var(--muted);margin-bottom:14px}
.related-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.related-c{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;color:var(--ink);box-shadow:var(--shadow-xs);transition:border-color .15s, box-shadow .15s;min-height:44px}
.related-c:hover,.related-c:focus-visible{border-color:var(--blue-200);box-shadow:var(--shadow)}
.related-c .tx{flex:1;min-width:0}
.related-c b{display:block;font-family:var(--f-head);font-size:15px;line-height:1.3}
.related-c small{display:block;font-size:13.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.related-c .ic{width:18px;height:18px;color:var(--blue-text);margin-top:3px}
@media (max-width:600px){.related-g{grid-template-columns:1fr}}

/* ---------- article typography (blog, legal, FAQ answers) ---------- */
.article{max-width:720px;margin:0 auto;font-size:18px;line-height:1.7;color:var(--body);text-wrap:pretty}
.article > * + *{margin-top:1.1em}
.article h2{font-size:clamp(24px,2.6vw,30px);line-height:1.2;letter-spacing:-.03em;margin-top:2.2em;scroll-margin-top:110px}
.article h3{font-size:clamp(19px,2vw,22px);line-height:1.3;letter-spacing:-.02em;margin-top:1.8em;scroll-margin-top:110px}
.article h2 + *,.article h3 + *{margin-top:.6em}
.article p{margin-top:1.1em}
.article .article-intro{font-size:clamp(19px,1.6vw,21px);line-height:1.6;color:var(--ink-2)}
.article .article-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;color:var(--muted);margin-top:.6em}
.article a{color:var(--blue-text);text-decoration-thickness:1px}
.article ul,.article ol{padding-left:1.3em}
.article li{margin-top:.4em}
.article li::marker{color:var(--muted)}
.article img{border-radius:14px;border:1px solid var(--line);height:auto}
.article figure{margin:1.6em 0}
.article figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.article blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--blue);color:var(--ink-2);font-size:17.5px}
.article blockquote p{margin-top:.5em}
.article code{font-family:var(--f-mono);font-size:.86em;background:var(--bg-3);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--ink);font-variant-ligatures:none}
.article pre{background:var(--code-bg);color:var(--code-ink);border-radius:12px;padding:16px 18px;overflow:auto;font-family:var(--f-mono);font-size:14px;line-height:1.6;font-variant-ligatures:none}
.article pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
.article .table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;margin:1.4em 0;border:1px solid var(--line);border-radius:12px}
.article table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;min-width:520px}
.article th,.article td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.article th{font-family:var(--f-head);font-size:13.5px;color:var(--ink);background:var(--bg-2);font-weight:700}
.article tr:last-child td{border-bottom:0}
.article td b{color:var(--ink)}
.article hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
.article .note{padding:16px 18px;border:1px solid var(--blue-200);background:var(--blue-50);border-radius:12px;font-size:16px;color:var(--ink-2)}
.article .sources{font-size:15px;color:var(--muted)}
.article .sources a{word-break:break-word}
@media (max-width:767px){.article{font-size:17px}.article h2{margin-top:1.8em}}

/* ---------- mobile bar ---------- */
.mbar .tx span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbar .tx b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbar .btn{flex:none;padding:0 18px}
.wa-fab.off{transform:translateY(140px);transition:transform .3s}
.wa-fab{transition:transform .3s}
@media (prefers-reduced-motion: reduce){.wa-fab,.wa-fab.off{transition:none}}

/* ---------- mobile: 44px tap targets and no body text under 14px ---------- */
@media (max-width:767px){
  .link-arrow{min-height:44px;padding:10px 0;margin:-10px 0;align-items:center}
  .btn-sm{height:44px}
  .win-ctl,.nav-theme{width:44px;height:44px}
  .foot a,.crumbs a{display:inline-flex;align-items:center;min-height:44px}
  .nav-drawer a{min-height:48px}
  .tag{font-size:13px}
  .pill{font-size:14px}
  .tiny,.small,.iform-note,.iform-msg,.field .err,.cbx .consent,.p-cbx .consent,.cons label,.consent,.rv-src,.crumbs,.foot-b,.foot-b a,.related-c small,.m-opts .m-o small,.ty-step .tx small,.ty-step small,.m-modal .lead-s,.node small,.feed-r small,.p-tk-gets,.p-shot-cap,figcaption{font-size:14px}
  .opt,.p-opt{font-size:12px}
  .foot p{font-size:15px}
  .nav-menu-h,.nav-drawer-h,.related-h,.faq-group{font-size:14px}
}

/* ---------- line splits (v3.3): two ideas in one block sit one below the other ---------- */
.ln{display:block}
:not(.code) > .ln + .ln{margin-top:2px}
.code .ln + .ln{margin-top:0}
.ln-s{display:block;margin-top:6px;font-size:.9em;line-height:1.5}
.ln-s + .ln-s{margin-top:2px}
.ln-gap{display:block;margin-top:.45em}
h1,h2,h3,h4,.h3,.lead-s,.cap,.cta-row p,.foot-guarantee,.sec-head:not(.left) .lead,.hero-in .lead,.band .lead{text-wrap:balance}
p,li,dd,small,figcaption{text-wrap:pretty}
.foot p,.foot li{text-wrap:wrap}
.nobr{white-space:nowrap}
@media (max-width:600px){.board-head .t b{display:block}}
.foot-addr,address{text-wrap:balance}
@media (max-width:767px){.p-addr-tx small .ln{font-size:13px}}
[data-c="dateDayShort"],[data-c="dateShort"],[data-batch][data-field="date"],[data-mc-day]{white-space:nowrap}


/* =====================================================================
   v4.1: masterclass dropdown, drawer cards, enquiry form, community button, partner logos
   ===================================================================== */

/* ---------- nav: Free masterclass dropdown ---------- */
.nav-links .nav-mc-panel{width:560px;grid-template-columns:1fr;padding:0;overflow:hidden;gap:0}
.nav-mc-next{display:flex;align-items:center;gap:10px;margin:0;padding:12px 18px;background:var(--navy);color:var(--on-navy);font-family:var(--f-head);font-size:13.5px;font-weight:600;letter-spacing:-.005em}
.nav-mc-next .dot{width:8px;height:8px;border-radius:50%;background:#2FBF71;box-shadow:0 0 0 3px rgba(47,191,113,.22);flex:none}
.nav-mc-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}
.nav-links .nav-mc-panel a.nav-mc-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .15s, box-shadow .15s}
.nav-links .nav-mc-panel a.nav-mc-card:hover,.nav-links .nav-mc-panel a.nav-mc-card:focus-visible{border-color:var(--blue-200);box-shadow:var(--shadow);background:var(--card)}
.nav-mc-tag{display:inline-flex;padding:2px 8px;border-radius:6px;background:var(--blue-50);border:1px solid var(--blue-200);color:var(--blue-text);font-family:var(--f-head);font-size:12px;font-weight:600}
.nav-mc-card b{font-size:15px!important;line-height:1.3}
.nav-mc-when{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.nav-mc-when .ic{width:15px;height:15px;color:var(--blue-text)}

/* ---------- drawer: masterclass cards with dates ---------- */
.nav-drawer-mcs{display:flex;flex-direction:column;gap:2px}
@media (max-width:959px){
  .nav-drawer a.nav-drawer-mc{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:10px 14px}
  .nav-drawer-mc b{font-family:var(--f-head);font-size:15.5px}
  .nav-drawer-mc small{font-size:14px;color:var(--muted);font-weight:400}
}

/* ---------- selects (light only) ---------- */
.sel{position:relative;display:block}
.sel select{appearance:none;-webkit-appearance:none;width:100%;height:48px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);color:var(--ink);padding:0 40px 0 14px;font:inherit;font-size:16px;cursor:pointer}
.sel select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.sel .ic{position:absolute;right:14px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;color:var(--muted)}
.field.bad .sel select{border-color:var(--err)}

/* ---------- enquiry form ---------- */
.enq .enq-h{font-size:24px;letter-spacing:-.03em;margin:4px 40px 6px 0;line-height:1.2}
.enq-l{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--ink);font-family:var(--f-head)}
.enq-l .tel input{font-family:var(--f-body);font-weight:400}
.enq .field input{font-family:var(--f-body)}
.enq-mc{margin:4px 0 6px;padding:12px 14px;border:1px solid var(--blue-200);background:var(--blue-50);border-radius:12px}
.enq-mc .consent{margin:0;font-size:14px;color:var(--ink-2);cursor:pointer}
.enq-mc .enq-mc-t{display:block;font-weight:600;font-family:var(--f-head);color:var(--ink)}
.enq-mc small{display:block;margin-top:2px;font-size:13.5px;color:var(--blue-text)}
.enq-pick{margin:10px 0 0 28px}
.enq-pick label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink);font-family:var(--f-head)}
.enq-pick select{height:44px;font-size:15px}
.enq .btn-block{margin-top:12px}
.enq-done{gap:12px}
.enq-done .h3{font-size:22px;line-height:1.3;margin:0}
.enq-done .comm,.enq-done .enq-cal{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.enq-done .enq-cal .link-arrow{font-size:14.5px}
.p-form-card .enq .eyebrow{display:block}

/* ---------- community button: live link or "coming soon" fallback ---------- */
.btn.is-disabled{background:var(--bg-3);color:var(--muted);border-color:var(--line-2);box-shadow:none;cursor:not-allowed;pointer-events:none}
.btn.is-disabled .ic{color:var(--faint)}
.comm-fb{color:var(--muted);line-height:1.5}
.comm-fb a{color:var(--blue-text)}
.btn-wa .ic{width:20px;height:20px}

/* ---------- hiring-partner logos ---------- */
.partners{padding:40px 0 8px}
.partners-logos{text-align:center}
.partners-h{font-family:var(--f-head);font-size:14px;font-weight:700;letter-spacing:0;color:var(--muted);margin-bottom:18px}
.partners-row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
/* rotating logo strip (2 Nov): one set is repeated until it is wider than the row, then doubled and slid by 50% */
.partners-track{display:flex;width:max-content;animation:mq var(--pdur,40s) linear infinite}
.partners-row:hover .partners-track,.partners-row:focus-within .partners-track{animation-play-state:paused}
.partners-set{display:flex;flex-wrap:nowrap;align-items:center;gap:20px;padding:4px 20px 4px 0}
.partner{display:inline-flex;align-items:center;justify-content:center;height:56px;flex:none}
.partner img{height:40px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s, opacity .2s}
.partner:hover img{filter:none;opacity:1}
.partner-lockup{gap:10px;height:56px;padding:0 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow-xs)}
.partner-lockup img{height:30px;width:auto;max-width:56px;filter:none;opacity:1}
.partner-lockup b{font-family:var(--f-head);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.partners-line{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:22px;font-family:var(--f-head);font-weight:600;font-size:15.5px;color:var(--ink);text-align:center}
.partners-line .ic{width:20px;height:20px;color:var(--ok);flex:none}
.partners-logos[hidden] + .partners-line{margin-top:0}
@media (max-width:767px){
  .partners-set{gap:14px;padding-right:14px}
  .partner{height:48px}
  .partner img{height:32px;max-width:120px}
  .partner-lockup{height:50px;padding:0 14px}
  .partner-lockup img{height:26px}
  .partner-lockup b{font-size:15px}
  .partners-line{font-size:15px;align-items:flex-start;text-align:left}
}
@media (prefers-reduced-motion: reduce){.partners-row{-webkit-mask-image:none;mask-image:none}.partners-track{animation:none;width:auto;justify-content:center}.partners-set{flex-wrap:wrap;justify-content:center;gap:20px 44px;padding-right:0}.partners-set.dup,.partners-set .rep{display:none}}
.partners[hidden]{display:none!important}

/* ---------- enquiry funnel v2 (30 Oct): two steps, skip link, chat-now ---------- */
.enq [data-enq-step] > .eyebrow{display:inline-flex;align-items:center;gap:6px}
.enq [data-enq-step="2"] > .eyebrow{color:var(--ok-text)}
.enq [data-enq-step="2"] > .eyebrow .ic{width:15px;height:15px;color:var(--ok)}
.enq-alt{margin:12px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.enq-alt a{color:var(--blue-text);font-weight:600}
.enq-skip{display:block;margin:10px auto 0;padding:10px 12px;min-height:44px;background:none;border:0;font:600 14.5px/1.2 var(--f-head);color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.enq-skip:hover{color:var(--ink)}
.enq legend .opt{margin-left:4px}
.enq-mc[hidden]{display:none}
.enq-done [data-enq-chat]{margin-top:4px}

/* ---------- inline call-back form (home hero + band): name, WhatsApp, course ---------- */
.p-hsel select{font-family:var(--f-body)}

/* ---------- focused landing-page layout (html[data-lp]): no site nav, no links out ---------- */
.lp-nav .nav-logo{cursor:default}
.lp-nav .nav-right{gap:12px}
.lp-when{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-head);font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.lp-when .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 18%, transparent)}
@media (max-width:767px){.lp-when{display:none}}
.lp-foot{padding:28px 0 calc(96px + env(safe-area-inset-bottom,0px))}
.lp-foot .foot-b{border-top:0;padding-top:0;margin-top:0}
html[data-lp] [data-lp-hide]{display:none!important}
html[data-lp="ty"] .lp-nav .nav-right .btn{display:none}
.lp-only{display:none}
html[data-lp] .lp-only{display:inline}

/* ---------- nav: "All programs" row across both columns; Resources dropdown (30 Oct) ---------- */
.nav-menu-all{grid-column:1 / -1;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:12px;margin:4px 6px 2px;padding:11px 12px!important;border-top:1px solid var(--line);border-radius:10px}
.nav-menu-all span{display:flex;flex-direction:column;gap:2px}
.nav-menu-all .ic{width:16px;height:16px;color:var(--blue-text);flex:none}
.nav-menu-all:hover{background:var(--bg-3)}
.nav-res-panel{width:320px;grid-template-columns:1fr}
.nav-dd-res .nav-menu-panel{left:auto;right:-40px;transform:none}

/* ---------- UPI pay card ({{part:pay-qr}}) ---------- */
.pay-qr{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow-sm);text-align:left}
.pay-qr-img{width:132px;height:auto;border-radius:10px;border:1px solid var(--line)}
.pay-qr-tx{display:flex;flex-direction:column;gap:8px;min-width:0}
.pay-qr-h{font-family:var(--f-head);font-size:17px;letter-spacing:-.015em;color:var(--ink)}
.pay-qr .small{margin:0;color:var(--muted)}
.pay-upi{font-family:var(--f-mono);font-size:13.5px;color:var(--ink);overflow-wrap:anywhere;word-break:normal}
.pay-qr-btns{display:flex;gap:8px;flex-wrap:wrap}
.pay-qr .tiny{margin:0;color:var(--muted);font-size:14px}
@media (max-width:520px){.pay-qr{grid-template-columns:1fr;justify-items:center;text-align:center}.pay-qr-tx{align-items:center}.pay-qr-img{width:180px}.pay-qr-btns{justify-content:center}}
html[data-lp="pay"] .lp-nav .nav-right .btn,html[data-lp="pay"] .mbar,html[data-lp="ty"] .mbar{display:none!important}
.p-tks:has(> .p-tk[hidden]){grid-template-columns:minmax(0,560px)!important;justify-content:center}

/* ---------- mobile readability floor (30 Oct): labels, chips and captions at least 13px on phones.
   Code lines inside product mock-ups stay smaller; they are decorative (aria-hidden) and scroll inside their window. ---------- */
@media (max-width:600px){
  main .bcol-h,main .pl-n,main .p-chip,main .ms,main .p-files,main .p-files small,main .nb-kernel,main .p-proj .num,main .p-ph-n,main .when,main .ok,main .eyebrow,main .p-first,main .demo-tabs span,main td,
  main .p-glab,main .p-gr,main .ag-label,main .p-mini,main .nb-note,main .pl-d,main .d,main .p-m-n,main .p-rm-r span,main .p-tw-h span,main .demo-tests li{font-size:13px!important}
}

/* header logo with the "Move. Build. Ship." tagline (1 Nov) */
.nav-logo img.nav-logo-tag{height:40px;width:auto}
@media (max-width:600px){.nav-logo img.nav-logo-tag{height:34px}}
/* masterclass cards without a date */
.nav-mc-card.is-soon [data-f="when"],.nav-drawer-mc.is-soon [data-f="when"]{color:var(--muted)}
.partner-name{display:inline-flex;align-items:center;height:44px;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-family:var(--f-head);font-weight:700;font-size:15px;color:var(--ink-2);white-space:nowrap}
