/* ==========================================================================
   Applied Intelligence Atelier — visual system
   Light editorial. Porcelain ground, petrol authority, aqua used only as
   light. Oversized display serif, precise grotesk text.
   ========================================================================== */

:root{
  --porcelain:#FAFAF8;
  --paper:#FFFFFF;
  --mist:#F1F2EE;
  --grid:#E1E4DE;
  --grid-2:#EDEFEA;
  --ink:#0E1311;
  --graphite:#4A534D;
  --muted:#6B756E;
  --petrol:#0F4640;
  --petrol-2:#15544D;
  --lume:#7FD0BE;
  --pale:#B7C9C2;

  --display:"Bodoni Moda","Bodoni MT",Didot,"Times New Roman",Georgia,serif;
  --text:"Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;

  --pad:clamp(20px,5.5vw,84px);
  --max:1240px;
  --narrow:760px;
  --cell:88px;
  --bar:66px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:var(--text);
  font-size:17px;
  line-height:1.6;
  color:var(--ink);
  background:var(--porcelain);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0}
img,svg,video,iframe{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
::selection{background:var(--petrol);color:var(--porcelain)}
:focus-visible{outline:2px solid var(--petrol);outline-offset:4px}

/* Layout ------------------------------------------------------------------ */
.rk-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.rk-narrow{max-width:var(--narrow);margin:0 auto}
.rk-rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,var(--grid) 12%,var(--pale) 50%,var(--grid) 88%,transparent)}

.rk-sec{padding:clamp(56px,8vw,112px) 0 0}
.rk-sec > .rk-wrap > .rk-rule{margin-top:clamp(26px,3.4vw,44px)}
.rk-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.74fr);column-gap:clamp(28px,5vw,80px);row-gap:20px;align-items:end}
.rk-head h2{font-family:var(--display);font-weight:600;letter-spacing:-.022em;line-height:1.03;font-size:clamp(30px,4.6vw,60px);max-width:22ch}
.rk-head p{font-size:17px;color:var(--graphite);max-width:52ch;line-height:1.6}

/* Accessibility helpers --------------------------------------------------- */
.screen-reader-text{
  border:0;clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;
  overflow:hidden;position:absolute!important;white-space:nowrap;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--ink);color:var(--porcelain);
  padding:12px 18px;font-size:15px;font-weight:600;
}
.skip-link:focus{left:14px;top:14px}

/* Masthead ---------------------------------------------------------------- */
.rk-bar{
  position:sticky;top:0;z-index:60;
  background:rgba(250,250,248,.86);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease,background .25s ease;
}
.rk-bar.is-scrolled{border-bottom-color:var(--grid)}
.admin-bar .rk-bar{top:32px}
@media screen and (max-width:782px){.admin-bar .rk-bar{top:46px}}

.rk-bar > .rk-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--bar);padding-top:12px;padding-bottom:12px}
.rk-mark{display:block;line-height:1.15}
.rk-mark strong{display:block;font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.012em}
.rk-mark span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.rk-mark img{max-height:44px;width:auto}
.rk-mark .custom-logo-link{display:block}

.rk-nav{display:flex;align-items:center}
.rk-nav ul{list-style:none;display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-size:15px;font-weight:500}
.rk-nav a{color:var(--graphite);padding-bottom:2px;border-bottom:1px solid transparent;display:inline-block}
.rk-nav a:hover{color:var(--ink)}
.rk-nav .current-menu-item > a,.rk-nav .current_page_item > a{color:var(--ink);border-bottom-color:var(--pale)}
.rk-nav .rk-cta > a,.rk-nav a.rk-cta{color:var(--petrol);font-weight:600;border-bottom-color:var(--pale)}
.rk-nav .rk-cta > a:hover,.rk-nav a.rk-cta:hover{border-bottom-color:var(--petrol)}
.rk-nav .sub-menu{display:none}

.rk-toggle{
  display:none;width:44px;height:44px;margin-right:-10px;
  background:none;border:0;padding:0;cursor:pointer;color:var(--ink);
}
.rk-toggle span{display:block;width:22px;height:1px;background:currentColor;margin:5px auto;transition:transform .25s ease,opacity .25s ease}
.rk-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
.rk-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}

@media (max-width:900px){
  .rk-toggle{display:block}
  .rk-nav{
    position:absolute;left:0;right:0;top:100%;
    background:var(--porcelain);border-bottom:1px solid var(--grid);
    display:block;padding:8px var(--pad) 26px;
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .34s ease,transform .38s cubic-bezier(.22,.72,.28,1),visibility .38s;
  }
  .rk-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .rk-nav li{opacity:0;transform:translateY(8px);transition:opacity .34s ease,transform .38s cubic-bezier(.22,.72,.28,1)}
  .rk-nav.is-open li{opacity:1;transform:none}
  .rk-nav.is-open li:nth-child(1){transition-delay:.06s}
  .rk-nav.is-open li:nth-child(2){transition-delay:.11s}
  .rk-nav.is-open li:nth-child(3){transition-delay:.16s}
  .rk-nav.is-open li:nth-child(4){transition-delay:.21s}
  .rk-nav.is-open li:nth-child(5){transition-delay:.26s}
  .rk-nav.is-open li:nth-child(6){transition-delay:.31s}
  .rk-nav a::after{display:none}
  .rk-nav ul{flex-direction:column;align-items:flex-start;gap:0;width:100%;font-size:17px}
  .rk-nav li{width:100%;border-top:1px solid var(--grid-2)}
  .rk-nav a{display:block;padding:15px 0;border-bottom:0}
}

