/* Capital 5 Consulting, home of Lumora. Shared design system.
   Brand palette: 15 values only. Flat colour only. */

@font-face{font-family:"Montserrat";src:url("/assets/fonts/montserrat-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/assets/fonts/montserrat-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("/assets/fonts/montserrat-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  /* Brand palette (the only colours used) */
  --navy-900:#071C3B; --navy-800:#0B2A57; --navy-700:#123469;
  --paper:#F4F7FC; --white:#FFFFFF; --stone:#EAE4D9;
  --ink:#0B1F3F; --ink-soft:#42526B; --on-dark-soft:#B9C6DC;
  --orange:#F77833; --orange-deep:#B8501A; --orange-tint:#F7B26B;
  --sky:#2576C3; --sky-soft:#7DB4EE; --gold:#C9A042;

  /* Lines and shadows: brand colours at reduced alpha only */
  --line:rgba(7,28,59,.10);
  --line-strong:rgba(7,28,59,.18);
  --line-dark:rgba(185,198,220,.16);
  --shadow-1:0 1px 2px rgba(7,28,59,.06),0 4px 12px rgba(7,28,59,.06);
  --shadow-2:0 2px 4px rgba(7,28,59,.06),0 16px 40px rgba(7,28,59,.12);
  --shadow-device:0 30px 60px rgba(7,28,59,.28),0 8px 18px rgba(7,28,59,.18);

  /* Type */
  --font-head:"Montserrat",sans-serif;
  --font-body:"Manrope",sans-serif;
  --fs-display:clamp(2.75rem,1.45rem + 5.6vw,6rem);
  --fs-h1:clamp(2.5rem,1.5rem + 4.2vw,4.75rem);
  --fs-h2:clamp(2.125rem,1.45rem + 2.8vw,3.75rem);
  --fs-h3:clamp(1.25rem,1.12rem + .55vw,1.5rem);
  --fs-lead:clamp(1.125rem,1.05rem + .35vw,1.3125rem);
  --fs-body:1.0625rem;
  --fs-small:.9375rem;

  /* Space, shape, motion */
  --gutter:clamp(16px,4vw,40px);
  --max:1200px;
  --section:clamp(72px,9vw,136px);
  --r-sm:10px; --r:16px; --r-lg:24px;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
  --t-fast:160ms; --t:220ms;
  --header-h:68px;
}
@media (min-width:1024px){:root{--header-h:80px}}

/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);margin:0;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
p{margin:0}
p,li{text-wrap:pretty}
ul,ol{margin:0;padding:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
.on-dark :focus-visible,.on-dark:focus-visible{outline-color:var(--sky-soft)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-100px;z-index:1000;background:var(--white);color:var(--ink);padding:12px 18px;border-radius:var(--r-sm);font-weight:600;box-shadow:var(--shadow-2);text-decoration:none}
.skip-link:focus{top:12px}

/* Layout */
.container{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.on-dark{background:var(--navy-900);color:var(--white)}
.on-dark .muted{color:var(--on-dark-soft)}
.muted{color:var(--ink-soft)}
.surface-white{background:var(--white)}
.surface-stone{background:var(--stone)}

/* Type roles */
.display{font-size:var(--fs-display);font-weight:800;line-height:.98;letter-spacing:-.04em}
.h1{font-size:var(--fs-h1);font-weight:800;line-height:1.02;letter-spacing:-.035em}
.h2{font-size:var(--fs-h2);font-weight:800;line-height:1.06;letter-spacing:-.03em}
.h3{font-size:var(--fs-h3);font-weight:700;line-height:1.25;letter-spacing:-.01em}
.lead{font-size:var(--fs-lead);line-height:1.6}
.measure{max-width:62ch}
.stop{color:var(--orange)} /* the closing full stop on hero headings, on navy */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-body);font-weight:600;font-size:var(--fs-small);letter-spacing:.02em;color:var(--sky);margin:0 0 20px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.on-dark .eyebrow{color:var(--sky-soft)}
.num{font-family:var(--font-head);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* Links */
.link{color:var(--sky);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;transition:color var(--t) ease}
.link:hover{color:var(--navy-700)}
.on-dark .link{color:var(--sky-soft)}
.on-dark .link:hover{color:var(--white)}

/* Buttons: full border neon glow, stronger on hover and focus */
.btn{--glow:247,120,51;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:12px;font-family:var(--font-head);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;text-align:center;cursor:pointer;border:1.5px solid transparent;
  transition:transform var(--t) var(--ease-out),box-shadow var(--t) ease,background-color var(--t) ease,color var(--t) ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn svg{width:18px;height:18px;flex:none;transition:transform var(--t) var(--ease-out)}
.btn:active{transform:scale(.97)!important;transition-duration:var(--t-fast)}
.btn:focus-visible{outline:2px solid var(--sky);outline-offset:4px}
.on-dark .btn:focus-visible{outline-color:var(--white)}

.btn-primary{background:var(--orange);color:var(--navy-900);border-color:var(--orange);
  box-shadow:0 0 0 1px rgba(247,120,51,.55),0 0 14px rgba(247,120,51,.45),0 0 32px rgba(247,120,51,.18)}
.btn-primary:focus-visible{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(247,120,51,.9),0 0 22px rgba(247,120,51,.7),0 0 48px rgba(247,120,51,.32)}

.btn-ghost{background:transparent;color:var(--white);border-color:var(--sky-soft);
  box-shadow:0 0 0 1px rgba(125,180,238,.45),0 0 12px rgba(125,180,238,.35),0 0 28px rgba(125,180,238,.14)}
.btn-ghost:focus-visible{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(125,180,238,.85),0 0 20px rgba(125,180,238,.6),0 0 44px rgba(125,180,238,.26)}

/* On light surfaces the glow is tighter so it stays crisp */
.btn-primary.on-light{box-shadow:0 0 0 1px rgba(247,120,51,.5),0 0 10px rgba(247,120,51,.38),0 0 22px rgba(247,120,51,.14)}
.btn-primary.on-light:focus-visible{box-shadow:0 0 0 1px rgba(247,120,51,.85),0 0 16px rgba(247,120,51,.55),0 0 34px rgba(247,120,51,.24)}
.btn-secondary{background:var(--white);color:var(--navy-900);border-color:var(--sky);
  box-shadow:0 0 0 1px rgba(37,118,195,.35),0 0 12px rgba(37,118,195,.25),0 0 26px rgba(37,118,195,.1)}
.btn-secondary:focus-visible{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(37,118,195,.7),0 0 20px rgba(37,118,195,.45),0 0 40px rgba(37,118,195,.2)}

@media (hover:hover) and (pointer:fine){
  .btn:hover svg{transform:translateX(3px)}
  .btn-primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(247,120,51,.9),0 0 22px rgba(247,120,51,.7),0 0 48px rgba(247,120,51,.32)}
  .btn-primary.on-light:hover{box-shadow:0 0 0 1px rgba(247,120,51,.85),0 0 16px rgba(247,120,51,.55),0 0 34px rgba(247,120,51,.24)}
  .btn-ghost:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(125,180,238,.85),0 0 20px rgba(125,180,238,.6),0 0 44px rgba(125,180,238,.26)}
  .btn-secondary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 1px rgba(37,118,195,.7),0 0 20px rgba(37,118,195,.45),0 0 40px rgba(37,118,195,.2)}
}
.btn-sm{min-height:44px;padding:10px 18px;font-size:.9375rem}
.btn-row{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--line)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;flex:none;border-radius:8px}
.brand img{height:calc(var(--header-h) - 14px);width:auto}
.nav-primary{display:none}
.nav-primary ul{list-style:none;display:flex;gap:4px}
.nav-primary a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:600;font-size:1rem;color:var(--ink);text-decoration:none;border-radius:8px}
.nav-primary a::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:2px;border-radius:2px;background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease-out)}
.nav-primary a[aria-current="page"]::after{transform:scaleX(1)}
@media (hover:hover){.nav-primary a:hover::after{transform:scaleX(1)}}
.nav-utility{display:none;align-items:center;gap:16px}
.nav-utility .util-link{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-weight:600;color:var(--ink-soft);text-decoration:none;border-radius:8px;transition:color var(--t) ease}
.nav-utility .util-link:hover{color:var(--ink)}
.menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1.5px solid var(--line-strong);background:var(--white);border-radius:12px;font-family:var(--font-head);font-weight:700;font-size:.9375rem;color:var(--ink);cursor:pointer}
.menu-toggle .bars{position:relative;width:18px;height:12px}
.menu-toggle .bars span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform var(--t) var(--ease-out),opacity var(--t) ease}
.menu-toggle .bars span:nth-child(1){top:0}.menu-toggle .bars span:nth-child(2){top:5px}.menu-toggle .bars span:nth-child(3){top:10px}
.menu-toggle[aria-expanded="true"] .bars span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .bars span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media (min-width:1100px){
  .nav-primary,.nav-utility{display:flex}
  .menu-toggle{display:none}
}

/* Phone menu: a solid navy sheet */
.mobile-menu{position:fixed;inset:var(--header-h) 0 0 0;z-index:99;background:var(--navy-900);color:var(--white);overflow-y:auto;overscroll-behavior:contain;
  visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity var(--t) ease,transform var(--t) var(--ease-out),visibility 0s linear var(--t)}
.mobile-menu.is-open{visibility:visible;opacity:1;transform:none;transition:opacity var(--t) ease,transform 320ms var(--ease-out),visibility 0s}
.mobile-menu .inner{display:flex;flex-direction:column;min-height:100%;padding:24px var(--gutter) 40px}
.mobile-menu ul{list-style:none}
.mobile-menu li{border-bottom:1px solid var(--line-dark)}
.mobile-menu .primary a{display:flex;align-items:center;justify-content:space-between;min-height:64px;font-family:var(--font-head);font-weight:700;font-size:1.625rem;color:var(--white);text-decoration:none;letter-spacing:-.01em}
.mobile-menu .primary a::after{content:"";width:10px;height:10px;border-top:2px solid var(--sky-soft);border-right:2px solid var(--sky-soft);transform:rotate(45deg);margin-right:6px}
.mobile-menu .primary a[aria-current="page"]{color:var(--sky-soft)}
.mobile-menu .utility{margin-top:auto;padding-top:32px;display:grid;gap:16px}
.mobile-menu .utility .util-link{color:var(--on-dark-soft);font-weight:600;min-height:44px;display:inline-flex;align-items:center}
@media (prefers-reduced-motion:no-preference){
  .mobile-menu .primary li{opacity:0;transform:translateY(10px);transition:opacity 260ms ease,transform 320ms var(--ease-out)}
  .mobile-menu.is-open .primary li{opacity:1;transform:none}
  .mobile-menu.is-open .primary li:nth-child(2){transition-delay:40ms}
  .mobile-menu.is-open .primary li:nth-child(3){transition-delay:80ms}
  .mobile-menu.is-open .primary li:nth-child(4){transition-delay:120ms}
  .mobile-menu.is-open .primary li:nth-child(5){transition-delay:160ms}
  .mobile-menu.is-open .primary li:nth-child(6){transition-delay:200ms}
}
body.menu-open{overflow:hidden}
@media (min-width:1100px){.mobile-menu{display:none}}

/* Cards */
.card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,32px);box-shadow:var(--shadow-1);
  transition:transform 300ms var(--ease-out),box-shadow 300ms ease,border-color 300ms ease}
