:root{
      --bg:#f7f8f4;
      --bg-warm:#f1f1e9;
      --surface:rgba(255,255,255,.82);
      --surface-solid:#ffffff;
      --ink:#13272e;
      --muted:#64767a;
      --blue:#1597c7;
      --blue-deep:#0f6f97;
      --blue-soft:#dff4fb;

      /* App-inspired accents */
      --app-nav:#050a19;
      --app-navy:#0b172b;
      --app-navy-2:#12233f;
      --app-panel:#172944;
      --app-cyan:#2eb9f3;
      --app-cyan-soft:#86ddff;
      --app-line:#29415f;
      --sage:#dce8de;
      --sage-deep:#718f77;
      --sand:#ece6d7;
      --line:rgba(19,39,46,.10);
      --shadow:0 28px 80px rgba(31,51,56,.08);
      --radius-xl:34px;
      --radius-lg:26px;
      --radius-md:18px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 8% 8%, rgba(21,151,199,.08), transparent 28rem),
        radial-gradient(circle at 88% 26%, rgba(113,143,119,.10), transparent 32rem),
        linear-gradient(180deg,#fbfcf9 0%,var(--bg) 45%,#f4f6f1 100%);
      line-height:1.6;
      -webkit-font-smoothing:antialiased;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%}

    .wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      backdrop-filter:blur(16px);
      background:rgba(5,10,25,.97);
      border-bottom:1px solid rgba(126,184,220,.18);
      box-shadow:0 8px 30px rgba(2,7,18,.14);
    }
    .nav{
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:760;
      letter-spacing:.08em;
      text-transform:uppercase;
      font-size:.93rem;
      color:#f4f8fc;
      font-family:"Montserrat",sans-serif;
    }
    .mini-orb{
      width:34px;height:34px;border-radius:50%;
      background:
        radial-gradient(circle at 34% 28%,#fff 0 5%,#bfeeff 14%,#5dc7ed 34%,#1997c6 58%,#0b5f86 80%,#0c3143 100%);
      box-shadow:0 0 22px rgba(21,151,199,.25), inset -7px -8px 14px rgba(4,53,77,.18);
    }
    .navlinks{
      display:flex;align-items:center;gap:26px;
      color:#c1cedb;font-size:.92rem;
    }
    .navlinks a:hover{color:var(--app-cyan-soft)}
    .nav-actions{display:flex;align-items:center;gap:10px}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      min-height:46px;padding:0 20px;border-radius:999px;
      border:1px solid transparent;font-weight:680;font-size:.92rem;
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{
      color:#07121d;
      background:linear-gradient(135deg,#51cef8,#1597c7);
      box-shadow:0 12px 28px rgba(15,111,151,.18);
    }
    .btn-soft{
      background:rgba(255,255,255,.72);
      border-color:var(--line);
      color:var(--ink);
    }
    .btn-text{padding:0 4px;min-height:auto;color:var(--blue-deep)}

    .topbar .btn-soft{
      background:rgba(255,255,255,.035);
      border-color:rgba(134,221,255,.22);
      color:#edf6fb;
    }
    .topbar .btn-soft:hover{
      background:rgba(46,185,243,.08);
      border-color:rgba(134,221,255,.42);
    }
    .topbar .btn-primary{
      color:#06111b;
      background:linear-gradient(135deg,#5bd3fb,#20aee6);
      box-shadow:0 10px 26px rgba(15,151,199,.18);
    }


    .mobile-menu-toggle{
      display:none;
      width:42px;
      height:42px;
      padding:0;
      border:1px solid rgba(134,221,255,.22);
      border-radius:12px;
      background:rgba(255,255,255,.035);
      color:#eef6fb;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      -webkit-tap-highlight-color:transparent;
    }
    .mobile-menu-icon{
      display:block;
      width:22px;
      height:22px;
      overflow:visible;
    }
    .mobile-menu-icon path{
      fill:none;
      stroke:currentColor;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
      vector-effect:non-scaling-stroke;
    }
    .mobile-menu-icon .icon-close{display:none}
    .mobile-menu-toggle.is-open .icon-hamburger{display:none}
    .mobile-menu-toggle.is-open .icon-close{display:block}
    .mobile-menu-toggle:focus-visible{
      outline:2px solid rgba(91,211,251,.85);
      outline-offset:2px;
    }
    .mobile-menu{
      display:none;
      border-top:1px solid rgba(126,184,220,.14);
      background:rgba(5,10,25,.985);
    }
    .mobile-menu.is-open{display:block}
    .mobile-menu-inner{
      display:flex;
      flex-direction:column;
      padding-top:12px;
      padding-bottom:18px;
    }
    .mobile-menu a{
      padding:13px 2px;
      color:#d5e1eb;
      font-size:.98rem;
      font-weight:600;
      border-bottom:1px solid rgba(126,184,220,.09);
    }
    .mobile-menu a:hover{color:var(--app-cyan-soft)}
    .mobile-menu a:last-child{border-bottom:0}
    .mobile-menu-app{
      color:var(--app-cyan-soft)!important;
    }




    .language-select{
      appearance:none;
      -webkit-appearance:none;
      -moz-appearance:none;
      height:38px;
      min-width:62px;
      padding:0 34px 0 10px;
      border:1px solid rgba(134,221,255,.20);
      border-radius:10px;
      background-color:#0a1528;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23dceaf4' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-position:right 10px center;
      background-size:14px 14px;
      color:#dceaf4;
      font-family:"Inter",sans-serif;
      font-size:.75rem;
      font-weight:700;
      line-height:1;
      letter-spacing:.05em;
      cursor:pointer;
      outline:none;
      color-scheme:dark;
    }
    .language-select::-ms-expand{display:none}
    .language-select:focus{
      border-color:rgba(46,185,243,.55);
      outline:2px solid rgba(46,185,243,.18);
      outline-offset:1px;
    }
    .mobile-header-tools{
      display:none;
      align-items:center;
      gap:8px;
    }

    .hero{padding:86px 0 58px}
    .hero-grid{
      display:grid;
      grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);
      gap:64px;align-items:center;
    }
    .eyebrow{
      display:inline-flex;align-items:center;gap:9px;
      color:var(--blue-deep);font-size:.78rem;font-weight:760;
      letter-spacing:.14em;text-transform:uppercase;
      margin-bottom:20px;
    }
    .eyebrow:before{
      content:"";width:24px;height:1px;background:currentColor;opacity:.55;
    }
    h1,h2,h3,p{margin-top:0}
    h1,h2,h3,.belief-quote{font-family:"Montserrat",sans-serif}
    h1{
      font-size:clamp(2.25rem,4.15vw,4.05rem);
      line-height:1.03;
      letter-spacing:-.043em;
      margin-bottom:28px;
      font-weight:650;
      max-width:760px;
    }
    .hero-title-lockup{max-width:740px}
    h1 .hero-black{color:var(--ink)}
    h1 .accent{color:var(--app-cyan)}
    .hero-copy{
      max-width:680px;
      color:#52666a;
      font-size:clamp(1.08rem,1.6vw,1.28rem);
      line-height:1.72;
      margin-bottom:30px;
    }
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero-art{
      min-height:460px;
      border-radius:42px;
      position:relative;
      overflow:hidden;
      background:
        radial-gradient(circle at 50% 42%,rgba(23,74,111,.48) 0%,rgba(10,29,52,.74) 38%,rgba(5,14,30,.98) 76%),
        linear-gradient(145deg,#081326,#030a18);
      border:1px solid rgba(46,185,243,.16);
      box-shadow:var(--shadow);
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .orb-stage{position:relative;width:240px;height:240px;display:grid;place-items:center}
    .orb-ring,.orb-ring-2{
      position:absolute;border-radius:50%;border:1px solid rgba(91,199,244,.30);
      animation:breatheRing 5.8s ease-in-out infinite;
    }
    .orb-ring{width:190px;height:190px}
    .orb-ring-2{width:240px;height:240px;animation-delay:-2.9s}
    .orb{
      width:140px;height:140px;border-radius:50%;
      background:
        radial-gradient(circle at 32% 26%,rgba(255,255,255,.98) 0 4%,#c9f1ff 12%,#69ccec 30%,#28a4d0 48%,#117ea8 68%,#0d5473 84%,#15323f 100%);
      box-shadow:
        0 0 42px rgba(21,151,199,.24),
        0 0 96px rgba(21,151,199,.12),
        inset -22px -24px 28px rgba(7,63,84,.20),
        inset 13px 12px 20px rgba(255,255,255,.17);
      animation:breatheOrb 5.8s ease-in-out infinite;
    }
    @keyframes breatheOrb{0%,100%{transform:scale(.92)}50%{transform:scale(1.06)}}
    @keyframes breatheRing{0%,100%{transform:scale(.92);opacity:.18}50%{transform:scale(1.08);opacity:.65}}


    .orb{
      display:grid;
      place-items:center;
    }
    .section{padding:96px 0}
    .section-tight{padding:72px 0}
    .section-head{max-width:940px;margin-bottom:48px}
    .section-kicker{
      font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;
      color:var(--blue-deep);font-weight:760;margin-bottom:14px;
    }
    h2{
      font-size:clamp(2.15rem,3.55vw,3.45rem);
      line-height:1.04;
      letter-spacing:-.043em;
      margin-bottom:20px;
      font-weight:700;
    }
    .single-line-heading{
      white-space:nowrap;
      line-height:1.05;
      letter-spacing:-.04em;
    }
    .method-heading{
      font-size:clamp(1.95rem,3vw,2.9rem);
    }
    .ecosystem-heading{
      font-size:clamp(1.95rem,3.15vw,3.05rem);
    }
    .roots-heading{
      font-size:clamp(1.95rem,3.05vw,2.95rem);
    }

    .section-lead{color:#607276;font-size:1.08rem;max-width:720px}

    .belief{
      display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;
    }
    .belief-quote{
      font-size:clamp(1.9rem,2.8vw,3rem);
      line-height:1.08;
      letter-spacing:-.04em;
      font-weight:680;
      max-width:620px;
    }
    .belief-black{color:var(--ink)}
    .belief-blue{color:var(--app-cyan)}
    .belief-copy{font-size:1.05rem;color:#5c6e72}
    .principles{
      margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
    }
    .principle{
      padding:20px;
      border-radius:18px;
      background:linear-gradient(145deg,#173254 0%,#0d2139 58%,#0a182b 100%);
      border:1px solid rgba(46,185,243,.24);
      box-shadow:0 14px 32px rgba(8,35,61,.10);
    }
    .principle strong{
      display:block;
      margin-bottom:5px;
      color:var(--app-cyan-soft);
    }
    .principle span{
      font-size:.87rem;
      color:#c6d8e5;
    }

    .method-section{
      background:
        radial-gradient(circle at 18% 10%,rgba(46,185,243,.09),transparent 24rem),
        linear-gradient(180deg,#eef8fc 0%,#e3f3fa 52%,#edf8fc 100%);
      border-block:1px solid rgba(21,151,199,.09);
    }

    .axes-shell{
      padding:28px;
      border-radius:28px;
      background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(222,239,247,.78));
      border:1px solid rgba(21,151,199,.12);
      box-shadow:0 20px 52px rgba(28,84,112,.08);
    }

    .method-subhead{
      font-family:"Montserrat",sans-serif;
      font-size:clamp(1.35rem,2.1vw,1.7rem);
      line-height:1.1;
      font-weight:700;
      letter-spacing:-.025em;
      text-transform:none;
      color:var(--ink);
      margin:2px 0 24px 2px;
    }
    .foundation-subhead{
      margin:44px 0 24px 2px;
    }

    .axes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .axis{
      padding:26px 22px;
      min-height:205px;
      border-radius:22px;
      border:1px solid rgba(46,185,243,.25);
      background:linear-gradient(145deg,#173254 0%,#0d2139 58%,#0a182b 100%);
      display:flex;
      flex-direction:column;
      box-shadow:0 14px 34px rgba(8,35,61,.10);
    }
    .axis-number{
      font-size:.72rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:#7fcff3;
      margin-bottom:22px;
    }
    .axis h3{
      font-size:1.2rem;
      margin-bottom:10px;
      letter-spacing:-.02em;
      color:var(--app-cyan-soft);
    }
    .axis p{
      font-size:.9rem;
      color:#c6d8e5;
      margin-bottom:0;
    }

    .keystone-wide{
      margin-top:14px;
      padding:24px 28px;
      min-height:132px;
      border-radius:22px;
      background:linear-gradient(135deg,#173254 0%,#0c1c33 58%,#091525 100%);
      border:1px solid rgba(46,185,243,.32);
      box-shadow:0 18px 40px rgba(8,28,52,.12), inset 0 1px 0 rgba(255,255,255,.035);
      display:grid;
      grid-template-columns:155px minmax(0,1fr);
      gap:28px;
      align-items:center;
    }
    .keystone-wide .axis-number{
      color:#7fcff3;
      margin:0;
    }
    .keystone-wide h3{
      color:var(--app-cyan-soft);
      font-size:1.55rem;
      margin:0 0 5px;
    }
    .keystone-wide p{
      color:#c6d8e5;
      margin:0;
      font-size:.93rem;
    }
    .choice.practice h3{color:var(--app-cyan-soft)}
    .root-card.dark h3{color:var(--app-cyan-soft)}

    .process-reveal{
      margin-top:18px;
      border-radius:20px;
      background:transparent;
      border:1px solid rgba(21,151,199,.14);
      overflow:hidden;
    }
    .process-summary{
      list-style:none;
      cursor:pointer;
      padding:18px 20px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      background:rgba(255,255,255,.54);
    }
    .process-summary::-webkit-details-marker{display:none}
    .process-plus{
      width:32px;height:32px;border-radius:50%;
      display:grid;place-items:center;
      border:1px solid rgba(21,151,199,.18);
      color:var(--blue-deep);
      font-size:1.15rem;
      font-weight:700;
      transition:transform .18s ease;
      flex:0 0 auto;
    }
    .process-reveal[open] .process-plus{transform:rotate(45deg)}
    .process{
      padding:22px 24px;
      background:linear-gradient(135deg,var(--app-nav),var(--app-navy-2));
      color:#f3fbfc;
      display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    }
    .process-label{
      font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:#46636e;
      font-weight:700;
    }
    .step{font-size:.89rem;font-weight:670}
    .arrow{opacity:.38}

    .ecosystem-bg{
      background:#ffffff;
      border-top:1px solid rgba(19,39,46,.05);
      border-bottom:1px solid rgba(19,39,46,.05);
    }
    .choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .choice{
      min-height:430px;padding:34px;border-radius:30px;position:relative;overflow:hidden;
      display:flex;flex-direction:column;justify-content:space-between;
      border:1px solid var(--line);box-shadow:0 22px 60px rgba(19,39,46,.06);
    }
    .choice.learn{background:linear-gradient(145deg,#f7fbfd,#e6f1f7)}
    .choice.practice{
      background:linear-gradient(145deg,#132640,#0a172b);
      border-color:rgba(46,185,243,.28);
      color:#f2f7fb;
      box-shadow:0 24px 62px rgba(7,23,43,.16);
    }
    .choice.practice .choice-tag{color:#7fcff3}
    .choice.practice p{color:#bfd0dd}
    .choice.practice .choice-footer strong{color:#f4f9fc}
    .choice-tag{
      font-size:.74rem;text-transform:uppercase;letter-spacing:.15em;font-weight:760;
      color:#708083;margin-bottom:36px;
    }
    .choice h3{font-size:clamp(1.8rem,2.65vw,2.8rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:15px}
    .choice p{color:#5d7074;max-width:520px}
    .choice-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:40px}
    .choice-arrow{
      width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
      background:rgba(255,255,255,.72);border:1px solid rgba(19,39,46,.08);font-size:1.2rem;
    }
    .choice.practice .choice-arrow{background:var(--blue);color:white;border-color:transparent}
    .single-axis{
      margin-top:18px;padding:22px 28px;border-radius:20px;
      background:rgba(255,255,255,.68);border:1px solid var(--line);
      display:flex;align-items:center;justify-content:space-between;gap:24px;
    }
    .single-axis p{margin:0;color:#66787c;font-size:.93rem}



    .choice-actions{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-top:38px;
      flex-wrap:wrap;
    }
    .choice-main-link{
      display:inline-flex;
      align-items:center;
      gap:14px;
      color:inherit;
      text-decoration:none;
    }
    .choice-main-link strong{color:var(--ink)}
    .choice.practice .choice-main-link strong{color:#f4f9fc}
    .choice-video-trigger{
      appearance:none;
      border:0;
      background:transparent;
      padding:7px 0;
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:#486775;
      font-family:"Inter",sans-serif;
      font-size:.82rem;
      font-weight:700;
      cursor:pointer;
    }
    .choice.practice .choice-video-trigger{color:#9fdcf5}
    .choice-video-trigger:hover{color:var(--app-cyan)}
    .choice-video-icon{
      width:28px;
      height:28px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:rgba(21,151,199,.10);
      border:1px solid rgba(21,151,199,.16);
      font-size:.64rem;
      padding-left:1px;
    }
    .choice.practice .choice-video-icon{
      background:rgba(46,185,243,.12);
      border-color:rgba(46,185,243,.28);
    }

    .video-modal{
      position:fixed;
      inset:0;
      z-index:1000;
      display:none;
      place-items:center;
      padding:22px;
    }
    .video-modal.is-open{display:grid}
    .video-modal-backdrop{
      position:absolute;
      inset:0;
      background:rgba(3,9,20,.78);
      backdrop-filter:blur(7px);
    }
    .video-modal-dialog{
      position:relative;
      z-index:2;
      width:min(820px,100%);
      border-radius:26px;
      padding:18px 18px 22px;
      background:#f8fbfd;
      border:1px solid rgba(255,255,255,.12);
      box-shadow:0 30px 90px rgba(0,0,0,.35);
    }
    .video-modal-close{
      position:absolute;
      z-index:4;
      top:10px;
      right:10px;
      width:38px;
      height:38px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.30);
      background:rgba(5,14,30,.82);
      color:#fff;
      font-size:1.45rem;
      line-height:1;
      cursor:pointer;
    }
    .video-modal-frame{
      position:relative;
      aspect-ratio:16/9;
      border-radius:18px;
      overflow:hidden;
      display:grid;
      place-items:center;
      background:
        radial-gradient(circle at 50% 45%,rgba(31,107,157,.52),rgba(8,29,53,.78) 40%,rgba(4,12,27,.98) 78%),
        linear-gradient(145deg,#0a1730,#040a18);
      border:1px solid rgba(46,185,243,.18);
    }
    .video-placeholder-orb{
      position:absolute;
      width:24%;
      aspect-ratio:1;
      border-radius:50%;
      background:
        radial-gradient(circle at 42% 35%,#c8f2ff 0%,#58cdf4 22%,#168cc7 51%,#0a4f80 76%,rgba(7,33,57,.10) 100%);
      box-shadow:0 0 45px rgba(78,192,240,.34),0 0 100px rgba(20,120,184,.28);
    }
    .video-placeholder-play{
      position:relative;
      z-index:2;
      width:62px;
      height:62px;
      border-radius:50%;
      display:grid;
      place-items:center;
      padding-left:4px;
      background:rgba(255,255,255,.94);
      color:#06111d;
      font-size:1rem;
      box-shadow:0 12px 32px rgba(0,0,0,.25);
    }
    .video-placeholder-note{
      position:absolute;
      left:18px;
      right:18px;
      bottom:15px;
      color:#b9cfdd;
      font-size:.78rem;
      text-align:center;
    }
    .video-modal-title{
      margin:17px 4px 0;
      font-family:"Montserrat",sans-serif;
      font-size:clamp(1.25rem,2vw,1.65rem);
      line-height:1.15;
      letter-spacing:-.025em;
      color:var(--ink);
    }
    body.video-modal-open{overflow:hidden}

    .origin-section{
      background:
        radial-gradient(circle at 82% 12%,rgba(46,185,243,.11),transparent 24rem),
        linear-gradient(180deg,#eef8fc 0%,#e3f3fa 52%,#edf8fc 100%);
      border-block:1px solid rgba(21,151,199,.09);
    }


    .founder-video-block{
      display:grid;
      grid-template-columns:minmax(320px,420px) minmax(0,1fr);
      gap:38px;
      align-items:center;
      margin:0 0 42px;
      padding:24px;
      border-radius:28px;
      background:rgba(255,255,255,.56);
      border:1px solid rgba(21,151,199,.12);
      box-shadow:0 18px 44px rgba(28,84,112,.07);
    }
    .founder-video-media{
      position:relative;
      aspect-ratio:16/9;
      overflow:hidden;
      border-radius:20px;
      background:
        radial-gradient(circle at 50% 48%,rgba(40,130,184,.45),rgba(9,34,60,.72) 38%,rgba(4,13,28,.98) 78%),
        linear-gradient(145deg,#0a1730,#040a18);
      border:1px solid rgba(46,185,243,.18);
      display:grid;
      place-items:center;
    }
    .founder-video-glow{
      position:absolute;
      width:46%;
      aspect-ratio:1;
      border-radius:50%;
      background:
        radial-gradient(circle at 42% 35%,#bfefff 0%,#54c9f3 20%,#168cc7 51%,#0a4f80 76%,rgba(7,33,57,.1) 100%);
      box-shadow:0 0 38px rgba(78,192,240,.34),0 0 82px rgba(20,120,184,.26);
      opacity:.88;
    }
    .founder-play{
      position:relative;
      z-index:2;
      width:62px;
      height:62px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.72);
      background:rgba(255,255,255,.92);
      color:#071426;
      display:grid;
      place-items:center;
      cursor:pointer;
      box-shadow:0 12px 32px rgba(0,0,0,.22);
      transition:transform .18s ease,box-shadow .18s ease;
    }
    .founder-play:hover{
      transform:scale(1.045);
      box-shadow:0 15px 36px rgba(0,0,0,.28);
    }
    .founder-play-icon{font-size:1rem;margin-left:3px}
    .founder-video-kicker{
      color:var(--app-cyan);
      font-family:"Montserrat",sans-serif;
      font-size:.76rem;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.12em;
      margin-bottom:10px;
    }
    .founder-video-copy h3{
      font-family:"Montserrat",sans-serif;
      font-size:clamp(1.55rem,2.4vw,2.25rem);
      line-height:1.08;
      letter-spacing:-.035em;
      margin:0 0 13px;
      color:var(--ink);
    }
    .founder-video-copy p{
      margin:0;
      color:#61767d;
      font-size:1rem;
      line-height:1.65;
      max-width:590px;
    }

    .roots{
      display:grid;grid-template-columns:1fr 1fr;gap:22px;
    }
    .root-card{
      border-radius:30px;padding:36px;min-height:330px;border:1px solid var(--line);
      background:rgba(255,255,255,.76);
    }
    .root-card.dark{
      background:linear-gradient(145deg,var(--app-nav),var(--app-navy-2));color:#edf7f8;border-color:rgba(46,185,243,.18);
    }
    .root-card .small{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:#829195;margin-bottom:36px}
    .root-card.dark .small{color:#9ab0b5}
    .root-card h3{font-size:clamp(1.65rem,2.4vw,2rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:16px}
    .root-card p{color:#64767a;max-width:510px}
    .root-card.dark p{color:#bac9cc}


    .rotating-banner{
      background:linear-gradient(135deg,var(--app-nav),var(--app-navy-2));
      border-block:1px solid rgba(46,185,243,.18);
      overflow:hidden;
    }
    .rotating-banner-shell{
      min-height:174px;
      position:relative;
      display:flex;
      align-items:center;
      overflow:hidden;
    }
    .rotating-track{
      position:relative;
      width:100%;
      min-height:174px;
    }
    .rotating-slide{
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      opacity:0;
      transform:translateX(9%);
      pointer-events:none;
      transition:transform .75s cubic-bezier(.4,0,.2,1), opacity .55s ease;
    }
    .rotating-slide.is-active{
      opacity:1;
      transform:translateX(0);
      pointer-events:auto;
    }
    .rotating-slide.is-leaving{
      opacity:0;
      transform:translateX(-10%);
    }
    .rotating-copy{
      width:min(930px,100%);
      padding:34px 12px;
    }
    .rotating-brand{
      color:var(--app-cyan);
      font-family:"Montserrat",sans-serif;
      font-weight:700;
      text-transform:none;
      letter-spacing:-.03em;
      font-size:clamp(2rem,4.2vw,3.6rem);
      line-height:1.02;
      margin-bottom:10px;
    }
    .rotating-title{
      color:#f3f8fc;
      font-family:"Montserrat",sans-serif;
      font-size:clamp(1.2rem,2.25vw,1.95rem);
      line-height:1.34;
      font-weight:600;
    }
    .brand-large{font-size:clamp(2.05rem,3.35vw,3rem)}
    .title-small{
      font-size:clamp(1rem,1.65vw,1.28rem);
      font-weight:550;
      color:#d9e7f1;
    }
    .rotating-essence{
      margin-top:12px;
      color:var(--app-cyan-soft);
      font-weight:700;
      font-size:.98rem;
      letter-spacing:.02em;
    }
    .essence-large{
      font-family:"Montserrat",sans-serif;
      font-size:clamp(2.05rem,3.35vw,3rem);
      line-height:1.06;
      letter-spacing:-.03em;
      color:var(--app-cyan);
      font-weight:700;
      white-space:nowrap;
    }

    .rotating-steps{
      display:flex;
      justify-content:center;
      align-items:stretch;
      gap:34px;
      text-align:left;
    }
    .rotating-step{
      flex:1 1 0;
      max-width:280px;
      display:flex;
      flex-direction:column;
      gap:7px;
      color:#f3f8fc;
      font-family:"Montserrat",sans-serif;
      font-size:clamp(.98rem,1.55vw,1.25rem);
      line-height:1.38;
      font-weight:600;
    }
    .rotating-step-number{
      color:var(--app-cyan);
      font-family:"Inter",sans-serif;
      font-size:.72rem;
      font-weight:700;
      letter-spacing:.13em;
    }

    .final-quote{
      max-width:980px;
      margin:0 auto 22px;
      font-family:"Montserrat",sans-serif;
      font-size:clamp(2.5rem,5vw,4.8rem);
      line-height:1.04;
      letter-spacing:-.045em;
      font-weight:650;
      color:var(--ink);
    }
    .final-support{
      max-width:780px !important;
      line-height:1.7;
    }

    .final{
      padding:110px 0 120px;text-align:center;
    }
    .final-inner{max-width:880px;margin:0 auto}
    .final h2{font-size:clamp(3rem,6vw,5.8rem);margin-bottom:24px}
    .final p{font-size:1.12rem;color:#65777a;max-width:660px;margin:0 auto 30px}
    .final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

    footer{
      border-top:1px solid var(--line);padding:28px 0 34px;color:#76878a;font-size:.86rem;
    }
    .footer-row{display:flex;align-items:center;justify-content:space-between;gap:22px}
    .footer-links{display:flex;gap:18px;flex-wrap:wrap}

    @media (max-width:980px){
      .navlinks{display:none}
      .nav-actions{display:none}
      .mobile-menu-toggle{display:flex}
      .mobile-header-tools{display:flex}
      .hero{padding-top:58px}
      .hero-grid,.belief,.roots{grid-template-columns:1fr}
      .hero-grid{gap:34px}
      .hero-art{min-height:390px}
      .axes-grid{grid-template-columns:1fr 1fr}
      .principles{grid-template-columns:1fr}
    }
    @media (max-width:720px){
      .wrap{width:min(100% - 24px,var(--max))}
      .nav{min-height:66px}
      .btn{min-height:44px;padding:0 17px}
      .hero{padding:48px 0 38px}
      h1{font-size:clamp(1.95rem,9.5vw,3.15rem)}
      .single-line-heading{white-space:normal}
      .rotating-banner-shell,.rotating-track{min-height:215px}
      .rotating-copy{padding:28px 5px}
      .brand-large,.essence-large{
        font-size:clamp(1.08rem,4.6vw,1.42rem);
      }
      .essence-large{white-space:nowrap}
      .title-small{font-size:.95rem;line-height:1.45}
      .rotating-steps{
        flex-direction:column;
        gap:13px;
        align-items:center;
      }
      .rotating-step{
        width:min(100%,430px);
        max-width:430px;
        display:grid;
        grid-template-columns:34px 1fr;
        gap:8px;
        align-items:start;
        font-size:.94rem;
      }
      .hero-copy{font-size:1rem}
      .hero-art{min-height:290px;border-radius:24px}

      .choice-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        margin-top:28px;
      }
      .choice-video-trigger{padding:3px 0}
      .video-modal{padding:12px}
      .video-modal-dialog{
        padding:12px 12px 18px;
        border-radius:20px;
      }
      .video-modal-frame{border-radius:14px}
      .video-modal-close{
        top:7px;
        right:7px;
        width:34px;
        height:34px;
      }
      .video-placeholder-note{font-size:.70rem}

      .founder-video-block{
        grid-template-columns:1fr;
        gap:20px;
        padding:16px;
        margin-bottom:30px;
        border-radius:22px;
      }
      .founder-video-media{border-radius:16px}
      .founder-video-copy h3{font-size:1.55rem}
      .orb-stage{width:180px;height:180px}
      .orb{width:108px;height:108px}
      .orb-ring{width:145px;height:145px}
      .orb-ring-2{width:180px;height:180px}
      .section{padding:72px 0}
      .section-tight{padding:56px 0}
      .axes-shell{padding:16px;border-radius:22px}
      .axes-grid,.choice-grid{grid-template-columns:1fr}
      .axis{min-height:0}
      .keystone-wide{
        grid-template-columns:1fr;
        gap:10px;
        padding:23px;
      }
      .process{align-items:flex-start}
      .choice{min-height:360px;padding:26px}
      .root-card{padding:28px;min-height:0}
      .final{padding:84px 0}
      .footer-row{align-items:flex-start;flex-direction:column}
    }
    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      .orb,.orb-ring,.orb-ring-2{animation:none}
      .btn{transition:none}
    }
  

/* WordPress integration */
.wp-site-blocks,
.wp-block-shortcode{
  margin:0;
  padding:0;
}
body.admin-bar .topbar{top:32px}
@media (max-width:782px){body.admin-bar .topbar{top:46px}}

/* Real video/player state */
.video-modal-frame.has-media{
  background:#030914;
}
.video-modal-frame.has-media .video-placeholder-orb,
.video-modal-frame.has-media .video-placeholder-play,
.video-modal-frame.has-media .video-placeholder-note{
  display:none;
}
.video-modal-player,
.video-modal-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  object-fit:contain;
  background:#000;
}
.founder-video-media.has-poster{
  background-size:cover;
  background-position:center;
}


/* v1.0.7 hero typography --------------------------------------------------
   One normal H1 with explicit line breaks. No nested block/grid rows. */
.brand{white-space:nowrap;flex-shrink:0}

h1.hero-title-lockup{
  display:block !important;
  max-width:760px !important;
  margin:0 0 28px !important;
  padding:0 !important;
  font-size:clamp(2.25rem,4.15vw,4.05rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.043em !important;
  font-weight:650 !important;
}
h1.hero-title-lockup .hero-black{color:var(--ink) !important}
h1.hero-title-lockup .hero-blue-inline,
h1.hero-title-lockup .hero-supports,
h1.hero-title-lockup .hero-your,
h1.hero-title-lockup .hero-biology{
  color:var(--app-cyan) !important;
  margin:0 !important;
  padding:0 !important;
}
.hero-mobile-break{display:none}
.hero-mobile-space{display:none}
.hero-desktop-space{display:inline}
.hero-desktop-break{display:inline}

/* Philosophy title: keep the now-correct compact behaviour. */
h2.belief-quote.belief-lockup{
  display:block !important;
  max-width:620px !important;
  margin:0 !important;
  padding:0 !important;
  font-size:clamp(1.9rem,2.8vw,3rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.04em !important;
  font-weight:680 !important;
}
h2.belief-quote.belief-lockup .belief-black{color:var(--ink) !important}
h2.belief-quote.belief-lockup .belief-blue{color:var(--app-cyan) !important}

/* Desktop: 3 equal readable step columns. */
.rotating-steps-slide .rotating-copy{
  width:min(100%,960px) !important;
  max-width:960px !important;
  padding:30px 20px !important;
  margin:0 auto !important;
}
.rotating-steps{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:38px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  align-items:start !important;
  text-align:left !important;
}
.rotating-step{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  color:#f3f8fc !important;
  font-family:"Montserrat",sans-serif !important;
  font-size:clamp(.98rem,1.45vw,1.18rem) !important;
  line-height:1.35 !important;
  font-weight:600 !important;
}
.rotating-step-number{
  display:block !important;
  margin:0 0 8px !important;
  color:var(--app-cyan) !important;
}
.rotating-step-text{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  line-height:1.35 !important;
}

@media (max-width:720px){
  h1.hero-title-lockup{
    font-size:clamp(1.95rem,9.5vw,3.15rem) !important;
    line-height:1.02 !important;
    margin-bottom:24px !important;
  }
  .hero-desktop-space{display:none}
  .hero-mobile-break{display:inline}
  .hero-desktop-break{display:none}
  .hero-mobile-space{display:inline}

  h2.belief-quote.belief-lockup{
    font-size:clamp(1.9rem,8.7vw,2.6rem) !important;
    line-height:1.04 !important;
  }

  /* Each step is a full-width row: number left, sentence right. */
  .rotating-banner-shell,
  .rotating-track{min-height:285px !important}
  .rotating-steps-slide .rotating-copy{
    width:100% !important;
    max-width:none !important;
    padding:22px 10px !important;
  }
  .rotating-steps{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    width:100% !important;
  }
  .rotating-step{
    display:grid !important;
    grid-template-columns:32px minmax(0,1fr) !important;
    column-gap:10px !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
    font-size:.94rem !important;
  }
  .rotating-step-number{
    grid-column:1 !important;
    margin:2px 0 0 !important;
  }
  .rotating-step-text{
    grid-column:2 !important;
    width:auto !important;
    min-width:0 !important;
    font-size:.94rem !important;
    line-height:1.30 !important;
  }
}