/* Buttons ----------------------------------------------------------------- */
.rk-btn{
  display:inline-block;font-family:var(--text);font-size:15.5px;font-weight:600;
  padding:14px 26px;border:1px solid var(--petrol);
  background:var(--petrol);color:var(--porcelain);cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.rk-btn:hover{border-color:var(--ink)}
.rk-btn.line{background:transparent;color:var(--petrol);border-color:var(--grid)}
.rk-btn.line:hover{background:transparent;color:var(--ink);border-color:var(--petrol)}
.rk-btn.lume{background:var(--lume);color:#082C27;border-color:var(--lume)}
.rk-btn.lume:hover{background:var(--porcelain);border-color:var(--porcelain);color:var(--petrol)}
.rk-btn.pale{background:transparent;color:var(--porcelain);border-color:rgba(183,201,194,.45)}
.rk-btn.pale:hover{background:transparent;border-color:var(--porcelain);color:var(--porcelain)}

.rk-link{color:var(--petrol);font-weight:600;border-bottom:1px solid var(--pale);padding-bottom:2px}
.rk-link:hover{border-bottom-color:var(--petrol)}

/* Luminous grid field ----------------------------------------------------- */
.rk-field{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right,var(--grid) 1px,transparent 1px),
    linear-gradient(to bottom,var(--grid) 1px,transparent 1px);
  background-size:var(--cell) var(--cell);
  -webkit-mask-image:radial-gradient(115% 88% at 72% 8%,#000 0%,rgba(0,0,0,.55) 42%,transparent 78%);
  mask-image:radial-gradient(115% 88% at 72% 8%,#000 0%,rgba(0,0,0,.55) 42%,transparent 78%);
  opacity:0;animation:rk-lift 1.3s ease-out .1s forwards;
}
.rk-glow{
  position:absolute;top:-22%;right:-8%;width:62%;height:130%;pointer-events:none;
  background:radial-gradient(48% 42% at 50% 42%,rgba(127,208,190,.34),rgba(127,208,190,0) 70%);
  opacity:0;animation:rk-lift 1.6s ease-out .15s forwards;
}
@keyframes rk-lift{to{opacity:1}}

/* Hero -------------------------------------------------------------------- */
.rk-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--grid)}
.rk-hero > .rk-wrap{position:relative;padding-top:clamp(52px,9vw,116px);padding-bottom:clamp(40px,6vw,68px)}
.rk-hero h1{
  font-family:var(--display);font-weight:600;letter-spacing:-.024em;line-height:.99;
  font-size:clamp(40px,7.4vw,96px);max-width:17ch;
}
.rk-hero h1 em{font-style:italic;font-weight:500}
.rk-sub{margin-top:clamp(24px,3vw,38px);max-width:56ch;font-size:clamp(17px,1.5vw,20px);line-height:1.58;color:var(--graphite)}
.rk-hero-acts{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:clamp(26px,3vw,38px)}

.rk-claims{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(44px,6vw,80px);border-top:1px solid var(--grid)}
.rk-claims > div{padding:22px 24px 4px 0}
.rk-claims > div + div{border-left:1px solid var(--grid);padding-left:24px}
.rk-claims dt{font-family:var(--display);font-weight:600;font-size:clamp(26px,3vw,38px);line-height:1;letter-spacing:-.02em}
.rk-claims dd{margin:9px 0 0;font-size:14.5px;color:var(--muted);line-height:1.5;max-width:26ch}

/* Operational intelligence flow ------------------------------------------ */
.rk-flow{position:relative;margin-top:clamp(34px,4.5vw,58px)}
.rk-track{position:absolute;left:0;right:0;top:11px;height:1px;background:var(--grid);overflow:hidden}
.rk-track::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--petrol),var(--lume));
  transform:scaleX(0);transform-origin:left center;
  transition:transform 1.5s cubic-bezier(.32,.72,.28,1);
}
.rk-flow.is-live .rk-track::after{transform:scaleX(1)}
.rk-stages{position:relative;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.rk-node{position:relative;width:22px;height:22px;display:grid;place-items:center}
.rk-node::before{content:"";width:22px;height:22px;border:1px solid var(--grid);background:var(--porcelain);border-radius:50%}
.rk-node::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--pale);transition:background .6s ease,box-shadow .6s ease}
.rk-flow.is-live .rk-stage .rk-node::after{background:var(--petrol);box-shadow:0 0 0 4px rgba(15,70,64,.09)}
.rk-flow.is-live .rk-stage:nth-child(2) .rk-node::after{transition-delay:.3s}
.rk-flow.is-live .rk-stage:nth-child(3) .rk-node::after{transition-delay:.6s}
.rk-flow.is-live .rk-stage:last-child .rk-node::after{background:var(--lume);box-shadow:0 0 0 5px rgba(127,208,190,.26);transition-delay:.9s}
.rk-stage h3{margin-top:20px;font-size:19px;font-weight:600;letter-spacing:-.012em}
.rk-stage p{margin-top:9px;font-size:15.5px;color:var(--graphite);line-height:1.58}
.rk-stage ul{margin-top:14px;list-style:none;border-top:1px solid var(--grid-2)}
.rk-stage li{padding:7px 0;border-bottom:1px solid var(--grid-2);font-size:14px;color:var(--muted)}

/* Case studies ------------------------------------------------------------ */
.rk-cases{margin-top:clamp(30px,4vw,52px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(18px,2.2vw,28px)}
.rk-case{position:relative;background:var(--paper);border:1px solid var(--grid);padding:clamp(24px,2.6vw,38px);display:flex;flex-direction:column}
.rk-case::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,var(--petrol),var(--lume) 46%,transparent)}
.rk-case.is-lead{grid-column:span 6;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:clamp(24px,3.4vw,52px);align-items:start}
.rk-case.is-lead.is-plain{display:flex;flex-direction:column}
.rk-case.is-half{grid-column:span 3}
.rk-case.is-third{grid-column:span 2}
.rk-sector{font-size:13.5px;color:var(--muted)}
.rk-case h3{margin-top:12px;font-family:var(--display);font-weight:600;letter-spacing:-.018em;line-height:1.08;font-size:clamp(22px,2.3vw,31px)}
.rk-case.is-half h3,.rk-case.is-third h3{font-size:clamp(20px,1.9vw,25px)}
.rk-case h3 a:hover{color:var(--petrol)}
.rk-case p{margin-top:14px;font-size:16px;color:var(--graphite);line-height:1.62;max-width:58ch}
.rk-case.is-third p{font-size:15.5px}
.rk-case-media{margin-top:20px;border:1px solid var(--grid-2);overflow:hidden}
.rk-case-media img{width:100%;height:auto}
.rk-tags{list-style:none;margin-top:auto;padding-top:20px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--muted)}
.rk-tags li{position:relative}
.rk-tags li + li::before{content:"";position:absolute;left:-8px;top:5px;bottom:4px;width:1px;background:var(--grid)}
.rk-metrics{border-left:1px solid var(--grid);padding-left:clamp(20px,2.4vw,32px)}
.rk-metrics > div + div{margin-top:22px;padding-top:20px;border-top:1px solid var(--grid-2)}
.rk-metrics dt{font-size:13.5px;color:var(--muted)}
.rk-metrics dd{margin:8px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(32px,3.6vw,46px);line-height:1;letter-spacing:-.024em;color:var(--petrol)}
.rk-metrics dd small{display:block;font-family:var(--text);font-weight:400;font-size:14.5px;letter-spacing:0;color:var(--graphite);line-height:1.5;margin-top:10px}
.rk-case-note{margin-top:22px;font-size:14px;color:var(--muted);max-width:74ch}
.rk-case-more{margin-top:26px;font-size:15.5px}