.card::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:var(--sky);transform:scaleX(.18);transform-origin:left;transition:transform 420ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .card.is-interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--line-strong)}
  .card.is-interactive:hover::before{transform:scaleX(1)}
}
.card .card-num{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.card .card-num .num{font-size:.9375rem;color:var(--sky);font-weight:800;letter-spacing:.04em}
.card .card-num .track{flex:1;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.card .card-num .track i{display:block;height:100%;width:100%;background:var(--sky);transform:scaleX(var(--p,.1666));transform-origin:left;transition:transform 700ms var(--ease-out)}
.card h3{margin-bottom:12px}
.card p{color:var(--ink-soft)}

/* Forms */
.field{display:grid;gap:8px}
.field label{font-weight:600;font-size:1rem;color:var(--ink)}
.field .req{color:var(--orange-deep)}
.input{width:100%;min-height:52px;padding:12px 16px;background:var(--white);border:1.5px solid var(--ink-soft);border-radius:12px;color:var(--ink);font-size:1rem;line-height:1.4;
  transition:border-color var(--t) ease,box-shadow var(--t) ease}
textarea.input{min-height:140px;resize:vertical}
.input:hover{border-color:var(--ink)}
.input:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 1px rgba(37,118,195,.6),0 0 12px rgba(37,118,195,.28),0 0 26px rgba(37,118,195,.12)}
.field.is-invalid .input{border-color:var(--orange-deep)}
.field.is-invalid .input:focus{box-shadow:0 0 0 1px rgba(184,80,26,.6),0 0 12px rgba(184,80,26,.25)}
.field .error{display:none;align-items:flex-start;gap:8px;color:var(--orange-deep);font-weight:600;font-size:1rem}
.field .error svg{width:18px;height:18px;flex:none;margin-top:1px}
.field.is-invalid .error{display:flex}

/* Footer */
.site-footer{background:var(--navy-900);color:var(--white);padding-block:clamp(64px,8vw,104px) 32px}
.site-footer .top{display:grid;gap:48px}
.site-footer .brand-col p{color:var(--on-dark-soft);max-width:34ch;margin-top:20px}
.site-footer .logo-plate{display:inline-flex;background:var(--white);border-radius:14px;padding:10px 14px}
.site-footer .logo-plate img{height:64px;width:auto}
.site-footer .social{display:flex;gap:12px;margin-top:24px;list-style:none}
.site-footer .social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line-dark);color:var(--on-dark-soft);transition:color var(--t) ease,border-color var(--t) ease,box-shadow var(--t) ease}
.site-footer .social a:hover,.site-footer .social a:focus-visible{color:var(--white);border-color:var(--sky-soft);box-shadow:0 0 0 1px rgba(125,180,238,.45),0 0 12px rgba(125,180,238,.3)}
.site-footer .social svg{width:20px;height:20px}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:36px 24px}
.site-footer .col-title{font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--white);margin-bottom:14px}
.site-footer .cols ul{list-style:none;display:grid;gap:2px}
.site-footer .cols a{display:inline-flex;align-items:center;min-height:40px;color:var(--on-dark-soft);text-decoration:none;overflow-wrap:anywhere;transition:color var(--t) ease}
.site-footer .cols a:hover{color:var(--white);text-decoration:underline;text-underline-offset:4px}
.site-footer .legal{margin-top:56px;padding-top:28px;border-top:1px solid var(--line-dark);color:var(--on-dark-soft);font-size:var(--fs-small);line-height:1.75}
.site-footer .legal a{color:var(--on-dark-soft);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.site-footer .legal a:hover{color:var(--white)}
@media (min-width:900px){.site-footer .top{grid-template-columns:minmax(260px,1fr) 2fr;gap:64px}}

/* ============ Device mockups, built in CSS ============ */

/* Phone */
.phone{--w:clamp(236px,64vw,300px);position:relative;width:var(--w);aspect-ratio:9/19;border-radius:calc(var(--w) * .16);background:var(--ink);padding:calc(var(--w) * .035);
  box-shadow:inset 0 0 0 1.5px var(--navy-700),0 0 0 1px rgba(185,198,220,.18),var(--shadow-device);flex:none}
.phone::before,.phone::after{content:"";position:absolute;right:-3px;width:3px;border-radius:0 3px 3px 0;background:var(--navy-700)}
.phone::before{top:24%;height:11%}
.phone::after{top:38%;height:7%}
.phone .side-l{position:absolute;left:-3px;top:20%;width:3px;height:6%;border-radius:3px 0 0 3px;background:var(--navy-700)}
.phone .screen{position:relative;height:100%;border-radius:calc(var(--w) * .13);background:var(--paper);color:var(--ink);text-align:left;overflow:hidden;display:flex;flex-direction:column}
.phone .island{position:absolute;top:calc(var(--w) * .035);left:50%;width:30%;height:calc(var(--w) * .085);border-radius:999px;background:var(--ink);transform:translateX(-50%);z-index:3}
.phone .status{display:flex;justify-content:flex-end;align-items:center;gap:6px;height:calc(var(--w) * .15);padding:0 calc(var(--w) * .08);color:var(--ink);flex:none}
.phone .status svg{height:11px;width:auto}
.phone .app{flex:1;padding:4px 16px 18px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
@media (max-width:399px){.phone{aspect-ratio:9/20.5}}
.phone .homebar{position:absolute;bottom:8px;left:50%;width:34%;height:4px;border-radius:4px;background:var(--ink);opacity:.85;transform:translateX(-50%)}

/* App UI primitives used inside mockups (text never below 13px) */
.ui-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 1px 2px rgba(7,28,59,.05)}
.ui-title{font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--ink);letter-spacing:-.01em;line-height:1.25}
.ui-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--ink)}
.ui-row .ico{width:22px;height:22px;border-radius:7px;display:grid;place-items:center}
.ui-row .ico svg{width:14px;height:14px}
.ui-row .val{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:600}
.ui-note{font-size:.8125rem;line-height:1.45;color:var(--ink-soft)}
.ui-meter{position:relative;height:8px;border-radius:8px;background:rgba(7,28,59,.08);margin-top:8px}
.ui-meter .fill{position:absolute;inset:0 auto 0 0;width:100%;border-radius:8px;background:var(--c,var(--sky));transform-origin:left;transform:scaleX(var(--v,.5))}
.ui-meter .knob{position:absolute;inset:0;pointer-events:none;transform:translateX(calc(var(--v,.5) * 100%))}
.ui-meter .knob::after{content:"";position:absolute;top:50%;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--white);border:3px solid var(--c,var(--sky));box-shadow:0 2px 6px rgba(7,28,59,.25)}
.ui-xp{height:10px;border-radius:10px;background:rgba(7,28,59,.08);overflow:hidden}
.ui-xp i{display:block;height:100%;width:100%;background:var(--sky);border-radius:10px;transform-origin:left;transform:scaleX(var(--v,.74))}
.ui-chip{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:6px 10px}
.ui-chip svg{width:14px;height:14px}

/* Laptop (rebuilt from a 21st mockup: hinged lid, wider base) */
.laptop{position:relative;width:100%;max-width:760px;margin-inline:auto;perspective:1400px;padding-bottom:4%;overflow-x:clip}
.laptop .lid{position:relative;width:86%;margin-inline:auto;background:var(--ink);border-radius:18px 18px 6px 6px;padding:1.6% 1.6% 2.6%;box-shadow:inset 0 0 0 1.5px var(--navy-700),var(--shadow-device);transform-origin:50% 100%;transform-style:preserve-3d}
.laptop .lid .cam{position:absolute;top:.6%;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--navy-700)}
.laptop .screen{position:relative;aspect-ratio:16/10;border-radius:8px;background:var(--white);color:var(--ink);text-align:left;overflow:hidden}
.laptop .base{position:relative;width:100%;height:clamp(12px,2.4vw,18px);background:var(--stone);border-radius:2px 2px 16px 16px;box-shadow:inset 0 1.5px 0 var(--white),0 14px 26px rgba(7,28,59,.18)}
.laptop .base::before{content:"";position:absolute;top:0;left:50%;width:16%;height:45%;transform:translateX(-50%);background:rgba(66,82,107,.22);border-radius:0 0 10px 10px}
@media (prefers-reduced-motion:no-preference){
  .laptop.will-open .lid{transform:rotateX(-68deg);opacity:.0;transition:transform 1100ms cubic-bezier(.2,.85,.25,1),opacity 500ms ease}
  .laptop.will-open.is-in .lid{transform:rotateX(0);opacity:1}
}

/* Dashboard UI inside the laptop */
.dash{display:grid;grid-template-columns:clamp(36px,9%,64px) 1fr;height:100%;font-size:13px}
.dash .rail{background:var(--navy-900);display:flex;flex-direction:column;align-items:center;gap:10%;padding:14% 0}
.dash .rail img{width:62%;height:auto}
.dash .rail i{display:block;width:38%;aspect-ratio:1;border-radius:6px;background:rgba(185,198,220,.28)}
.dash .rail i.on{background:var(--sky-soft)}
.dash .main{padding:clamp(12px,4%,32px);display:grid;grid-template-rows:auto 1fr auto;gap:clamp(8px,2.4%,18px);background:var(--paper);min-width:0}
.dash .bars{display:grid;align-content:center;gap:clamp(8px,1.6vw,22px)}
.dash .bar{display:grid;grid-template-columns:minmax(70px,22%) 1fr 32px;align-items:center;gap:12px;font-weight:600;font-size:clamp(13px,1.2vw,15px);color:var(--ink)}
.dash .bar .t{height:clamp(10px,1.6vw,20px);border-radius:999px;background:rgba(7,28,59,.08);overflow:hidden}
.dash .bar .t i{display:block;height:100%;width:100%;border-radius:999px;background:var(--sky);transform-origin:left;transform:scaleX(var(--v))}
.dash .bar.low .t i{background:var(--orange-deep)}
.dash .bar .n{font-family:var(--font-head);font-weight:800;text-align:right;font-variant-numeric:tabular-nums}

/* Reveal on scroll (opacity + transform only) */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity 600ms ease,transform 700ms var(--ease-out)}
  .reveal.is-in{opacity:1;transform:none}
  .grow .fill,.grow .ui-xp i,.grow .bar .t i,.grow .card-num .track i{transform:scaleX(0)}
  .grow.is-in .fill,.grow.is-in .ui-xp i,.grow.is-in .bar .t i{transform:scaleX(var(--v));transition:transform 1200ms var(--ease-out)}
  .grow.is-in .card-num .track i{transform:scaleX(var(--p,.1666))}
  .grow .knob{transform:translateX(0)}
  .grow.is-in .knob{transform:translateX(calc(var(--v,.5) * 100%));transition:transform 1200ms var(--ease-out)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ================= Components ================= */

/* Heading reveal: words rise out of a mask (rebuilt from 21st Vertical Cut Reveal) */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .26em;margin:0 -.02em -.26em}
.split .w > .wi{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .js .split .w > .wi{transform:translateY(108%);transition:transform 900ms var(--ease-out);transition-delay:calc(var(--i,0) * 55ms)}
  .js .split.is-in .w > .wi{transform:none}
}

/* Pulse underline: a Daily Pulse waveform drawn under one key word */
.pw{position:relative;white-space:nowrap;display:inline-block}
.pw svg{position:absolute;left:-1%;bottom:-.2em;width:102%;height:.36em;overflow:visible;pointer-events:none}
.pw path{fill:none;stroke:var(--sky);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.on-dark .pw path{stroke:var(--sky-soft)}
@media (prefers-reduced-motion:no-preference){
  .js .pw svg{clip-path:inset(-20% 100% -20% 0);transition:clip-path 1100ms var(--ease-in-out) 650ms}
  .js .is-in .pw svg,.js .pw.is-in svg{clip-path:inset(-20% 0 -20% 0)}
}

/* Section heads: editorial two column on desktop */
.sec-head{display:grid;gap:20px;margin-bottom:clamp(40px,5vw,72px)}
.sec-head .lead{color:var(--ink-soft)}
.on-dark .sec-head .lead{color:var(--on-dark-soft)}
@media (min-width:1024px){
  .sec-head.split-2{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end}
  .sec-head.split-2 .lead{padding-bottom:6px}
}
.sec-head .eyebrow{margin-bottom:0}

/* Equation ledger: 5 + 36 + 11 = 1, each figure drawn as a count of dots */
.ledger-band{background:var(--paper);border-bottom:1px solid var(--line)}
.ledger{display:grid;gap:0;padding-block:clamp(48px,6vw,80px)}
.tally{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:20px;align-items:center;padding:22px 0}
.tally .glyph{grid-row:1/3;width:96px;display:flex;align-items:center}
.tally .num{font-size:clamp(3rem,2.4rem + 2.4vw,4.5rem);line-height:.9;color:var(--navy-900)}
.tally p{color:var(--ink-soft);max-width:24ch;margin-top:6px}
.op{display:flex;align-items:center;gap:14px;color:var(--sky);font-family:var(--font-head);font-weight:800;font-size:1.75rem;line-height:1;padding-left:38px}
.op::after{content:"";flex:1;height:1px;background:var(--line)}
.tally.total .num{font-size:clamp(4.5rem,3.4rem + 4vw,7rem);color:var(--navy-900)}
.tally.total .num::after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.06em;border-radius:50%;background:var(--orange);vertical-align:baseline}
.dots{display:grid;gap:5px}
.dots i{display:block;width:10px;height:10px;border-radius:50%;background:var(--navy-900)}
.dots.d5{grid-template-columns:repeat(5,10px)}
.dots.d36{grid-template-columns:repeat(12,5px);gap:3px}
.dots.d36 i{width:5px;height:12px;border-radius:2px;background:var(--sky)}
.dots.d11{grid-template-columns:repeat(6,10px)}
.dots.d11 i{background:var(--navy-700)}
.dots.d1 i{width:44px;height:44px;background:transparent;border:3px solid var(--navy-900);box-shadow:inset 0 0 0 7px var(--paper),inset 0 0 0 30px var(--sky)}
@media (prefers-reduced-motion:no-preference){
  .js .ledger .dots i{opacity:.12;transform:scale(.6);transition:opacity 300ms ease,transform 400ms var(--ease-out);transition-delay:calc(var(--d,0) * 18ms + var(--o,0ms))}
  .js .ledger.is-in .dots i{opacity:1;transform:none}
}
@media (min-width:1024px){
  .ledger{grid-template-columns:1fr auto 1fr auto 1fr auto 1.35fr;align-items:end;column-gap:28px}
  .tally{grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:16px;padding:0}
  .tally .glyph{grid-row:auto;height:44px;width:auto}
  .op{padding:0 0 92px;font-size:2rem}
  .op::after{display:none}
  .tally.total{padding-left:28px;border-left:1px solid var(--line-strong)}
}

