 :root {
      --ink: #0B1736;
      --ink-2: #40506B;
      --navy: #0B1736;
      --navy-soft: #193058;
      --brand-orange: #E4731C;
      --action-orange: #A9400B;
      --action-orange-dark: #8F3305;
      --sage: #E8F0E8;
      --sage-2: #F4F7F3;
      --cream: #FFF9F2;
      --paper: #FFFCF8;
      --focus: #F6A623;
      --line: rgba(11, 23, 54, .12);
      --shadow: 0 22px 60px rgba(11, 23, 54, .12);
      --radius: 24px;
      --radius-sm: 16px;
      --max: 1180px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 17px;
      line-height: 1.65;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      padding-left: env(safe-area-inset-left);
      padding-right: env(safe-area-inset-right);
    }

    img { display: block; max-width: 100%; }
    a { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    :focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: 6px; }

    .skip {
      position: fixed;
      left: 16px;
      top: 12px;
      z-index: 999;
      transform: translateY(-150%);
      background: var(--ink);
      color: white;
      padding: 10px 14px;
      border-radius: 10px;
      text-decoration: none;
    }
    .skip:focus { transform: translateY(0); }

    .container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
    .section { padding: 96px 0; }
    .section.compact { padding: 72px 0; }
    .section.mint { background: var(--sage-2); }
    .section.cream { background: var(--cream); }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--action-orange);
      font-weight: 800;
      font-size: .83rem;
      text-transform: uppercase;
      letter-spacing: .12em;
      margin: 0 0 12px;
    }
    .eyebrow::before {
      content: "";
      width: 26px;
      height: 3px;
      border-radius: 9px;
      background: var(--brand-orange);
    }

    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { line-height: 1.09; letter-spacing: -.035em; }
    h1 { font-size: clamp(2.65rem, 7vw, 5.45rem); max-width: 780px; margin-bottom: 22px; }
    h2 { font-size: clamp(2.05rem, 4.7vw, 3.55rem); margin-bottom: 18px; }
    h3 { font-size: clamp(1.25rem, 2.4vw, 1.7rem); margin-bottom: 10px; }
    .lead { font-size: clamp(1.08rem, 2vw, 1.28rem); color: var(--ink-2); max-width: 710px; }
    .muted { color: var(--ink-2); }

    .btn {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      gap: 9px;
      min-height: 52px;
      padding: 13px 20px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 800;
      text-decoration: none;
      transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
      cursor: pointer;
      font: inherit;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn.primary { background: var(--action-orange); color: white; box-shadow: 0 12px 30px rgba(194,79,15,.24); }
    .btn.primary:hover { background: var(--action-orange-dark); }
    .btn.secondary { border-color: rgba(11,23,54,.18); background: rgba(255,255,255,.7); color: var(--ink); }
    .btn.secondary:hover { background: white; box-shadow: 0 9px 25px rgba(11,23,54,.08); }
    .btn.text { min-height: auto; padding: 0; border-radius: 0; color: var(--action-orange); }
    .btn svg { width: 18px; height: 18px; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      border-bottom: 1px solid rgba(11,23,54,.08);
      background: rgba(255,253,249,.93);
      backdrop-filter: blur(15px);
      padding-top: env(safe-area-inset-top);
    }
    .nav {
      height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      color: var(--ink);
      text-decoration: none;
      font-weight: 900;
      letter-spacing: -.04em;
      white-space: nowrap;
    }
    .brand-mark {
      width: 42px;
      aspect-ratio: 1;
      border-radius: 14px 14px 18px 18px;
      display: grid;
      place-items: center;
      background: var(--ink);
      color: white;
      transform: rotate(-3deg);
    }
    .brand-mark svg { width: 26px; height: 26px; transform: rotate(3deg); }
    .brand span span { color: var(--action-orange); }

    .nav-links { display: flex; align-items: center; gap: 26px; }
    .nav-links a { text-decoration: none; font-weight: 700; font-size: .95rem; }
    .nav-links a:not(.btn):hover { color: var(--navy); }
    .menu-btn { display: none; background: transparent; border: 0; padding: 9px; color: var(--ink); }
    .menu-btn svg { width: 28px; height: 28px; }

    .hero {
      position: relative;
      overflow: hidden;
      padding: 82px 0 68px;
      background:
        radial-gradient(circle at 88% 18%, rgba(228,115,28,.16), transparent 28%),
        radial-gradient(circle at 8% 84%, rgba(11,23,54,.07), transparent 30%),
        var(--cream);
    }
    .hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 58px; align-items: center; }
    .hero-copy { position: relative; z-index: 2; }
    .hero h1 strong { color: var(--navy); font-weight: 900; }
    .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 30px 0 28px; }
    .trust-row { display: flex; gap: 18px 24px; flex-wrap: wrap; color: var(--ink-2); font-size: .93rem; }
    .trust-item { display: flex; gap: 8px; align-items: center; }
    .trust-item svg { width: 18px; height: 18px; color: var(--navy); flex: 0 0 auto; }

    .hero-visual { min-height: 560px; position: relative; }
    .photo-main, .photo-small {
      position: absolute;
      overflow: hidden;
      box-shadow: var(--shadow);
      background: #e8f0e8;
      border: 7px solid white;
    }
    .photo-main { inset: 30px 0 48px 66px; border-radius: 42px 42px 110px 42px; transform: rotate(2deg); }
    .photo-main img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.03) rotate(-2deg); }
    .photo-small { width: 42%; aspect-ratio: .95; left: 0; bottom: 0; border-radius: 28px 28px 28px 72px; transform: rotate(-5deg); }
    .photo-small img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08) rotate(5deg); }
    .floating-note {
      position: absolute;
      z-index: 3;
      top: 6px;
      right: 8px;
      width: 170px;
      background: white;
      padding: 17px;
      border-radius: 19px;
      box-shadow: 0 18px 45px rgba(11,23,54,.14);
      transform: rotate(4deg);
      font-size: .91rem;
      line-height: 1.35;
      font-weight: 800;
    }
    .floating-note b { display: block; color: var(--action-orange-dark); font-size: 1.5rem; line-height: 1; margin-bottom: 6px; }
    .squiggle { position: absolute; width: 110px; height: 80px; color: var(--brand-orange); opacity: .8; right: 35%; top: 40px; }

    .quick-choice { margin-top: -1px; padding: 30px 0; background: var(--ink); color: white; }
    .quick-choice-inner { display: grid; grid-template-columns: .9fr 3.1fr; align-items: center; gap: 30px; }
    .quick-choice h2 { font-size: 1.45rem; margin: 0; letter-spacing: -.02em; }
    .choice-links { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
    .choice-links a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 64px;
      padding: 14px 17px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
      background: rgba(255,255,255,.07);
      color: white;
      text-decoration: none;
      font-weight: 750;
      transition: .18s ease;
    }
    .choice-links a:hover { background: rgba(255,255,255,.13); transform: translateY(-2px); }
    .choice-links svg { width: 18px; height: 18px; }

    .section-head { display: flex; justify-content: space-between; align-items: end; gap: 26px; margin-bottom: 42px; }
    .section-head > div:first-child { max-width: 720px; }
    .section-head p { margin-bottom: 0; }

    .course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
    .course-card {
      position: relative;
      overflow: hidden;
      min-height: 490px;
      display: flex;
      flex-direction: column;
      background: white;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: 0 12px 35px rgba(11,23,54,.07);
      transition: transform .2s ease, box-shadow .2s ease;
    }
    .course-card:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(11,23,54,.13); }
    .course-img { aspect-ratio: 1.5; overflow: hidden; background: #e8f0e8; }
    .course-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
    .course-card:hover .course-img img { transform: scale(1.035); }
    .course-body { padding: 25px; display: flex; flex-direction: column; flex: 1; }
    .course-kicker { color: var(--action-orange-dark); font-weight: 850; font-size: .84rem; letter-spacing: .035em; margin-bottom: 8px; }
    .course-body p { color: var(--ink-2); }
    .course-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 23px; }
    .pill { font-size: .77rem; padding: 5px 9px; border-radius: 999px; background: var(--sage-2); color: var(--action-orange); font-weight: 800; }
    .course-body .btn { margin-top: auto; align-self: flex-start; }

    .method-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; }
    .method-art {
      min-height: 500px;
      border-radius: 38px;
      background:
        radial-gradient(circle at 22% 20%, rgba(255,255,255,.88) 0 7%, transparent 7.4%),
        radial-gradient(circle at 78% 76%, rgba(255,255,255,.72) 0 5%, transparent 5.4%),
        linear-gradient(145deg, #dfe9df, #eef4ed 52%, #f7dcc8);
      position: relative;
      overflow: hidden;
    }
    .method-art::before {
      content: "";
      position: absolute;
      width: 58%;
      height: 58%;
      left: 21%;
      top: 21%;
      border: 2px solid rgba(11,23,54,.15);
      border-radius: 48% 52% 45% 55%;
      transform: rotate(13deg);
    }
    .big-paw { position: absolute; inset: 0; margin: auto; width: 190px; height: 190px; color: var(--navy); opacity: .9; }
    .method-tag {
      position: absolute;
      background: white;
      padding: 12px 15px;
      border-radius: 15px;
      box-shadow: 0 12px 28px rgba(11,23,54,.12);
      font-weight: 850;
      font-size: .88rem;
    }
    .method-tag.one { left: 7%; top: 12%; transform: rotate(-4deg); }
    .method-tag.two { right: 6%; top: 22%; transform: rotate(4deg); }
    .method-tag.three { left: 12%; bottom: 12%; transform: rotate(3deg); }
    .method-tag.four { right: 8%; bottom: 8%; transform: rotate(-3deg); }
    .benefits { display: grid; gap: 20px; margin: 30px 0; }
    .benefit { display: grid; grid-template-columns: 44px 1fr; gap: 15px; align-items: start; }
    .benefit-icon { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--sage); color: var(--action-orange); }
    .benefit-icon svg { width: 21px; height: 21px; }
    .benefit h3 { font-size: 1.05rem; margin-bottom: 3px; letter-spacing: -.01em; }
    .benefit p { margin: 0; color: var(--ink-2); font-size: .95rem; }

    .trainer { background: var(--ink); color: white; border-radius: 40px; padding: 54px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 54px; align-items: center; overflow: hidden; position: relative; }
    .trainer::after { content: ""; position: absolute; width: 270px; height: 270px; border-radius: 50%; background: rgba(228,115,28,.14); right: -110px; top: -110px; }
    .trainer-photo { aspect-ratio: 1.1; border-radius: 30px; overflow: hidden; background: #e8f0e8; border: 6px solid rgba(255,255,255,.12); }
    .trainer-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .trainer .eyebrow { color: #dce7dd; }
    .trainer .lead { color: rgba(255,255,255,.8); }
    .trainer-points { display: flex; gap: 10px; flex-wrap: wrap; margin: 22px 0 28px; }
    .trainer-points span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; font-size: .82rem; font-weight: 800; }
    .trainer .btn.secondary { color: white; border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.08); }

    .proof-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
    .quote { padding: 26px; border: 1px solid var(--line); background: white; border-radius: 20px; }
    .stars { color: #dd9b22; letter-spacing: 2px; font-size: .86rem; margin-bottom: 12px; }
    .quote blockquote { margin: 0 0 18px; font-size: 1.03rem; font-weight: 750; line-height: 1.5; }
    .quote cite { font-style: normal; color: var(--ink-2); font-size: .88rem; }

    .fun-card {
      display: grid;
      grid-template-columns: 240px 1fr auto;
      gap: 30px;
      align-items: center;
      background: white;
      border: 1px solid var(--line);
      padding: 22px;
      border-radius: 28px;
      box-shadow: 0 12px 34px rgba(11,23,54,.06);
    }
    .fun-card img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; }
    .fun-card p { margin-bottom: 0; color: var(--ink-2); }

    .article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
    .article-card { border-top: 3px solid var(--brand-orange); padding: 22px 2px 0; }
    .article-card .tag { color: var(--action-orange-dark); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
    .article-card h3 { font-size: 1.33rem; margin: 10px 0 12px; }
    .article-card p { color: var(--ink-2); font-size: .95rem; }
    .article-card a { text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: rgba(194,79,15,.34); font-weight: 800; }
    .article-card a:hover { color: var(--navy); }

    .faq { max-width: 900px; margin-inline: auto; }
    details { border-bottom: 1px solid var(--line); }
    summary { list-style: none; cursor: pointer; padding: 22px 48px 22px 0; font-weight: 850; font-size: 1.05rem; position: relative; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; position: absolute; right: 6px; top: 14px; font-size: 1.6rem; color: var(--navy); font-weight: 500; }
    details[open] summary::after { content: "×"; }
    details p { color: var(--ink-2); margin-bottom: 24px; max-width: 770px; }

    .cta {
      padding: 62px;
      border-radius: 38px;
      background:
        radial-gradient(circle at 84% 16%, rgba(228,115,28,.18), transparent 24%),
        var(--sage);
      text-align: center;
      overflow: hidden;
    }
    .cta h2 { max-width: 720px; margin-inline: auto; }
    .cta p { max-width: 680px; margin: 0 auto 26px; color: var(--ink-2); }

    footer { padding: 58px 0 100px; background: #08122c; color: rgba(255,255,255,.83); }
    .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 35px; }
    footer .brand { color: white; margin-bottom: 14px; }
    footer h3 { color: white; font-size: .95rem; letter-spacing: .02em; }
    footer p, footer a { font-size: .9rem; }
    footer a { color: rgba(255,255,255,.76); text-decoration: none; display: block; margin: 8px 0; }
    footer a:hover { color: white; }
    .footer-bottom { margin-top: 38px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; gap: 22px; font-size: .83rem; }

    .mobile-cta { display: none; }

    @media (max-width: 980px) {
      .nav-links { display: none; position: absolute; left: 20px; right: 20px; top: 74px; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); align-items: stretch; flex-direction: column; gap: 4px; }
      .nav-links.open { display: flex; }
      .primary-menu { width: 100%; flex-direction: column; align-items: stretch; gap: 4px; }
      .nav-links a { padding: 10px 8px; }
      .nav-links .btn { margin-top: 8px; }
      .menu-btn { display: inline-grid; place-items: center; }
      .hero-grid, .method-grid { grid-template-columns: 1fr; }
      .hero-copy { max-width: 760px; }
      .hero-visual { width: min(720px, 100%); min-height: 510px; margin: 0 auto; }
      .quick-choice-inner { grid-template-columns: 1fr; }
      .choice-links { grid-template-columns: repeat(2,1fr); }
      .course-grid { grid-template-columns: repeat(2,1fr); }
      .trainer { grid-template-columns: 1fr; }
      .trainer-photo { max-height: 470px; }
      .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
      .footer-grid > :first-child { grid-column: 1 / -1; max-width: 580px; }
    }

    @media (max-width: 720px) {
      body { font-size: 16px; }
      body.mika-has-mobile-cta { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
      .container { width: min(100% - 28px, var(--max)); }
      .section, .section.compact { padding: 68px 0; }
      .nav { height: 70px; }
      .brand { font-size: .96rem; }
      .brand-mark { width: 37px; border-radius: 12px 12px 15px 15px; }
      .hero { padding: 52px 0 46px; }
      .hero-grid { gap: 30px; }
      h1 { font-size: clamp(2.42rem, 13vw, 4rem); }
      h2 { font-size: clamp(1.9rem, 9vw, 2.8rem); }
      .hero-actions .btn { width: 100%; }
      .trust-row { gap: 10px 16px; }
      .hero-visual { min-height: 400px; }
      .photo-main { inset: 20px 0 42px 38px; border-radius: 30px 30px 70px 30px; }
      .photo-small { width: 38%; border-width: 5px; border-radius: 20px 20px 20px 45px; }
      .floating-note { width: 145px; right: -2px; padding: 13px; font-size: .79rem; }
      .floating-note b { font-size: 1.25rem; }
      .choice-links { grid-template-columns: 1fr; }
      .quick-choice { padding: 26px 0; }
      .section-head { align-items: start; flex-direction: column; margin-bottom: 30px; }
      .course-grid, .proof-grid, .article-grid { grid-template-columns: 1fr; }
      .method-grid { gap: 35px; }
      .method-art { min-height: 390px; border-radius: 28px; }
      .method-tag { font-size: .75rem; }
      .trainer { padding: 28px; border-radius: 28px; gap: 28px; }
      .trainer-photo { aspect-ratio: 1; }
      .fun-card { grid-template-columns: 88px 1fr; gap: 16px; }
      .fun-card .btn { grid-column: 1 / -1; width: 100%; }
      .cta { padding: 38px 20px; border-radius: 28px; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid > :first-child { grid-column: 1 / -1; }
      .footer-bottom { flex-direction: column; }
      .mobile-cta {
        display: flex;
        position: fixed;
        z-index: 99;
        left: max(12px, env(safe-area-inset-left));
        right: max(12px, env(safe-area-inset-right));
        bottom: max(10px, env(safe-area-inset-bottom));
        border-radius: 999px;
        background: var(--action-orange);
        color: white;
        text-decoration: none;
        min-height: 54px;
        align-items: center;
        justify-content: center;
        font-weight: 900;
        box-shadow: 0 14px 35px rgba(11,23,54,.28);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(12px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
      }
      .mobile-cta.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition: none !important; }
    }

/* WordPress integration */
body.admin-bar .site-header { top: 32px; }
.logo-link { display: inline-flex; align-items: center; text-decoration: none; flex: 0 0 auto; }
.mika-logo-image { display: block; width: auto; height: 54px; max-width: 190px; object-fit: contain; }
.header-logo .mika-logo-image { height: 56px; }
.footer-logo { background: #fff; padding: 7px 10px; border-radius: 12px; width: fit-content; margin-bottom: 16px; }
.footer-logo .mika-logo-image { height: 58px; max-width: 175px; }
.primary-menu { display: flex; align-items: center; gap: 26px; list-style: none; margin: 0; padding: 0; }
.custom-logo { max-height: 52px; width: auto; }
.nav-links .menu-item { list-style: none; }
.nav-links .menu-item > a { text-decoration: none; font-weight: 700; font-size: .95rem; }
.nav-links .menu-item > a:hover { color: var(--navy); }
.image-placeholder { width: 100%; height: 100%; min-height: 100%; display: grid; place-items: center; background: linear-gradient(145deg, #dfe9df, #eef4ed 55%, #f7dcc8); color: var(--navy); }
.image-placeholder svg { width: 30%; max-width: 130px; min-width: 68px; opacity: .78; }
.photo-main .image-placeholder, .photo-small .image-placeholder, .trainer-photo .image-placeholder { position: absolute; inset: 0; }
.hero-main-image, .hero-small-image, .trainer-image, .course-image, .diy-image { width: 100%; height: 100%; object-fit: cover; }
.fun-image { width: 240px; aspect-ratio: 1; overflow: hidden; border-radius: 20px; }
.fun-image .image-placeholder { border-radius: 20px; }
.fun-title { font-size: clamp(1.6rem,4vw,2.5rem); margin-bottom: 9px; }
.article-empty { grid-column: 1 / -1; max-width: 560px; }

.content-shell { padding: 86px 0 100px; min-height: 60vh; }
.content-grid, .prose-wrap { max-width: 980px; }
.content-header { margin-bottom: 44px; }
.content-header h1 { font-size: clamp(2.5rem, 7vw, 4.8rem); max-width: 900px; }
.post-list { display: grid; gap: 28px; }
.post-card { display: grid; grid-template-columns: minmax(220px, .72fr) 1.28fr; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.post-card:not(:has(.post-thumb)) { grid-template-columns: 1fr; }
.post-thumb { min-height: 250px; background: var(--sage); }
.post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card-body { padding: 30px; }
.post-card-body h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.post-card-body h2 a { text-decoration: none; }
.post-meta { color: var(--ink-2); font-size: .88rem; margin-bottom: 10px; }
.prose-wrap { max-width: 900px; }
.entry-content { font-size: 1.08rem; }
.entry-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: 1100px; }
.entry-content > .alignfull { max-width: none; width: 100vw; margin-left: 50%; transform: translateX(-50%); }
.entry-content h2 { margin-top: 2.1em; font-size: clamp(1.8rem, 4vw, 2.7rem); }
.entry-content h3 { margin-top: 1.8em; }
.entry-content img { border-radius: 20px; }
.entry-content a { color: var(--action-orange); text-underline-offset: 3px; }
.single-featured { max-width: 1000px; margin: -10px auto 45px; }
.single-featured img { width: 100%; border-radius: 28px; }
.not-found { max-width: 760px; padding: 50px 0; }


/* Mika content pages */
.page-hero { padding: 86px 0 78px; }
.page-hero-soft { background: radial-gradient(circle at 88% 18%, rgba(228,115,28,.12), transparent 26%), var(--cream); }
.page-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.narrow-hero { max-width: 900px; }
.about-hero-card { min-height: 430px; }
.about-trainer-photo { position: relative; height: 100%; min-height: 430px; aspect-ratio: 1.08; border: 7px solid #fff; box-shadow: var(--shadow); }
.about-split { display: grid; grid-template-columns: 1.08fr .92fr; gap: 64px; align-items: start; }
.info-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 30px; box-shadow: 0 14px 38px rgba(11,23,54,.06); }
.info-card p:last-child { margin-bottom: 0; }
.about-principles { background: var(--sage-2); }
.check-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 14px; }
.check-list li { position: relative; padding-left: 30px; color: var(--ink-2); }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--action-orange); font-weight: 900; }
.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }

.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.contact-copy > p { color: var(--ink-2); }
.contact-info-card { margin: 28px 0; padding: 20px 22px; border-radius: 18px; background: var(--sage-2); display: grid; gap: 5px; }
.contact-info-card a { color: var(--action-orange); font-weight: 800; }
.contact-note { padding-top: 24px; border-top: 1px solid var(--line); }
.contact-note p { color: var(--ink-2); }
.contact-panel { background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 34px; box-shadow: var(--shadow); }
.contact-form { display: grid; gap: 10px; }
.contact-form label { font-weight: 800; margin-top: 8px; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 1px solid rgba(11,23,54,.22); border-radius: 14px; background: #fff; color: var(--ink); font: inherit; padding: 13px 14px; }
.contact-form textarea { resize: vertical; min-height: 160px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 3px solid rgba(246,166,35,.38); border-color: var(--focus); }
.contact-form .btn { justify-self: start; margin-top: 12px; }
.form-small { font-size: .82rem; color: var(--ink-2); margin: 4px 0 0; }
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-status { padding: 14px 16px; border-radius: 14px; margin-bottom: 18px; font-weight: 750; }
.form-status.success { background: #e8f0e8; color: #173b27; }
.form-status.error { background: #fff0ec; color: #7e2a10; }

.faq-page h2 { font-size: clamp(1.65rem,3.4vw,2.35rem); margin-top: 58px; }
.faq-page h2:first-child { margin-top: 0; }
.faq-head { margin-bottom: 8px; }

.course-category-section { scroll-margin-top: 110px; }
.category-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.category-number { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 900; margin-bottom: 18px; }
.category-intro p { color: var(--ink-2); max-width: 520px; }
.category-course-list { display: grid; gap: 14px; }
.mini-course { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px; border-radius: 20px; background: #fff; border: 1px solid var(--line); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mini-course:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(11,23,54,.08); border-color: rgba(194,79,15,.28); }
.mini-course span { display: grid; gap: 5px; }
.mini-course strong { font-size: 1.12rem; }
.mini-course small { color: var(--ink-2); font-size: .93rem; }
.mini-course b { color: var(--action-orange); white-space: nowrap; font-size: .9rem; }
.coming-course { background: var(--sage-2); }
.coming-course b { color: var(--ink-2); }
.professional-callout { display: flex; align-items: center; justify-content: space-between; gap: 46px; padding: 46px; border-radius: 30px; background: var(--ink); color: #fff; }
.professional-callout h2 { color: #fff; }
.professional-callout .lead { color: rgba(255,255,255,.78); }
.professional-callout .eyebrow { color: #ffd2b3; }
.professional-callout .btn.secondary { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); white-space: nowrap; }

.footer-brand-block p { max-width: 340px; }

/* WooCommerce */
.woocommerce-shell .woocommerce { max-width: 1180px; margin-inline: auto; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { background: var(--action-orange); color: #fff; border-radius: 999px; padding: 14px 20px; font-weight: 800; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--action-orange-dark); color: #fff; }
.woocommerce div.product div.images img,
.woocommerce ul.products li.product a img { border-radius: 20px; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info { border-top-color: var(--navy); }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { color: var(--navy); }

/* LearnDash */
.learndash-wrapper .ld-button,
.learndash-wrapper .ld-expand-button,
.learndash-wrapper #learndash_mark_complete_button,
.learndash-wrapper .learndash_mark_complete_button { border-radius: 999px !important; }
.learndash-wrapper .ld-primary-color { color: var(--navy) !important; }
.learndash-wrapper .ld-status-complete,
.learndash-wrapper .ld-status-progress { background-color: var(--navy) !important; }

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 720px) {
  .fun-image { width: 88px; }
  .post-card { grid-template-columns: 1fr; }
  .post-thumb { min-height: 210px; }
  .content-shell { padding: 58px 0 80px; }
}


@media (max-width: 980px) {
  .page-hero-grid, .about-split, .contact-grid, .category-layout { grid-template-columns: 1fr; gap: 38px; }
  .values-grid { grid-template-columns: 1fr; }
  .about-hero-card { min-height: 0; }
  .about-trainer-photo { min-height: 380px; max-width: 720px; }
  .professional-callout { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 720px) {
  .header-logo .mika-logo-image { height: 46px; max-width: 155px; }
  .footer-logo .mika-logo-image { height: 52px; }
  .page-hero { padding: 58px 0 54px; }
  .contact-panel { padding: 24px; border-radius: 22px; }
  .mini-course { align-items: flex-start; flex-direction: column; gap: 12px; }
  .professional-callout { padding: 30px 24px; border-radius: 24px; }
  .professional-callout .btn { width: 100%; }
}

/* Mika v1.4 refinements */
.method-art {
  min-height: 500px;
  border-radius: 38px;
  background:
    radial-gradient(circle at 82% 18%, rgba(228,115,28,.16), transparent 19%),
    linear-gradient(145deg, #eef3ec 0%, #f7f5ee 56%, #fff0e4 100%);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(11,23,54,.08);
  box-shadow: 0 22px 60px rgba(11,23,54,.08);
}
.method-art::before,
.method-art::after { content: none; }
.method-orbit {
  position: absolute;
  width: 62%;
  aspect-ratio: 1;
  left: 19%;
  top: 18%;
  border-radius: 50%;
  border: 1.5px solid rgba(11,23,54,.14);
  background: radial-gradient(circle at center, rgba(255,255,255,.55), transparent 64%);
}
.method-paw-core {
  position: absolute;
  width: 154px;
  height: 154px;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--navy);
  background: #fff;
  box-shadow: 0 18px 45px rgba(11,23,54,.12);
  border: 1px solid rgba(11,23,54,.08);
}
.method-paw-icon { width: 92px; height: 92px; }
.method-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: absolute;
  background: white;
  padding: 11px 14px;
  border-radius: 999px;
  border: 1px solid rgba(11,23,54,.08);
  box-shadow: 0 12px 28px rgba(11,23,54,.09);
  font-weight: 800;
  font-size: .88rem;
  transform: none !important;
}
.method-tag b {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #fff0e4;
  color: var(--action-orange-dark);
  font-size: .72rem;
}
.method-tag.one { left: 7%; top: 11%; }
.method-tag.two { right: 6%; top: 19%; }
.method-tag.three { left: 9%; bottom: 14%; }
.method-tag.four { right: 7%; bottom: 9%; }

.everyday-photo-section { padding-top: 32px; padding-bottom: 48px; }
.everyday-photo-wrap {
  overflow: hidden;
  border-radius: 34px;
  aspect-ratio: 16 / 9;
  background: var(--sage);
  box-shadow: 0 18px 48px rgba(11,23,54,.09);
}
.everyday-photo-wrap img,
.everyday-training-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.article-card-thumb { display: block; aspect-ratio: 1.5; overflow: hidden; border-radius: 16px; margin-bottom: 18px; background: var(--sage); }
.article-card-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Course sales pages */
.course-hero {
  padding: 76px 0 72px;
  background:
    radial-gradient(circle at 88% 15%, rgba(228,115,28,.14), transparent 28%),
    var(--cream);
}
.course-hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 62px; align-items: center; }
.course-hero-copy h1 { font-size: clamp(2.8rem,6.4vw,5rem); max-width: 760px; }
.course-hero-image {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 34px 34px 84px 34px;
  border: 7px solid white;
  background: var(--sage);
  box-shadow: var(--shadow);
}
.course-sales-image { width: 100%; height: 100%; object-fit: cover; }
.course-hero-badges { display: flex; flex-wrap: wrap; gap: 9px; margin: 26px 0 5px; }
.course-hero-badges span { padding: 7px 11px; background: #fff; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-2); font-weight: 800; font-size: .84rem; }
.course-anchor-strip { padding: 20px 0; background: var(--ink); }
.course-anchor-inner { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 28px; }
.course-anchor-inner a { color: white; text-decoration: none; font-weight: 750; font-size: .93rem; }
.course-anchor-inner a:hover { color: #ffd9bd; }
.course-two-col { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.course-two-col.align-start { align-items: start; }
.soft-list-card { padding: 34px; border-radius: 28px; background: var(--sage-2); border: 1px solid var(--line); }
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 17px; }
.check-list li { position: relative; padding-left: 34px; color: var(--ink-2); }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; background: #fff0e4; color: var(--action-orange-dark); font-weight: 900; font-size: .8rem; }
.course-outcome-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.outcome-card { padding: 26px; border-radius: 22px; background: white; border: 1px solid var(--line); }
.outcome-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; background: #fff0e4; color: var(--action-orange-dark); margin-bottom: 18px; }
.outcome-icon .mika-paw { width: 30px; height: 30px; }
.outcome-card h3 { font-size: 1.17rem; }
.outcome-card p { color: var(--ink-2); font-size: .93rem; margin-bottom: 0; }
.included-grid { display: grid; gap: 16px; }
.included-item { display: grid; grid-template-columns: 16px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.included-item:last-child { border-bottom: 0; }
.included-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--brand-orange); margin-top: 6px; box-shadow: 0 0 0 6px rgba(228,115,28,.11); }
.included-item h3 { font-size: 1.08rem; margin-bottom: 5px; }
.included-item p { color: var(--ink-2); font-size: .94rem; margin: 0; }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.step-card { position: relative; padding: 30px; background: white; border-radius: 24px; border: 1px solid var(--line); }
.step-card > span { display: inline-flex; margin-bottom: 22px; color: var(--action-orange-dark); font-size: .82rem; font-weight: 900; letter-spacing: .1em; }
.step-card p { color: var(--ink-2); margin: 0; }
.course-safety-note { padding: 28px 32px; border-radius: 22px; border-left: 5px solid var(--brand-orange); background: #fff7ed; }
.course-safety-note strong { display: block; margin-bottom: 6px; font-size: 1.05rem; }
.course-safety-note p { margin: 0; color: var(--ink-2); }
.course-trainer-strip { display: flex; justify-content: space-between; align-items: center; gap: 44px; padding: 42px 46px; background: var(--ink); color: white; border-radius: 30px; }
.course-trainer-strip h2 { font-size: clamp(2rem,4vw,3rem); }
.course-trainer-strip p:not(.eyebrow) { color: rgba(255,255,255,.78); max-width: 760px; margin-bottom: 0; }
.course-trainer-strip .eyebrow { color: #ffd2b1; }
.course-trainer-strip .btn.secondary { color: white; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); flex: 0 0 auto; }
.course-faq { max-width: 920px; }
.course-cta { background: radial-gradient(circle at 85% 12%,rgba(228,115,28,.2),transparent 24%),var(--sage); }
.purchase-pending { display: inline-block; padding: 11px 14px; border-radius: 12px; border: 1px solid rgba(11,23,54,.12); background: rgba(255,255,255,.66); font-size: .9rem; margin-bottom: 0 !important; }

@media (max-width: 980px) {
  .method-grid,
  .course-hero-grid,
  .course-two-col { grid-template-columns: 1fr; }
  .method-art { min-height: 450px; max-width: 650px; width: 100%; margin-inline: auto; }
  .course-outcome-grid { grid-template-columns: repeat(2,1fr); }
  .course-trainer-strip { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 680px) {
  .method-art { min-height: 390px; border-radius: 28px; }
  .method-orbit { width: 68%; left: 16%; top: 16%; }
  .method-paw-core { width: 118px; height: 118px; }
  .method-paw-icon { width: 70px; height: 70px; }
  .method-tag { font-size: .76rem; padding: 8px 10px; }
  .method-tag b { width: 21px; height: 21px; font-size: .62rem; }
  .method-tag.one { left: 4%; top: 8%; }
  .method-tag.two { right: 3%; top: 20%; }
  .method-tag.three { left: 5%; bottom: 14%; }
  .method-tag.four { right: 3%; bottom: 7%; }
  .everyday-photo-wrap { border-radius: 24px; aspect-ratio: 4 / 3; }
  .course-hero { padding: 52px 0 48px; }
  .course-hero-image { border-radius: 26px 26px 58px 26px; }
  .course-anchor-inner { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .course-anchor-inner a { white-space: nowrap; }
  .course-outcome-grid,
  .steps-grid { grid-template-columns: 1fr; }
  .soft-list-card { padding: 24px; }
  .course-trainer-strip { padding: 30px 25px; border-radius: 24px; }
}


/* v1.5 method section */
.method-section { position: relative; overflow: hidden; }
.method-section::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  right: -190px;
  top: -190px;
  background: rgba(228,115,28,.08);
  pointer-events: none;
}
.method-heading { max-width: 820px; margin-bottom: 38px; position: relative; z-index: 1; }
.method-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; position: relative; z-index: 1; }
.method-card {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,23,54,.10);
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 14px 34px rgba(11,23,54,.06);
}
.method-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.method-number { color: var(--action-orange); font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.method-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: var(--cream); color: var(--navy); }
.method-icon svg { width: 25px; height: 25px; }
.method-card h3 { font-size: 1.22rem; margin-bottom: 10px; }
.method-card p { color: var(--ink-2); font-size: .94rem; margin-bottom: 0; }

.trainer-photo { position: relative; }
.trainer.trainer-no-photo { grid-template-columns: 1fr; }
.trainer.trainer-no-photo > div { max-width: 820px; }

.course-price { margin: 18px 0 2px; color: var(--navy); font-size: 1.45rem; font-weight: 900; }
.course-price del { opacity: .55; font-size: .92em; }
.course-price ins { text-decoration: none; }
.course-price-bottom { margin: 0 0 18px; font-size: 1.7rem; }

@media (max-width: 980px) {
  .method-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .method-heading { margin-bottom: 28px; }
  .method-cards { grid-template-columns: 1fr; gap: 14px; }
  .method-card { padding: 22px; }
}

/* v1.6 interaction and editorial refinements */
.course-card .course-img { display:block; color:inherit; text-decoration:none; }
.course-title-link::after { content:""; position:absolute; inset:0; z-index:1; }
.course-title-link:focus-visible { outline:3px solid var(--action-orange); outline-offset:5px; border-radius:4px; }
.course-card-cta { pointer-events:none; }
.course-title-link { color:inherit; text-decoration:none; }
.course-title-link:hover, .course-title-link:focus-visible { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.course-card:focus-within { box-shadow:0 22px 50px rgba(11,23,54,.13); transform:translateY(-3px); }
.article-byline { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; }
.article-category a { color:inherit; font-weight:700; }
.article-footer { margin-top:48px; padding-top:28px; border-top:1px solid var(--line); }
.article-footer .btn { margin-top:10px; }

/* v1.9: one semantic title link is stretched over each featured course card. */
.course-card { cursor:pointer; }

/* v1.8 sales-page system */
.sales-v2 .sales-subtitle {
  max-width: 760px;
  margin: -4px 0 18px;
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  line-height: 1.2;
  letter-spacing: -.025em;
  color: var(--navy-soft);
}
.sales-hero-no-image { grid-template-columns: 1.08fr .92fr; }
.sales-hero-panel {
  min-height: 360px;
  padding: 38px;
  border-radius: 34px 34px 84px 34px;
  background: var(--ink);
  color: white;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.sales-hero-panel-kicker {
  margin-bottom: 6px;
  color: #ffd2b1;
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sales-hero-panel strong {
  display: block;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
  font-size: clamp(1.05rem,2vw,1.35rem);
  line-height: 1.3;
}
.sales-hero-panel strong:last-child { border-bottom: 0; }
.sales-heading { max-width: 850px; margin-bottom: 30px; }
.sales-heading .lead { margin-bottom: 0; }
.sales-prose {
  max-width: 850px;
  color: var(--ink-2);
  font-size: 1.03rem;
}
.sales-prose p:last-child { margin-bottom: 0; }
.sales-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}
.sales-card {
  display: block;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: white;
  box-shadow: 0 10px 28px rgba(11,23,54,.055);
}
.sales-card h3 { font-size: 1.18rem; margin-bottom: 9px; }
.sales-card p { margin: 0; color: var(--ink-2); font-size: .95rem; }
.sales-card-link { text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.sales-card-link:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(11,23,54,.1); }
.sales-card-link span { display: inline-block; margin-top: 15px; color: var(--action-orange-dark); font-weight: 850; }
.sales-list-card { max-width: 900px; margin-top: 30px; }
.related-sales-section { background: var(--sage-2); }
.sales-section[id] { scroll-margin-top: 105px; }

@media (max-width: 980px) {
  .sales-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sales-hero-no-image { grid-template-columns: 1fr; }
  .sales-hero-panel { min-height: 0; border-radius: 28px; }
}
@media (max-width: 680px) {
  .sales-card-grid { grid-template-columns: 1fr; gap: 13px; }
  .sales-card { padding: 22px; }
  .sales-hero-panel { padding: 28px 24px; }
}

.btn.is-disabled { opacity:.72; cursor:not-allowed; pointer-events:none; }
.sales-availability-note { margin:14px 0 0; font-size:.92rem; opacity:.8; }


/* v1.11 WooCommerce-powered package cards */
.sales-pricing-heading { max-width: 780px; margin: 0 auto 34px; text-align: center; }
.sales-pricing-heading .eyebrow { justify-content: center; }
.sales-pricing-heading p:last-child { color: var(--ink-2); margin-bottom: 0; }
.sales-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.sales-pricing-grid.sales-pricing-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto; }
.sales-pricing-grid.sales-pricing-count-1 { grid-template-columns: minmax(0, 540px); justify-content: center; }
.sales-price-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 18px 46px rgba(11,23,54,.09); }
.sales-price-card.package-support { border-color: rgba(228,115,28,.45); box-shadow: 0 22px 54px rgba(11,23,54,.13); transform: translateY(-6px); }
.sales-price-card-head { padding: 26px 26px 22px; background: var(--sage-2); border-bottom: 1px solid var(--line); }
.sales-package-badge { display:inline-flex; align-items:center; width:fit-content; margin:0 0 12px; padding:6px 10px; border-radius:999px; background:rgba(228,115,28,.14); color:var(--action-orange-dark); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sales-price-card.package-support .sales-price-card-head { background: linear-gradient(135deg, rgba(228,115,28,.13), var(--cream)); }
.sales-price-card h3 { margin: 0 0 12px; font-size: 1.28rem; }
.sales-price-amount { color: var(--navy); font-size: clamp(2.05rem, 4vw, 3.05rem); line-height: 1; font-weight: 900; letter-spacing: -.04em; }
.sales-price-amount .woocommerce-Price-currencySymbol { font-size: .58em; vertical-align: .35em; margin-right: 2px; }
.sales-price-amount del { display: block; margin-bottom: 7px; opacity: .52; font-size: .5em; letter-spacing: 0; }
.sales-price-amount ins { text-decoration: none; }
.sales-price-features { list-style: none; margin: 0; padding: 24px 26px 8px; flex: 1; }
.sales-price-features li { position: relative; padding: 11px 0 11px 30px; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.sales-price-features li:last-child { border-bottom: 0; }
.sales-price-features li::before { content: "✓"; position: absolute; left: 0; top: 10px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--sage); color: var(--action-orange-dark); font-size: .78rem; font-weight: 900; }
.sales-purchase-form { margin-top:auto; padding:18px 26px 26px; }
.sales-price-button { width:100%; margin:0; text-align:center; justify-content:center; }
.sales-pricing-note { margin: 20px 0 0; text-align: center; color: var(--ink-2); font-size: .9rem; }
.sales-coming-soon { max-width: 720px; margin-inline: auto; text-align: center; }
.price-from { white-space: nowrap; }
@media (max-width: 860px) {
  .sales-pricing-grid, .sales-pricing-grid.sales-pricing-count-2 { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
  .sales-price-card.package-support { transform: none; }
}
@media (max-width: 520px) {
  .sales-price-card-head { padding: 22px 22px 18px; }
  .sales-price-features { padding: 20px 22px 6px; }
  .sales-purchase-form { padding:16px 22px 22px; }
  .sales-price-button { width:100%; margin:0; }
}

/* v1.12 account, course dashboard and streamlined digital checkout */
.nav-account-link {
  color: var(--navy);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.nav-account-link:hover { color: var(--action-orange-dark); }

.logged-in.woocommerce-account .woocommerce-shell { padding-top: 54px; padding-bottom: 74px; }
.logged-in.woocommerce-account .woocommerce { display: grid; grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); gap: 34px; align-items: start; }
.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after { display: none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
.logged-in.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
  position: sticky;
  top: 110px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(11,23,54,.06);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border-radius: 13px;
  color: var(--navy);
  font-weight: 750;
  text-decoration: none;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--sage-2);
  color: var(--action-orange-dark);
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
.mika-account-dashboard { display: grid; gap: 36px; }
.mika-account-intro {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-start;
  padding: clamp(26px, 4vw, 42px);
  border-radius: 28px;
  background: linear-gradient(135deg, var(--cream), var(--sage-2));
  border: 1px solid var(--line);
}
.mika-account-intro h2 { margin-bottom: 10px; font-size: clamp(1.7rem, 4vw, 2.6rem); }
.mika-account-intro p:not(.eyebrow) { max-width: 700px; margin: 0; color: var(--ink-2); }
.mika-account-courses > h2 { margin-bottom: 20px; }

/* LearnDash's own profile already supplies the useful course statistics,
   progress, certificate links and enrolled-course list. Mika only restyles it. */
.logged-in.woocommerce-account .learndash-wrapper .ld-profile-summary {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(11,23,54,.06);
}
.logged-in.woocommerce-account .learndash-wrapper .ld-profile-summary .ld-profile-card { margin-bottom: 22px; }
.logged-in.woocommerce-account .learndash-wrapper .ld-profile-summary .ld-profile-stat { border-color: var(--line); }
.logged-in.woocommerce-account .learndash-wrapper .ld-profile-summary .ld-profile-stat strong { color: var(--navy); }
.logged-in.woocommerce-account .learndash-wrapper .ld-item-list .ld-item-list-item {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: none;
}
.logged-in.woocommerce-account .learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name { font-weight: 800; }
.logged-in.woocommerce-account .learndash-wrapper .ld-progress .ld-progress-bar { background: var(--sage-2); }
.logged-in.woocommerce-account .learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage { background: var(--action-orange); }
.logged-in.woocommerce-account .learndash-wrapper .ld-button,
.logged-in.woocommerce-account .learndash-wrapper .ld-expand-button {
  border-radius: 999px;
  background: var(--navy);
}

/* The checkout block respects WooCommerce country-locale hidden fields. These
   selectors are a presentation fallback for virtual-only Mika orders. */
.mika-virtual-only-checkout .wc-block-checkout__add-note,
.mika-virtual-only-checkout .wc-block-components-address-form__address_1,
.mika-virtual-only-checkout .wc-block-components-address-form__address_2,
.mika-virtual-only-checkout .wc-block-components-address-form__city,
.mika-virtual-only-checkout .wc-block-components-address-form__state,
.mika-virtual-only-checkout .wc-block-components-address-form__postcode,
.mika-virtual-only-checkout .wc-block-components-address-form__phone,
.mika-virtual-only-checkout .wc-block-components-address-form__company { display: none !important; }

@media (max-width: 900px) {
  .logged-in.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 22px; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 1 1 150px; }
  .mika-account-intro { flex-direction: column; }
}

@media (max-width: 680px) {
  .logged-in.woocommerce-account .woocommerce-shell { padding-top: 30px; padding-bottom: 52px; }
  .mika-account-intro { padding: 24px 20px; border-radius: 22px; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation { padding: 10px; border-radius: 18px; }
  .logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 10px 11px; }
  .logged-in.woocommerce-account .learndash-wrapper .ld-profile-summary { padding: 20px; border-radius: 20px; }
}

.mika-account-page-header { max-width: 820px; margin-bottom: 30px; }
.mika-account-page-header h1 { margin-bottom: 8px; }
.mika-account-content { max-width: none; }


/* Mika v1.13 branding and article refinements */
.mika-brand-lockup { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; flex:0 0 auto; }
.mika-brand-mark { width:62px; height:62px; flex:0 0 62px; display:grid; place-items:center; overflow:visible; padding:4px; box-sizing:border-box; }
.mika-brand-mark-image { width:100%; height:100%; object-fit:contain; display:block; }
.mika-brand-copy { display:flex; flex-direction:row; align-items:baseline; gap:9px; justify-content:center; line-height:1; white-space:nowrap; }
.mika-brand-name { font-family:"Avenir Next",Avenir,"Century Gothic","Trebuchet MS",Arial,sans-serif; font-size:1.42rem; font-weight:800; letter-spacing:.08em; color:var(--ink); }
.mika-brand-subtitle { margin-top:0; font-family:"Avenir Next",Avenir,"Century Gothic","Trebuchet MS",Arial,sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.18em; color:var(--ink); }
.footer-logo { background:#fff; padding:7px 12px; border-radius:12px; width:fit-content; margin-bottom:16px; }
.footer-logo .mika-brand-mark { width:52px; height:52px; flex-basis:52px; padding:4px; }
.footer-logo .mika-brand-name { font-size:1.28rem; }
.footer-logo .mika-brand-subtitle { font-size:.52rem; }

.article-shell .prose-wrap { max-width:1040px; }
.article-header { max-width:820px; margin-inline:auto; }
.article-header h1 { font-size:clamp(2.6rem,6vw,4.8rem); line-height:1.02; letter-spacing:-.045em; }
.article-byline { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; }
.article-byline span:not(:last-child)::after { content:""; display:inline-block; width:3px; height:3px; margin-left:18px; border-radius:50%; background:rgba(11,23,54,.35); vertical-align:middle; }
.entry-content { line-height:1.78; }
.entry-content p, .entry-content li { color:var(--ink-2); }
.entry-content .article-intro { font-size:1.2rem; color:var(--ink); }
.entry-content h2 { font-size:clamp(1.65rem,3.5vw,2.35rem); line-height:1.16; letter-spacing:-.025em; }
.entry-content ul, .entry-content ol { padding-left:1.4em; }
.entry-content img.alignleft { float:left; margin:8px 28px 20px 0; max-width:min(42%,380px); }
.entry-content img.alignright { float:right; margin:8px 0 20px 28px; max-width:min(42%,380px); }
.entry-content::after { content:""; display:block; clear:both; }
.article-course-cta { max-width:900px; margin:64px auto 0; padding:34px; border-radius:28px; background:var(--sage); display:flex; align-items:center; justify-content:space-between; gap:34px; }
.article-course-cta h2 { margin-bottom:8px; font-size:clamp(1.6rem,3vw,2.2rem); }
.article-course-cta p:not(.eyebrow) { margin:0; color:var(--ink-2); max-width:650px; }
.article-course-cta .btn { flex:0 0 auto; }
.article-author-card { max-width:900px; margin:32px auto 0; padding:30px; border:1px solid var(--line); border-radius:26px; display:grid; grid-template-columns:120px 1fr; gap:26px; align-items:center; background:#fff; }
.article-author-photo { width:120px; height:120px; overflow:hidden; border-radius:24px; background:var(--sage); }
.article-author-image { width:100%; height:100%; object-fit:cover; }
.article-author-card h2 { margin-bottom:6px; font-size:1.65rem; }
.article-author-card p:not(.eyebrow) { margin:0 0 10px; color:var(--ink-2); }
.text-link { color:var(--action-orange-dark); font-weight:800; text-decoration:none; }
.article-related { max-width:1000px; margin:68px auto 0; padding-top:34px; border-top:1px solid var(--line); }
.article-related > h2 { margin-bottom:24px; }
.article-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.article-related-card { border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; }
.article-related-thumb { display:block; aspect-ratio:16/10; overflow:hidden; }
.article-related-thumb img { width:100%; height:100%; object-fit:cover; }
.article-related-card > div { padding:20px; }
.article-related-card h3 { margin:0 0 8px; font-size:1.1rem; line-height:1.25; }
.article-related-card h3 a { color:var(--ink); text-decoration:none; }
.article-related-card p { margin:0; color:var(--ink-2); font-size:.92rem; }
.sales-purchase-form { margin:0; }
.sales-purchase-form .sales-price-button { width:100%; }

@media (max-width:720px) {
  .mika-brand-mark { width:50px; height:50px; flex-basis:50px; padding:4px; }
  .mika-brand-name { font-size:1.13rem; }
  .mika-brand-subtitle { font-size:.50rem; letter-spacing:.14em; }
  .article-byline span:not(:last-child)::after { display:none; }
  .entry-content img.alignleft, .entry-content img.alignright { float:none; display:block; margin:22px auto; max-width:100%; }
  .article-course-cta { padding:28px 22px; flex-direction:column; align-items:flex-start; }
  .article-course-cta .btn { width:100%; }
  .article-author-card { grid-template-columns:82px 1fr; padding:22px; gap:18px; }
  .article-author-photo { width:82px; height:82px; border-radius:18px; }
  .article-related-grid { grid-template-columns:1fr; }
}


/* Mika v1.15 visual polish: tighter rhythm, calmer articles/legal pages and social proof */
.mika-brand-lockup { gap: 11px; }
.mika-brand-mark { width: 66px; height: 66px; flex-basis: 66px; padding: 1px; }
.mika-brand-mark-image { object-fit: contain; transform: scale(.92); transform-origin:center; }
.mika-brand-copy { gap: 10px; align-items:center; }
.mika-brand-name,
.mika-brand-subtitle { font-size: 1.25rem; font-weight: 800; letter-spacing: .055em; line-height: 1; }
.mika-brand-subtitle { margin-top: 0; }
.footer-logo .mika-brand-mark { width:54px; height:54px; flex-basis:54px; padding:1px; }
.footer-logo .mika-brand-name,
.footer-logo .mika-brand-subtitle { font-size:1.05rem; }

/* Keep sales pages spacious, but remove the oversized gaps between consecutive blocks. */
.sales-v2 .section { padding-top: 72px; padding-bottom: 72px; }
.sales-v2 .section.compact { padding-top: 52px; padding-bottom: 52px; }
.sales-v2 .sales-section + .sales-section { padding-top: 68px; }
.sales-v2 .section-head { margin-bottom: 32px; }
.sales-v2 .sales-heading { margin-bottom: 30px; }
.sales-v2 .course-trainer-strip { margin-top: 0; margin-bottom: 0; }

/* Article pages: featured image intentionally omitted in single.php. */
.article-shell { padding-top: 50px; }
.article-header { margin-bottom: 34px; }
.article-header h1 { font-size:clamp(2.25rem,4.7vw,3.55rem); line-height:1.06; letter-spacing:-.038em; margin-bottom:16px; }
.article-byline { font-size:.86rem; color:var(--ink-2); gap:6px 14px; margin-bottom:16px; }
.article-byline span:not(:last-child)::after { margin-left:14px; }
.entry-content { max-width:820px; margin-inline:auto; line-height:1.72; }
.entry-content p { margin-bottom:1.15em; }
.entry-content h2 { font-size:clamp(1.55rem,2.8vw,2.05rem); line-height:1.18; margin-top:1.75em; margin-bottom:.65em; }
.entry-content h3 { font-size:clamp(1.2rem,2vw,1.45rem); line-height:1.24; margin-top:1.55em; margin-bottom:.55em; }
.entry-content h2:first-child, .entry-content h3:first-child { margin-top:0; }
.entry-content figure, .entry-content .wp-block-image { margin-top:28px; margin-bottom:28px; }
.entry-content img.alignleft { margin:6px 26px 16px 0; max-width:min(40%,350px); border-radius:18px; }
.entry-content img.alignright { margin:6px 0 16px 26px; max-width:min(40%,350px); border-radius:18px; }
.article-course-cta { margin-top:52px; }
.article-related { margin-top:56px; }

/* Legal pages use article semantics, but should feel quieter than a sales hero. */
.legal-page .page-hero { padding-top:64px; padding-bottom:54px; }
.legal-page .page-hero h1 { font-size:clamp(2.25rem,4.5vw,3.6rem); margin-bottom:14px; }
.legal-page > .section { padding-top:58px; padding-bottom:72px; }
.legal-page .article-content { max-width:820px; }
.legal-page .article-content h2 { font-size:clamp(1.55rem,2.8vw,2.05rem); margin-top:1.8em; margin-bottom:.65em; }
.legal-page .article-content h3 { font-size:clamp(1.2rem,2vw,1.45rem); margin-top:1.55em; margin-bottom:.55em; }
.legal-page .article-content p, .legal-page .article-content li { line-height:1.72; }

/* Course-specific social proof. Reviews are translated from the matching Dutch sales pages. */
.sales-reviews { background:var(--sage-2); }
.sales-reviews-heading { max-width:720px; }
.sales-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sales-review-card { margin:0; padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 10px 30px rgba(11,23,54,.055); }
.sales-review-card blockquote { margin:0; }
.sales-review-card blockquote p { margin:0 0 18px; color:var(--ink); font-size:1rem; line-height:1.65; }
.sales-review-card figcaption { color:var(--ink-2); font-size:.88rem; font-weight:800; }

/* Reusable gallery for future participant/course photography without clutter. */
.sales-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:30px; }
.sales-photo-grid figure { margin:0; }
.sales-photo-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; }
.sales-photo-grid figcaption { margin-top:8px; color:var(--ink-2); font-size:.86rem; font-weight:700; }

@media (max-width: 860px) {
  .sales-review-grid { grid-template-columns:1fr 1fr; }
  .sales-photo-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
  .mika-brand-mark { width:52px; height:52px; flex-basis:52px; }
  .mika-brand-name, .mika-brand-subtitle { font-size:.96rem; letter-spacing:.035em; }
  .sales-v2 .section { padding-top:54px; padding-bottom:54px; }
  .sales-v2 .section.compact { padding-top:42px; padding-bottom:42px; }
  .article-shell { padding-top:34px; }
  .article-header { margin-bottom:26px; }
  .article-header h1 { font-size:clamp(2rem,10vw,2.75rem); }
  .entry-content h2 { margin-top:1.55em; }
  .entry-content img.alignleft, .entry-content img.alignright { float:none; width:100%; max-width:100%; height:auto; margin:24px auto; }
  .legal-page .page-hero { padding-top:46px; padding-bottom:40px; }
  .legal-page > .section { padding-top:44px; padding-bottom:58px; }
  .sales-review-grid { grid-template-columns:1fr; }
}


/* Mika v1.15.1: fresher action green, clearer social proof and safer logo breathing room */
:root {
  --action-green: #4F9E45;
  --action-green-dark: #3E8137;
  --action-green-soft: #EAF5E8;
}

/* Primary actions use a fresh training-green; orange remains a warm brand/accent colour. */
.btn.primary,
.sales-price-button {
  background: var(--action-green);
  color: #fff;
  box-shadow: 0 12px 30px rgba(79,158,69,.24);
}
.btn.primary:hover,
.sales-price-button:hover { background: var(--action-green-dark); }
.sales-price-features li::before { background: var(--action-green-soft); color: var(--action-green-dark); }

/* Keep Support recognisable as the recommended package without turning the CTA orange. */
.sales-price-card.package-support { border-color: rgba(228,115,28,.45); }
.sales-package-badge { background:rgba(228,115,28,.14); color:var(--action-orange-dark); }

/* Give the real-participant reviews a distinct, calm social-proof block. */
.sales-reviews {
  position:relative;
  background:linear-gradient(180deg, #EEF6EC 0%, #F7FAF5 100%);
  border-top:1px solid rgba(79,158,69,.14);
  border-bottom:1px solid rgba(79,158,69,.14);
}
.sales-reviews-heading { margin-bottom:34px; }
.sales-reviews-heading h2 { max-width:650px; }
.sales-review-card {
  border-color:rgba(79,158,69,.18);
  box-shadow:0 14px 34px rgba(11,23,54,.075);
}
.sales-review-card::before {
  content:"“";
  display:block;
  height:30px;
  margin-bottom:8px;
  color:var(--action-green);
  font-family:Georgia,serif;
  font-size:3.25rem;
  line-height:.8;
}
.sales-review-card figcaption { color:var(--navy); }

/* The source mark reaches close to its canvas edges. Scale it further inside an
   unclipped box so both ear tips remain visible, including uploaded/custom marks. */
.mika-brand-mark { overflow:visible !important; padding:4px !important; }
.mika-brand-mark-image {
  width:100%;
  height:100%;
  object-fit:contain;
  transform:scale(.82) !important;
  transform-origin:center center;
}
.footer-logo .mika-brand-mark-image { transform:scale(.82) !important; }

/* v1.15.8 Trophy Cabinet */
.mika-trophy-cabinet { display:grid; gap:28px; }
.mika-trophy-hero { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:clamp(28px,4vw,46px); border:1px solid var(--line); border-radius:30px; background:linear-gradient(135deg,var(--cream),var(--sage-2)); overflow:hidden; }
.mika-trophy-hero h2 { margin:0 0 10px; font-size:clamp(2rem,4vw,3.2rem); }
.mika-trophy-hero p:not(.eyebrow) { max-width:650px; margin:0; color:var(--ink-2); }
.mika-trophy-count { min-width:150px; aspect-ratio:1; display:grid; place-content:center; text-align:center; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow:0 16px 40px rgba(11,23,54,.08); }
.mika-trophy-count strong { display:block; color:var(--navy); font-size:clamp(2.4rem,5vw,4rem); line-height:.95; }
.mika-trophy-count span { margin-top:7px; color:var(--ink-2); font-size:.88rem; font-weight:750; }
.mika-trophy-filters { display:flex; flex-wrap:wrap; gap:9px; }
.mika-trophy-filters button { appearance:none; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--navy); padding:9px 15px; font:inherit; font-weight:800; cursor:pointer; }
.mika-trophy-filters button:hover,.mika-trophy-filters button.is-active { background:var(--navy); border-color:var(--navy); color:#fff; }
.mika-trophy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.mika-trophy-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 12px 32px rgba(11,23,54,.06); transition:transform .2s ease,box-shadow .2s ease; }
.mika-trophy-card.is-unlocked:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(11,23,54,.1); }
.mika-trophy-card[hidden] { display:none !important; }
.mika-trophy-art { position:relative; min-height:220px; display:grid; place-items:center; padding:26px; background:linear-gradient(180deg,var(--sage-2),#fff); }
.mika-trophy-art img { width:min(190px,78%); height:190px; object-fit:contain; }
.mika-trophy-card.is-locked .mika-trophy-art img { filter:grayscale(1); opacity:.42; }
.mika-trophy-placeholder { width:150px; height:150px; display:grid; place-items:center; border-radius:50%; background:#fff; border:1px dashed var(--line); color:var(--navy); font-size:4rem; }
.mika-trophy-card.is-locked .mika-trophy-placeholder { opacity:.35; filter:grayscale(1); }
.mika-trophy-state { position:absolute; top:16px; right:16px; padding:6px 10px; border-radius:999px; background:#fff; color:var(--navy); box-shadow:0 6px 18px rgba(11,23,54,.08); font-size:.76rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.mika-trophy-card.is-unlocked .mika-trophy-state { background:var(--navy); color:#fff; }
.mika-trophy-card-copy { padding:20px 22px 24px; }
.mika-trophy-card-copy h3 { margin:0 0 8px; font-size:1.22rem; }
.mika-trophy-card-copy > p { margin:0; color:var(--ink-2); font-size:.94rem; }
.mika-trophy-card-copy .mika-trophy-rarity { margin-top:14px; color:var(--navy); font-size:.82rem; font-weight:800; }
.mika-trophy-share { margin-top:16px; appearance:none; border:0; border-radius:999px; padding:10px 14px; background:var(--sage-2); color:var(--navy); font:inherit; font-size:.88rem; font-weight:850; cursor:pointer; }
.mika-trophy-share:hover { background:var(--navy); color:#fff; }
.mika-trophy-empty { padding:54px 28px; border:1px dashed var(--line); border-radius:26px; text-align:center; background:#fff; }
.mika-trophy-empty > span { display:inline-grid; place-items:center; width:92px; height:92px; margin-bottom:14px; border-radius:50%; background:var(--sage-2); color:var(--navy); font-size:2.8rem; }
.mika-trophy-empty h3 { margin:0 0 8px; }
.mika-trophy-empty p { margin:0; color:var(--ink-2); }
@media (max-width:900px) { .mika-trophy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .mika-trophy-hero { align-items:flex-start; flex-direction:column; border-radius:24px; } .mika-trophy-count { min-width:118px; aspect-ratio:auto; display:flex; align-items:baseline; gap:8px; padding:15px 20px; border-radius:18px; } .mika-trophy-count strong { font-size:2rem; } .mika-trophy-grid { grid-template-columns:1fr; } .mika-trophy-art { min-height:200px; } }
@media (prefers-reduced-motion:reduce) { .mika-trophy-card { transition:none; } }

/* MDT learning environment — 1.15.10. LearnDash keeps ownership of navigation/progress. */
.mdt-learning-shell { padding: clamp(34px,5vw,72px) 0 80px; background: #fff; }
.mdt-learning-container { max-width: 1180px; }
.mdt-learning-header { max-width: 980px; margin: 0 auto 30px; }
.mdt-learning-header h1 { max-width: 980px; font-size: clamp(2.15rem,4.2vw,3.8rem); line-height: 1.05; margin-bottom: 0; }
.mdt-lesson-content { max-width: 1040px; margin-inline: auto; font-size: 1.075rem; line-height: 1.72; color: var(--ink-2); }
.mdt-lesson-content > .learndash-wrapper { max-width: none; }
.mdt-lesson-content p { margin: 0 0 1.15em; }
.mdt-lesson-content h2 { color: var(--ink); font-size: clamp(1.55rem,2.7vw,2.15rem); line-height: 1.18; margin: 1.7em 0 .7em; }
.mdt-lesson-content h3 { color: var(--ink); font-size: clamp(1.2rem,1.8vw,1.45rem); line-height: 1.28; margin: 1.5em 0 .55em; }
.mdt-lesson-content img { max-width: 100%; height: auto; border-radius: 18px; }
.mdt-restored-lesson { max-width: 1040px; margin-inline: auto; }
.mdt-restored-lesson > h2:first-child { margin-top: 0; }
.mdt-lesson-divider { width: 100%; height: 4px; border-radius: 99px; background: var(--sage-2); margin: 26px 0 32px; }
.mdt-lesson-grid { display: grid; gap: clamp(26px,4vw,52px); align-items: start; }
.mdt-lesson-grid-1-2 { grid-template-columns: minmax(0,1fr) minmax(0,2fr); }
.mdt-lesson-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.mdt-video { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 20px; background: #00102a; box-shadow: 0 14px 34px rgba(0,16,42,.12); }
.mdt-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mdt-lesson-content .learndash-wrapper .ld-lesson-status,
.mdt-lesson-content .learndash-wrapper .ld-topic-status { border-radius: 18px; }
@media (max-width: 760px) {
  .mdt-learning-shell { padding-top: 28px; }
  .mdt-learning-header { margin-bottom: 22px; }
  .mdt-lesson-grid-1-2, .mdt-lesson-grid-2 { grid-template-columns: 1fr; gap: 20px; }
  .mdt-lesson-divider { margin: 22px 0 26px; }
  .mdt-video { border-radius: 14px; }
}


/* 1.15.10: style restored lesson content inside LearnDash's own template. */
.single-sfwd-lessons .learndash-wrapper .ld-item-content,
.single-sfwd-lessons .learndash-wrapper .ld-lesson-content,
.single-sfwd-lessons .entry-content { max-width:1040px; margin-inline:auto; font-size:1.075rem; line-height:1.72; }
.single-sfwd-lessons .learndash-wrapper { max-width:1180px; margin-inline:auto; }
.single-sfwd-lessons .mdt-restored-lesson p { margin:0 0 1.15em; }
.single-sfwd-lessons .mdt-restored-lesson h2 { font-size:clamp(1.55rem,2.7vw,2.15rem); line-height:1.18; }
.single-sfwd-lessons .ld-content-actions,
.single-sfwd-lessons .ld-lesson-status,
.single-sfwd-lessons .ld-topic-list { max-width:1040px; margin-left:auto; margin-right:auto; }

/* v1.15.12 — wider LearnDash lesson canvas. Keep prose readable while allowing media and grids to breathe. */
.single-sfwd-lessons .mdt-learning-container {
  width:min(1320px, calc(100% - 48px));
  max-width:1320px;
}
.single-sfwd-lessons .mdt-learning-header { max-width:1120px; }
.single-sfwd-lessons .mdt-learning-header h1 { max-width:1120px; }
.single-sfwd-lessons .mdt-lesson-content { max-width:1200px; }
.single-sfwd-lessons .learndash-wrapper { width:100%; max-width:1280px; }
.single-sfwd-lessons .learndash-wrapper .ld-item-content,
.single-sfwd-lessons .learndash-wrapper .ld-lesson-content,
.single-sfwd-lessons .entry-content { max-width:1200px; }
.single-sfwd-lessons .mdt-restored-lesson { max-width:1200px; }
.single-sfwd-lessons .ld-content-actions,
.single-sfwd-lessons .ld-lesson-status,
.single-sfwd-lessons .ld-topic-list { max-width:1200px; }
/* Standalone prose stays comfortable; structured two-column/video sections can use the full lesson width. */
.single-sfwd-lessons .mdt-restored-lesson > p,
.single-sfwd-lessons .mdt-restored-lesson > h2,
.single-sfwd-lessons .mdt-restored-lesson > h3 { max-width:900px; }
@media (max-width:760px) {
  .single-sfwd-lessons .mdt-learning-container { width:min(100% - 28px, 1320px); }
  .single-sfwd-lessons .mdt-lesson-content,
  .single-sfwd-lessons .mdt-restored-lesson { max-width:100%; }
}

/* v1.15.13 — lesson width fix.
 * The global article rule `.entry-content > * { max-width:760px; }` was still
 * constraining LearnDash's top-level wrapper. Remove that article-only cap on
 * lesson pages, then let the dedicated learning widths above take over.
 */
.single-sfwd-lessons .mdt-lesson-content.entry-content > * {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.single-sfwd-lessons .mdt-lesson-content.entry-content > .learndash-wrapper {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.single-sfwd-lessons .learndash-wrapper .ld-tabs,
.single-sfwd-lessons .learndash-wrapper .ld-tabs-content,
.single-sfwd-lessons .learndash-wrapper .ld-tab-content {
  width: 100%;
  max-width: none;
}
.single-sfwd-lessons .mdt-restored-lesson {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* 1.15.16 — clean layouts converted from legacy Fusion course lessons */
.mdt-restored-lesson .mdt-restored-section { margin: 0 0 clamp(28px,4vw,52px); }
.mdt-restored-lesson .mdt-source-row { display:flex; flex-wrap:wrap; gap:clamp(24px,3vw,44px); align-items:flex-start; }
.mdt-restored-lesson .mdt-source-col { min-width:0; flex:1 1 100%; }
.mdt-restored-lesson .mdt-col-1-3 { flex-basis:calc(33.333% - 30px); }
.mdt-restored-lesson .mdt-col-2-3 { flex-basis:calc(66.667% - 30px); }
.mdt-restored-lesson .mdt-col-1-2 { flex-basis:calc(50% - 24px); }
.mdt-restored-lesson .mdt-col-1-4 { flex-basis:calc(25% - 33px); }
.mdt-restored-lesson .mdt-col-3-4 { flex-basis:calc(75% - 20px); }
.mdt-restored-lesson .mdt-col-1-1 { flex-basis:100%; }
.mdt-restored-lesson .mdt-course-download { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:999px; background:#49a548; color:#fff; font-weight:800; text-decoration:none; margin:8px 0 18px; }
.mdt-restored-lesson .mdt-course-download:hover { filter:brightness(.95); color:#fff; }
.mdt-restored-lesson .mdt-course-callout { margin:20px 0; padding:20px 22px; border-radius:16px; background:#f1f7f3; border:1px solid rgba(0,16,42,.1); }
.mdt-restored-lesson img { max-width:100%; height:auto; }
@media (max-width: 780px) {
  .mdt-restored-lesson .mdt-source-row { display:block; }
  .mdt-restored-lesson .mdt-source-col { width:100%; margin-bottom:20px; }
}

/* MDT Course Restore: responsive legacy lesson layout */
.mdt-course-restored{max-width:100%;font-size:1rem;line-height:1.75}
.mdt-course-restored p{margin:0 0 1.1em}
.mdt-course-restored h2{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.3;margin:1.5em 0 .65em}
.mdt-course-restored .mdt-cr-row{display:flex;align-items:flex-start;gap:clamp(1rem,2.5vw,2rem);margin:0 0 1.4rem}
.mdt-course-restored .mdt-cr-col{flex:1 1 0;min-width:0}
.mdt-course-restored .mdt-cr-col:only-child{flex-basis:100%}
.mdt-course-restored .mdt-cr-image{max-width:100%;height:auto;border-radius:12px}
.mdt-course-restored .mdt-cr-checklist{list-style:disc;padding-left:1.4rem;margin:0 0 1rem}
.mdt-course-restored .mdt-cr-checklist li{margin:.35rem 0}
.mdt-course-restored .mdt-cr-checklist li p{margin:0}
.mdt-course-restored .mdt-cr-tip{border-left:4px solid #a0ce4e;background:#f3f7ec;padding:1rem 1.2rem;border-radius:8px;margin:1rem 0;color:#243323}
.mdt-course-restored .mdt-cr-tip h3{margin:0 0 .5rem;font-size:1.12rem}
.mdt-course-restored .mdt-cr-video{width:100%;aspect-ratio:16/9}
.mdt-course-restored .mdt-cr-video iframe{width:100%;height:100%;max-width:100%}
@media(max-width:740px){.mdt-course-restored .mdt-cr-row{display:block}.mdt-course-restored .mdt-cr-col{margin-bottom:1.2rem}}

/* v1.15.20: clearer course/lesson hierarchy and readable lesson prose. */
.single-sfwd-lessons .mdt-lesson-header .mdt-lesson-subtitle{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600;line-height:1.35;color:#43516a;margin:14px 0 0}
.single-sfwd-lessons .mdt-lesson-content{font-size:17px;line-height:1.7}
.single-sfwd-lessons .mdt-lesson-content p,.single-sfwd-lessons .mdt-lesson-content li,.single-sfwd-lessons .mdt-course-restored p,.single-sfwd-lessons .mdt-course-restored li{font-size:inherit;line-height:1.7}
/* In the imported Bond lessons, the old first row repeats the course and lesson titles. */
.single-sfwd-lessons .mdt-bond-restored > .mdt-cr-row:first-child > .mdt-cr-col:first-child{display:none}
.single-sfwd-lessons .mdt-bond-restored > .mdt-cr-row:first-child > .mdt-cr-col:nth-child(2) > h2:first-child{display:none}
.single-sfwd-lessons .mdt-bond-restored > .mdt-cr-row:first-child > .mdt-cr-col:nth-child(2){flex:2 1 0}
.single-sfwd-lessons .mdt-bond-restored > .mdt-cr-row:first-child > .mdt-cr-col:nth-child(3){flex:1 1 0}
@media(max-width:740px){.single-sfwd-lessons .mdt-lesson-content{font-size:16px}}

.mdt-cr-welcome{max-width:1050px}.mdt-cr-welcome-image{max-width:260px;width:100%;float:right;margin:0 0 20px 28px}.mdt-cr-welcome .mdt-cr-tip{clear:both;margin:24px 0}.mdt-cr-lesson-index{clear:both;margin:32px 0}.mdt-cr-lesson-index li{margin:8px 0}@media(max-width:740px){.mdt-cr-welcome-image{float:none;display:block;margin:0 0 20px}}

/* MDT 1.15.21: readable Bond lesson introductions and Welcome recovery. */
.single-sfwd-lessons .mdt-bond-restored > .mdt-cr-row:first-child > .mdt-cr-col:nth-child(2) p{font-size:19px;line-height:1.7}
.mdt-cr-welcome .mdt-cr-profile-photo{max-width:170px;height:auto;display:block;margin:16px 0}
.mdt-cr-welcome .mdt-cr-profile-icon{max-width:72px;height:auto;float:left;margin:0 14px 10px 0}
@media(max-width:740px){.single-sfwd-lessons .mdt-bond-restored > .mdt-cr-row:first-child > .mdt-cr-col:nth-child(2) p{font-size:17px}}

/* MDT v1.15.22: compact Welcome illustration and readable auto-converted Bond introductions. */
.single-sfwd-lessons .mdt-cr-welcome .mdt-cr-welcome-image{max-width:320px!important;width:100%;height:auto;float:right;margin:0 0 20px 28px;border-radius:12px}
.single-sfwd-lessons .mdt-bond-auto>.mdt-cr-row:first-child>.mdt-cr-col:first-child p{font-size:19px;line-height:1.7}
@media(max-width:740px){.single-sfwd-lessons .mdt-cr-welcome .mdt-cr-welcome-image{max-width:280px!important;float:none;display:block;margin:0 0 20px}.single-sfwd-lessons .mdt-bond-auto>.mdt-cr-row:first-child>.mdt-cr-col:first-child p{font-size:17px}}

/* v1.15.23: images restored from plain URL lines in cleaned Bond lessons */
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-image{margin:18px 0 26px;max-width:420px}
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-image img{display:block;max-width:100%;width:auto;height:auto;border-radius:12px}
.single-sfwd-lessons .mdt-bond-cleaned p{font-size:17px;line-height:1.7}
@media(max-width:740px){.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-image{max-width:100%}.single-sfwd-lessons .mdt-bond-cleaned p{font-size:16px}}

/* v1.15.23: reliable numbered exercise steps restored from cleaned lesson content. */
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-instructions{margin:18px 0 26px;padding-left:1.55rem}
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-instructions li{margin:.55rem 0;padding-left:.25rem;font-size:17px;line-height:1.7}
@media(max-width:740px){.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-instructions li{font-size:16px}}


/* v1.15.25: cleaned Bond intro/media layout and sentence-level exercise recovery. */
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(240px,1fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
  margin:0 0 34px;
  max-width:1040px;
}
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro-copy p{
  margin:0;
  font-size:19px;
  line-height:1.7;
}
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro .mdt-cr-clean-image{
  margin:0;
  max-width:none;
}
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro .mdt-cr-clean-image img{
  width:100%;
  height:auto;
}
.single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-instructions-inferred{
  margin-top:20px;
}
@media(max-width:740px){
  .single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:28px;
  }
  .single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro-copy p{font-size:17px}
  .single-sfwd-lessons .mdt-bond-cleaned .mdt-cr-clean-intro .mdt-cr-clean-image{max-width:360px}
}


/* v1.15.25: header mark uses the uncropped source image; keep extra breathing room for ear tips. */
.header-logo .mika-brand-mark { overflow:visible !important; padding:5px !important; }
.header-logo .mika-brand-mark-image { max-width:100%; max-height:100%; transform:scale(.78) !important; transform-origin:center center; }

/* v1.15.29: reviewed original-source restore for Improve Your Bond Day 3-13. */
.single-sfwd-lessons .mdt-bond-reviewed{max-width:1100px}
.single-sfwd-lessons .mdt-bond-reviewed p,
.single-sfwd-lessons .mdt-bond-reviewed li{font-size:17px;line-height:1.7}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-intro-row>.mdt-cr-col:first-child{flex:2 1 0}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-intro-row>.mdt-cr-col:last-child{flex:1 1 0}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-intro-row>.mdt-cr-col:first-child p{font-size:19px;line-height:1.7}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-image-wrap{margin:0}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-image{display:block;width:100%;height:auto;border-radius:12px}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-instructions{margin:14px 0 20px;padding-left:1.7rem}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-instructions li{margin:.55rem 0;padding-left:.2rem}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-subheading{font-size:1.08rem;line-height:1.35;margin:1.25rem 0 .55rem}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-rules{margin:14px 0 20px;padding-left:1.4rem}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-rules li{margin:.55rem 0}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-rules-old{list-style-type:"−  "}
.single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-rules-new{list-style-type:"+  "}
@media(max-width:740px){
  .single-sfwd-lessons .mdt-bond-reviewed p,
  .single-sfwd-lessons .mdt-bond-reviewed li{font-size:16px}
  .single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-intro-row>.mdt-cr-col:first-child p{font-size:17px}
  .single-sfwd-lessons .mdt-bond-reviewed .mdt-cr-image{max-width:360px}
}

/* v1.15.30: on the mobile homepage, keep the sticky course CTA hidden while the hero CTA is visible. */