/* Practice areas ---------------------------------------------------------- */
.rk-areas{margin-top:clamp(30px,4vw,52px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(26px,3.4vw,56px);row-gap:36px}
.rk-area{padding-top:24px;border-top:1px solid var(--grid)}
.rk-area h3{font-family:var(--display);font-weight:600;font-size:clamp(21px,2.1vw,27px);letter-spacing:-.016em;line-height:1.1}
.rk-area p{margin-top:12px;font-size:16px;color:var(--graphite);line-height:1.6}
.rk-area ul{margin-top:16px;list-style:none}
.rk-area li{padding:8px 0 8px 16px;position:relative;font-size:15.5px;border-bottom:1px solid var(--grid-2)}
.rk-area li:last-child{border-bottom:0}
.rk-area li::before{content:"";position:absolute;left:0;top:17px;width:6px;height:1px;background:var(--petrol)}

/* Perspective / post rows ------------------------------------------------- */
.rk-posts{margin-top:clamp(26px,3.4vw,44px)}
.rk-post{display:grid;grid-template-columns:132px minmax(0,1fr) auto;column-gap:clamp(20px,3vw,44px);row-gap:8px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--grid)}
.rk-post:first-child{border-top:1px solid var(--grid)}
.rk-post:hover h2,.rk-post:hover h3{color:var(--petrol)}
.rk-when{font-size:14px;color:var(--muted)}
.rk-post h2,.rk-post h3{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.1vw,26px);letter-spacing:-.016em;line-height:1.12;max-width:34ch}
.rk-post p{margin-top:8px;font-size:15.5px;color:var(--graphite);max-width:62ch}
.rk-mins{font-size:14px;color:var(--muted);white-space:nowrap}
.rk-more{margin-top:26px;font-size:15.5px}