/* Lined grid: cells separated by hairlines, no floating card soup */
.lined{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.lined > *{background:var(--white);padding:clamp(28px,3.2vw,44px);position:relative}
.on-dark .lined{background:var(--line-dark);border-color:var(--line-dark)}
.on-dark .lined > *{background:var(--navy-900)}
@media (min-width:700px){.lined.c2,.lined.c3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.lined.c3{grid-template-columns:repeat(3,1fr)}}
.cell-num{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.cell-num .num{font-size:.9375rem;color:var(--sky);letter-spacing:.06em}
.on-dark .cell-num .num{color:var(--sky-soft)}
.cell-num .track{flex:1;max-width:120px;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.on-dark .cell-num .track{background:var(--line-dark)}
.cell-num .track i{display:block;height:100%;background:var(--sky);transform-origin:left;transform:scaleX(var(--p,.2))}
.on-dark .cell-num .track i{background:var(--sky-soft)}
@media (prefers-reduced-motion:no-preference){
  .js .lined .cell-num .track i{transform:scaleX(0);transition:transform 900ms var(--ease-out) 200ms}
  .js .lined.is-in .cell-num .track i{transform:scaleX(var(--p,.2))}
}
.lined h3{margin-bottom:12px}
.lined p{color:var(--ink-soft)}
.on-dark .lined p{color:var(--on-dark-soft)}
.lined .cell::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.lined .cell:hover::before{transform:scaleX(1)}}

/* Split layouts with devices */
.split-layout{display:grid;gap:clamp(48px,6vw,96px);align-items:center}
@media (min-width:1024px){
  .split-layout{grid-template-columns:1fr 1fr}
  .split-layout.text-wide{grid-template-columns:1.1fr .9fr}
  .split-layout.device-wide{grid-template-columns:.85fr 1.15fr}
  .split-layout.flip > :first-child{order:2}
}
.device-stage{position:relative;display:flex;justify-content:center;align-items:center;gap:24px}

/* Ticks list */
.ticks{list-style:none;display:grid;gap:14px;margin-top:28px}
.ticks li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.ticks li::before{content:"";width:24px;height:24px;margin-top:1px;border-radius:8px;background:var(--navy-900) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237DB4EE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.on-dark .ticks li::before{background-color:var(--navy-700)}

/* Steps rail: nodes light up in order (gamified progress) */
.steps{list-style:none;counter-reset:step;display:grid;gap:0;position:relative}
.steps li{position:relative;display:grid;grid-template-columns:52px 1fr;gap:18px;padding-bottom:32px}
.steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid var(--line-strong);background:var(--white);font-family:var(--font-head);font-weight:800;font-size:.9375rem;color:var(--ink-soft);position:relative;z-index:1;transition:border-color 400ms ease,background-color 400ms ease,color 400ms ease;transition-delay:calc(var(--i,0) * 120ms)}
.steps li::after{content:"";position:absolute;left:25px;top:52px;bottom:0;width:2px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps li:last-child{padding-bottom:0}
.steps h3{font-size:1.25rem;margin:12px 0 6px}
.steps p{color:var(--ink-soft)}
.steps.is-in li::before{border-color:var(--sky);background:var(--sky);color:var(--white)}
.on-dark .steps li::before{background:var(--navy-900);border-color:var(--line-dark);color:var(--on-dark-soft)}
.on-dark .steps li::after{background:var(--line-dark)}
.on-dark .steps.is-in li::before{background:var(--sky-soft);border-color:var(--sky-soft);color:var(--navy-900)}
.on-dark .steps p{color:var(--on-dark-soft)}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(3,1fr);column-gap:32px;row-gap:48px}
  .steps li{grid-template-columns:1fr;gap:0;padding:0}
  .steps li::after{left:52px;right:-32px;top:25px;bottom:auto;width:auto;height:2px}
  .steps li:nth-child(3n)::after{display:none}
  .steps h3{margin-top:22px}
}

/* CTA band */
.cta-band{position:relative;overflow:hidden}
.cta-band .inner{display:grid;gap:32px;align-items:center}
.cta-band .lead{color:var(--on-dark-soft);max-width:44ch}
.cta-band .ring-mark{width:clamp(120px,18vw,220px);justify-self:start}
@media (min-width:900px){.cta-band .inner{grid-template-columns:auto 1fr auto;gap:56px}}

/* Page hero for inner pages */
.page-hero{padding-block:clamp(56px,8vw,120px) clamp(56px,7vw,104px)}
.page-hero .lead{color:var(--on-dark-soft);margin-top:24px;max-width:44ch}
.page-hero .btn-row{margin-top:36px}
.page-hero.light .lead{color:var(--ink-soft)}
.hero-split{display:grid;gap:clamp(48px,6vw,80px);align-items:center}
@media (min-width:1100px){.hero-split{grid-template-columns:1.05fr .95fr}}
.note-line{margin-top:24px;color:var(--on-dark-soft);font-weight:600;font-size:var(--fs-small);display:flex;align-items:center;gap:10px}
.note-line::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sky-soft);flex:none}

/* Device captions (illustration notes) */
.device-note{margin-top:20px;text-align:center;color:var(--ink-soft);font-size:var(--fs-small);font-weight:600}
.on-dark .device-note{color:var(--on-dark-soft)}

/* Rewards ladder: Seedling to Luminary, as rising rows */
.ladder{list-style:none;display:grid;gap:8px}
.ladder .step{display:grid;grid-template-columns:86px 1fr 16px;align-items:center;gap:10px}
.ladder .lbl{font-size:.8125rem;font-weight:600;color:var(--ink)}
.ladder .step.next .lbl{color:var(--ink-soft)}
.ladder .bar{height:12px;border-radius:12px;background:rgba(7,28,59,.06);overflow:hidden}
.ladder .bar i{display:block;height:100%;width:100%;border-radius:12px;background:rgba(7,28,59,.14);transform-origin:left;transform:scaleX(var(--h))}
.ladder .step.done .bar i{background:var(--navy-700)}
.ladder .step.now .bar i{background:var(--sky)}
.ladder .step.now .lbl::after{content:"";display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 3px rgba(37,118,195,.2);vertical-align:middle}
.ladder .lock{width:15px;height:15px;color:var(--ink-soft)}
@media (prefers-reduced-motion:no-preference){
  .js .grow .ladder .bar i{transform:scaleX(0);transition:transform 900ms var(--ease-out);transition-delay:calc(var(--i,0) * 140ms + 200ms)}
  .js .grow.is-in .ladder .bar i{transform:scaleX(var(--h))}
}

/* 5 Capitals: radar plus list */
.capitals{display:grid;gap:clamp(40px,5vw,72px);align-items:center}
@media (min-width:1024px){.capitals{grid-template-columns:.8fr 1.2fr}}
.radar{width:min(100%,420px);margin-inline:auto}
.radar svg{width:100%;height:auto;overflow:visible}
.radar .web{fill:none;stroke:var(--line-strong);stroke-width:1}
.on-dark .radar .web{stroke:var(--line-dark)}
.radar .shape{fill:rgba(37,118,195,.16);stroke:var(--sky);stroke-width:2.5;stroke-linejoin:round;transform-origin:50% 50%}
.on-dark .radar .shape{fill:rgba(125,180,238,.16);stroke:var(--sky-soft)}
.radar .vx{font-family:var(--font-head);font-weight:800;font-size:15px;fill:var(--ink-soft)}
.on-dark .radar .vx{fill:var(--on-dark-soft)}
.radar .node{fill:var(--white);stroke:var(--sky);stroke-width:2.5;transition:r 300ms var(--ease-out)}
.on-dark .radar .node{fill:var(--navy-900);stroke:var(--sky-soft)}
.radar .node.on{fill:var(--sky)}
@media (prefers-reduced-motion:no-preference){
  .js .grow .radar .shape{transform:scale(.2);opacity:0;transition:transform 1200ms var(--ease-out),opacity 400ms ease}
  .js .grow.is-in .radar .shape{transform:none;opacity:1}
}
.cap-list{list-style:none;display:grid;gap:1px;background:var(--line);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.on-dark .cap-list{background:var(--line-dark);border-color:var(--line-dark)}
.cap-list li{background:var(--white);display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:22px 24px;transition:background-color 250ms ease}
.on-dark .cap-list li{background:var(--navy-900)}
.cap-list li.on{background:var(--paper)}
.on-dark .cap-list li.on{background:var(--navy-800)}
.cap-list .num{grid-row:1/4;font-size:.9375rem;color:var(--sky);padding-top:4px}
.on-dark .cap-list .num{color:var(--sky-soft)}
.cap-list h3{font-size:1.25rem}
.cap-list .subs{font-weight:600;color:var(--navy-700);font-size:var(--fs-small)}
.on-dark .cap-list .subs{color:var(--sky-soft)}
.cap-list p{color:var(--ink-soft)}
.on-dark .cap-list p{color:var(--on-dark-soft)}

/* Ways in */
.ways{display:grid;gap:20px}
@media (min-width:900px){.ways{grid-template-columns:repeat(3,1fr)}}
.way{display:flex;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,3vw,40px);transition:transform 300ms var(--ease-out),box-shadow 300ms ease}
.way .role{font-weight:600;color:var(--sky);font-size:var(--fs-small);display:flex;align-items:center;gap:10px}
.way .role::before{content:"";width:28px;height:2px;background:currentColor}
.way p{color:var(--ink-soft);flex:1}
.way .btn{align-self:flex-start;margin-top:12px}
.way.lead-way{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.way.lead-way .role{color:var(--sky-soft)}
.way.lead-way p{color:var(--on-dark-soft)}
@media (hover:hover) and (pointer:fine){.way:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}}

/* Editorial list (programmes) */
.ed-list{list-style:none;border-top:1px solid var(--line-strong)}
.on-dark .ed-list{border-color:var(--line-dark)}
.ed-list > li{display:grid;gap:12px 32px;padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--line-strong)}
.on-dark .ed-list > li{border-color:var(--line-dark)}
.ed-list .num{font-size:clamp(2rem,1.6rem + 1.6vw,3rem);color:var(--sky);line-height:1}
.on-dark .ed-list .num{color:var(--sky-soft)}
.ed-list h3{font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);font-weight:800;letter-spacing:-.02em}
.ed-list p{color:var(--ink-soft)}
.on-dark .ed-list p{color:var(--on-dark-soft)}
.ed-list .meta{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy-700)}
.on-dark .ed-list .meta{color:var(--sky-soft)}
.ed-list .meta svg{width:18px;height:18px;flex:none}
.ed-list .kind{font-weight:600;color:var(--orange-deep);font-size:var(--fs-small)}
.on-dark .ed-list .kind{color:var(--orange-tint)}
@media (min-width:900px){
  .ed-list > li{grid-template-columns:96px minmax(0,1.1fr) minmax(0,1fr);align-items:start}
  .ed-list > li .body{display:grid;gap:12px}
}

/* Story with portrait */
.story{display:grid;gap:clamp(40px,5vw,80px);align-items:center}
.portrait{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--navy-900);aspect-ratio:900/1140;max-width:520px}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait-frame{position:relative;max-width:520px}
.portrait-frame .ring-tag{position:absolute;right:-18px;bottom:28px;width:96px;height:96px;padding:14px;border-radius:50%;background:var(--navy-900);box-shadow:var(--shadow-2)}
.portrait-frame .ring-tag img{width:100%;height:100%}
@media (min-width:1024px){.story{grid-template-columns:.85fr 1.15fr}}
.story .body > * + *{margin-top:20px}
.story .body p{color:var(--ink-soft)}
.on-dark .story .body p{color:var(--on-dark-soft)}

/* Quote */
.quote{position:relative;padding-left:clamp(24px,3vw,40px);border-left:3px solid var(--sky)}
.quote p{font-family:var(--font-head);font-weight:700;font-size:clamp(1.375rem,1.15rem + 1vw,2rem);line-height:1.3;letter-spacing:-.015em;color:var(--ink)}
.on-dark .quote{border-color:var(--sky-soft)}
.on-dark .quote p{color:var(--white)}

/* FAQ */
.faq{border-top:1px solid var(--line-strong)}
.faq details{border-bottom:1px solid var(--line-strong)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-family:var(--font-head);font-weight:700;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{position:relative;width:32px;height:32px;flex:none;border-radius:10px;border:1.5px solid var(--line-strong);transition:transform 300ms var(--ease-out),border-color 200ms ease}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ink);border-radius:2px;transition:transform 300ms var(--ease-out)}
.faq summary .pm::after{transform:rotate(90deg)}
.faq details[open] summary .pm{border-color:var(--sky)}
.faq details[open] summary .pm::after{transform:rotate(0)}
.faq .ans{padding:0 56px 28px 0;color:var(--ink-soft);max-width:70ch}