/* Principal --------------------------------------------------------------- */
.rk-principal{margin-top:clamp(30px,4vw,52px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:clamp(30px,5vw,84px);row-gap:32px;align-items:start}
.rk-principal p{font-size:17.5px;color:var(--graphite);line-height:1.66;max-width:58ch}
.rk-principal p + p{margin-top:16px}
.rk-lead-in{font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(21px,2.2vw,28px)!important;line-height:1.26;color:var(--ink)!important;letter-spacing:-.01em;max-width:34ch}
.rk-portrait{margin-bottom:24px;border:1px solid var(--grid)}
.rk-facts{background:var(--mist);border:1px solid var(--grid);padding:clamp(22px,2.4vw,32px)}
.rk-facts h3{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.014em}
.rk-facts dl{margin-top:16px}
.rk-facts dl > div{padding:12px 0;border-top:1px solid var(--grid)}
.rk-facts dt{font-size:13.5px;color:var(--muted)}
.rk-facts dd{margin:3px 0 0;font-size:16px}

/* Closing band ------------------------------------------------------------ */
.rk-close{margin-top:clamp(64px,9vw,128px);background:var(--petrol);color:var(--porcelain);position:relative;overflow:hidden}
.rk-close .rk-field{
  background-image:
    linear-gradient(to right,rgba(183,201,194,.2) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(183,201,194,.2) 1px,transparent 1px);
  -webkit-mask-image:radial-gradient(95% 80% at 18% 12%,#000,transparent 72%);
  mask-image:radial-gradient(95% 80% at 18% 12%,#000,transparent 72%);
  animation:none;opacity:1;
}
.rk-close > .rk-wrap{position:relative;padding-top:clamp(52px,7vw,96px);padding-bottom:clamp(34px,4vw,54px)}
.rk-close h2{font-family:var(--display);font-weight:600;letter-spacing:-.022em;line-height:1.04;font-size:clamp(30px,4.6vw,58px);max-width:24ch}
.rk-close-lede{margin-top:22px;max-width:54ch;font-size:18px;color:var(--pale);line-height:1.6}
.rk-engage{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(183,201,194,.3)}
.rk-engage > div{padding:24px 26px 6px 0}
.rk-engage > div + div{border-left:1px solid rgba(183,201,194,.3);padding-left:26px}
.rk-engage h3{font-size:17px;font-weight:600}
.rk-engage p{margin-top:8px;font-size:15px;color:var(--pale);line-height:1.55;max-width:30ch}
.rk-close-acts{margin-top:clamp(34px,4vw,52px);display:flex;gap:16px;flex-wrap:wrap;align-items:center}

/* Site footer ------------------------------------------------------------- */
.rk-foot{background:var(--petrol);color:var(--pale);padding-bottom:clamp(26px,3vw,40px)}
.rk-foot > .rk-wrap{padding-top:18px;border-top:1px solid rgba(183,201,194,.3);display:flex;justify-content:space-between;gap:14px 28px;flex-wrap:wrap;font-size:14px}
.rk-foot ul{list-style:none;display:flex;gap:20px;flex-wrap:wrap}
.rk-foot a{border-bottom:1px solid rgba(183,201,194,.4);padding-bottom:1px}
.rk-foot a:hover{border-bottom-color:var(--porcelain);color:var(--porcelain)}
.rk-foot{margin-top:clamp(64px,9vw,120px)}
.rk-foot.is-joined{margin-top:0}

/* Interior pages ---------------------------------------------------------- */
.rk-page{padding:clamp(40px,6vw,86px) 0 0}
.rk-entry-head{max-width:34ch}
.rk-entry-head.wide{max-width:24ch}
.rk-meta{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:18px}
.rk-meta a{color:var(--muted);border-bottom:1px solid var(--grid)}
.rk-page h1{font-family:var(--display);font-weight:600;letter-spacing:-.024em;line-height:1.02;font-size:clamp(32px,5.4vw,68px)}
.rk-lede{margin-top:22px;font-size:clamp(18px,1.6vw,21px);line-height:1.56;color:var(--graphite);max-width:54ch}
.rk-page > .rk-wrap > .rk-rule{margin-top:clamp(28px,3.6vw,48px)}
.rk-hero-image{margin-top:clamp(28px,3.6vw,48px);border:1px solid var(--grid)}
.rk-back{margin-top:clamp(36px,4vw,56px);padding-top:22px;border-top:1px solid var(--grid);font-size:15.5px}
.rk-archive-head{max-width:26ch}
.rk-archive-head + p{margin-top:18px;font-size:17px;color:var(--graphite);max-width:54ch}

/* Editor content / prose -------------------------------------------------- */
.rk-prose{margin-top:clamp(28px,3.4vw,44px);font-size:17.5px;line-height:1.72;color:#1B2320}
.rk-prose > * + *{margin-top:1.15em}
.rk-prose h2{font-family:var(--display);font-weight:600;font-size:clamp(25px,2.8vw,36px);line-height:1.12;letter-spacing:-.018em;margin-top:2em}
.rk-prose h3{font-family:var(--display);font-weight:600;font-size:clamp(21px,2.1vw,27px);line-height:1.16;letter-spacing:-.014em;margin-top:1.8em}
.rk-prose h4{font-size:18px;font-weight:600;margin-top:1.6em}
.rk-prose a{color:var(--petrol);border-bottom:1px solid var(--pale)}
.rk-prose a:hover{border-bottom-color:var(--petrol)}
.rk-prose ul,.rk-prose ol{padding-left:1.25em}
.rk-prose ul{list-style:disc}
.rk-prose ol{list-style:decimal}
.rk-prose li{margin-top:.45em}
.rk-prose li::marker{color:var(--petrol)}
.rk-prose blockquote{
  margin:1.6em 0;padding:4px 0 4px clamp(18px,2.4vw,30px);
  border-left:2px solid var(--petrol);
  font-family:var(--display);font-style:italic;font-weight:500;
  font-size:clamp(20px,2.2vw,26px);line-height:1.34;letter-spacing:-.01em;color:var(--ink);
}
.rk-prose blockquote cite{display:block;margin-top:14px;font-family:var(--text);font-style:normal;font-size:15px;color:var(--muted)}
.rk-prose figure{margin:1.6em 0}
.rk-prose figcaption,.wp-caption-text,.wp-element-caption{margin-top:10px;font-size:14px;color:var(--muted);line-height:1.5}
.rk-prose img{border:1px solid var(--grid)}
.rk-prose hr,.rk-prose .wp-block-separator{height:1px;border:0;margin:2.4em 0;background:linear-gradient(90deg,transparent,var(--grid) 12%,var(--pale) 50%,var(--grid) 88%,transparent)}
.rk-prose code,.rk-prose kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--mist);border:1px solid var(--grid);padding:1px 6px}
.rk-prose pre{background:var(--mist);border:1px solid var(--grid);padding:20px;overflow:auto;font-size:14.5px;line-height:1.6}
.rk-prose pre code{background:none;border:0;padding:0}
.rk-prose table{width:100%;border-collapse:collapse;font-size:16px}
.rk-prose th,.rk-prose td{border:1px solid var(--grid);padding:10px 14px;text-align:left}
.rk-prose th{background:var(--mist);font-weight:600}
.rk-prose .wp-block-pullquote{border-top:1px solid var(--grid);border-bottom:1px solid var(--grid);padding:28px 0;text-align:left}
.rk-prose .wp-block-button__link{background:var(--petrol);color:var(--porcelain);border-radius:0;border:0;padding:14px 26px;font-weight:600;font-size:15.5px}
.rk-prose .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--petrol);border:1px solid var(--grid)}
.rk-prose .alignwide{width:min(var(--max),100vw - var(--pad) * 2);max-width:none;margin-left:calc(50% - min(var(--max),100vw - var(--pad) * 2) / 2)}
.rk-prose .alignfull{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
.rk-prose .alignleft{float:left;margin:.4em 1.6em 1.2em 0}
.rk-prose .alignright{float:right;margin:.4em 0 1.2em 1.6em}
.rk-prose .aligncenter{margin-left:auto;margin-right:auto}
.sticky .rk-post h2::after{content:" — pinned";font-family:var(--text);font-size:14px;font-weight:400;color:var(--muted)}

/* Pagination -------------------------------------------------------------- */
.rk-pagination{margin-top:clamp(36px,4vw,56px);padding-top:22px;border-top:1px solid var(--grid);font-size:15.5px}
.rk-pagination .nav-links{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center}
.rk-pagination .page-numbers{padding:6px 12px;border:1px solid var(--grid);color:var(--graphite)}
.rk-pagination .page-numbers:hover{border-color:var(--petrol);color:var(--petrol)}
.rk-pagination .page-numbers.current{background:var(--petrol);border-color:var(--petrol);color:var(--porcelain)}
.rk-pagination .screen-reader-text{display:none}

/* Forms ------------------------------------------------------------------- */
.rk-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:clamp(30px,5vw,80px);row-gap:36px;align-items:start;margin-top:clamp(28px,3.6vw,48px)}
.rk-panel{background:var(--paper);border:1px solid var(--grid);padding:clamp(24px,3vw,40px);position:relative}
.rk-panel::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,var(--petrol),var(--lume) 46%,transparent)}
.rk-form label{display:block;margin-bottom:18px}
.rk-form label > span{display:block;font-size:14px;color:var(--graphite);margin-bottom:7px}
.rk-form input[type="text"],.rk-form input[type="email"],.rk-form textarea,
.rk-prose input[type="text"],.rk-prose input[type="email"],.rk-prose textarea,
#comments input[type="text"],#comments input[type="email"],#comments input[type="url"],#comments textarea{
  width:100%;font-family:var(--text);font-size:16px;color:var(--ink);
  background:var(--porcelain);border:1px solid var(--grid);padding:12px 14px;
}
.rk-form textarea,#comments textarea{resize:vertical;min-height:150px}
.rk-form input:focus,.rk-form textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(15,70,64,.08)}
.rk-hp{position:absolute!important;left:-9999px;height:1px;width:1px;overflow:hidden}
.rk-alert{border:1px solid var(--grid);border-left:2px solid var(--petrol);background:var(--mist);padding:14px 18px;font-size:15.5px;margin-bottom:24px}
.rk-alert.is-good{border-left-color:var(--lume)}
.rk-contact-note{margin-top:26px;padding-top:20px;border-top:1px solid var(--grid)}
.rk-contact-note span{display:block;font-size:13.5px;color:var(--muted)}
.rk-contact-note p{margin-top:8px;font-size:16px;color:var(--graphite)}

/* Comments ---------------------------------------------------------------- */
#comments{margin-top:clamp(44px,5vw,72px);padding-top:26px;border-top:1px solid var(--grid)}
#comments h2,#comments h3{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.016em}
#comments .comment-list{list-style:none;margin-top:24px}
#comments .comment-list ol{list-style:none;padding-left:clamp(16px,3vw,36px)}
#comments .comment-list li{padding:20px 0;border-top:1px solid var(--grid-2)}
#comments .comment-author{font-size:15.5px;font-weight:600}
#comments .comment-metadata{font-size:13.5px;color:var(--muted);margin-top:2px}
#comments .comment-content{margin-top:12px;font-size:16.5px;line-height:1.65;color:var(--graphite)}
#comments .comment-reply-link{font-size:14px;color:var(--petrol);border-bottom:1px solid var(--pale)}
#comments .comment-form{margin-top:30px}
#comments .comment-form p{margin-bottom:18px}
#comments .comment-form label{display:block;font-size:14px;color:var(--graphite);margin-bottom:7px}
#comments .form-submit input{
  width:auto;font-family:var(--text);font-size:15.5px;font-weight:600;padding:14px 26px;
  background:var(--petrol);color:var(--porcelain);border:1px solid var(--petrol);cursor:pointer;
}
#comments .form-submit input:hover{background:var(--ink);border-color:var(--ink)}

/* Block styles and patterns ------------------------------------------------ */
.rk-prose .is-style-aia-luminous,
.editor-styles-wrapper .is-style-aia-luminous{
  height:1px;border:0;opacity:1;
  background:linear-gradient(90deg,transparent,var(--grid) 12%,var(--pale) 50%,var(--grid) 88%,transparent);
}
.rk-prose .is-style-aia-display,
.editor-styles-wrapper .is-style-aia-display{
  font-family:var(--display);font-weight:500;letter-spacing:-.018em;
  font-size:clamp(23px,2.6vw,33px);line-height:1.18;color:var(--ink);
}
.rk-prose .is-style-aia-panel,
.editor-styles-wrapper .is-style-aia-panel{
  position:relative;background:var(--mist);border:1px solid var(--grid);
  padding:clamp(22px,2.6vw,34px);
}
.rk-prose .is-style-aia-panel::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
  background:linear-gradient(90deg,var(--petrol),var(--lume) 46%,transparent);
}
.rk-prose .is-style-aia-panel > *:first-child{margin-top:0}
.rk-prose .is-style-aia-framed img,
.editor-styles-wrapper .is-style-aia-framed img{border:1px solid var(--grid)}

.rk-prose .aia-figure,
.editor-styles-wrapper .aia-figure{
  font-family:var(--display);font-weight:600;letter-spacing:-.024em;
  font-size:clamp(32px,3.6vw,46px);line-height:1;margin-top:.3em;
}
.rk-prose .aia-outcomes .wp-block-column,
.rk-prose .aia-contrast .wp-block-column{padding-top:20px;border-top:1px solid var(--grid)}
.rk-prose .aia-outcomes .wp-block-column > * + *,
.rk-prose .aia-contrast .wp-block-column > * + *{margin-top:.5em}
.rk-prose .aia-contrast ul{margin-top:.9em;padding-left:16px;list-style:none}
.rk-prose .aia-contrast li{position:relative;padding:8px 0;border-bottom:1px solid var(--grid-2);font-size:16px}
.rk-prose .aia-contrast li:last-child{border-bottom:0}
.rk-prose .aia-contrast li::before{content:"";position:absolute;left:-16px;top:17px;width:6px;height:1px;background:var(--petrol)}

/* Adjacent posts ---------------------------------------------------------- */
.rk-adjacent{
  margin-top:clamp(38px,4.4vw,60px);padding-top:26px;border-top:1px solid var(--grid);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);
}
.rk-adjacent a{display:block}
.rk-adjacent a.is-next{text-align:right}
.rk-adjacent a:only-child{grid-column:1 / -1}
.rk-adjacent span{display:block;font-size:13.5px;color:var(--muted)}
.rk-adjacent strong{
  display:block;margin-top:7px;font-family:var(--display);font-weight:600;
  font-size:clamp(18px,1.9vw,23px);line-height:1.14;letter-spacing:-.016em;
}
.rk-adjacent a:hover strong{color:var(--petrol)}