/* Compare (EAP) */
.compare{display:grid;gap:20px}
@media (min-width:900px){.compare{grid-template-columns:1fr 1fr}}
.compare > div{border-radius:var(--r-lg);padding:clamp(28px,3.4vw,44px);border:1px solid var(--line);background:var(--white)}
.compare > div.adds{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.compare .tag{font-weight:600;font-size:var(--fs-small);color:var(--ink-soft);margin-bottom:10px}
.compare .adds .tag{color:var(--sky-soft)}
.compare h3{margin-bottom:8px}

/* Data band (research figures) */
.figure-big{font-size:clamp(5rem,3.6rem + 6vw,9rem);line-height:.9;color:var(--white)}
.source{color:var(--on-dark-soft);font-size:var(--fs-small)}

/* Device tour (tabs) */
.tour-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.tour-tabs button{min-height:44px;padding:10px 18px;border-radius:12px;border:1.5px solid var(--line-dark);background:transparent;color:var(--on-dark-soft);font-family:var(--font-head);font-weight:700;font-size:.9375rem;cursor:pointer;transition:color 200ms ease,border-color 200ms ease,background-color 200ms ease,box-shadow 200ms ease}
.tour-tabs button[aria-selected="true"]{color:var(--navy-900);background:var(--sky-soft);border-color:var(--sky-soft);box-shadow:0 0 0 1px rgba(125,180,238,.45),0 0 14px rgba(125,180,238,.35)}
.tour-tabs button:hover{color:var(--white);border-color:var(--sky-soft)}
.tour-tabs button[aria-selected="true"]:hover{color:var(--navy-900)}
.tour-panel[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.tour-panel{animation:panelIn 420ms var(--ease-out)}}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tour-label{font-family:var(--font-head);font-weight:800;color:var(--white);font-size:1.25rem;margin-bottom:16px}

/* App shell inside the laptop (web app) */
.appx{display:grid;grid-template-columns:28% 1fr;height:100%;font-size:13px;background:var(--paper)}
.appx .side{background:var(--white);border-right:1px solid var(--line);padding:8% 6%;display:flex;flex-direction:column;gap:4px;min-width:0}
.appx .side .logo{width:34%;max-width:44px;margin:0 0 12% 4%}
.appx .side span{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-weight:600;font-size:clamp(11px,1.05vw,13px);color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appx .side span i{width:8px;height:8px;border-radius:3px;background:var(--line-strong);flex:none}
.appx .side span.on{background:var(--paper);color:var(--ink)}
.appx .side span.on i{background:var(--sky)}
.appx .body{padding:4.5%;display:grid;gap:3.5%;align-content:start;min-width:0;overflow:hidden}
.appx .ui-title{font-size:clamp(13px,1.3vw,16px)}
.appx .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.appx .tile{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;gap:2px}
.appx .tile b{font-family:var(--font-head);font-weight:800;font-size:clamp(14px,1.6vw,20px);color:var(--ink);line-height:1.1}
.appx .tile small{font-size:clamp(11px,1vw,12.5px);font-weight:600;color:var(--ink-soft);line-height:1.2}

/* Journey map (rebuilt in SVG and HTML) */
.jmap{position:relative;background:var(--stone);border-radius:12px;overflow:hidden}
.jmap svg{display:block;width:100%;height:auto}
.jmap .trail{fill:none;stroke:rgba(66,82,107,.35);stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round}
.jmap .done-trail{fill:none;stroke:var(--orange-deep);stroke-width:4;stroke-linecap:round}
.jmap .stop{fill:var(--white);stroke:var(--navy-700);stroke-width:2.5}
.jmap .stop.done{fill:var(--navy-700)}
.jmap .stop.locked{fill:var(--stone);stroke:rgba(66,82,107,.45);stroke-dasharray:3 3}
.jmap .stop.current{fill:var(--orange);stroke:var(--white);stroke-width:3}
.jmap .halo{fill:none;stroke:var(--orange);stroke-width:2;opacity:.5}
@media (prefers-reduced-motion:no-preference){
  .js .grow .jmap .done-trail{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2200ms var(--ease-in-out) 300ms}
  .js .grow.is-in .jmap .done-trail{stroke-dashoffset:0}
  .is-alive .jmap .halo{animation:halo2 2.8s var(--ease-out) infinite;transform-box:fill-box;transform-origin:center}
}
@keyframes halo2{0%{opacity:.6;transform:scale(.8)}100%{opacity:0;transform:scale(1.9)}}
.jstats{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.jstats .ui-chip b{font-family:var(--font-head);font-weight:800}

/* Try a pulse demo */
.demo{display:grid;gap:24px;background:var(--white);color:var(--ink);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-2);padding:clamp(24px,3.4vw,40px)}
@media (min-width:900px){.demo{grid-template-columns:1fr 1fr;gap:40px}}
.demo h3{font-size:clamp(1.5rem,1.3rem + .8vw,2rem);font-weight:800;letter-spacing:-.02em}
.demo .intro{color:var(--ink-soft);margin-top:8px}
.range{display:grid;gap:10px;margin-top:22px}
.range .top{display:flex;justify-content:space-between;align-items:baseline}
.range label{font-weight:600}
.range output{font-family:var(--font-head);font-weight:800;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--ink);min-width:2ch;text-align:right}
.rtrack{position:relative;height:44px;--pct:50%}
.rtrack::before,.rtrack .rfill{content:"";position:absolute;left:0;top:17px;height:10px;border-radius:10px}
.rtrack::before{right:0;background:rgba(7,28,59,.1)}
.rtrack .rfill{width:var(--pct);background:var(--c)}
.range input[type=range]{position:relative;-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer}
.range input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:10px;background:transparent}
.range input[type=range]::-moz-range-track{height:10px;border-radius:10px;background:transparent}
.range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-8px;border-radius:50%;background:var(--white);border:4px solid var(--c);box-shadow:0 2px 8px rgba(7,28,59,.25);transition:transform 160ms var(--ease-out)}
.range input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--white);border:4px solid var(--c);box-shadow:0 2px 8px rgba(7,28,59,.25)}
.range input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.range input[type=range]:focus-visible{outline:none}
.range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--white),0 0 0 7px var(--sky)}
.range input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--white),0 0 0 7px var(--sky)}
.demo .fine{margin-top:18px;color:var(--ink-soft);font-size:var(--fs-small)}
.reading{background:var(--paper);border-radius:var(--r);padding:clamp(20px,2.6vw,28px);border:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.reading .k{font-weight:600;color:var(--sky);font-size:var(--fs-small);display:flex;align-items:center;gap:10px}
.reading .k::before{content:"";width:24px;height:2px;background:currentColor}
.reading .state{font-family:var(--font-head);font-weight:800;font-size:clamp(1.5rem,1.3rem + .8vw,2rem);letter-spacing:-.02em;line-height:1.1}
.reading .refl{color:var(--ink-soft)}
.reading ol{list-style:none;display:grid;gap:10px;counter-reset:dir}
.reading ol li{display:grid;grid-template-columns:32px 1fr;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.reading ol li::before{counter-increment:dir;content:counter(dir);display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--navy-900);color:var(--sky-soft);font-family:var(--font-head);font-weight:800;font-size:.875rem}
.reading ol li b{display:block;font-family:var(--font-head);font-weight:700}
.reading ol li span{color:var(--ink-soft)}
.reading .safety{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:14px;border-radius:12px;background:var(--navy-900);color:var(--white);font-weight:600}
.reading .safety svg{width:22px;height:22px;color:var(--orange-tint)}
.reading .safety[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.reading.swap .state,.reading.swap .refl,.reading.swap ol{animation:panelIn 360ms var(--ease-out)}}
.meter-mood{--c:var(--sky)}.meter-burn{--c:var(--orange-deep)}.meter-eng{--c:var(--navy-700)}

/* Tribe challenge cards (phone) */
.chal{display:grid;gap:8px}
.chal .ui-card{display:grid;gap:8px}
.chal .xp{font-family:var(--font-head);font-weight:800;font-size:.875rem;color:var(--sky)}
.chal .head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.chal .ppl{display:flex}
.chal .ppl i{width:20px;height:20px;border-radius:50%;border:2px solid var(--white);margin-left:-6px;background:var(--navy-700)}
.chal .ppl i:first-child{margin-left:0;background:var(--sky)}
.chal .ppl i:nth-child(3){background:var(--gold)}
.chal .ppl i:nth-child(4){background:var(--stone)}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:9px;background:var(--navy-900);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:.8125rem}

/* Provider search UI */
.psearch{display:grid;gap:10px}
.psearch .field-mock{display:flex;align-items:center;gap:8px;height:34px;border-radius:9px;border:1px solid var(--line-strong);background:var(--white);padding:0 10px;color:var(--ink-soft)}
.psearch .field-mock svg{width:14px;height:14px;flex:none}
.psearch .field-mock .caret{width:6px;height:16px;background:var(--sky);border-radius:2px}
@media (prefers-reduced-motion:no-preference){.is-alive .psearch .caret{animation:caret 1.1s steps(1) infinite}}
@keyframes caret{50%{opacity:0}}
.psearch .filters{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.psearch .filters i{display:block;height:26px;border-radius:8px;border:1px solid var(--line-strong);background:var(--white);position:relative}
.psearch .filters i::after{content:"";position:absolute;right:8px;top:9px;width:5px;height:5px;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:rotate(45deg)}
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pcard{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:6px}
.pcard .av{width:28px;height:28px;border-radius:50%;background:var(--paper);border:2px solid var(--sky)}
.pcard .l1{height:7px;width:70%;border-radius:4px;background:rgba(7,28,59,.18)}
.pcard .l2{height:6px;width:45%;border-radius:4px;background:rgba(7,28,59,.1)}
.pcard .tg{display:flex;gap:4px}
.pcard .tg i{height:12px;width:30%;border-radius:4px;background:rgba(37,118,195,.18)}
.pcard .tg i:nth-child(2){background:rgba(201,160,66,.3)}
.lumens{display:flex;align-items:baseline;justify-content:space-between}
.lumens b{font-family:var(--font-head);font-weight:800;font-size:clamp(16px,2vw,22px);color:var(--navy-700)}

/* Category columns */
.cats{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.cats > div{background:var(--white);padding:28px}
.cats h3{font-size:1.125rem;margin-bottom:14px}
.cats ul{list-style:none;display:grid;gap:8px}
.cats li{color:var(--ink-soft);display:flex;gap:10px;align-items:baseline}
.cats li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky);flex:none;transform:translateY(-2px)}
@media (min-width:640px){.cats{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.cats{grid-template-columns:repeat(5,1fr)}}
.cats.short p{color:var(--ink-soft)}

/* Booking request (phone) */
.booking .ui-card{display:grid;gap:0}
.booking .rowk{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem;font-weight:600}
.booking .rowk:last-child{border-bottom:0}
.booking .rowk span:first-child{color:var(--ink-soft)}
.booking .rowk b{font-family:var(--font-head);font-weight:800;color:var(--ink);display:flex;align-items:center;gap:6px}
.booking .rowk b svg{width:14px;height:14px}
.booking .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.booking .slots i{height:34px;border-radius:9px;border:1px solid var(--line-strong);background:var(--white)}
.booking .slots i.on{background:var(--sky);border-color:var(--sky)}
.booking .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.booking .cal i{aspect-ratio:1;border-radius:7px;background:rgba(7,28,59,.06)}
.booking .cal i.av{background:rgba(37,118,195,.18)}
.booking .cal i.pick{background:var(--navy-900)}
.ui-cta{display:flex;align-items:center;justify-content:center;height:40px;border-radius:11px;background:var(--navy-900)}
.ui-cta i{width:40%;height:7px;border-radius:4px;background:rgba(255,255,255,.55)}

/* Partner portal files (laptop) */
.files{display:grid;gap:8px}
.file{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:clamp(12px,1.25vw,14px);font-weight:600}
.file .fi{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--paper);color:var(--navy-700)}
.file .fi svg{width:16px;height:16px}
.file .ct{color:var(--ink-soft);font-variant-numeric:tabular-nums}

/* Contact */
.contact-grid{display:grid;gap:24px}
@media (min-width:1024px){.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start}}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3.4vw,44px)}
.panel.dark{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.panel h2{font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);font-weight:800;letter-spacing:-.025em;margin-bottom:14px}
.panel .intro{color:var(--ink-soft)}
.panel.dark .intro{color:var(--on-dark-soft)}
.cal-slot{margin-top:28px}
.cal-frame{margin-top:24px;border-radius:var(--r);overflow:hidden;background:var(--white);min-height:700px}
.cal-frame iframe{display:block;width:100%;height:700px;border:0}
.contact-list{list-style:none;display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line-dark)}
.contact-list li{display:grid;grid-template-columns:minmax(100px,auto) 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-dark);color:var(--on-dark-soft)}
.contact-list .k{font-weight:600;color:var(--white)}
.contact-list a{color:var(--sky-soft);overflow-wrap:anywhere}
.contact-list a:hover{color:var(--white)}
.form-grid{display:grid;gap:22px}
@media (min-width:700px){.form-grid .two{display:grid;grid-template-columns:1fr 1fr;gap:22px}}
select.input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1F3F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.check{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--sky);cursor:pointer}
.check label{font-weight:400;color:var(--ink-soft)}
.check a{color:var(--sky);font-weight:600}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.status{display:none;grid-template-columns:28px 1fr;gap:12px;padding:16px 18px;border-radius:12px;font-weight:600}
.status svg{width:24px;height:24px}
.status.ok{background:var(--navy-900);color:var(--white)}
.status.ok svg{color:var(--sky-soft)}
.status.err{background:var(--white);color:var(--orange-deep);border:1.5px solid var(--orange-deep)}
.status.show{display:grid}
.status a{color:inherit}
.btn[aria-busy="true"]{opacity:.7;pointer-events:none}