/* Related work ------------------------------------------------------------ */
.rk-related{margin-top:clamp(52px,6vw,88px)}
.rk-related h2{
  font-family:var(--display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(24px,2.8vw,34px);line-height:1.08;
}
.rk-related .rk-rule{margin-top:18px}
.rk-related .rk-cases{margin-top:clamp(22px,2.6vw,34px)}

/* 404 --------------------------------------------------------------------- */
.rk-404 p{margin-top:20px;font-size:18px;color:var(--graphite);max-width:46ch}
.rk-404 .rk-btn{margin-top:30px}

/* Responsive -------------------------------------------------------------- */
@media (max-width:1080px){
  .rk-head{grid-template-columns:1fr}
  .rk-claims{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rk-claims > div:nth-child(3){border-left:0;padding-left:0}
  .rk-claims > div:nth-child(3),.rk-claims > div:nth-child(4){border-top:1px solid var(--grid);padding-top:22px}
  .rk-stages{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
  .rk-track{display:none}
  .rk-flow::after{display:none}
  .rk-case.is-lead{grid-template-columns:1fr}
  .rk-metrics{border-left:0;border-top:1px solid var(--grid);padding-left:0;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .rk-metrics > div + div{margin-top:0;padding-top:0;border-top:0}
  .rk-case.is-half,.rk-case.is-third{grid-column:span 6}
  .rk-areas{grid-template-columns:1fr;row-gap:30px}
  .rk-principal,.rk-contact-layout{grid-template-columns:1fr}
  .rk-engage{grid-template-columns:1fr}
  .rk-engage > div + div{border-left:0;padding-left:0;border-top:1px solid rgba(183,201,194,.3)}
}
@media (max-width:660px){
  body{font-size:16.5px}
  .rk-claims{grid-template-columns:1fr}
  .rk-claims > div + div{border-left:0;padding-left:0;border-top:1px solid var(--grid);padding-top:22px}
  .rk-stages{grid-template-columns:1fr}
  .rk-metrics{grid-template-columns:1fr}
  .rk-post{grid-template-columns:1fr}
  .rk-mins{display:none}
  .rk-adjacent{grid-template-columns:1fr}
  .rk-adjacent a.is-next{text-align:left}
  .rk-prose .alignleft,.rk-prose .alignright{float:none;margin:1.4em 0}
}

/* ==========================================================================
   MOTION SYSTEM

   Everything below is gated on the .aia-motion class, which is set on <html>
   in the document head only when JavaScript is running and the visitor has
   not asked for reduced motion. With no JavaScript, or with reduced motion
   requested, none of the hidden start states ever apply and the page renders
   in its finished form.

   Four gestures, reused everywhere:
     1. rise      — 14px up, for content arriving
     2. draw      — scaleX from the left, for every luminous rule
     3. wipe      — a fill entering from below, for buttons and underlines
     4. travel    — one point of light crossing the flow, once
   ========================================================================== */

/* 1 — rise ---------------------------------------------------------------- */
.aia-motion .aia-r{opacity:0;transform:translateY(14px)}
.aia-motion .aia-r.is-in{
  opacity:1;transform:none;
  transition:
    opacity .85s cubic-bezier(.22,.72,.28,1) calc(var(--d,0ms) + var(--i,0) * 70ms),
    transform .85s cubic-bezier(.22,.72,.28,1) calc(var(--d,0ms) + var(--i,0) * 70ms);
}

/* 2 — draw ---------------------------------------------------------------- */
.aia-motion .aia-r-rule{transform:scaleX(0);transform-origin:left center}
.aia-motion .aia-r-rule.is-in{transform:scaleX(1);transition:transform 1.15s cubic-bezier(.22,.72,.28,1)}

/* Hero headline: one masked line at a time ------------------------------- */
.aia-motion .rk-hero h1:not(.is-in){opacity:0}
.rk-hero h1 .aia-w{display:inline-block}
.rk-hero h1 .aia-w.is-em{font-style:italic;font-weight:500}
.rk-hero h1.is-split .aia-line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.rk-hero h1.is-split .aia-line-i{
  display:block;transform:translateY(108%);
  transition:transform 1.05s cubic-bezier(.16,.85,.24,1);
  transition-delay:calc(var(--i,0) * 90ms);
}
.rk-hero h1.is-split.is-in .aia-line-i{transform:translateY(0)}

/* Ambient: the hero grid settles, the glow breathes very slowly ---------- */
.rk-hero .rk-field{animation:aia-field 1.7s cubic-bezier(.2,.72,.25,1) .05s forwards}
.rk-hero .rk-glow{animation:aia-glow-in 2s ease-out .1s forwards,aia-drift 19s ease-in-out 2.1s infinite}
@keyframes aia-field{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes aia-glow-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes aia-drift{
  0%{transform:scale(1) translate3d(0,0,0);opacity:1}
  50%{transform:scale(1.07) translate3d(-1.6%,1.4%,0);opacity:.86}
  100%{transform:scale(1) translate3d(0,0,0);opacity:1}
}

/* 4 — travel: a point of light crosses the flow once --------------------- */
.rk-flow::after{
  content:"";position:absolute;left:0;top:5px;width:14px;height:14px;
  border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(closest-side,var(--lume),rgba(127,208,190,0) 72%);
}
.rk-flow.is-live::after{animation:aia-travel 1.75s cubic-bezier(.45,.05,.3,1) .28s forwards}
@keyframes aia-travel{
  0%{left:0;opacity:0}
  14%{opacity:1}
  86%{opacity:1}
  100%{left:calc(100% - 14px);opacity:0}
}
.rk-stage h3,.rk-stage p,.rk-stage ul{transition:opacity .8s ease,transform .8s cubic-bezier(.22,.72,.28,1)}
.aia-motion .rk-flow:not(.is-live) .rk-stage h3,
.aia-motion .rk-flow:not(.is-live) .rk-stage p,
.aia-motion .rk-flow:not(.is-live) .rk-stage ul{opacity:0;transform:translateY(10px)}
.rk-flow.is-live .rk-stage:nth-child(2) h3,
.rk-flow.is-live .rk-stage:nth-child(2) p,
.rk-flow.is-live .rk-stage:nth-child(2) ul{transition-delay:.14s}
.rk-flow.is-live .rk-stage:nth-child(3) h3,
.rk-flow.is-live .rk-stage:nth-child(3) p,
.rk-flow.is-live .rk-stage:nth-child(3) ul{transition-delay:.28s}
.rk-flow.is-live .rk-stage:nth-child(4) h3,
.rk-flow.is-live .rk-stage:nth-child(4) p,
.rk-flow.is-live .rk-stage:nth-child(4) ul{transition-delay:.42s}

/* 3 — wipe: buttons fill from below -------------------------------------- */
.rk-btn{position:relative;overflow:hidden;isolation:isolate;transition:color .35s ease,border-color .35s ease,background-color .35s ease}
.rk-btn::after{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);
  transform:translateY(102%);transition:transform .52s cubic-bezier(.3,.74,.26,1);
}
.rk-btn:hover::after,.rk-btn:focus-visible::after{transform:translateY(0)}
.rk-btn.line::after{background:var(--petrol)}
.rk-btn.line:hover,.rk-btn.line:focus-visible{background:transparent;color:var(--porcelain);border-color:var(--petrol)}
.rk-btn.lume::after{background:var(--porcelain)}
.rk-btn.lume:hover,.rk-btn.lume:focus-visible{background:var(--lume);color:var(--petrol);border-color:var(--porcelain)}
.rk-btn.pale::after{background:var(--porcelain)}
.rk-btn.pale:hover,.rk-btn.pale:focus-visible{background:transparent;color:var(--petrol);border-color:var(--porcelain)}

/* Navigation underline draws in from the left ---------------------------- */
.rk-nav a{position:relative}
.rk-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--pale);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .42s cubic-bezier(.22,.72,.28,1);
}
.rk-nav a:hover::after,
.rk-nav a:focus-visible::after,
.rk-nav .current-menu-item > a::after,
.rk-nav .current_page_item > a::after,
.rk-nav .rk-cta > a::after,
.rk-nav a.rk-cta::after{transform:scaleX(1)}
.rk-nav .rk-cta > a::after,.rk-nav a.rk-cta::after{background:var(--petrol)}

/* Masthead compacts once the page has moved ------------------------------ */
.rk-bar > .rk-wrap{transition:min-height .42s cubic-bezier(.22,.72,.28,1),padding .42s cubic-bezier(.22,.72,.28,1)}
.rk-bar.is-scrolled > .rk-wrap{min-height:56px;padding-top:9px;padding-bottom:9px}

/* Case cards: the luminous edge sweeps, the card lifts a hair ------------ */
.rk-case{transition:transform .55s cubic-bezier(.22,.72,.28,1),box-shadow .55s ease,border-color .45s ease}
.rk-case::before{
  background:linear-gradient(90deg,var(--petrol),var(--lume) 26%,transparent 58%);
  background-size:210% 100%;background-position:0 0;
  transition:background-position 1.05s cubic-bezier(.3,.72,.26,1);
}
.rk-case:hover,
.aia-motion .rk-case.is-in:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 46px -30px rgba(14,19,17,.3);
  border-color:var(--pale);
}
.rk-case:hover::before{background-position:52% 0}
.rk-case-media img{transition:transform 1.15s cubic-bezier(.22,.72,.28,1)}
.rk-case:hover .rk-case-media img{transform:scale(1.035)}
.rk-case h3 a{transition:color .3s ease}

/* Post rows and adjacent links shift a little on hover ------------------- */
.rk-post h2,.rk-post h3,.rk-adjacent strong{transition:color .3s ease,transform .48s cubic-bezier(.22,.72,.28,1)}
.rk-post:hover h2,.rk-post:hover h3{transform:translateX(5px)}
.rk-adjacent a:hover strong{transform:translateX(4px)}
.rk-adjacent a.is-next:hover strong{transform:translateX(-4px)}

/* Flow nodes get a soft ring as they light ------------------------------- */
.rk-node::before{transition:border-color .6s ease}
.rk-flow.is-live .rk-node::before{border-color:var(--pale)}

/* Links and the luminous rule inside prose ------------------------------- */
.rk-prose a{transition:border-color .3s ease,color .3s ease}
.rk-link{transition:border-color .35s ease,color .3s ease}

/* Motion & print ---------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .rk-field,.rk-glow,.rk-hero .rk-field,.rk-hero .rk-glow{animation:none;opacity:1;transform:none}
  .rk-track::after{transition:none;transform:scaleX(1)}
  .rk-flow::after{animation:none;display:none}
  .rk-node::after,.rk-node::before{transition:none}
  .rk-toggle span{transition:none}
  .rk-hero h1{opacity:1}
  .rk-hero h1 .aia-line-i{transform:none;transition:none}
  .rk-stage h3,.rk-stage p,.rk-stage ul{opacity:1;transform:none;transition:none}
  .rk-btn,.rk-btn::after{transition:none}
  .rk-btn::after{display:none}
  .rk-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--porcelain)}
  .rk-btn.line:hover{background:var(--petrol);color:var(--porcelain)}
  .rk-btn.lume:hover{background:var(--porcelain);color:var(--petrol)}
  .rk-btn.pale:hover{background:var(--porcelain);color:var(--petrol)}
  .rk-nav a::after{transition:none}
  .rk-bar > .rk-wrap{transition:none}
  .rk-case,.rk-case::before,.rk-case-media img{transition:none}
  .rk-case:hover{transform:none;box-shadow:none}
  .rk-case:hover .rk-case-media img{transform:none}
  .rk-post h2,.rk-post h3,.rk-adjacent strong{transition:none}
  .rk-post:hover h2,.rk-post:hover h3,.rk-adjacent a:hover strong{transform:none}
  .rk-nav,.rk-nav li{transition:none}
  .aia-r,.aia-r-rule{opacity:1!important;transform:none!important;transition:none!important}
}
@media print{
  .rk-bar,.rk-field,.rk-glow,.rk-hero-acts,.rk-close-acts,.rk-toggle,#comments .comment-form{display:none}
  body{background:#fff;font-size:11pt;color:#000}
  .rk-close,.rk-foot{background:#fff;color:#000}
  .rk-close h2,.rk-close-lede,.rk-engage p,.rk-foot,.rk-foot > .rk-wrap{color:#000}
  .rk-case,.rk-area,.rk-post,.rk-stage{break-inside:avoid}
}

/* ==========================================================================
   DECISION LAB — demo cards, click-to-load frames, the demo dialog
   Used on the homepage, the Decision Lab page template, case studies and
   anywhere the [decision_lab] shortcode appears.
   ========================================================================== */
.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.lab-card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--grid);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.lab-card::before{content:"";position:absolute;z-index:2;left:-1px;right:-1px;top:-1px;height:2px;background:linear-gradient(90deg,var(--petrol),var(--lume))}
.lab-card:hover,.lab-card:focus-within{border-color:#A8BFB1;box-shadow:0 14px 34px rgba(16,63,57,.08)}
.lab-shot{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:var(--mist);border-bottom:1px solid var(--grid)}
.lab-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s cubic-bezier(.22,.72,.28,1)}
.lab-card:hover .lab-shot img{transform:scale(1.025)}
.lab-live{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:5px 10px;background:rgba(250,250,248,.92);border:1px solid var(--grid);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--petrol)}
.lab-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#1F9C80;box-shadow:0 0 0 3px rgba(127,208,190,.35)}
.lab-body{display:flex;flex-direction:column;flex:1;padding:clamp(22px,2.4vw,32px)}
.lab-body .small{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--petrol)}
.lab-body h3{font-family:var(--display);font-weight:500;font-size:clamp(23px,2.2vw,29px);line-height:1.12;letter-spacing:-.018em;margin:10px 0 12px}
.lab-body p{font-size:16px;line-height:1.6;color:var(--graphite);margin:0}
.lab-methods{margin-top:16px;padding-top:14px;border-top:1px solid var(--grid-2);font-size:13.5px;color:var(--muted)}
.lab-acts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:auto;padding-top:22px}
.lab-acts .action{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:11px 18px;border:1px solid var(--petrol);background:var(--petrol);color:var(--porcelain);font:500 15px/1.2 var(--text);transition:background-color .25s ease,box-shadow .25s ease}
.lab-acts .action:hover,.lab-acts .action:focus-visible{background:var(--petrol-2);box-shadow:0 6px 18px rgba(15,70,64,.14)}
.lab-acts .rk-link{font-size:15px}

/* Click-to-load frame */
.aia-frame{position:relative;border:1px solid var(--grid);background:var(--paper);overflow:hidden}
.aia-frame::before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--petrol),var(--lume))}
.aia-frame-poster{position:relative;display:grid}
.aia-frame-poster > *{grid-area:1/1}
.aia-frame-poster img{width:100%;height:auto;max-height:620px;object-fit:cover;object-position:top center;filter:saturate(.85);opacity:.55}
.aia-frame-cta{position:relative;align-self:center;justify-self:center;max-width:440px;margin:24px;padding:clamp(22px,3vw,32px);background:rgba(250,250,248,.95);border:1px solid var(--grid);box-shadow:0 18px 44px rgba(16,63,57,.12);text-align:left}
.aia-frame-cta p{margin:14px 0 0;font-size:14.5px;color:var(--graphite);line-height:1.55}
.aia-frame-load{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:12px 20px;border:1px solid var(--petrol);background:var(--petrol);color:var(--porcelain);font:500 15.5px/1.2 var(--text);cursor:pointer;transition:background-color .25s ease,box-shadow .25s ease}
.aia-frame-load:hover,.aia-frame-load:focus-visible{background:var(--petrol-2);box-shadow:0 6px 18px rgba(15,70,64,.16)}
.aia-frame-out{display:inline-block;margin-top:12px;font-size:14.5px;font-weight:600;color:var(--petrol);border-bottom:1px solid var(--pale)}
.aia-frame iframe{display:block;width:100%;height:var(--aia-frame-h,1100px);max-height:none;border:0;background:var(--porcelain)}
.aia-frame.is-loading iframe{opacity:.0}
.aia-frame.is-live iframe{opacity:1;transition:opacity .5s ease}
.aia-frame-status{position:absolute;z-index:3;left:50%;top:clamp(80px,14vw,160px);transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:min(92%,460px);padding:14px 18px;background:var(--paper);border:1px solid var(--grid);box-shadow:0 12px 30px rgba(16,63,57,.10);font-size:15px;color:var(--graphite)}
.aia-frame-status[hidden]{display:none}
.aia-spinner{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--grid);border-top-color:var(--petrol);animation:aia-spin .9s linear infinite}
@keyframes aia-spin{to{transform:rotate(360deg)}}