/* Articles */
.crumb{display:inline-flex;align-items:center;gap:8px;color:var(--sky-soft);font-weight:600;text-decoration:none;min-height:44px}
.crumb svg{width:16px;height:16px;transition:transform var(--t) var(--ease-out)}
.crumb:hover svg{transform:translateX(-3px)}
.tags{color:var(--orange-tint);font-weight:600;font-size:var(--fs-small);margin:8px 0 18px}
.byline{margin-top:24px;color:var(--on-dark-soft);font-weight:600}
.prose{max-width:68ch;margin-inline:auto;font-size:1.125rem;line-height:1.75}
.prose > * + *{margin-top:1.25em}
.prose h2{font-size:clamp(1.5rem,1.3rem + .9vw,2.125rem);font-weight:800;letter-spacing:-.025em;margin-top:2em}
.prose p{color:var(--ink)}
.prose .pull{font-family:var(--font-head);font-weight:700;font-size:1.375rem;line-height:1.4;padding-left:24px;border-left:3px solid var(--sky)}
.prose .end{margin-top:2.5em}
.article-cards{display:grid;gap:24px}
@media (min-width:900px){.article-cards{grid-template-columns:1fr 1fr}}
.acard{display:flex;flex-direction:column;gap:16px;min-height:100%;padding:clamp(28px,3.4vw,44px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform 300ms var(--ease-out),box-shadow 300ms ease}
.acard .tg{font-weight:600;color:var(--orange-deep);font-size:var(--fs-small)}
.acard .tt{font-family:var(--font-head);font-weight:800;font-size:clamp(1.5rem,1.25rem + 1vw,2.125rem);line-height:1.12;letter-spacing:-.025em}
.acard .ex{color:var(--ink-soft);flex:1}
.acard .go{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;color:var(--sky)}
.acard .go svg{width:18px;height:18px;transition:transform var(--t) var(--ease-out)}
.acard .bar{height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.acard .bar i{display:block;height:100%;width:100%;background:var(--sky);transform:scaleX(.08);transform-origin:left;transition:transform 600ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .acard:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
  .acard:hover .go svg{transform:translateX(4px)}
  .acard:hover .bar i{transform:scaleX(1)}
}

/* Privacy */
.legal-doc{display:grid;gap:40px}
@media (min-width:1024px){.legal-doc{grid-template-columns:240px 1fr;gap:64px}}
.legal-doc aside .upd{position:sticky;top:calc(var(--header-h) + 32px);font-weight:600;color:var(--ink-soft);padding:18px 20px;border-radius:var(--r);border:1px solid var(--line);background:var(--white)}
.legal-doc .prose{margin:0}
.legal-doc .prose ul{padding-left:1.2em;display:grid;gap:10px}
.legal-doc .prose a{color:var(--sky);font-weight:600}

/* Placeholder: clearly marked gap for Lauren */
.placeholder{display:inline-block;border:2px dashed var(--orange-deep);color:var(--orange-deep);background:var(--white);border-radius:10px;padding:8px 12px;font-weight:600}
.on-dark .placeholder{border-color:var(--orange-tint);color:var(--orange-tint);background:transparent}

/* Home hero stage: phone and ring side by side, nothing over the ring */
.hero-home{padding-block:clamp(48px,7vw,104px) clamp(56px,7vw,96px);overflow:clip}
.hero-home .lead{color:var(--on-dark-soft);margin-top:28px;max-width:38ch}
.hero-home .btn-row{margin-top:36px}
.stage-pair{display:flex;flex-direction:column;align-items:center;gap:28px}
.stage-pair .ring-solo{width:clamp(120px,34vw,170px);flex:none}
.stage-pair .ring-solo img{width:100%;height:auto}
.stage-pair .link-line{display:none}
@media (min-width:760px){
  .stage-pair{flex-direction:row;justify-content:center;gap:0}
  .stage-pair .ring-solo{order:2;width:clamp(170px,18vw,240px)}
  .stage-pair .link-line{display:block;order:1;width:clamp(40px,5vw,72px);height:40px;flex:none}
  .stage-pair .link-line path{fill:none;stroke:var(--sky-soft);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
}
@media (prefers-reduced-motion:no-preference){
  .js .stage-pair .link-line{clip-path:inset(-20% 100% -20% 0);transition:clip-path 1200ms var(--ease-in-out) 900ms}
  .js .stage-pair.is-in .link-line{clip-path:inset(-20% 0 -20% 0)}
}
.lvl{display:flex;align-items:center;gap:10px}
.lvl .badge{position:relative;width:40px;height:40px;flex:none}
.lvl .badge svg{width:100%;height:100%;transform:rotate(-90deg)}
.lvl .badge .bg{stroke:rgba(7,28,59,.1)}
.lvl .badge .fg{stroke:var(--sky);stroke-dasharray:125.6;stroke-dashoffset:calc(125.6 * (1 - var(--v,.74)))}
.lvl .badge .core{position:absolute;inset:8px;border-radius:50%;background:var(--navy-900);display:grid;place-items:center}
.lvl .badge .core svg{width:14px;height:14px;transform:none}
@media (prefers-reduced-motion:no-preference){
  .js .grow .lvl .badge .fg{stroke-dashoffset:125.6}
  .js .grow.is-in .lvl .badge .fg{stroke-dashoffset:calc(125.6 * (1 - var(--v,.74)));transition:stroke-dashoffset 1400ms var(--ease-out) 300ms}
}
.xp-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:.8125rem;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.xp-labels .now{color:var(--ink)}
.rewards{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}
.rewards .ui-chip{padding:7px 8px}
.flame{color:var(--orange-deep)}
.gem{color:var(--gold)}
.gem-wrap{position:relative;display:inline-grid;overflow:hidden;border-radius:3px}
.pulse-head{display:flex;align-items:center;justify-content:space-between}
.pulse-row{padding:8px 0}
.pulse-row + .pulse-row{border-top:1px solid var(--line)}
@media (prefers-reduced-motion:no-preference){
  .is-alive .ui-meter .knob::before{content:"";position:absolute;top:50%;left:0;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:var(--c);opacity:0;animation:halo 6s var(--ease-out) infinite}
  .is-alive .pulse-row:nth-child(3) .knob::before{animation-delay:2s}
  .is-alive .pulse-row:nth-child(4) .knob::before{animation-delay:4s}
  .is-alive .gem-wrap::after{content:"";position:absolute;inset:0;background:var(--white);opacity:.55;transform:translateX(-120%) skewX(-20deg);animation:shine 5s ease-in-out infinite 1s}
}
@keyframes halo{0%{opacity:.28;transform:scale(.5)}40%{opacity:0;transform:scale(1.4)}100%{opacity:0;transform:scale(1.4)}}
@keyframes shine{0%,70%{transform:translateX(-120%) skewX(-20deg)}85%,100%{transform:translateX(120%) skewX(-20deg)}}

/* Journey mini (phone) */
.journey-mini{display:grid;gap:10px}
.jm-row{display:grid;grid-template-columns:1fr auto;gap:6px 8px;font-size:.875rem;font-weight:600}
.jm-row .val{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.jm-row .ui-xp{grid-column:1/-1;height:8px}
.jm-split{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jm-split > div{background:var(--paper);border-radius:10px;padding:8px 10px;display:grid;gap:2px}
.jm-k{font-size:.8125rem;color:var(--ink-soft);font-weight:600;line-height:1.3}
.jm-v{font-family:var(--font-head);font-weight:800;font-size:1rem;color:var(--ink)}
.goal-dots{display:flex;gap:4px;margin-top:2px}
.goal-dots i{width:14px;height:5px;border-radius:5px;background:rgba(7,28,59,.12)}
.goal-dots i.on{background:var(--sky)}
.tribe-day{display:flex;gap:3px;margin-top:2px}
.tribe-day i{flex:1;height:5px;border-radius:5px;background:rgba(7,28,59,.12)}
.tribe-day i.on{background:var(--orange-deep)}

/* Floating companion card next to a device */
.side-card{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow-2);width:min(100%,300px)}
.side-card .ui-title{margin-bottom:12px}
.side-card p.ui-note{margin-top:10px}

@media (max-width:599px){.phone .app{gap:8px;padding:2px 12px 16px}.phone .ui-card{padding:12px}}

/* Privacy note, rewards extras, device duo */
.private-note{margin-top:32px;display:grid;grid-template-columns:auto 1fr;gap:16px;padding:22px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.private-note .lock{width:42px;height:42px;border-radius:12px;background:var(--navy-900);color:var(--sky-soft);display:grid;place-items:center}
.private-note .lock svg{width:20px;height:20px}
.private-note .pn-title{font-size:1.0625rem;font-weight:700;margin-bottom:6px;letter-spacing:-.01em}
.private-note p{color:var(--ink-soft)}
.lumen-k{margin-top:18px;font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:.9375rem}
.device-stage.duo{flex-direction:column;align-items:center;gap:24px}
@media (min-width:760px){
  .device-stage.duo{flex-direction:row;align-items:flex-end;justify-content:center;gap:0}
  .device-stage.duo .side-card{margin:0 0 48px -32px;position:relative;z-index:2}
}
.ring-mark img{width:100%;height:auto}
.phone .jmap{flex:1;min-height:0;display:flex;align-items:center}

/* ===== Lumora page pieces ===== */
.private-line{margin-top:24px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;max-width:60ch;padding:16px 18px;border-radius:var(--r);border:1px solid var(--line-dark);background:var(--navy-800)}
.private-line .lock{width:36px;height:36px;border-radius:10px;background:var(--navy-900);color:var(--sky-soft);display:grid;place-items:center}
.private-line .lock svg{width:18px;height:18px}
.private-line p{color:var(--on-dark-soft)}
.hero-ring{justify-self:center;width:min(70vw,420px)}
.hero-ring img{width:100%;height:auto}
@media (max-width:1099px){.hero-ring{width:min(48vw,240px);justify-self:start}}
.tour{margin-top:clamp(56px,7vw,96px)}
.tour-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px}
.tour-bar .tour-tabs{margin-bottom:0}
.tour-bar .tour-label{margin:0}
.tour .laptop{max-width:980px;margin-top:28px}
.lines{display:grid;gap:6px;flex:1;min-width:0}
.lines i{display:block;height:7px;border-radius:4px;background:rgba(7,28,59,.16);width:72%}
.lines i + i{width:46%;background:rgba(7,28,59,.09)}
.lines.wide i{width:40%;height:9px;background:rgba(7,28,59,.2)}
.dash .bar .lines i{width:80%}
.greet{display:flex;align-items:center;gap:12px}
.greet .buddy{width:clamp(28px,4.5vw,46px);aspect-ratio:1;border-radius:50%;background:var(--sky);box-shadow:inset -6px -6px 0 rgba(7,28,59,.18);flex:none}
.greet .lines i{height:9px}
.appx .lvl .lines{flex:1}
.appx .lvl .core{background:var(--navy-900)}
.appx .tiles .tile{display:flex;align-items:center;gap:10px;min-height:56px}
.ti{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(184,80,26,.12);color:var(--orange-deep);flex:none}
.ti svg{width:15px;height:15px}
.ti.gem{background:rgba(201,160,66,.18);color:var(--gold)}
.seg{display:flex;gap:3px;flex:1}
.seg i{flex:1;height:8px;border-radius:4px;background:var(--orange-deep)}
.seg i:last-child{background:rgba(7,28,59,.1)}
.ring-mini{width:30px;height:30px;flex:none}
.appx .body.center{place-content:center;justify-items:center}
.ui-card.sheet{width:min(100%,320px);display:grid;gap:6px;padding:16px}
.ui-card.sheet .ui-cta{margin-top:8px}
.cols-chart{display:flex;align-items:flex-end;gap:6%;height:clamp(60px,10vw,120px)}
.cols-chart i{flex:1;height:calc(var(--v) * 100%);border-radius:6px 6px 2px 2px;background:var(--sky)}
.cols-chart i:nth-child(odd){background:var(--navy-700)}
.jhead{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.jhead .chips{display:flex;gap:6px}
.jhead .ui-chip{padding:5px 7px}
.appx .jmap{border-radius:10px}
.tribe-tabs{display:flex;gap:6px;padding:4px;border-radius:10px;background:rgba(7,28,59,.06);width:max-content}
.tribe-tabs i{width:56px;height:22px;border-radius:7px}
.tribe-tabs i.on{background:var(--white);box-shadow:0 1px 2px rgba(7,28,59,.12)}
.xp-dot{width:34px;height:16px;border-radius:6px;background:rgba(37,118,195,.18)}
.ui-card.ghost{opacity:.6}
.chal .ui-btn{min-width:72px}
.risk{display:flex;gap:10px}
.risk i{width:12px;height:12px;border-radius:50%}
.risk .r1{background:var(--sky)}.risk .r2{background:var(--gold)}.risk .r3{background:var(--orange-deep)}.risk .r4{background:var(--navy-700)}
.strong-line{margin-top:24px;font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:1.125rem}
.pulse-intro{margin-top:clamp(72px,9vw,128px)}
.demo-title{font-size:clamp(1.5rem,1.3rem + .8vw,2rem);font-weight:800;letter-spacing:-.02em}
.eap-foot{display:grid;gap:32px;margin-top:clamp(40px,5vw,64px);align-items:center}
@media (min-width:1024px){.eap-foot{grid-template-columns:1.2fr .8fr;gap:64px}}
.research{display:grid;gap:40px;padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--line-dark)}
.research .r-main .lead{color:var(--on-dark-soft);max-width:36ch;margin-top:18px}
.research .pct{color:var(--sky-soft)}
.research .r-side{display:grid;gap:18px;align-content:end}
.research .r-side .lead{color:var(--white)}
.globe-bar{height:14px;border-radius:14px;background:var(--navy-800);overflow:hidden;max-width:420px}
.globe-bar i{display:block;height:100%;width:100%;background:var(--orange-tint);transform-origin:left;transform:scaleX(var(--v))}
@media (prefers-reduced-motion:no-preference){
  .js .grow .globe-bar i{transform:scaleX(0);transition:transform 1400ms var(--ease-out) 400ms}
  .js .grow.is-in .globe-bar i{transform:scaleX(var(--v))}
}
.source a{color:var(--sky-soft)}
@media (min-width:1024px){.research{grid-template-columns:1fr 1fr;gap:80px}}
.portal-line{margin-top:28px;font-weight:600;color:var(--navy-700)}
.wins{margin-top:clamp(40px,5vw,64px);display:grid;gap:24px;align-items:center;padding:clamp(28px,3.4vw,44px);border-radius:var(--r-lg);background:var(--stone)}
.wins p{color:var(--ink-soft);margin-top:10px;max-width:70ch}
@media (min-width:1024px){.wins{grid-template-columns:1fr auto;gap:48px}}
.cta-band .ticks li{color:var(--on-dark-soft)}

/* ===== Device screen details (labels reused verbatim from content) ===== */
@media (min-width:1100px){.hero-split.wide-copy{grid-template-columns:1.45fr .55fr}}
.tour-panel{height:100%}
.appx .side span{gap:8px}
.greet{display:flex;align-items:center;gap:14px;background:var(--navy-900);border-radius:12px;padding:12px 14px}
.greet .ui-title{color:var(--white);font-size:clamp(13px,1.3vw,16px)}
.greet .buddy{width:clamp(30px,4.5vw,44px);aspect-ratio:1;flex:none;background:none;box-shadow:none;border-radius:0}
.greet .buddy img{width:100%;height:auto}
.ui-btn.sky{background:var(--sky-soft);color:var(--navy-900);margin-top:6px;min-height:26px;padding:3px 10px}
.appx .tiles .tile{display:flex;align-items:center;gap:8px;min-height:52px}
.appx .tiles .tile small{font-size:clamp(11px,1.05vw,13px);font-weight:600;color:var(--ink);line-height:1.2}
.appx .xp-labels{font-size:clamp(11px,1vw,13px)}
.appx .ui-row{font-size:clamp(12px,1.1vw,14px);grid-template-columns:0 1fr auto}
.ui-card.sheet .ui-note{margin-top:4px}
.jmap{position:relative}
.jmap .zone{position:absolute;font-family:var(--font-head);font-weight:800;font-size:clamp(10px,1vw,12.5px);letter-spacing:.04em;color:var(--navy-700);background:rgba(255,255,255,.75);padding:2px 7px;border-radius:6px}
.jmap .z1{left:3%;bottom:4%}.jmap .z2{left:34%;bottom:20%}.jmap .z3{left:58%;top:40%}.jmap .z4{left:10%;top:22%}.jmap .z5{right:3%;top:2%}
.dash-mini{display:grid;gap:clamp(6px,1.4vw,12px)}
.dash-mini .bar{display:grid;grid-template-columns:minmax(64px,24%) 1fr 26px;align-items:center;gap:10px;font-weight:600;font-size:clamp(11px,1.1vw,14px);color:var(--ink)}
.dash-mini .bar .t{height:clamp(8px,1.3vw,14px);border-radius:999px;background:rgba(7,28,59,.08);overflow:hidden}
.dash-mini .bar .t i{display:block;height:100%;width:100%;border-radius:999px;background:var(--sky);transform-origin:left;transform:scaleX(var(--v))}
.dash-mini .bar.low .t i{background:var(--orange-deep)}
.dash-mini .bar .n{font-family:var(--font-head);font-weight:800;text-align:right}
.dash .bar .n:empty{display:none}
.dash .bar:has(.n:empty){grid-template-columns:minmax(70px,26%) 1fr}
.tribe-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:rgba(7,28,59,.06);width:max-content}
.tribe-tabs span{padding:4px 10px;border-radius:7px;font-size:.8125rem;font-weight:600;color:var(--ink-soft)}
.tribe-tabs span.on{background:var(--white);color:var(--ink);box-shadow:0 1px 2px rgba(7,28,59,.12)}
.chal .ui-title{font-size:.9375rem}
.chal .xp{font-family:var(--font-head);font-weight:800;font-size:.8125rem;color:var(--sky);background:rgba(37,118,195,.1);padding:2px 8px;border-radius:6px}
.chal .ui-btn{min-width:0}
.lumens{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lumens .lm{font-family:var(--font-head);font-weight:800;font-size:clamp(12px,1.2vw,15px);color:var(--navy-700);background:rgba(201,160,66,.2);padding:4px 10px;border-radius:8px}
.psearch .filters i{display:flex;align-items:center;height:auto;min-height:26px;padding:3px 22px 3px 8px;font-style:normal;font-size:clamp(10px,.95vw,12.5px);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcards{grid-template-columns:repeat(2,1fr)}
.pcard{grid-template-columns:28px 1fr;align-items:center}
.pcard b{font-family:var(--font-head);font-weight:700;font-size:clamp(11px,1.05vw,13.5px);line-height:1.2;color:var(--ink)}
.pcard .tg{grid-column:1/-1}
.pcard .tg i{width:auto;height:auto;padding:2px 7px;font-style:normal;font-size:clamp(10px,.9vw,12px);font-weight:600;color:var(--navy-700);border-radius:5px}
.appx .body.map-body{grid-template-rows:auto auto 1fr;height:100%;align-content:stretch}
.appx .map-body .jmap{display:flex;align-items:center;justify-content:center;min-height:0}
.appx .map-body .jmap svg{width:100%;height:100%;max-height:100%}
.appx .body{height:100%}
.pulse-intro{grid-template-columns:1fr!important;gap:clamp(32px,4vw,56px)}
@media (min-width:1024px){.pulse-intro > div:first-child{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;align-items:start}
  .pulse-intro > div:first-child > h3{grid-row:1/4}
  .pulse-intro > div:first-child > .lead{margin-top:0!important}}
.chal .tribe-day{margin-top:4px}
.chal .tribe-day i{height:7px}

/* ===== Partners ===== */
.portal-ui{display:grid;grid-template-columns:clamp(36px,9%,60px) 1fr;height:100%;background:var(--paper)}
.pu-side{background:var(--navy-900);display:flex;flex-direction:column;align-items:center;gap:10%;padding:14% 0}
.pu-side img{width:62%;height:auto}
.pu-side i{display:block;width:38%;aspect-ratio:1;border-radius:6px;background:rgba(185,198,220,.28)}
.pu-side i.on{background:var(--sky-soft)}
.pu-main{padding:clamp(12px,4%,28px);display:grid;gap:clamp(8px,2.2vw,16px);align-content:center;min-width:0}
.pu-main .ui-title{font-size:clamp(13px,1.6vw,17px)}
.checklist-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);padding:clamp(28px,3.4vw,44px);box-shadow:var(--shadow-1)}

/* ===== Programmes ===== */
.progression{display:flex;gap:10px;margin-top:40px;max-width:420px}
.progression i{flex:1;height:6px;border-radius:6px;background:var(--sky-soft);opacity:calc(.35 + var(--i) * .2)}
@media (prefers-reduced-motion:no-preference){
  .js .progression.grow i{transform:scaleX(0);transform-origin:left;transition:transform 700ms var(--ease-out);transition-delay:calc(var(--i) * 180ms + 300ms)}
  .js .progression.grow.is-in i{transform:none}
}
.h3x{font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.ed-list.prog .desc{display:grid;gap:16px}
.ed-list.prog .desc p:first-child{color:var(--ink-soft)}
.ed-list.prog .body{display:grid;gap:10px;align-content:start}
.quote-block{margin:clamp(56px,7vw,96px) 0 0;max-width:62ch}
.quote-block figcaption{margin-top:16px;padding-left:clamp(24px,3vw,40px);font-weight:600;color:var(--ink-soft)}
.course-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--line);padding:clamp(28px,3.4vw,44px);box-shadow:var(--shadow-1)}
.modules{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin-bottom:12px}
.modules i{height:28px;border-radius:5px;background:var(--navy-700);transition-delay:calc(var(--k,0) * 40ms)}
.modules i:nth-child(-n+5){background:var(--sky)}
@media (prefers-reduced-motion:no-preference){
  .js .modules.grow i{transform:scaleY(.2);transform-origin:bottom;opacity:.3;transition:transform 500ms var(--ease-out),opacity 300ms ease}
  .js .modules.grow.is-in i{transform:none;opacity:1}
}
.review{margin:28px 0 0;padding:20px 22px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.review p{color:var(--ink)}
.review .stars{display:flex;gap:4px;margin-bottom:12px;color:var(--gold)}
.review .stars svg{width:16px;height:16px}

/* ===== About ===== */
.pull-line{font-family:var(--font-head);font-weight:700;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);line-height:1.35;color:var(--ink)!important;padding-left:20px;border-left:3px solid var(--sky)}
.mv{display:grid;gap:56px}
@media (min-width:1024px){.mv{grid-template-columns:1fr 1fr;gap:96px}}
.family{display:grid;gap:20px}
@media (min-width:1024px){.family{grid-template-columns:1fr 1.4fr;align-items:stretch}}
.fam-root,.fam-node{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,3vw,40px);display:grid;gap:12px;align-content:start}
.fam-root{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.fam-root p{color:var(--on-dark-soft)}
.fam-node p{color:var(--ink-soft)}
.fam-root .num,.fam-node .num{position:absolute;top:24px;right:28px;font-size:.9375rem;color:var(--sky)}
.fam-root .num{color:var(--sky-soft)}
.logo-plate-sm{display:inline-flex;width:max-content;background:var(--white);border-radius:12px;padding:8px 12px;margin-bottom:8px}
.logo-plate-sm img{height:56px;width:auto}
.fam-branches{display:grid;gap:20px;position:relative}
@media (min-width:700px){.fam-branches{grid-template-columns:1fr 1fr}}
.ring-sm{width:56px;height:56px;margin-bottom:8px;border-radius:50%;background:var(--navy-900);padding:8px}
.ring-sm img{width:100%;height:100%}
.ring-sm.soon{background:transparent;border:2px dashed var(--line-strong);padding:0;display:grid;place-items:center}
.ring-sm.soon span{width:14px;height:14px;border-radius:50%;background:var(--sky)}
@media (prefers-reduced-motion:no-preference){.ring-sm.soon span{animation:dotpulse 2.4s ease-in-out infinite}}
@keyframes dotpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.5}}
.facts{display:grid;gap:1px;margin-top:clamp(40px,5vw,64px);background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media (min-width:900px){.facts{grid-template-columns:repeat(3,1fr)}}
.fact{background:var(--white);padding:clamp(28px,3vw,40px);display:grid;gap:10px;align-content:start;grid-template-columns:auto 1fr}
.fact > .num{font-size:clamp(3rem,2.4rem + 2vw,4.25rem);line-height:.9;color:var(--navy-900)}
.fact > .num.plus{color:var(--sky);align-self:start}
.fact h3,.fact p,.fact .target,.fact .dots{grid-column:1/-1}
.fact h3{font-size:1.25rem;margin-top:10px}
.fact p{color:var(--ink-soft)}
.fact .target{height:10px;border-radius:10px;background:rgba(7,28,59,.08);overflow:hidden;margin-top:6px}
.fact .target i{display:block;height:100%;width:100%;background:var(--sky);transform-origin:left;transform:scaleX(var(--v))}
.fact .dots{margin-top:6px}
@media (prefers-reduced-motion:no-preference){
  .js .facts.grow .target i{transform:scaleX(0);transition:transform 1200ms var(--ease-out) 300ms}
  .js .facts.grow.is-in .target i{transform:scaleX(var(--v))}
}

/* ===== Insights and articles ===== */
.narrow{max-width:calc(840px + var(--gutter) * 2)}
.article-hero .h1{font-size:clamp(2.125rem,1.4rem + 3vw,3.75rem)}
.read-progress{position:sticky;top:var(--header-h);z-index:50;height:3px;background:transparent}
.read-progress i{display:block;height:100%;width:100%;background:var(--sky);transform-origin:left;transform:scaleX(var(--rp,0))}
.wins.plain{background:var(--paper)}

/* ===== Contact ===== */
.contact-section{padding-top:clamp(40px,5vw,72px)}
.check input:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.field.is-invalid .check input{outline:2px solid var(--orange-deep);outline-offset:3px}

/* ===== 404 ===== */
.nf{min-height:calc(100vh - var(--header-h) - 120px);display:flex;align-items:center}
.nf-grid{display:grid;gap:48px;align-items:center}
.nf-grid .lead{margin-top:20px}
.nf-ring{width:min(60vw,360px)}
.nf-ring img{width:100%;height:auto}
@media (min-width:900px){.nf-grid{grid-template-columns:1.3fr .7fr}}

/* ===== Responsive fixes ===== */
:root{--fs-h1:clamp(1.75rem,.5rem + 6.5vw,4.75rem)}
@media (max-width:599px){.portrait-frame .ring-tag{right:12px;width:80px;height:80px;bottom:16px}}
@media (max-width:399px){.chal .ui-card:nth-of-type(3){display:none}}
.psearch .filters i::first-letter{text-transform:uppercase}
.research .figure-big{margin:0}
.research .figure-big .pct{color:var(--sky-soft)}
.fact > .num.big{grid-column:1/-1;font-size:clamp(3rem,2.4rem + 2vw,4.25rem);line-height:.9;color:var(--navy-900);margin:0}
.fact > .num.big .plus{color:var(--sky)}
/* Contrast: sky text only on white, so light-surface accents use navy-700 text with a sky mark */
.eyebrow{color:var(--navy-700)}
.eyebrow::before{background:var(--sky)}
.on-dark .eyebrow{color:var(--sky-soft)}
.on-dark .eyebrow::before{background:var(--sky-soft)}
.link{color:var(--navy-700);text-decoration-color:var(--sky);text-decoration-thickness:2px}
.link:hover{color:var(--ink);text-decoration-thickness:3px}
.on-dark .link{color:var(--sky-soft);text-decoration-color:var(--sky-soft)}
.reading .k{color:var(--navy-700)}
.reading .k::before{background:var(--sky)}

/* ================= Smoke test 1: client feedback ================= */

/* Light pastel tints requested by Lauren for coloured sections (extension to the 15 brand values, flagged for sign off) */
:root{--pastel-green:#E3F2E6;--pastel-blue:#E2EEFB;--pastel-yellow:#FBF1D3;--pastel-pink:#FBE3E6;--pastel-peach:#FDE8DA}

/* ---------- Orange accents everywhere ---------- */
.eyebrow::before,.on-dark .eyebrow::before{background:var(--orange)}
.stop{color:var(--orange-deep)}
.on-dark .stop{color:var(--orange)}
.pw,.hl{color:var(--orange-deep)}
.on-dark .pw,.on-dark .hl{color:var(--orange)}
.note-line::before{background:var(--orange)}

/* Pulse line sits clearly below the word */
.pw svg{bottom:-.46em;height:.34em}
.split .w{padding-bottom:.56em;margin-bottom:-.56em}
h1:has(.pw),h2:has(.pw),h3:has(.pw){padding-bottom:.3em}

/* More air between eyebrow, heading and pulse line */
.eyebrow{margin-bottom:26px}
.sec-head{gap:26px}
.sec-head .eyebrow{margin-bottom:0}

/* Section heads: eyebrow on top, paragraph centred against the heading */
@media (min-width:1024px){
  .sec-head.split-2{grid-template-columns:minmax(0,7fr) minmax(0,5fr);row-gap:26px;align-items:center}
  .sec-head.split-2 > div{display:contents}
  .sec-head.split-2 .eyebrow{grid-column:1/-1;grid-row:1}
  .sec-head.split-2 h2{grid-column:1;grid-row:2}
  .sec-head.split-2 > .lead,.sec-head.split-2 > div.reveal{grid-column:2;grid-row:2;align-self:center;padding-bottom:0}
}

/* Figures: dots, numbers and operators in orange */
.dots i,.dots.d11 i{background:var(--orange)}
.dots.d36 i{background:var(--orange)}
.dots.d1 i{border-color:var(--navy-900);box-shadow:inset 0 0 0 7px var(--paper),inset 0 0 0 30px var(--orange)}
.tally .num,.tally.total .num{color:var(--orange-deep)}
.op{color:var(--orange)}

/* Card numbers and tracks */
.cell-num .num{color:var(--orange-deep)}
.on-dark .cell-num .num{color:var(--orange)}
.cell-num .track i,.on-dark .cell-num .track i{background:var(--orange)}
.lined .cell::before{background:var(--orange)}
.card .card-num .num{color:var(--orange-deep)}

/* Ticks and icon blocks */
.ticks li::before{background-color:var(--orange);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23071C3B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")}
.on-dark .ticks li::before{background-color:var(--orange)}
.private-note .lock,.private-line .lock{background:var(--orange);color:var(--navy-900)}

/* Steps rail: orange nodes */
.steps.is-in li::before,.on-dark .steps.is-in li::before{background:var(--orange);border-color:var(--orange);color:var(--navy-900)}

/* Rewards and level details */
.ladder .step.now .lbl::after{background:var(--orange);box-shadow:0 0 0 3px rgba(247,120,51,.25)}

/* Editorial numbers (programmes) */
.ed-list .num{color:var(--orange-deep)}
.on-dark .ed-list .num{color:var(--orange)}

/* ---------- 5 Capitals: pastel rows, orange numbers and radar points ---------- */
.radar .node,.on-dark .radar .node{fill:var(--orange);stroke:var(--orange)}
.radar .node.on{fill:var(--orange-tint)}
.cap-list,.on-dark .cap-list{background:transparent;border:0;gap:10px;border-radius:0;overflow:visible}
.cap-list li,.on-dark .cap-list li{border-radius:var(--r);border:1px solid var(--line);transition:transform 250ms var(--ease-out),box-shadow 250ms ease}
.cap-list li:nth-child(1){background:var(--pastel-green)}
.cap-list li:nth-child(2){background:var(--pastel-blue)}
.cap-list li:nth-child(3){background:var(--pastel-yellow)}
.cap-list li:nth-child(4){background:var(--pastel-pink)}
.cap-list li:nth-child(5){background:var(--pastel-peach)}
.cap-list li.on,.on-dark .cap-list li.on{transform:translateX(6px);box-shadow:0 8px 24px rgba(7,28,59,.18)}
.cap-list h3,.on-dark .cap-list h3{color:var(--ink)}
.cap-list .num,.on-dark .cap-list .num{color:var(--orange-deep)}
.cap-list .subs,.on-dark .cap-list .subs{color:var(--navy-700)}
.cap-list p,.on-dark .cap-list p{color:var(--ink-soft)}

/* ---------- Header: livelier menu ---------- */
.site-header{border-bottom:0;box-shadow:0 1px 0 var(--line),0 6px 18px rgba(7,28,59,.05)}
.site-header::before{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:3px;background:var(--orange);transform-origin:left;transform:scaleX(var(--scroll,0));z-index:1}
.nav-primary{position:relative}
.nav-primary a{font-family:var(--font-head);font-weight:700;font-size:.9375rem;letter-spacing:-.005em;padding:0 14px;transition:color 200ms ease,background-color 200ms ease}
.nav-primary a::after{display:none}
@media (hover:hover){.nav-primary a:hover{background:var(--paper);color:var(--navy-700)}}
.nav-primary a[aria-current="page"]{color:var(--navy-700)}
.nav-ind{position:absolute;left:0;bottom:2px;height:12px;width:var(--w,0px);transform:translateX(var(--x,0px));opacity:var(--o,0);pointer-events:none;transition:transform 380ms var(--ease-out),width 380ms var(--ease-out),opacity 200ms ease}
.nav-ind svg{width:100%;height:100%;overflow:visible}
.nav-ind path{fill:none;stroke:var(--orange);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.portal-link{gap:6px;font-size:var(--fs-small)!important;font-weight:600}
.portal-link svg{width:15px;height:15px;color:var(--orange-deep)}
.mobile-menu .portal-link svg{color:var(--orange)}
.mobile-menu .primary a::after{border-color:var(--orange)}
@media (prefers-reduced-motion:reduce){.nav-ind{transition:none}}

/* ---------- Footer: white brand block, navy menu with accents ---------- */
.site-footer{position:relative;padding-top:0}
.footer-pulse{height:40px;margin-bottom:clamp(40px,6vw,72px)}
.footer-pulse svg{display:block;width:100%;height:100%}
.footer-pulse path{fill:none;stroke:var(--orange);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.site-footer .brand-col{background:var(--white);color:var(--ink);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);align-self:start}
.site-footer .footer-logo{display:inline-flex;border-radius:10px}
.site-footer .footer-logo img{height:84px;width:auto}
.site-footer .brand-col p{color:var(--ink-soft);max-width:34ch}
.site-footer .brand-col .social a{border-color:var(--line-strong);color:var(--navy-900)}
.site-footer .brand-col .social a:hover,.site-footer .brand-col .social a:focus-visible{color:var(--navy-900);border-color:var(--orange);box-shadow:0 0 0 1px rgba(247,120,51,.45),0 0 12px rgba(247,120,51,.3)}
.site-footer .brand-col :focus-visible{outline-color:var(--sky)}
.site-footer .col-title{color:var(--sky-soft);display:flex;align-items:center;gap:10px}
.site-footer .col-title::before{content:"";width:18px;height:2px;background:var(--orange);border-radius:2px}
.site-footer .cols a:hover{color:var(--orange-tint)}
.site-footer .legal a:hover{color:var(--orange-tint)}

/* ---------- CTA bands: button sits under the text ---------- */
.cta-band .inner{grid-template-columns:1fr}
@media (min-width:900px){
  .cta-band .inner{grid-template-columns:auto 1fr;column-gap:56px;row-gap:28px}
  .cta-band .inner > .ring-mark{grid-row:1/3}
  .cta-band .inner > .btn{grid-column:2;justify-self:start}
}

/* ---------- Ways in: aligned headings, paragraphs and buttons ---------- */
@supports (grid-template-rows:subgrid){
  @media (min-width:900px){
    .ways{grid-auto-rows:auto}
    .way{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:14px;align-content:start}
    .way .btn{align-self:end}
  }
}

/* ---------- Device note centred under the phone ---------- */
.phone-col{display:flex;flex-direction:column;align-items:center}
.phone-col .device-note{margin-top:18px}

/* ---------- About ---------- */
.lead-italic{font-style:italic;color:var(--ink-soft)}
.fam-root{background:var(--white);border-color:var(--line);color:var(--ink)}
.fam-root p{color:var(--ink-soft)}
.fam-root .logo-wrap img{height:72px;width:auto}
.fam-node.lumora-node{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}
.fam-node.lumora-node p{color:var(--on-dark-soft)}
.fam-node.lumora-node .ring-sm{background:transparent;padding:0;width:64px;height:64px}
.fam-root .num,.fam-node .num{color:var(--orange-deep)}
.fam-node.lumora-node .num{color:var(--orange)}
.ring-sm.soon span{background:var(--orange)}
.facts{background:var(--line-dark);border-color:var(--navy-900)}
.fact{background:var(--navy-900);color:var(--white)}
.fact > .num.big{color:var(--orange)}
.fact > .num.big .plus{color:var(--orange-tint)}
.fact h3{color:var(--sky-soft)}
.fact p{color:var(--on-dark-soft)}
.fact .target{background:var(--navy-800)}
.fact .target i{background:var(--orange)}
.fact .dots i{background:var(--orange)}

/* ---------- Lumora ---------- */
.research .pct,.research .figure-big .pct{color:var(--orange)}
.compare > div:not(.adds){background:var(--pastel-blue);border-color:var(--pastel-blue)}
.cats.short.main-cats{grid-template-columns:1fr}
@media (min-width:600px){.cats.short.main-cats{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cats.short.main-cats{grid-template-columns:repeat(4,1fr)}}
.cats.main-cats > div{display:flex;align-items:center;gap:14px;padding:22px 24px}
.cats.main-cats h3{margin:0;font-size:1.0625rem}
.cats.main-cats .ci{flex:none;width:12px;height:12px;border-radius:50%;background:var(--orange)}
.cats.main-cats > div:nth-child(5n+1){background:var(--pastel-green)}
.cats.main-cats > div:nth-child(5n+2){background:var(--pastel-blue)}
.cats.main-cats > div:nth-child(5n+3){background:var(--pastel-yellow)}
.cats.main-cats > div:nth-child(5n+4){background:var(--pastel-pink)}
.cats.main-cats > div:nth-child(5n){background:var(--pastel-peach)}

/* Real app shell in the tour (full menu and dashboard) */
.appx.real{grid-template-columns:24% 1fr}
.appx.real .side{gap:1px;padding:5% 4%;overflow:hidden}
.appx.real .side .logo{width:22%;max-width:30px;margin:0 0 6% 6%}
.appx.real .side span{padding:3px 8px;font-size:clamp(10px,.9vw,12.5px);border-radius:6px}
.appx.real .side span.on{background:var(--paper);color:var(--navy-700)}
.appx.real .side span.on i{background:var(--orange)}
.appx.real .side hr{border:0;border-top:1px solid var(--line);margin:4% 0;width:100%}
.real-top{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.real-top .cf{width:22px;height:22px;border-radius:6px;background:var(--navy-900)}
.real-top b{font-family:var(--font-head);font-size:clamp(11px,1vw,13px);color:var(--ink);display:block;line-height:1.1}
.real-top small{font-size:clamp(10px,.85vw,11.5px);color:var(--ink-soft)}
.real-level{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}
.real-level .t{font-family:var(--font-head);font-weight:700;font-size:clamp(12px,1.1vw,15px);color:var(--ink)}
.real-level .s{font-size:clamp(10px,.9vw,12px);color:var(--ink-soft)}
.real-level .xp{font-family:var(--font-head);font-weight:800;font-size:clamp(12px,1.1vw,15px);color:var(--sky);text-align:right}
.real-level .ui-xp{grid-column:1/-1;margin-top:6px}
.real-level .meta{grid-column:1/-1;display:flex;justify-content:space-between;font-size:clamp(10px,.85vw,11.5px);color:var(--ink-soft)}
.real-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.real-tiles > div{border-radius:10px;padding:8px 10px;display:grid;gap:2px;align-content:start;border:1px solid var(--line)}
.real-tiles .yel{background:var(--pastel-yellow)}
.real-tiles .blu{background:var(--pastel-blue)}
.real-tiles .gem-t{background:var(--pastel-peach)}
.real-tiles small{font-size:clamp(9.5px,.8vw,11px);font-weight:700;letter-spacing:.04em;color:var(--ink-soft)}
.real-tiles b{font-family:var(--font-head);font-weight:800;font-size:clamp(14px,1.6vw,22px);line-height:1.05}
.real-tiles .yel b{color:var(--orange-deep)}
.real-tiles .blu b{color:var(--sky)}
.real-tiles .gem-t b{color:var(--orange-deep)}
.real-tiles span{font-size:clamp(9.5px,.8vw,11px);color:var(--ink-soft);line-height:1.25}
.real-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.real-row > div{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;gap:4px}
.real-row small{font-size:clamp(9.5px,.8vw,11px);font-weight:700;letter-spacing:.04em;color:var(--ink-soft)}
.real-row .chips2{display:flex;gap:10px;font-size:clamp(10px,.9vw,12px);font-weight:600;color:var(--ink)}
.real-row .chips2 i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--pastel-blue);margin-right:5px;vertical-align:-1px;border:1px solid var(--line)}
.real-row .goals{display:flex;gap:14px}
.real-row .goals span{display:grid;text-align:center;font-size:clamp(9.5px,.8vw,11px);color:var(--ink-soft)}
.real-row .goals b{font-family:var(--font-head);font-weight:800;font-size:clamp(12px,1.2vw,16px);color:var(--ink)}
.op{color:var(--orange-deep)}
.cap-list .num,.on-dark .cap-list .num{font-size:1.375rem;padding-top:0;line-height:1.15}
.way .role::before,.reading .k::before,.p-group h2::before,.quote,.prose .pull,.pull-line{border-color:var(--orange)}
.way .role::before,.reading .k::before{background:var(--orange)}

/* ================= Round 3: client review ================= */

/* One brand orange (#F77833) for every accent. orange-deep stays only for small text on light, as the brand guidelines say */
.stop,.on-dark .stop,.pw,.hl,.on-dark .pw,.on-dark .hl{color:var(--orange)}
.cell-num .num,.on-dark .cell-num .num,.card .card-num .num{color:var(--orange)}
.fam-root .num,.fam-node .num,.fam-node.lumora-node .num{color:var(--orange)}

/* Figures: navy numbers and blue operators as before; only the dots are orange */
.tally .num,.tally.total .num{color:var(--navy-900)}
.op{color:var(--sky)}

/* Programmes list as before (blue numbers) */
.ed-list .num{color:var(--sky)}
.on-dark .ed-list .num{color:var(--sky-soft)}

/* About figures: white numbers as before, only + and % orange */
.fact > .num.big{color:var(--white)}
.fact > .num.big .plus{color:var(--orange)}

/* 5 Capitals: cards as before, orange numbers */
.cap-list,.on-dark .cap-list{gap:1px;border-radius:var(--r-lg);overflow:hidden}
.cap-list{background:var(--line);border:1px solid var(--line)}
.on-dark .cap-list{background:var(--line-dark);border:1px solid var(--line-dark)}
.cap-list > li:nth-child(n){background:var(--white);border:0;border-radius:0;transform:none;box-shadow:none}
.on-dark .cap-list > li:nth-child(n){background:var(--navy-900)}
.cap-list > li.on:nth-child(n){background:var(--paper)}
.on-dark .cap-list > li.on:nth-child(n){background:var(--navy-800)}
.cap-list h3{color:var(--ink)}
.on-dark .cap-list h3{color:var(--white)}
.cap-list .subs{color:var(--navy-700)}
.on-dark .cap-list .subs{color:var(--sky-soft)}
.cap-list p{color:var(--ink-soft)}
.on-dark .cap-list p{color:var(--on-dark-soft)}
.cap-list .num,.on-dark .cap-list .num{color:var(--orange)}

/* The radar's web layers carry the pastel shades */
.radar polygon.web:nth-of-type(1){fill:var(--pastel-green)}
.radar polygon.web:nth-of-type(2){fill:var(--pastel-blue)}
.radar polygon.web:nth-of-type(3){fill:var(--pastel-yellow)}
.radar polygon.web.core{fill:var(--pastel-pink)}
.radar polygon.web,.on-dark .radar polygon.web{stroke:rgba(7,28,59,.14)}
.radar line.web,.on-dark .radar line.web{stroke:rgba(7,28,59,.16)}
.radar .shape,.on-dark .radar .shape{fill:rgba(18,52,105,.16);stroke:var(--navy-700)}
.radar .node,.on-dark .radar .node{fill:var(--orange);stroke:var(--white);stroke-width:2.5}

/* Footer fine print: smaller and centred */
.site-footer .legal{font-size:.8125rem;line-height:1.7;text-align:center;max-width:none;margin-top:48px;padding-top:24px}

/* Devices centre on the body text, not on the heading */
@media (min-width:1024px){
  .split-layout.dev{grid-template-rows:repeat(8,auto);row-gap:0;align-items:start}
  .split-layout.dev > div:first-child{display:contents}
  .split-layout.dev > div:first-child > *{grid-column:1}
  .split-layout.dev > :last-child{grid-column:2;grid-row:3 / -1;align-self:center}
  .split-layout.dev.flip > div:first-child > *{grid-column:2}
  .split-layout.dev.flip > :last-child{grid-column:1;order:0}
}

/* EAP comparison: headings and bullet lists start on the same line in both blocks */
@supports (grid-template-rows:subgrid){
  @media (min-width:900px){
    .compare{row-gap:0;column-gap:20px}
    .compare > div{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
    .compare .tag{margin-bottom:10px}
    .compare h3{margin:0;align-self:start}
    .compare .ticks{margin-top:24px;align-self:start}
  }
}
.compare > div:not(.adds) .tag{color:var(--navy-700)}

/* Contact details: one tidy label column */
.contact-list li{grid-template-columns:11rem 1fr;align-items:baseline}
@media (max-width:479px){.contact-list li{grid-template-columns:1fr;gap:4px}}

/* Card labels: one consistent colour per surface */
.way .role{color:var(--navy-700)}
.way.lead-way .role{color:var(--sky-soft)}

/* Provider categories: clean, centred cards with an icon */
.cat-grid{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1120px;margin-inline:auto;padding:0}
.cat{position:relative;flex:0 1 calc(50% - 8px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px 16px 22px;box-shadow:var(--shadow-1);transition:transform 300ms var(--ease-out),box-shadow 300ms ease}
.cat::before{content:"";position:absolute;left:50%;top:-1px;width:56px;height:3px;border-radius:0 0 3px 3px;background:var(--orange);transform:translateX(-50%) scaleX(.5);transition:transform 420ms var(--ease-out)}
.cat-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--orange);color:var(--navy-900);transition:transform 300ms var(--ease-out)}
.cat-ico svg{width:26px;height:26px}
.cat h3{margin:0;font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:-.005em;color:var(--ink)}
@media (min-width:600px){.cat{flex-basis:calc(33.333% - 11px)}}
@media (min-width:1024px){.cat{flex-basis:calc(25% - 12px)}}
@media (hover:hover) and (pointer:fine){
  .cat:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
  .cat:hover::before{transform:translateX(-50%) scaleX(2)}
  .cat:hover .cat-ico{transform:rotate(-6deg) scale(1.06)}
}

/* Footer: globe mark only, a little larger; livelier social icons */
.site-footer .footer-logo img{height:96px;width:auto}
.site-footer .brand-col .social{gap:12px}
.site-footer .brand-col .social a{width:48px;height:48px;border:0;border-radius:14px;background:var(--navy-900);color:var(--white);transition:transform 260ms var(--ease-out),background-color 220ms ease,color 220ms ease,box-shadow 220ms ease}
.site-footer .brand-col .social svg{width:22px;height:22px}
.site-footer .brand-col .social a:hover,.site-footer .brand-col .social a:focus-visible{background:var(--orange);color:var(--navy-900);border-color:transparent;transform:translateY(-3px) rotate(-6deg);box-shadow:0 0 0 1px rgba(247,120,51,.55),0 0 16px rgba(247,120,51,.45)}
@media (prefers-reduced-motion:reduce){.cat,.cat-ico,.site-footer .brand-col .social a{transition:none}}
/* Small numbers: bright orange tile with navy figures, so they stay legible on white */
.cell-num .num,.on-dark .cell-num .num,.fam-root .num,.fam-node .num,.fam-node.lumora-node .num,.cap-list .num,.on-dark .cap-list .num{background:var(--orange);color:var(--navy-900);border-radius:8px;padding:3px 9px;line-height:1.3;font-size:.9375rem}
.cap-list .num,.on-dark .cap-list .num{justify-self:start;align-self:start;margin-top:2px}

/* ================= PAIA Manual page ================= */
@media (min-width:1024px){.legal-doc.paia{grid-template-columns:300px minmax(0,1fr);gap:64px}}
.paia .prose{max-width:none;font-size:1.0625rem}
.paia .prose > p,.paia .prose > .num-list{max-width:72ch}
.paia .prose h2{scroll-margin-top:calc(var(--header-h) + 24px)}
.paia .prose h3{font-size:1.1875rem;font-weight:700;margin-top:1.8em;letter-spacing:-.01em}
.paia aside{position:relative}
.paia-card{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:18px;padding:24px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-1)}
.paia-brand{display:flex;align-items:center;gap:12px}
.paia-brand picture,.paia-brand img{width:44px;height:44px;flex:none}
.pb-name{font-family:var(--font-head);font-weight:800;font-size:1.125rem;color:var(--ink);line-height:1.1}
.pb-sub{font-size:var(--fs-small);font-weight:600;color:var(--ink-soft)}
.pb-op{font-weight:600;color:var(--navy-700);font-size:var(--fs-small);padding-bottom:14px;border-bottom:1px solid var(--line)}
.paia-card .kv{gap:10px}
.paia-card .kv div{grid-template-columns:1fr;gap:0}
.paia-card .kv dt{font-size:var(--fs-small)}
.paia-card .btn{justify-self:start}
.toc ol{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:2px;counter-reset:none}
.toc a{display:block;padding:6px 8px;border-radius:8px;font-size:var(--fs-small);font-weight:600;color:var(--ink-soft);text-decoration:none;line-height:1.35;transition:background-color 200ms ease,color 200ms ease}
.toc a:hover,.toc a:focus-visible{background:var(--paper);color:var(--ink)}
@media (max-width:1023px){.paia-card{position:static}.toc{display:none}}

/* Key and value pairs */
.kv{display:grid;gap:0;margin:0}
.kv div{display:grid;grid-template-columns:minmax(150px,13rem) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.kv dt{font-weight:600;color:var(--ink)}
.kv dd{margin:0;color:var(--ink-soft);overflow-wrap:anywhere}
.kv a{color:var(--navy-700);font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.paia-card .kv div{padding:0;border:0}
@media (max-width:599px){.kv div{grid-template-columns:1fr;gap:2px}}

/* Numbered lists */
.num-list{list-style:none;counter-reset:n;display:grid;gap:10px;padding:0}
.num-list li{counter-increment:n;display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.num-list li::before{content:counter(n);display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:8px;background:var(--orange);color:var(--navy-900);font-family:var(--font-head);font-weight:800;font-size:.8125rem}
.num-list a{color:var(--navy-700);font-weight:600;overflow-wrap:anywhere}

/* Tables */
.tbl-wrap{margin-top:1.25em;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbl{width:100%;border-collapse:collapse;font-size:1rem}
.tbl thead th{background:var(--navy-900);color:var(--white);text-align:left;font-family:var(--font-head);font-weight:700;font-size:.9375rem;padding:14px 16px;vertical-align:bottom}
.tbl tbody th,.tbl tbody td{padding:14px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--line);line-height:1.55}
.tbl tbody th{font-weight:600;color:var(--ink)}
.tbl tbody td{color:var(--ink-soft)}
.tbl tbody tr:nth-child(even){background:var(--paper)}
@media (max-width:699px){
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:100%}
  .tbl tbody tr{padding:14px 16px;border-top:1px solid var(--line)}
  .tbl tbody tr:first-child{border-top:0}
  .tbl tbody th,.tbl tbody td{border:0;padding:4px 0}
  .tbl tbody td::before{content:attr(data-label);display:block;font-size:.8125rem;font-weight:700;color:var(--navy-700);letter-spacing:.02em}
}

/* Issued by */
.issued{margin-top:2em;padding:24px;border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.issued .ib-k{font-family:var(--font-head);font-weight:700;color:var(--ink);margin-bottom:6px}
.issued .kv div:last-child{border-bottom:0}
.num-list p{margin:0}