/* The dialog */
.aia-lab-dialog{width:min(1240px,calc(100vw - 32px));height:min(920px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--grid);background:var(--porcelain);box-shadow:0 30px 80px rgba(8,26,23,.35);overflow:hidden}
.aia-lab-dialog[open]{display:flex;flex-direction:column}
.aia-lab-dialog::backdrop{background:rgba(9,28,25,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.aia-lab-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px 12px 22px;border-bottom:1px solid var(--grid);background:var(--paper);position:relative}
.aia-lab-dialog-bar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--petrol),var(--lume) 45%,transparent)}
.aia-lab-dialog-kicker{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol);font-weight:500}
.aia-lab-dialog-bar strong{display:block;font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.2;margin-top:2px}
.aia-lab-dialog-acts{display:flex;align-items:center;gap:14px;flex:none}
.aia-lab-dialog-acts a{font-size:14.5px;font-weight:600;color:var(--petrol);border-bottom:1px solid var(--pale)}
.aia-lab-dialog-acts button{width:44px;height:44px;border:1px solid var(--grid);background:var(--porcelain);color:var(--ink);font-size:16px;cursor:pointer}
.aia-lab-dialog-acts button:hover{border-color:var(--petrol);color:var(--petrol)}
.aia-lab-dialog-body{position:relative;flex:1;min-height:0}
.aia-lab-dialog-body iframe{display:block;width:100%;height:100%;border:0;background:var(--porcelain)}
.aia-lab-dialog-body.is-loading iframe{opacity:0}
.aia-lab-dialog-body.is-live iframe{opacity:1;transition:opacity .5s ease}
html.aia-dialog-open{overflow:hidden}

/* Lab page */
.rk-lab-index{list-style:none;display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:28px}
.rk-lab-index a{display:inline-block;padding:8px 14px;border:1px solid var(--grid);background:var(--paper);font-size:15px;color:var(--petrol)}
.rk-lab-index a:hover{border-color:var(--petrol)}
.rk-lab-app{padding-top:clamp(56px,7vw,96px);scroll-margin-top:calc(var(--bar) + 16px)}
.rk-lab-app-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:18px clamp(28px,5vw,72px);align-items:end;margin-bottom:26px}
.rk-lab-app-head .small{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--petrol)}
.rk-lab-app-head h2{font-family:var(--display);font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.05;letter-spacing:-.022em;margin-top:10px}
.rk-lab-app-head p{font-size:16.5px;color:var(--graphite)}
.rk-lab-app-head .lab-methods{border-top:0;padding-top:0;margin-top:10px}
.aia-lab-embed{margin:1.6em 0}
.rk-prose .aia-frame,.rk-prose .aia-lab-embed{margin-top:1.8em;margin-bottom:1.8em}
.rk-case-demo{margin-top:clamp(40px,5vw,64px)}
.rk-case-demo h2{font-family:var(--display);font-weight:500;font-size:clamp(25px,2.8vw,36px);letter-spacing:-.02em;margin-bottom:18px}

@media (max-width:860px){
  .lab-grid,.rk-lab-app-head{grid-template-columns:1fr}
}
@media (max-width:600px){
  .aia-lab-dialog{width:100vw;height:100dvh;border:0}
  .aia-lab-dialog-acts a{display:none}
  .aia-frame-cta{margin:14px}
}
@media (prefers-reduced-motion:reduce){
  .aia-spinner{animation-duration:2.4s}
  .lab-card,.lab-shot img{transition:none}
}
.rk-case-demo-link{margin-top:16px;font-size:15px}
/* Footer hairline sits on the content edge, not the padding edge. */
.rk-foot > .rk-wrap{border-top:0;position:relative}
.rk-foot > .rk-wrap::before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);height:1px;background:rgba(183,201,194,.3)}
.rk-foot-profiles{font-size:inherit}
.aia-frame-poster[hidden]{display:none}
/* An odd final demo spans the row, image beside text. */
@media (min-width:861px){
  .lab-grid > .lab-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .lab-grid > .lab-card:last-child:nth-child(odd) .lab-shot{aspect-ratio:auto;min-height:100%;border-bottom:0;border-right:1px solid var(--grid)}
}

/* Lab shelves */
.lab-shelf + .lab-shelf{margin-top:clamp(36px,4.4vw,56px)}
.lab-shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--grid)}
.lab-shelf-head h3{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.016em;margin:0}
.lab-shelf-head p{margin:0;font-size:15px;color:var(--muted)}
.lab-grid.is-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lab-grid.is-compact .lab-body{padding:20px 22px 22px}
.lab-grid.is-compact .lab-body h3{font-size:clamp(20px,1.7vw,23px)}
.lab-grid.is-compact .lab-body p{font-size:15px}
.lab-grid.is-compact .lab-methods{font-size:13px}
.lab-grid.is-compact > .lab-card:last-child:nth-child(odd){grid-column:auto;display:flex}
.lab-grid.is-compact > .lab-card:last-child:nth-child(odd) .lab-shot{aspect-ratio:16/10;min-height:0;border-right:0;border-bottom:1px solid var(--grid)}
.rk-lab-index-group{margin-top:22px}
.rk-lab-index-group > span{display:block;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.rk-lab-index-group .rk-lab-index{margin-top:10px}
.rk-lab-shelf-title{margin-top:clamp(64px,8vw,104px);padding-bottom:14px;border-bottom:1px solid var(--grid);font-family:var(--display);font-weight:500;font-size:clamp(30px,3.6vw,44px);letter-spacing:-.02em}
.rk-lab-shelf-title small{display:block;margin-top:8px;font-family:var(--text);font-size:16px;letter-spacing:0;color:var(--muted)}
.rk-lab-shelf-title + .rk-lab-app{padding-top:clamp(28px,3.4vw,44px)}
@media (max-width:1000px){.lab-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.lab-grid.is-compact{grid-template-columns:1fr}}

/* v5: long titles measure against the heading's own size, not the body text */
.rk-entry-head,.rk-entry-head.wide{max-width:none}
.rk-entry-head h1{max-width:18ch}
