/* /assets/site.css */
/* Smartmed public site.
   Calm clinical design: Open Runde throughout on a tight, semibold type scale
   (after letters.app), pill buttons and hairline tables on a pale mist ground. Palette from the logo:
   navy #13455C, teal #58ABB3. */

/* Open Runde (SIL OFL 1.1, see fonts/OpenRunde-OFL.txt), subset to Latin */
@font-face{font-family:'Open Runde';src:url('/assets/fonts/open-runde-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Open Runde';src:url('/assets/fonts/open-runde-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Open Runde';src:url('/assets/fonts/open-runde-semibold.woff2') format('woff2');font-weight:600 700;font-style:normal;font-display:swap}
/* monospace is kept only for the build-log terminal */
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --bg:#EEF4F3;            /* mist */
  --ground:#E7E4E1;        /* the model's table: the hero ground, so the artwork has no seam */
  --bg-2:#E2ECEA;
  --paper:#F8FBFA;
  --ink:#0D2433;           /* deep navy ink */
  --ink-2:#344E5C;         /* 7.6:1 on mist */
  --ink-3:#4F6673;         /* 5.4:1 on mist */
  --line:rgba(13,36,51,.16);
  --line-strong:rgba(13,36,51,.32);
  --navy:#13455C;          /* logo navy */
  --night:#0A2130;
  --night-2:#0F2D3F;
  --teal:#58ABB3;          /* logo teal */
  --teal-ink:#1D6C74;      /* 5.3:1 on mist, white text on it 6.1:1 */
  --teal-soft:#D3E8E7;
  --teal-pale:#8CC9CE;
  --amber:#E2A23B;
  --on-dark:#EEF3F5;
  --on-dark-2:#A9BAC4;
  --line-dark:rgba(255,255,255,.12);
  --error:#B42318;

  --sans:'Open Runde', ui-rounded, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif:var(--sans);     /* legacy token: headings now share the sans */
  --mono:var(--sans);      /* legacy token: labels are small caps in the sans */
  --code:'IBM Plex Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;

  /* type scale, after letters.app: tight tracking, semibold headings */
  --fs-display:clamp(2.5rem, 1.5rem + 3.2vw, 4rem);     /* 40 -> 64px, hero headline only */
  --fs-h1:clamp(2.375rem, 1.55rem + 2.4vw, 3.375rem);   /* 38 -> 54px */
  --fs-h2:clamp(2rem, 1.45rem + 1.6vw, 2.75rem);        /* 32 -> 44px */
  --fs-h3:clamp(1.75rem, 1.5rem + .8vw, 2rem);          /* 28 -> 32px */
  --fs-h4:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);        /* 20 -> 24px */
  --fs-h5:1.25rem;                                      /* 20px */
  --fs-lead:1.125rem;                                   /* 18px */
  --fs-body:1.0625rem;                                  /* 17px */
  --fs-small:.875rem;                                   /* 14px */
  --fs-label:.75rem;                                    /* 12px */
  --track-tight:-.04em;
  --track-snug:-.03em;
  --track-body:-.01em;

  --gutter:clamp(16px, 2.6vw, 40px);
  --max:1520px;
  --ease:cubic-bezier(.22,.8,.2,1);
  --header-h:72px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-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(--bg);color:var(--ink);
  font-family:var(--sans);font-size:var(--fs-body);line-height:1.4;letter-spacing:var(--track-body);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img,svg,canvas{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--teal-ink);outline-offset:3px;border-radius:3px}
.dark :focus-visible{outline-color:var(--teal-pale)}
[hidden]{display:none!important}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.visually-hidden{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:fixed;left:16px;top:-80px;z-index:300;background:var(--ink);color:#fff;
  font:500 .9rem/1 var(--sans);padding:14px 18px;border-radius:999px;text-decoration:none;
}
.skip-link:focus{top:16px}

/* ---------- type primitives ---------- */
.display{
  font-family:var(--sans);font-weight:600;
  font-size:var(--fs-h2);line-height:1.1;letter-spacing:var(--track-tight);
}
/* emphasis is colour, not italics: Open Runde has no italic */
.display em, .display .it{font-style:normal;color:var(--teal-ink)}
.display .indent{display:inline}
.display .hook{display:none}
.display-m{font-size:var(--fs-h2)}
.display-s{font-size:var(--fs-h3)}
.mono{font-family:var(--sans);font-size:var(--fs-label);font-weight:500;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}
.mono-m{font-family:var(--sans);font-size:var(--fs-small);font-weight:500;line-height:1.45;letter-spacing:.02em;text-transform:uppercase}
.serif-lede{font-family:var(--sans);font-weight:500;font-size:var(--fs-h4);line-height:1.3;letter-spacing:var(--track-snug)}
.serif-lede .hook{display:none}

.tag{
  display:inline-flex;align-items:center;gap:6px;
  font:500 var(--fs-label)/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;
  color:#fff;background:var(--teal-ink);padding:7px 11px 6px;border-radius:999px;
}
.tag::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8}

/* headings flow as normal text; the hero headline keeps its two designed lines */
.ln, .ln > span{display:inline}
.hero-h1 .ln{display:block;text-wrap:balance}
.ln + .ln::before{content:" "}   /* keeps words apart where the markup has no space between lines */
@media (prefers-reduced-motion: no-preference){
  .js .reveal-lines{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease), transform .8s var(--ease)}
  .js .reveal-lines.is-visible{opacity:1;transform:none}
  .js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease), transform .9s var(--ease)}
  .js [data-reveal].is-visible{opacity:1;transform:none}
  /* a group's parts arrive one after another: heading, text, then the rest */
  .js [data-stagger] > *{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease), transform .8s var(--ease)}
  .js [data-stagger].is-visible > *{opacity:1;transform:none}
  .js [data-stagger] > :nth-child(2){transition-delay:70ms}
  .js [data-stagger] > :nth-child(3){transition-delay:140ms}
  .js [data-stagger] > :nth-child(4){transition-delay:210ms}
  .js [data-stagger] > :nth-child(5){transition-delay:280ms}
  .js [data-stagger] > :nth-child(n+6){transition-delay:350ms}
  /* artwork opens downwards like a blind while it settles from a slight zoom */
  /* (the clip sits on the picture, not the observed frame: a fully clipped target never intersects) */
  .js [data-reveal-clip] > picture{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
  .js [data-reveal-clip] img{transform:scale(1.08);transition:transform 1.6s var(--ease)}
  .js [data-reveal-clip].is-visible > picture{clip-path:inset(0 0 0 0)}
  .js [data-reveal-clip].is-visible img{transform:none}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;
  font:600 var(--fs-body)/1 var(--sans);letter-spacing:var(--track-body);text-decoration:none;cursor:pointer;white-space:nowrap;
  border:1px solid var(--line-strong);background:rgba(255,255,255,.45);color:var(--ink);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.btn .hook{font-size:1rem;line-height:1;transition:transform .3s var(--ease)}
.btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn:hover .hook{transform:translateX(3px)}
.btn-solid{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-solid:hover{background:var(--teal-ink);border-color:var(--teal-ink)}
.prose .btn-solid,.prose .btn-solid:hover{color:#fff}
.btn[disabled]{opacity:.6;cursor:progress}
.text-link{
  font:600 var(--fs-body)/1.4 var(--sans);letter-spacing:var(--track-body);text-decoration:none;
  border-bottom:1px solid var(--line-strong);padding-bottom:3px;
}
.text-link:hover{border-bottom-color:var(--ink)}
@media (prefers-reduced-motion: reduce){ .btn, .btn .hook{transition:none} }

/* ---------- header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-h);
  transition:background-color .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(238,244,243,.82);border-bottom-color:var(--line);
  -webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);
}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);justify-self:start;border-radius:6px}
/* Original artwork, cropped from the 1300px source without resizing or recolouring. */
.brand-logo{display:block;width:208px;max-width:100%;height:auto;flex:none}
.footer-brand .brand-logo{width:240px}
@media (max-width: 960px){ .site-header .brand-logo{width:196px} }

.nav-list{display:flex;gap:4px;list-style:none}
.nav-list a{
  display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;
  font:500 .9375rem/1 var(--sans);letter-spacing:var(--track-body);text-decoration:none;
}
.nav-list a:hover{background:rgba(13,36,51,.06)}
.nav-list a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}
.header-actions .btn{min-height:42px;font-size:.9375rem;padding:0 18px}
.nav-toggle{
  display:none;min-height:40px;padding:0 16px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line-strong);background:rgba(255,255,255,.45);
  font:600 .9375rem/1 var(--sans);letter-spacing:var(--track-body);
}

/* full-screen menu (mobile) */
.menu{
  position:fixed;inset:0;z-index:99;background:var(--bg);
  padding:calc(var(--header-h) + 24px) var(--gutter) 32px;
  display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;
}
.menu ol{list-style:none;counter-reset:m}
.menu li{border-top:1px solid var(--line)}
.menu li:last-child{border-bottom:1px solid var(--line)}
.menu nav a{
  display:flex;align-items:baseline;gap:16px;padding:14px 0;text-decoration:none;
  font:600 clamp(2rem, 9vw, 2.75rem)/1.1 var(--sans);letter-spacing:var(--track-tight);
}
.menu nav a .mono{font-size:.7rem;color:var(--ink-3)}
.menu-foot{display:grid;gap:18px;margin-top:32px}
.menu-foot .btn{justify-content:space-between}
.menu-foot > a.mono{text-decoration:none;color:var(--ink-2)}
@media (prefers-reduced-motion: no-preference){
  .menu:not([hidden]){animation:menuIn .5s var(--ease)}
}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

@media (max-width: 960px){
  .header-inner{grid-template-columns:1fr auto}
  .site-nav, .header-actions .btn{display:none}
  .nav-toggle{display:inline-flex;align-items:center}
}
@media (min-width: 961px){ .menu{display:none!important} }

/* ---------- hero: "Connected care, made clear" ----------
   One photographed architect's model in four nested, registered images: a workstation
   (1/64 of the region) inside a ward (1/16) inside the hospital (1/4) inside the region.
   Default: the region image with the headline set on its empty table. Visitors with reduced
   motion, slow devices or no JavaScript get this composed still.
   .hero-zoom (set by site.js in <head>): the model fills a band under the header and
   scrolling pulls the camera back from the workstation to the region; the copy sits below
   on plain ground and never moves. */
.hero{position:relative;background:var(--ground)}
.hero-pin{position:relative;display:flex;flex-direction:column;padding-top:var(--header-h)}
.hero-stage{position:relative;order:-1;overflow:hidden;overflow:clip;background:var(--ground)}
.hero-layer img{width:100%;height:auto}
.hero-lines{display:none}
.hero-copy{position:relative;z-index:2;width:100%;padding-top:clamp(24px, 3.4vw, 44px);padding-bottom:clamp(40px, 6vw, 72px)}
.hero-h1{font-size:min(var(--fs-display), 7.4svh);line-height:1.02;letter-spacing:var(--track-tight)}
.hero-h1 .ln{display:block;text-wrap:balance}
.hero-lede{margin-top:18px;font-size:var(--fs-body);line-height:1.45;color:var(--ink-2);max-width:46ch}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:26px}

/* project pins: labels hang under the building they name, on the model itself */
.hero-pins{list-style:none;display:none}
.pin a{
  display:inline-flex;align-items:baseline;gap:8px;min-height:40px;padding:11px 14px 10px;border-radius:999px;
  background:rgba(255,255,255,.9);border:1px solid var(--line);color:var(--ink);text-decoration:none;
  font:600 .9375rem/1 var(--sans);box-shadow:0 10px 24px -18px rgba(13,36,51,.55);
  transition:background-color .4s var(--ease), color .4s var(--ease);
}
.pin a span{font-weight:500;color:var(--ink-2);transition:color .4s var(--ease)}
.pin a:hover{background:var(--ink);color:#fff}
.pin a:hover span{color:var(--on-dark-2)}
@media (min-width: 861px){
  /* the still: copy on the table's empty lower-left, pins under their buildings */
  .hero-copy{position:absolute;left:0;right:0;bottom:0}
  .hero-stage{-webkit-mask-image:linear-gradient(#000 86%, transparent);mask-image:linear-gradient(#000 86%, transparent)}
  .hero-pins{position:absolute;inset:0;display:block;pointer-events:none}
  .pin{position:absolute;z-index:3;transform:translate(-50%, 0);pointer-events:auto;display:flex;flex-direction:column;align-items:center;white-space:nowrap}
  .pin::before{content:"";width:1px;height:22px;background:linear-gradient(rgba(79,102,115,0), var(--ink-3))}
  .pin-event{left:10%;top:38.3%}
  .pin-capanet{left:55%;top:49.1%}
  .pin-heart{left:85%;top:32.2%}
}
@media (max-width: 860px){
  .hero-h1{font-size:clamp(2.25rem, 10.4vw, 2.75rem)}
  .hero-lede{margin-top:14px;font-size:1rem}
  .hero-ctas{margin-top:20px;gap:10px 18px}
  /* the still on phones: the model fades into the ground; the hero fills the screen on its own.
     The project pins stay hidden here: stacked under the model they pushed the headline down,
     and Selected work names the same projects just below. */
  .hero-layer{-webkit-mask-image:linear-gradient(#000 78%, transparent);mask-image:linear-gradient(#000 78%, transparent)}
  .hero-pin{min-height:100vh;min-height:100svh}
  .hero-copy{margin-top:auto}
}

/* ---------- live zoom ---------- */
.hero-zoom .hero{height:calc(100vh + 190vh);height:calc(100svh + 190svh)}
.hero-zoom .hero-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
/* wide screens: the model fills the screen for the whole sequence */
.hero-zoom .hero-stage{position:absolute;inset:var(--header-h) 0 0;opacity:0;transition:opacity .7s var(--ease)}
.hero-zoom .hero-stage.is-ready{opacity:1}
.hero-zoom .hero-layer{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.hero-zoom .hero-layer img{width:100%;height:100%}
/* nested images fade out at their edges so each sits into the one behind it */
.hero-zoom .hero-layer:not([data-level^="region"]){
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent), linear-gradient(180deg, transparent, #000 7%, #000 93%, transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent), linear-gradient(180deg, transparent, #000 7%, #000 93%, transparent);
  mask-composite:intersect;
}
/* the region image's top and bottom edges fade into the ground; drawn as screen-sized overlays
   that follow the edges, because masking a layer scaled 40x makes browsers drop it */
.hero-zoom .hero-edge{position:absolute;left:0;top:0;width:100%;height:120px;pointer-events:none}
.hero-zoom .hero-edge-top{background:linear-gradient(var(--ground), rgba(231,228,225,0))}
.hero-zoom .hero-edge-bottom{background:linear-gradient(rgba(231,228,225,0), var(--ground))}
.hero-zoom .hero-lines{display:block;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-zoom .hero-copy{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(32px, 4.4vh, 52px)}
/* the living model: video loops over the stills, shown once playing (opacity set by site.js) */
.hero-zoom .hero-live{display:block;opacity:0;object-fit:fill;pointer-events:none}
/* first paint: the headline's two lines rise into place, then the lede and actions */
@media (prefers-reduced-motion: no-preference){
  .hero-zoom .hero-h1 .ln{animation:heroRise .9s var(--ease) both}
  .hero-zoom .hero-h1 .ln + .ln{animation-delay:.09s}
  .hero-zoom .hero-lede{animation:heroRise .9s var(--ease) .18s both}
  .hero-zoom .hero-ctas{animation:heroRise .9s var(--ease) .26s both}
}
@keyframes heroRise{from{opacity:0;transform:translateY(.6em);filter:blur(6px)}}
/* the copy's ground: the table's tone laid over the model and feathered at the top, so the
   picture continues faintly under the words without an edge. No backdrop blur: blurring layers
   that rescale on every scroll frame made Chrome drop tiles, leaving bare bands across the model. */
@media (min-width: 861px){
  .hero-zoom .hero-copy::before{
    content:"";position:absolute;z-index:-1;left:calc(50% - 50vw);right:calc(50% - 50vw);top:-150px;bottom:0;pointer-events:none;
    background:rgba(231,228,225,.9);
    opacity:var(--panel, 1);
    -webkit-mask-image:linear-gradient(transparent, #000 150px);mask-image:linear-gradient(transparent, #000 150px);
  }
}
.hero-zoom .hero-pins{display:block;position:absolute;left:0;right:0;top:0;z-index:3;overflow:hidden;overflow:clip;pointer-events:none}
.hero-zoom .pin{position:absolute;left:0;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}
.hero-zoom .pin.is-on, .hero-zoom .pin:focus-within{opacity:1;pointer-events:auto}
/* the labels arrive one after another, left to right across the network */
.hero-zoom .pin.is-on:nth-child(2){transition-delay:.12s}
.hero-zoom .pin.is-on:nth-child(3){transition-delay:.24s}
.hero-zoom .pin::before{content:"";width:1px;height:22px;background:linear-gradient(rgba(79,102,115,0), var(--ink-3))}
@media (max-width: 860px){
  /* phones: the model in the space above the copy, fading into the ground at both ends */
  .hero-zoom .hero-stage{position:relative;inset:auto;flex:1 1 auto;min-height:220px;-webkit-mask-image:linear-gradient(transparent, #000 10%, #000 84%, transparent);mask-image:linear-gradient(transparent, #000 10%, #000 84%, transparent)}
  .hero-zoom .hero-copy{position:relative;bottom:auto;flex:none;padding-top:8px;padding-bottom:32px}
  .hero-zoom .pin a{min-height:34px;padding:9px 12px 8px}
  .hero-zoom .pin a span{display:none}
}

/* ---------- generic sections ---------- */
.section{padding:clamp(88px, 12vw, 176px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30ch);gap:24px 40px;align-items:end;margin-bottom:clamp(48px, 7vw, 104px)}
.sec-head .mono{color:var(--ink-2)}
@media (max-width: 860px){ .sec-head{grid-template-columns:1fr} }

.sec-lede{font-size:var(--fs-body);line-height:1.5;color:var(--ink-2);max-width:40ch}

/* about: the hospital we grew out of, beside the facts. The warm model-table ground
   steps the section off the mist either side of it. */
.about{background:var(--ground)}
.about-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px clamp(40px, 5vw, 96px);align-items:center}
.about-figure{margin:0}
.about-plate{border-radius:16px;overflow:hidden}
.about-plate picture{display:block}
.about-plate img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 40%}
.about-figure figcaption{margin-top:12px;font-size:var(--fs-small);color:var(--ink-3)}
.about-h{text-wrap:balance}
.about-lede{margin-top:24px;font-size:var(--fs-h5);line-height:1.45;letter-spacing:var(--track-body);max-width:42ch}
.about-facts{margin-top:32px;display:grid;gap:12px}
.about-facts div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:16px;align-items:baseline}
.about-facts dt{font-weight:600}
.about-facts dd{margin:0;color:var(--ink-2)}
.about-cta{margin-top:36px}
@media (max-width: 960px){ .about-grid{grid-template-columns:1fr} }
@media (max-width: 480px){ .about-facts div{grid-template-columns:1fr;gap:2px} }

/* what we build: a list of services beside a stage that shows the real screen for the
   service in view. Phones and tablets show each screen inline instead. */
.sol-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px, 5vw, 96px);align-items:start}
.sol-list{list-style:none}
.sol{padding:clamp(28px, 3.2vw, 44px) 0;border-top:1px solid var(--line)}
.sol:last-child{border-bottom:1px solid var(--line)}
.sol h3{font:600 var(--fs-h3)/1.1 var(--sans);letter-spacing:var(--track-tight);text-wrap:balance;transition:color .4s var(--ease)}
.sol-body{margin-top:14px}
.sol-body p{color:var(--ink-2);max-width:48ch;transition:color .4s var(--ease)}
.sol-body ul{list-style:none;margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 18px}
.sol-body li{font:500 var(--fs-small)/1.5 var(--sans);letter-spacing:var(--track-body);color:var(--ink);transition:color .4s var(--ease)}
.sol-body li::before{content:"\21AA";margin-right:6px;color:var(--teal-ink)}
.sol-demo{display:inline-block;margin-top:20px;color:var(--teal-ink);border-bottom-color:currentColor}
.sol-plate{
  display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;aspect-ratio:4/3;
  padding:clamp(20px, 3vw, 44px);border-radius:16px;background:var(--navy);overflow:hidden;
}
.sol-plate img{width:auto;height:auto;max-width:100%;max-height:100%}
.sol-plate .card-shot{box-shadow:0 28px 60px -28px rgba(0,0,0,.6)}
.sol-inline, .sol-frame{margin:0}
.sol-inline figcaption, .sol-frame figcaption{margin-top:12px;font-size:var(--fs-small);color:var(--ink-3)}
.sol-inline figcaption a, .sol-frame figcaption a{color:var(--teal-ink);font-weight:600;text-underline-offset:3px;white-space:nowrap}
@media (min-width: 961px){
  .sol-inline{display:none}
  .sol-stage{position:sticky;top:calc(var(--header-h) + 40px);display:grid}
  /* the frame leaving goes quickly; the one arriving settles in from a soft blur */
  .sol-frame{
    grid-area:1/1;opacity:0;visibility:hidden;transform:scale(.985);filter:blur(6px);
    transition:opacity .25s var(--ease), transform .25s var(--ease), filter .25s var(--ease), visibility 0s linear .25s;
  }
  .sol-frame.is-active{
    opacity:1;visibility:visible;transform:none;filter:none;
    transition:opacity .5s var(--ease), transform .6s var(--ease), filter .5s var(--ease), visibility 0s;
  }
  /* rows not on the stage step back a tone, so the one being shown leads */
  .js .sol:not(.is-active) h3, .js .sol:not(.is-active) .sol-body p, .js .sol:not(.is-active) .sol-body li{color:var(--ink-3)}
}
@media (max-width: 960px){
  .sol-layout{grid-template-columns:1fr}
  .sol-stage{display:none}
  .sol-inline{margin-top:24px}
}
@media (prefers-reduced-motion: reduce){ .sol-frame, .sol-frame.is-active{transform:none;filter:none;transition:opacity .2s linear, visibility 0s} }

/* ---------- projects: staggered grid ---------- */
/* Selected work picks up the hero's ground and eases into the page's mist, so there is no seam */
#work{background:linear-gradient(var(--ground), var(--bg) 640px);padding-top:clamp(40px, 5vw, 72px)}
.work-title{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.28em;margin-bottom:clamp(48px, 7vw, 96px);font-size:var(--fs-h2)}
.work-title .display{font-size:inherit}
.work-title .mid{display:contents}
.work-title .mid .mono{order:3;flex:0 0 100%;margin-top:16px;color:var(--ink-2)}
.projects{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:0 clamp(24px, 4vw, 72px)}
.projects .col{display:flex;flex-direction:column;gap:clamp(64px, 9vw, 140px)}
.projects .col:nth-child(2){padding-top:clamp(80px, 16vw, 260px)}
@media (max-width: 760px){
  .projects{grid-template-columns:1fr}
  .projects .col{gap:64px}
  .projects .col + .col{padding-top:64px}
}
.project{position:relative}
.project-visual{
  position:relative;border-radius:16px;overflow:hidden;background:var(--night);
  padding:clamp(18px, 4cqi, 40px);container-type:inline-size;
}
.v-night{background:var(--night)}
.v-teal{background:linear-gradient(160deg, #1A5868, #0B2838)}
.v-paper{background:var(--bg-2)}
.v-sky{background:linear-gradient(180deg, #CFE6E6, #9FCBCD)}
.project-visual > *{transition:transform 1s var(--ease)}
.project:hover .vis-inner{transform:scale(1.025)}
@media (prefers-reduced-motion: reduce){ .project:hover .project-visual > *{transform:none} }
.illus{position:absolute;right:12px;bottom:10px;font:500 .625rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.v-paper .illus, .v-sky .illus{color:var(--ink-3)}
.project-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:16px;color:var(--ink-3)}
.project h3{margin-top:8px;font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug)}
.project h3 a{text-decoration:none}
.project h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}  /* whole card is the link target */
.project h3 a:focus-visible{outline:none}
.project:has(h3 a:focus-visible) .project-visual{outline:2px solid var(--teal-ink);outline-offset:4px}
.project p.summary{margin-top:8px;color:var(--ink-2);max-width:48ch;font-size:var(--fs-body)}
.project .more{display:inline-block;margin-top:14px;color:var(--teal-ink)}
.work-note{margin-top:clamp(64px, 8vw, 112px);color:var(--ink-3);max-width:80ch}

/* ---------- mini interfaces (illustrations inside project visuals) ---------- */
.mini{border-radius:12px;background:var(--night-2);border:1px solid rgba(255,255,255,.14);color:var(--on-dark);font-size:12.5px;line-height:1.35;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}
.mini-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-dark)}
.mini-head strong{font:600 13.5px/1.2 var(--sans);color:#fff}
.mini-body{padding:16px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font:600 11px/1 var(--sans);white-space:nowrap}
.chip i{width:6px;height:6px;border-radius:50%;background:currentColor}
.chip-teal{background:rgba(88,171,179,.18);color:var(--teal-pale)}
.chip-amber{background:rgba(226,162,59,.18);color:#F2C47A}
.chip-red{background:rgba(229,98,85,.18);color:#F4A69C}
.chip-mute{background:rgba(255,255,255,.08);color:var(--on-dark-2)}
.skel{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.14)}
.units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.unit{border:1px solid var(--line-dark);border-radius:10px;padding:11px}
.u-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.u-top .skel{flex:1;max-width:60%}
.u-beds{display:flex;gap:3px;margin-top:12px}
.u-beds i{flex:1;height:14px;border-radius:3px;background:var(--teal)}
.u-beds i.free{background:transparent;box-shadow:0 0 0 1px rgba(140,201,206,.55) inset}
.u-beds i.closed{background:rgba(255,255,255,.12)}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;color:var(--on-dark-2);font-size:11px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;background:var(--teal)}
.legend i.free{background:transparent;box-shadow:0 0 0 1px rgba(140,201,206,.6) inset}
.legend i.closed{background:rgba(255,255,255,.12)}
.trend{margin-top:16px;border-top:1px solid var(--line-dark);padding-top:14px}
.trend svg{width:100%;height:64px}
.trend-line{fill:none;stroke:var(--teal-pale);stroke-width:2;vector-effect:non-scaling-stroke}
.trend-area{fill:rgba(88,171,179,.14)}
@container (max-width: 420px){ .units{grid-template-columns:repeat(2,minmax(0,1fr))} .unit:nth-child(n+5){display:none} }

.timeline{list-style:none;position:relative;padding-left:26px}
.timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:rgba(255,255,255,.12)}
.timeline li{position:relative;padding:0 0 16px}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-26px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--night-2);border:2px solid rgba(255,255,255,.25)}
.timeline li.done::before{background:var(--teal);border-color:var(--teal)}
.timeline li.late::before{background:var(--amber);border-color:var(--amber)}
.tl-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.timeline strong{font-weight:600;color:#fff}
.timeline small{display:block;color:var(--on-dark-2);font-size:11.5px;margin-top:2px}
.mail{margin-top:14px;display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:10px;background:rgba(226,162,59,.10);border:1px solid rgba(226,162,59,.3)}
.mail svg{width:18px;height:18px;flex:none;color:#F2C47A}
.mail p{font-size:12px}

.form-mock{background:#fff;color:var(--ink);border-radius:12px;border:1px solid var(--line);box-shadow:0 30px 70px -40px rgba(13,36,51,.5);overflow:hidden;font-size:12.5px}
.fm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.fm-top strong{font:600 13.5px/1.2 var(--sans)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;font-size:11px;font-weight:600}
.seg span{padding:4px 11px;border-radius:999px;color:var(--ink-3)}
.seg span.on{background:var(--ink);color:#fff}
.fm-steps{display:flex;gap:6px;padding:12px 18px;border-bottom:1px solid var(--line)}
.fm-steps span{flex:1;min-width:0;font-size:11px;font-weight:600;color:var(--ink-3);padding-top:9px;border-top:3px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-steps span.done{border-top-color:var(--teal-ink);color:var(--ink)}
.fm-steps span.now{border-top-color:var(--teal);color:var(--ink)}
.fm-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:18px}
.fm-field label{display:block;font-size:11px;font-weight:600;color:var(--ink-3);margin-bottom:6px}
.fm-input{height:34px;border:1px solid var(--line-strong);border-radius:8px;display:flex;align-items:center;padding:0 10px}
.fm-input .skel{background:var(--bg-2);width:60%}
.fm-field.span2{grid-column:span 2}
.fm-radio{display:flex;gap:8px}
.fm-radio span{flex:1;height:34px;border:1px solid var(--line-strong);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--ink-3)}
.fm-radio span.on{border-color:var(--teal-ink);color:var(--teal-ink);font-weight:600;background:var(--teal-soft)}
.fm-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line);background:var(--bg)}
.fm-foot .fm-save{font-size:11px;color:var(--ink-3)}
.fm-foot .fm-next{padding:7px 14px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:11.5px}
@container (max-width: 460px){
  .fm-body{grid-template-columns:1fr}
  .fm-field.span2{grid-column:auto}
  .fm-steps span:nth-child(n+3){display:none}
}

.tl-list{list-style:none;display:grid;gap:8px}
.tl-list li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line-dark);border-radius:10px}
.tl-list b{width:12px;height:12px;border-radius:50%}
.tl-list .g{background:#5CC08A}.tl-list .a{background:var(--amber)}.tl-list .r{background:#E56255}
.tl-list .skel{width:70%}

.phone-solo{width:min(240px, 70%);margin:0 auto;border-radius:30px;padding:9px;background:#0A1D2A;border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px -24px rgba(3,12,18,.55)}
.phone-screen{border-radius:22px;background:var(--paper);color:var(--ink);padding:16px 15px 18px;font-size:12.5px}
.phone-notch{width:60px;height:6px;border-radius:6px;background:var(--bg-2);margin:0 auto 14px}
.ph-label{font:500 10px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--teal-ink)}
.ph-q{font:600 16px/1.2 var(--sans);letter-spacing:-.02em;margin-top:8px}
.ph-opt{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:500}
.ph-opt.sel{border-color:var(--teal-ink);box-shadow:0 0 0 1px var(--teal-ink) inset}
.ph-opt i{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line-strong)}
.ph-opt.sel i{border:4px solid var(--teal-ink)}
.ph-progress{display:flex;gap:4px;margin-top:14px}
.ph-progress i{flex:1;height:3px;border-radius:3px;background:var(--bg-2)}
.ph-progress i.on{background:var(--teal-ink)}

.rota{display:grid;grid-template-columns:72px repeat(7, minmax(0,1fr));gap:4px;font-size:10.5px;color:var(--on-dark-2)}
.rota span{display:flex;align-items:center;justify-content:center;height:26px;border-radius:5px}
.rota .h{height:20px}
.rota .n{justify-content:flex-start}
.rota .n .skel{width:80%}
.rota .d{background:rgba(88,171,179,.35)}
.rota .o{background:rgba(255,255,255,.10)}
.rota .c{background:var(--teal);color:var(--night);font-weight:700}
.pa{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-dark);font-size:11.5px;color:var(--on-dark-2)}
.pa strong{color:#fff}

/* ---------- recognition table ---------- */
.rec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,30ch);align-items:end;gap:24px 40px;margin-bottom:clamp(40px, 6vw, 80px)}
@media (max-width: 860px){ .rec-head{grid-template-columns:1fr} }

/* the award: a plaque on paper, with the e-VENT model fading in beside it */
.award{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);background:var(--paper);border-radius:24px;overflow:hidden}
.award-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px, 4vw, 56px)}
.award-year{font:600 var(--fs-display)/.9 var(--sans);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums}
.award-copy h3{margin-top:clamp(24px, 3vw, 40px);font:600 var(--fs-h3)/1.1 var(--sans);letter-spacing:var(--track-tight);text-wrap:balance}
.award-cat{margin-top:10px;font-weight:600;color:var(--ink-2)}
.award-text{margin-top:16px;color:var(--ink-2);max-width:40ch}
.award-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px}
.award-links a:first-child{color:var(--teal-ink);border-bottom-color:currentColor}
.award-art{position:relative;min-height:340px}
.award-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.award-art picture{position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg, transparent, #000 24%);mask-image:linear-gradient(90deg, transparent, #000 24%)}
@media (max-width: 960px){
  .award{grid-template-columns:1fr}
  .award-art{min-height:0;aspect-ratio:16/9}
  .award-art picture{-webkit-mask-image:linear-gradient(transparent, #000 22%);mask-image:linear-gradient(transparent, #000 22%)}
}

/* organisations set as one wall of names, and the two figures that back them */
.rec-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px clamp(40px, 6vw, 112px);margin-top:clamp(64px, 8vw, 120px);align-items:start}
.rec-orgs h3{font:600 var(--fs-h5)/1.3 var(--sans);letter-spacing:var(--track-body);color:var(--ink-2)}
.org-wall{list-style:none;display:flex;flex-wrap:wrap;margin-top:20px;font:600 var(--fs-h2)/1.15 var(--sans);letter-spacing:var(--track-tight)}
.org-wall li:not(:last-child)::after{content:"/";margin:0 .3em;font-weight:400;color:var(--ink-3)}
.figures{list-style:none;display:grid;gap:clamp(28px, 3vw, 40px)}
.figures li{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--line-strong)}
.figures strong{font:600 var(--fs-h2)/1 var(--sans);letter-spacing:var(--track-tight)}
.figures span{color:var(--ink-2);max-width:34ch}
@media (max-width: 960px){
  .rec-split{grid-template-columns:1fr}
  /* phones: one name to a line reads as a list, not a wall with stray slashes */
  .org-wall{flex-direction:column;gap:6px;font-size:var(--fs-h3);line-height:1.15}
  .org-wall li:not(:last-child)::after{display:none}
}
@media (min-width: 600px) and (max-width: 960px){
  .figures{grid-template-columns:repeat(2, minmax(0,1fr))}
}

/* ---------- contact ---------- */
.contact{background:var(--paper);border-top:1px solid var(--line-strong);padding-top:clamp(72px, 8vw, 128px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(48px, 7vw, 120px);align-items:start}
.contact .tag{margin-bottom:22px}
.contact-copy{margin-top:clamp(24px, 4vw, 40px);display:grid;gap:22px;max-width:46ch}
.contact-copy p{color:var(--ink-2)}
.contact-copy dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;border-top:1px solid var(--line);padding-top:18px}
.contact-copy dt{color:var(--ink-3)}
.contact-copy dd{font-size:var(--fs-body);text-transform:none;letter-spacing:0;color:var(--ink)}
.contact-copy dd a{text-decoration-color:var(--line-strong);text-underline-offset:4px}

.enquiry{display:grid;gap:26px}
.enquiry .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font:500 var(--fs-small)/1.3 var(--sans);letter-spacing:var(--track-body);color:var(--ink-2)}
.field label .opt{color:var(--ink-3);font-weight:400}
.field .hint{font-size:.86rem;color:var(--ink-3);margin-top:-2px}
.field input, .field select, .field textarea{
  width:100%;min-height:48px;padding:10px 2px;border:0;border-bottom:1px solid var(--ink-3);border-radius:0;
  background:transparent;font-size:var(--fs-lead);color:var(--ink);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.field textarea{min-height:120px;resize:vertical;line-height:1.5}
.field select{
  appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230D2433' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 4px center;background-size:16px;
}
.field input:hover, .field select:hover, .field textarea:hover{border-bottom-color:var(--ink)}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-bottom-color:var(--teal-ink);box-shadow:0 2px 0 0 var(--teal-ink)}
.field [aria-invalid="true"]{border-bottom-color:var(--error);box-shadow:0 2px 0 0 var(--error)}
.field-error{font-size:.88rem;font-weight:500;color:var(--error)}
.field-error:empty{display:none}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.form-foot p{font-size:.88rem;color:var(--ink-3);max-width:40ch}
.form-foot a{color:var(--teal-ink)}
.error-summary{border:2px solid var(--error);border-radius:12px;padding:16px 18px;background:#FEF3F2}
.error-summary h3{font:700 1rem/1.3 var(--sans);color:#7A1A12}
.error-summary ul{margin-top:8px;padding-left:20px}
.error-summary a{color:var(--error);font-weight:500}
.form-status:empty{display:none}
.form-status.is-error{border-radius:12px;padding:14px 16px;background:#FEF3F2;border:1px solid #F3B8B2;color:#7A1A12;font-size:.95rem}
.form-status.is-error a{color:#7A1A12;font-weight:600}
.enquiry-noscript{margin:0 0 18px;border-radius:12px;padding:14px 16px;background:#FEF3F2;border:1px solid #F3B8B2;color:#7A1A12;font-size:.95rem}
.enquiry-noscript a{color:#7A1A12;font-weight:600}
.form-success{border-top:1px solid var(--line-strong);padding-top:24px}
.form-success h3{font:600 var(--fs-h3)/1.1 var(--sans);letter-spacing:var(--track-tight)}
.form-success p{margin-top:14px;color:var(--ink-2);max-width:44ch}
.form-success a{color:var(--teal-ink)}
@media (max-width: 960px){ .contact-grid{grid-template-columns:1fr} }
@media (max-width: 560px){ .enquiry .row{grid-template-columns:1fr} .form-foot .btn{width:100%;justify-content:space-between} }

/* ---------- footer ---------- */
.site-footer{padding:clamp(56px, 7vw, 96px) 0 28px;border-top:1px solid var(--line-strong)}
.footer-cols{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3, minmax(0,1fr));gap:40px}
.footer-cols h2{font:500 var(--fs-label)/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.footer-cols ol{list-style:none;display:grid;gap:8px}
.footer-cols ol a, .footer-cols address a{font:500 .9375rem/1.5 var(--sans);letter-spacing:var(--track-body);text-decoration:none}
.footer-cols ol a:hover, .footer-cols address a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-cols ol a span{color:var(--ink-3);margin-right:8px}
.footer-cols address{font:400 .9375rem/1.6 var(--sans);letter-spacing:var(--track-body);font-style:normal;color:var(--ink-2)}
.footer-brand p{margin-top:16px;max-width:30ch;color:var(--ink-2);font-size:.95rem}
.footer-word{
  margin-top:clamp(48px, 7vw, 96px);font:600 clamp(3.5rem, 15vw, 14rem)/.85 var(--sans);
  letter-spacing:-.06em;color:var(--navy);white-space:nowrap;
}
.footer-word em{font-style:normal;color:var(--teal-ink)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-3)}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width: 960px){ .footer-cols{grid-template-columns:repeat(2, minmax(0,1fr))} .footer-brand{grid-column:1 / -1} }
@media (max-width: 480px){ .footer-cols{grid-template-columns:1fr} }

/* ---------- inner pages ---------- */
.page-head{padding:calc(var(--header-h) + clamp(48px, 9vw, 128px)) 0 clamp(40px, 6vw, 80px)}
.page-head .crumb{display:flex;gap:10px;color:var(--ink-3);margin-bottom:24px}
.page-head .crumb a{text-decoration:none}
.page-head .crumb a:hover{text-decoration:underline}
.page-head p.sub{margin-top:20px;max-width:56ch;color:var(--ink-2);font-size:var(--fs-lead)}
.page-head .display{font-size:var(--fs-h1);line-height:1}
.page-head p.sub a{color:var(--teal-ink)}
.case-meta{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px,1fr));gap:20px;margin-top:clamp(40px, 6vw, 72px);border-top:1px solid var(--line-strong);padding-top:18px}
.case-meta dt{color:var(--ink-3)}
.case-meta dd{margin-top:8px;font-size:var(--fs-body);text-transform:none;letter-spacing:var(--track-body);font-weight:400;overflow-wrap:anywhere}
@media (max-width: 760px){ .case-meta{grid-template-columns:repeat(2, minmax(0,1fr))} }
/* concept scene: the project's place in the model world, set on the model's own ground */
.case-scene{background:linear-gradient(var(--bg), var(--ground) 18%, var(--ground) 82%, var(--bg));padding-block:clamp(8px, 2vw, 24px) clamp(32px, 5vw, 64px);margin-bottom:clamp(40px, 6vw, 80px)}
.case-scene figure{display:grid;gap:14px}
.scene-img{width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 74% 72% at 50% 48%, #000 60%, transparent 100%);mask-image:radial-gradient(ellipse 74% 72% at 50% 48%, #000 60%, transparent 100%)}
.case-scene figcaption{justify-self:center;color:var(--ink-3)}
.case-visual{margin:0;border-radius:20px;overflow:hidden;padding:clamp(20px, 6vw, 96px);container-type:inline-size;position:relative}
.case-visual .mini, .case-visual .form-mock{max-width:860px;margin:0 auto}
.case-body{padding:clamp(64px, 9vw, 136px) 0}
.case-rows{border-top:1px solid var(--line-strong)}
.case-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px 40px;padding:28px 0;border-bottom:1px solid var(--line-strong)}
.case-row h2{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug)}
.case-row h2 .mono{display:block;margin-bottom:10px;color:var(--ink-3)}
.case-row p{font-size:var(--fs-lead);color:var(--ink-2);max-width:56ch}
.case-row p + p{margin-top:12px}
@media (max-width: 760px){ .case-row{grid-template-columns:1fr} }
.case-note{margin-top:28px;color:var(--ink-3)}
.next-case{display:block;text-decoration:none;border-top:1px solid var(--line-strong);padding:clamp(40px, 6vw, 80px) 0}
.next-case .mono{color:var(--ink-3)}
.next-case .display{margin-top:12px;transition:color .4s var(--ease)}
.next-case:hover .display{color:var(--teal-ink)}

.prose{max-width:72ch;padding-bottom:clamp(72px, 9vw, 128px)}
.prose h2{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug);margin-top:48px}
.prose h2:first-child{margin-top:0}
.prose p, .prose ul{margin-top:14px;color:var(--ink-2)}
.prose ul{padding-left:22px}
.prose li + li{margin-top:6px}
.prose a{color:var(--teal-ink);text-underline-offset:3px}
.prose .btn{margin-top:32px}

@media print{
  .site-header, .hero-pins, .menu, .enquiry{display:none}
  .hero-zoom .hero{height:auto}
  .hero-zoom .hero-pin{position:static;height:auto}
  .hero-zoom .hero-stage{display:none}
  .hero-zoom .hero-copy{position:static}
}
.display .nc{text-transform:none}

/* ---------- how information moves: three live diagrams on the night ground ----------
   Teal is information travelling, as in the hero's model. The CAPANET flow and the LTV
   pathway are illustrations; the waiting-times chart is NHS England's own data. site.js
   runs them only while the section is on screen; with reduced motion they hold still. */
.info{background:var(--night);color:var(--on-dark);padding-top:clamp(72px, 8vw, 128px)}
.info .sec-head{margin-bottom:clamp(40px, 5vw, 72px)}
.info-eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.11em;color:var(--on-dark-2);margin-bottom:16px}
.info .display{color:var(--on-dark)}
.info .display em{color:var(--teal-pale)}
.info .sec-lede{color:var(--on-dark-2)}
.im-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:clamp(16px, 2vw, 28px)}
.im-card{position:relative;display:flex;flex-direction:column;gap:28px;padding:clamp(20px, 2.6vw, 36px);border-radius:20px;background:var(--night-2);border:1px solid var(--line-dark)}
.im-wide{grid-column:1 / -1}
.im-card .illus{top:18px;right:20px;bottom:auto}
.im-fig{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.im-copy{margin-top:auto}
.im-copy h3{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug);color:var(--on-dark)}
.im-copy p{margin-top:10px;color:var(--on-dark-2);max-width:48ch}
.im-link{display:inline-block;margin-top:16px;color:var(--teal-pale);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(140,201,206,.45);padding-bottom:2px;transition:border-color .3s var(--ease)}
.im-link:hover{border-bottom-color:var(--teal-pale)}
.info :focus-visible{outline-color:var(--teal-pale)}
@media (min-width: 1100px){
  .im-wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:48px;align-items:center}
  .im-wide .im-fig{order:2}
  .im-wide .im-copy{margin-top:0}
}
@media (max-width: 1023px){ .im-grid{grid-template-columns:1fr} }

/* the CAPANET flow: units, one record, three uses */
.im-flow{width:100%;height:auto;overflow:visible}
.im-flow-tall{display:none;max-width:420px;margin:0 auto}
@media (max-width: 760px){ .im-flow-wide{display:none} .im-flow-tall{display:block} }
.im-wires path{fill:none;stroke:rgba(140,201,206,.24);stroke-width:2}
.im-pulses{filter:drop-shadow(0 0 5px rgba(88,171,179,.9))}
.im-pulses path{fill:none;stroke:#BFF3F7;stroke-width:3;stroke-linecap:round;stroke-dasharray:12 100;stroke-dashoffset:12;opacity:0}
.im-node{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.14)}
.im-label{fill:var(--on-dark);font:600 15px var(--sans)}
.im-sub{fill:var(--on-dark-2);font:500 12.5px var(--sans)}
.im-beds rect{fill:rgba(255,255,255,.09);transition:fill .6s var(--ease)}
.im-beds rect.is-used{fill:var(--teal)}
.im-hub-box{fill:var(--navy);stroke:var(--teal);stroke-width:1.5}
.im-hub-ring{fill:none;stroke:rgba(88,171,179,.4);stroke-width:1.5;transform-box:fill-box;transform-origin:center}
.im-hub-name{fill:#fff;font:600 17px var(--sans);letter-spacing:.08em;text-anchor:middle}
.im-hub-sub{fill:var(--teal-pale);font:500 12.5px var(--sans);text-anchor:middle}
.im-doc rect, .im-doc path{fill:none;stroke:var(--on-dark-2);stroke-width:1.5}
.im-bar-bg{fill:rgba(255,255,255,.08)}
.im-bar{fill:var(--teal);transform-box:fill-box;transform-origin:50% 100%;transition:transform .8s var(--ease)}

/* the LTV pathway: each step timed against its target (an interface fragment, so it keeps
   the product's own red, amber and green) */
.im-path{list-style:none;display:grid;grid-template-columns:repeat(6, minmax(0,1fr));position:relative;margin-top:24px;--rag-g:#3FA877;--rag-a:#E2A23B;--rag-r:#E0605A}
.im-path li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:0 4px}
.im-path li:not(:last-child)::after{content:"";position:absolute;top:9px;left:calc(50% + 12px);right:calc(-50% + 12px);height:2px;background:rgba(255,255,255,.12)}
.im-path li.is-done:not(:last-child)::after{background:rgba(140,201,206,.55)}
.im-path i{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.22);background:var(--night-2);transition:background-color .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease)}
.im-path span{font:500 var(--fs-small)/1.3 var(--sans);color:var(--on-dark-2);transition:color .4s var(--ease)}
.im-path b{font:600 .8125rem/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--on-dark-2);min-height:1em;padding:4px 8px;border-radius:999px;transition:background-color .4s var(--ease), color .4s var(--ease)}
.im-path .is-current i{border-color:var(--teal-pale);box-shadow:0 0 0 6px rgba(88,171,179,.22)}
.im-path .is-current span, .im-path .is-done span{color:var(--on-dark)}
.im-path .is-g i{background:var(--rag-g);border-color:var(--rag-g)}
.im-path .is-a i{background:var(--rag-a);border-color:var(--rag-a)}
.im-path .is-r i{background:var(--rag-r);border-color:var(--rag-r)}
.im-path .is-g b{background:rgba(63,168,119,.18);color:#9BE0BD}
.im-path .is-a b{background:rgba(226,162,59,.18);color:#F2CB8A}
.im-path .is-r b{background:rgba(224,96,90,.2);color:#F4A6A2}
.im-path .im-home.is-done i{background:var(--teal-pale);border-color:var(--teal-pale)}
@media (max-width: 760px){
  /* phones: the pathway runs down the card */
  .im-path{grid-template-columns:1fr;gap:14px;margin-top:0}
  .im-path li{flex-direction:row;text-align:left;gap:14px;padding:0}
  .im-path li:not(:last-child)::after{top:24px;bottom:-14px;left:9px;right:auto;width:2px;height:auto}
  .im-path span{flex:1}
}

.im-path-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-right:96px}
.im-path-head span:first-child{font-weight:600;color:var(--on-dark)}
.im-path-total{font-variant-numeric:tabular-nums;color:var(--teal-pale);font-weight:600}
.im-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:28px;font-size:var(--fs-small);color:var(--on-dark-2)}
.im-legend li{display:inline-flex;align-items:center;gap:8px}
.im-legend li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.im-legend .is-g{--c:#3FA877}
.im-legend .is-a{--c:#E2A23B}
.im-legend .is-r{--c:#E0605A}
@media (max-width: 760px){ .im-path-head{padding-right:0;flex-direction:column;gap:4px;margin-bottom:20px} .im-legend{margin-top:20px} }

/* England's waiting times: one column per specialty; drag, hover or use the arrow keys */
.im-readout{min-height:3.6em;font-size:var(--fs-body);line-height:1.4;color:var(--on-dark-2)}
.im-readout strong{display:block;font:600 var(--fs-h5)/1.25 var(--sans);color:var(--on-dark)}
.im-readout em{font-style:normal;color:var(--teal-pale);font-weight:600}
.im-chart{position:relative;height:180px;margin-top:14px;cursor:ew-resize;touch-action:pan-y;border-radius:8px}
.im-chart svg{width:100%;height:100%}
.im-cols rect{fill:rgba(140,201,206,.3);transition:fill .3s var(--ease)}
.im-cols rect.is-on{fill:var(--teal-pale)}
.im-cursor{stroke:var(--teal-pale);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .3s var(--ease)}
.im-chart.is-ready .im-cursor{opacity:.7}
.im-source{margin-top:12px;font-size:var(--fs-small);color:var(--on-dark-2)}
.im-source a{color:var(--on-dark-2)}

/* motion, only while on screen and only without a reduced-motion preference */
@media (prefers-reduced-motion: no-preference){
  .info.is-live .im-pulses path{animation:imPulse 2.6s linear infinite}
  .info.is-live .im-pulses path:nth-child(2){animation-delay:.5s}
  .info.is-live .im-pulses path:nth-child(3){animation-delay:1s}
  .info.is-live .im-pulses path:nth-child(4){animation-delay:1.3s}
  .info.is-live .im-pulses path:nth-child(5){animation-delay:1.8s}
  .info.is-live .im-pulses path:nth-child(6){animation-delay:2.3s}
  .info.is-live .im-hub-ring{animation:imRing 2.6s var(--ease) infinite}
}
@keyframes imPulse{0%{stroke-dashoffset:12;opacity:0}8%{opacity:1}92%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes imRing{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}

/* ---------- real product screens (work cards and case studies) ---------- */
.project-visual-shot{padding:clamp(14px, 3.4cqi, 36px)}
/* a concept scene fills its card on the model's own ground */
.project-visual-scene{padding:0;background:var(--ground)}
.scene-card{display:block;width:100%;height:auto;transition:transform 1s var(--ease)}
.project:hover .scene-card{transform:scale(1.02)}
@media (prefers-reduced-motion: reduce){ .project:hover .scene-card{transform:none} }
.card-shot, .case-shot, .gallery-shot{display:block;width:100%;height:auto;border-radius:10px;background:#fff;box-shadow:0 24px 60px -30px rgba(13,36,51,.55), 0 0 0 1px rgba(13,36,51,.06)}
.project:hover .card-shot{transform:scale(1.02)}
.card-shot{transition:transform 1s var(--ease)}
@media (prefers-reduced-motion: reduce){ .project:hover .card-shot{transform:none} }
.case-visual-shot{padding:clamp(16px, 5vw, 72px)}
.case-visual-shot .case-shot{max-width:1100px;margin:0 auto}
/* a 4:3 archived screen (e-VENT) reads at its own size rather than filling the band */
.case-shot-open{display:block;max-width:880px;margin:0 auto;border-radius:10px;cursor:zoom-in}
.case-shot-open:focus-visible{outline:3px solid var(--teal-ink);outline-offset:4px}
.case-visual-shot .case-shot-compact{max-width:none}

.case-sub{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug);margin-bottom:clamp(20px, 3vw, 32px)}
.case-features-wrap, .case-gallery-wrap{margin-top:clamp(56px, 8vw, 104px)}
.case-features{list-style:none;display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:0 clamp(20px, 3vw, 40px)}
.case-features li{border-top:1px solid var(--line-strong);padding:18px 0 28px}
.case-features h3{font:600 var(--fs-h5)/1.25 var(--sans);letter-spacing:-.02em}
.case-features p{margin-top:8px;color:var(--ink-2);font-size:var(--fs-body)}
.case-gallery{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:clamp(24px, 3vw, 40px)}
.case-gallery figure{margin:0;padding:clamp(12px, 2vw, 24px);border-radius:16px;background:var(--bg-2)}
.case-gallery figcaption{margin-top:14px;font-size:var(--fs-small);font-weight:500;color:var(--ink-2)}
@media (max-width: 960px){ .case-features{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width: 640px){ .case-features, .case-gallery{grid-template-columns:1fr} }

/* ---------- contact: the enquiry as a referral ----------
   Left: the promise and what happens next, then the email for anyone who prefers it. Right: the
   form on a white card. It opens with topic buttons (radios), and the one chosen rewrites the hint
   above the message box with the questions that matter for that kind of work. */
.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,104px)}
.contact-side{position:sticky;top:calc(var(--header-h) + 32px);display:grid;gap:clamp(28px,3vw,40px);align-content:start}
.contact-side .display{margin-top:-6px}
.contact-side .tag{justify-self:start;margin-bottom:0}
.contact-lede{max-width:42ch;font-size:var(--fs-lead);line-height:1.5;color:var(--ink-2)}
.contact-label{margin-bottom:16px;font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--teal-ink)}
.contact-next{max-width:38ch}
.contact-next .contact-label{margin-bottom:10px}
.contact-next p{font-size:1rem;line-height:1.6;color:var(--ink-2)}
.contact-direct{padding-top:24px;border-top:1px solid var(--line)}
.contact-direct .contact-label{margin-bottom:10px}
.contact-email{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.contact-email a{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug);color:var(--ink);text-decoration:underline;text-decoration-color:rgba(13,36,51,.25);text-underline-offset:6px}
.contact-email a:hover{text-decoration-color:var(--teal-ink)}
.contact-copy-btn{min-height:36px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font:600 13px/1 var(--sans);color:var(--teal-ink);cursor:pointer}
.contact-copy-btn:hover{border-color:var(--teal-ink)}
.contact-copy-btn:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}
.contact-place{margin-top:8px;font-size:15px;color:var(--ink-3)}
.contact-form-link{display:none}
#enquiry-form{scroll-margin-top:calc(var(--header-h) + 16px)}
@media(max-width:960px){
  .contact-form-link{display:inline-flex;justify-self:start;align-items:center;gap:24px;min-height:44px;font-weight:600;color:var(--teal-ink);text-underline-offset:5px}
  .contact-copy-btn{min-height:44px}
}

.contact-card{position:relative;padding:clamp(24px,3.2vw,48px);background:#fff;border:1px solid rgba(13,36,51,.1);border-radius:8px;
  box-shadow:0 1px 2px rgba(13,36,51,.05), 0 30px 60px -36px rgba(13,36,51,.35)}
.contact-card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;border-radius:8px 8px 0 0;background:var(--teal-ink)}
.enquiry{gap:24px}
.enquiry .row{gap:24px}
.enquiry-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.enquiry-title{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug);color:var(--ink)}
.enquiry-note{font-size:13px;line-height:1.5;color:var(--ink-3)}
.topics{border:0;margin:0;padding:0;min-width:0}
.topics legend{padding:0;margin-bottom:12px;font:500 var(--fs-small)/1.3 var(--sans);letter-spacing:var(--track-body);color:var(--ink-2)}
.topic-list{display:flex;flex-wrap:wrap;gap:8px}
.topic{position:relative;display:flex;cursor:pointer}
.topic input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0;pointer-events:none}
.topic span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;
  font:500 14px/1.3 var(--sans);color:var(--ink);transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.topic span::before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink-3);transition:inherit}
.topic:hover span{border-color:var(--teal-ink)}
.topic input:checked+span{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff}
.topic input:checked+span::before{background:#fff;border-color:#fff}
.topic input:focus-visible+span{outline:2px solid var(--teal-ink);outline-offset:3px}
.topics[aria-invalid="true"] .topic span{border-color:var(--error)}
.field .hint{font-size:.9rem;line-height:1.5;color:var(--ink-3)}
.field .hint [data-topic-hint]{color:var(--ink-2)}
.enquiry .field textarea{min-height:140px;padding:12px 14px;border:1px solid var(--ink-3);border-radius:6px;background:#fff;font-size:1rem;line-height:1.5}
.enquiry .field textarea:hover{border-color:var(--ink-2)}
.enquiry .field textarea:focus{border-color:var(--teal-ink);box-shadow:0 0 0 3px var(--teal-soft)}
.enquiry .field textarea[aria-invalid="true"]{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.enquiry .field [aria-invalid="true"]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.form-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding-top:20px;border-top:1px solid var(--line)}
.form-foot p{font-size:13px;line-height:1.6;max-width:36ch}
.form-success{border-top:0;padding-top:0;display:grid;gap:14px;justify-items:start}
.form-success-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--teal-ink)}
.form-success-mark::after{content:"";width:18px;height:10px;margin-top:-4px;border:solid #fff;border-width:0 0 3px 3px;transform:rotate(-45deg)}
/* A quiet clipboard frame keeps the form itself in the foreground. */
.contact-board{position:relative;padding:18px 10px 12px;border-radius:10px;background:var(--navy);
  box-shadow:0 24px 48px -30px rgba(13,36,51,.45)}
.cc-clip{position:absolute;z-index:2;left:50%;top:-18px;width:144px;height:auto;translate:-50% 0;pointer-events:none;
  filter:drop-shadow(0 3px 3px rgba(13,36,51,.2))}
.contact-board .contact-card{padding:36px clamp(20px,2.6vw,36px) 30px;border:0;border-radius:3px;background:var(--paper);
  box-shadow:0 1px 3px rgba(13,36,51,.15)}
.contact-board .contact-card::before{display:none}
@media (max-width: 960px){ .contact-grid{grid-template-columns:1fr} .contact-side{position:static} }
@media (max-width: 560px){
  .cc-clip{width:124px;top:-16px}
  .contact-board .contact-card{padding-top:32px;padding-bottom:24px}
  .topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .topic span{width:100%;min-height:48px;padding:8px 10px;gap:7px}
  .form-foot{grid-template-columns:1fr;gap:16px}
}
@media (prefers-reduced-motion: reduce){ .topic span{transition:none} }
/* /assets/smartmed-insights.css */
/* Smartmed additions: practical starting points, evidence and the next conversation. */
.sx-problems{background:var(--bg);border-top:1px solid var(--line)}
.sx-section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:44px}
.sx-eyebrow{color:var(--ink-3);margin-bottom:20px}
.sx-section-head .display{max-width:25ch}
.sx-lede{font-size:var(--fs-lead);color:var(--ink-2);max-width:45ch;justify-self:end;line-height:1.5}
.sx-problem-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.sx-problem{grid-column:span 5;display:flex;flex-direction:column;min-width:0;min-height:520px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);transition:border-color .5s var(--ease),box-shadow .5s var(--ease)}
.sx-problem-wide{grid-column:span 7}
.sx-problem:hover,.sx-problem:focus-within{border-color:var(--line-strong);box-shadow:0 18px 45px -36px rgba(13,36,51,.45)}
.sx-card-copy{padding:30px 30px 0;position:relative;z-index:3}
.sx-card-index{color:var(--ink-3);margin-bottom:17px}
.sx-card-copy h3{font:600 var(--fs-h4)/1.15 var(--sans);letter-spacing:var(--track-snug);max-width:27ch;text-wrap:balance}
.sx-card-copy>p:not(.sx-card-index){margin-top:13px;color:var(--ink-2);font-size:var(--fs-body);line-height:1.5;max-width:48ch}
.sx-card-link{display:inline-flex;gap:20px;align-items:center;margin-top:18px;font-size:var(--fs-small);font-weight:600;text-decoration:none;color:var(--teal-ink)}
.sx-card-link span{transition:transform .5s var(--ease)}
.sx-card-link:hover span{transform:translate(2px,-2px)}
.sx-card-media{position:relative;flex:1;min-height:245px;margin-top:24px;overflow:hidden;background:linear-gradient(145deg,var(--paper),var(--bg-2))}
.sx-card-media img{display:block;width:100%;height:auto}
.sx-card-media figcaption{position:absolute;z-index:4;bottom:0;left:0;right:0;padding:13px 30px;background:linear-gradient(transparent,var(--paper) 35%);font:500 var(--fs-label)/1.5 var(--sans);color:var(--ink-3)}
.sx-sheet{position:absolute;top:10px;left:18%;width:70%;height:180px;border:1px solid var(--line);background:var(--paper);transform:rotate(-9deg);border-radius:6px;box-shadow:0 10px 22px -15px rgba(13,36,51,.3);overflow:hidden}
.sx-sheet>div{display:grid;grid-template-columns:repeat(4,1fr);height:34px}
.sx-sheet span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.sx-sheet span::before{content:"";position:absolute;top:12px;left:10px;width:48%;height:4px;background:var(--line);border-radius:5px}
.sx-sheet>div:first-child{background:var(--teal-soft)}
.sx-screen-frame{position:absolute;top:44px;left:8%;width:84%;height:225px;border:1px solid var(--line-strong);border-radius:9px 9px 0 0;overflow:hidden;transform:perspective(900px) rotateY(-7deg) rotateZ(-3deg);background:#fff;box-shadow:0 25px 55px -25px rgba(13,36,51,.5);transition:transform .7s var(--ease)}
.sx-window-bar{height:27px;display:flex;align-items:center;gap:4px;padding:0 10px;background:var(--paper);border-bottom:1px solid var(--line);color:var(--ink-3);font-size:9px}
.sx-window-bar i{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
.sx-window-bar span{margin-left:7px}
.sx-problem:hover .sx-screen-frame,.sx-problem:focus-within .sx-screen-frame{transform:perspective(900px) rotateY(-2deg) rotateZ(-1deg) translateY(-7px)}
.sx-pathway-media{background:linear-gradient(var(--paper),var(--teal-soft))}
.sx-pathway{display:flex;justify-content:space-between;position:relative;z-index:2;margin:5px 32px 0}
.sx-pathway>span{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;font-size:10px;color:var(--ink-2);font-weight:500}
.sx-pathway i{width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--teal-ink);box-shadow:0 0 0 5px var(--paper)}
.sx-pathway-line{position:absolute;left:12px;right:12px;height:1px;background:var(--line-strong);top:5px;overflow:hidden}
.sx-pathway-line::after{content:"";position:absolute;width:35%;height:1px;left:-40%;background:var(--teal-ink)}
.sx-pathway-media>img{position:absolute;top:65px;left:6%;width:94%;transform:rotate(3deg);border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 35px -25px rgba(13,36,51,.5);transition:transform .7s var(--ease)}
.sx-problem:hover .sx-pathway-media>img,.sx-problem:focus-within .sx-pathway-media>img{transform:rotate(0) translateY(-6px)}
.sx-output-tabs{display:flex;gap:6px;justify-content:center;margin-top:8px;position:relative;z-index:2}
.sx-output-tabs span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:11px;font-weight:500;color:var(--ink-2)}
.sx-output-tabs span:last-child{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.sx-report-media>img{position:absolute;width:88%;left:6%;top:49px;transform:perspective(850px) rotateX(7deg);transform-origin:50% 0;border:1px solid var(--line);border-radius:7px;transition:transform .7s var(--ease);box-shadow:0 25px 45px -25px rgba(13,36,51,.4)}
.sx-problem:hover .sx-report-media>img,.sx-problem:focus-within .sx-report-media>img{transform:perspective(850px) rotateX(0) translateY(-4px)}
.sx-guide-media{background:linear-gradient(135deg,var(--teal-soft),var(--paper))}
.sx-guide-media>img{position:absolute;width:87%;right:-7%;top:24px;transform:rotate(-6deg);mix-blend-mode:multiply;transition:transform .7s var(--ease)}
.sx-search-illustration{position:absolute;z-index:2;top:16px;left:28px;display:flex;align-items:center;gap:10px;width:65%;padding:13px 15px;border:1px solid var(--line);background:var(--paper);box-shadow:0 12px 30px -17px rgba(13,36,51,.4);border-radius:10px;font-size:12px;color:var(--ink-2)}
.sx-search-illustration svg{width:17px;height:17px;fill:none;stroke:var(--teal-ink);stroke-width:1.5}
.sx-search-illustration i{font-style:normal;margin-left:auto;color:var(--ink-3)}
.sx-problem:hover .sx-guide-media>img,.sx-problem:focus-within .sx-guide-media>img{transform:rotate(-3deg) translateY(-7px)}
.sx-screen-note{margin-top:20px;font-size:var(--fs-small);color:var(--ink-3)}
.sx-about-facts dt{max-width:12ch}
.sx-result{margin-top:20px;padding:14px 0 0;border-top:1px solid var(--line-strong)}
.sx-result .mono{display:block;color:var(--teal-ink);margin-bottom:7px}
.sx-result p{font:500 var(--fs-body)/1.45 var(--sans);color:var(--ink-2);max-width:46ch}
.sx-inline-support{display:inline-block;margin-top:18px;font-size:var(--fs-small)}
.sx-questions{background:var(--bg);border-top:1px solid var(--line);padding-bottom:clamp(64px, 7vw, 112px)}
.sx-questions-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,8vw,140px);align-items:start}
.sx-question-intro{position:sticky;top:calc(var(--header-h) + 40px)}
.sx-question-intro>p:not(.sx-eyebrow){margin-top:22px;font-size:var(--fs-body);color:var(--ink-2);line-height:1.5;max-width:34ch}
.sx-question-intro .text-link{display:inline-block;margin-top:25px;font-size:var(--fs-small);font-weight:600}
.sx-faq-list{border-top:1px solid var(--line-strong)}
.sx-faq-list details{border-bottom:1px solid var(--line-strong)}
.sx-faq-list summary{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:15px;align-items:start;list-style:none;cursor:pointer;padding:25px 0;font:600 var(--fs-body)/1.45 var(--sans);letter-spacing:var(--track-body)}
.sx-faq-list summary::-webkit-details-marker{display:none}
.sx-faq-number{font:500 var(--fs-label)/1.6 var(--sans);color:var(--ink-3);padding-top:3px}
.sx-faq-list summary>i{position:relative;width:16px;height:16px;margin-top:4px;transition:transform .4s var(--ease)}
.sx-faq-list summary>i::before,.sx-faq-list summary>i::after{content:"";position:absolute;background:var(--teal-ink);border-radius:1px;top:7px;left:1px;right:1px;height:1px}
.sx-faq-list summary>i::after{transform:rotate(90deg)}
.sx-faq-list details[open] summary>i{transform:rotate(45deg)}
.sx-faq-list details[open] summary{color:var(--teal-ink)}
.sx-answer{padding:0 34px 25px 0;font-size:var(--fs-body);line-height:1.6;color:var(--ink-2)}
.sx-answer p+p{margin-top:14px}
.sx-answer a{display:inline-block;margin-top:17px;color:var(--teal-ink);font-size:var(--fs-small);font-weight:600;text-underline-offset:4px}
@media(prefers-reduced-motion:no-preference){
 .sx-is-live .sx-pathway-line::after{animation:sx-pathway-flow 4.5s var(--ease) infinite}
 .sx-faq-list details[open] .sx-answer{animation:sx-answer-in .4s var(--ease)}
}
@keyframes sx-pathway-flow{0%{left:-40%}70%,100%{left:110%}}
@keyframes sx-answer-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(min-width:1530px){.sx-scene-caption{left:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}}
@media(max-width:1080px){.sx-card-copy{padding:25px 25px 0}.sx-problem{min-height:540px}.sx-section-head{gap:32px}.sx-card-media figcaption{padding-inline:25px}.sx-questions-layout{grid-template-columns:.8fr 1.2fr;gap:50px}}
@media(max-width:760px){
 .sx-section-head{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.sx-lede{justify-self:start;max-width:48ch;font-size:var(--fs-body)}.sx-section-head .display br{display:none}
 .sx-problem-grid{grid-template-columns:1fr;gap:18px}.sx-problem,.sx-problem-wide{grid-column:auto;min-height:490px}.sx-card-copy h3{max-width:30ch}.sx-card-media{min-height:230px}
 .sx-questions-layout{grid-template-columns:1fr;gap:32px}.sx-question-intro{position:static}.sx-question-intro>p:not(.sx-eyebrow){max-width:46ch}.sx-question-intro .display br{display:none}.sx-faq-list summary{padding-block:22px;gap:10px;grid-template-columns:minmax(0,1fr) 17px}.sx-answer{padding-left:0;padding-right:10px}
}
@media(max-width:420px){.sx-card-copy{padding:24px 20px 0}.sx-card-copy h3{font-size:23px}.sx-card-link{font-size:13px;gap:10px}.sx-problem{min-height:515px}.sx-pathway{margin-inline:25px}.sx-search-illustration{left:20px;font-size:10px;gap:6px;width:77%}.sx-card-media figcaption{padding-inline:20px}.sx-output-tabs span{font-size:10px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.sx-problem,.sx-card-link span,.sx-screen-frame,.sx-pathway-media>img,.sx-report-media>img,.sx-guide-media>img,.sx-faq-list summary>i{transition:none}.sx-pathway-line::after{display:none}}

#sx-problems-title{max-width:20ch;text-wrap:balance}#sx-questions-title{max-width:12ch;text-wrap:balance}@media(max-width:760px){#sx-problems-title,#sx-questions-title{max-width:none}}
.sx-question-intro .sx-eyebrow{margin-bottom:16px;font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--teal-ink)}
/* /assets/how-we-work.css */
/* How we work: a dark band with a step rail and an example project console. */
.hw{
  --hw-line:rgba(140,201,206,.16);
  --hw-dim:rgba(238,243,245,.56);
  --hw-ok:#7FD3A6;
  --hw-fb:#F2C47A;
  position:relative;isolation:isolate;overflow:hidden;color:var(--on-dark);
  padding:clamp(88px,10vw,144px) 0 clamp(72px,8vw,120px);
  background:
    radial-gradient(55% 65% at 92% 12%, rgba(88,171,179,.24), transparent 64%),
    radial-gradient(45% 55% at 0% 100%, rgba(29,108,116,.32), transparent 70%),
    linear-gradient(180deg, #0A2130 0%, #0D2C3E 52%, #0A2130 100%);
}
/* blueprint grid, faded towards the edges */
.hw::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--hw-line) 1px, transparent 1px),linear-gradient(90deg, var(--hw-line) 1px, transparent 1px);
  background-size:56px 56px;background-position:-1px -1px;opacity:.55;
  -webkit-mask-image:radial-gradient(ellipse 75% 70% at 68% 45%, #000 20%, transparent 78%);
          mask-image:radial-gradient(ellipse 75% 70% at 68% 45%, #000 20%, transparent 78%);
}
/* a thin teal horizon where the band starts */
.hw::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, transparent, rgba(140,201,206,.55) 30%, rgba(140,201,206,.55) 70%, transparent)}

.hw-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40ch);gap:24px 48px;align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.hw-eyebrow{font:500 var(--fs-label)/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--teal-pale)}
.hw-title{margin-top:16px;font:600 var(--fs-h1)/1 var(--sans);letter-spacing:var(--track-tight);color:#fff}
.hw-title em{font-style:normal;color:var(--teal-pale)}
.hw-lede{font-size:var(--fs-body);line-height:1.5;color:var(--on-dark-2)}

.hw-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,6vw,96px);align-items:center}

/* ---- step rail ---- */
.hw-track{position:relative}
.hw-steps{list-style:none;display:grid;gap:clamp(26px,3vw,38px)}
.hw-rail{position:absolute;left:21px;top:14px;bottom:22px;width:2px;border-radius:2px;background:rgba(255,255,255,.1)}
.hw-rail-fill{position:absolute;left:0;top:0;width:100%;height:0;border-radius:inherit;background:linear-gradient(180deg, var(--teal-pale), var(--teal));box-shadow:0 0 14px rgba(88,171,179,.6);transition:height .9s var(--ease)}
.hw-step{position:relative;padding-left:72px;min-height:44px;transition:opacity .5s var(--ease)}
.hw-step h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug)}
.hw-step-btn{all:unset;cursor:pointer;color:#fff}
.hw-step-btn::after{content:"";position:absolute;inset:-10px -12px;border-radius:14px}
.hw-step-btn:focus-visible::after{outline:2px solid var(--teal-pale);outline-offset:2px}
.hw-step p{margin-top:8px;max-width:40ch;font-size:var(--fs-body);line-height:1.5;color:var(--on-dark-2)}
.hw-node{
  position:absolute;left:0;top:-8px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:#0C2A3B;border:1px solid rgba(255,255,255,.2);color:var(--on-dark-2);
  font:500 12px/1 var(--code);transition:background-color .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
}
.hw-node>span{position:relative;z-index:1}
.hw-live-tag{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 8px;border:1px solid rgba(140,201,206,.35);border-radius:99px;font:500 11px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--teal-pale)}
.hw-live-tag i{width:7px;height:7px;border-radius:50%;background:var(--hw-ok)}
.hw-cta{display:inline-flex;gap:10px;margin:clamp(36px,4vw,48px) 0 0 72px;font:600 var(--fs-small)/1.4 var(--sans);color:var(--teal-pale);text-decoration:underline;text-decoration-color:rgba(140,201,206,.4);text-underline-offset:5px}
.hw-cta:hover{color:#fff;text-decoration-color:currentColor}

/* states, set by how-we-work.js; without it every step reads at full strength */
.hw-js .hw-step{opacity:.5}
.hw-js .hw-step:hover,.hw-js .hw-step.is-done,.hw-js .hw-step.is-active{opacity:1}
.hw-js .hw-step.is-done{opacity:.78}
.hw-step.is-done .hw-node{border-color:var(--teal);color:var(--teal-pale)}
.hw-step.is-active .hw-node{background:var(--teal-ink);border-color:var(--teal-pale);color:#fff;box-shadow:0 0 0 6px rgba(88,171,179,.16), 0 0 28px rgba(88,171,179,.55)}
.hw-orbit{position:absolute;inset:-9px;border-radius:50%;border:1px dashed rgba(140,201,206,.45);opacity:0;transition:opacity .6s var(--ease)}
.hw-orbit::after{content:"";position:absolute;top:-4px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--teal-pale);box-shadow:0 0 10px var(--teal-pale)}
.hw-step-live.is-active .hw-orbit{opacity:1}
/* the line keeps going below the last step */
.hw-step-live::after{
  content:"";position:absolute;left:21px;top:44px;width:2px;height:64px;opacity:.7;
  background:repeating-linear-gradient(180deg, var(--teal-pale) 0 5px, transparent 5px 11px);
  -webkit-mask-image:linear-gradient(#000, transparent);mask-image:linear-gradient(#000, transparent);
}

/* ---- console ---- */
.hw-console{
  position:relative;border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg, rgba(14,46,63,.92), rgba(7,24,35,.94));
  border:1px solid rgba(140,201,206,.2);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 50px 120px -40px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.25), 0 0 90px -30px rgba(88,171,179,.45);
}
.hw-con-bar{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.07);font:400 12px/1 var(--code);color:var(--on-dark-2)}
.hw-dots{display:flex;gap:7px}
.hw-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.14)}
.hw-dots i:first-child{background:#E2A23B}
.hw-con-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-pause{min-height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:99px;background:transparent;color:var(--on-dark-2);font:500 12px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.hw-pause:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.hw-pause:focus-visible{outline:2px solid var(--teal-pale);outline-offset:2px}

.hw-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px 16px 0}
.hw-phases span{position:relative;display:flex;gap:7px;padding-bottom:10px;font:500 11px/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:rgba(238,243,245,.4);transition:color .4s var(--ease)}
.hw-phases b{font:500 11px/1.2 var(--code);color:inherit;opacity:.7}
.hw-phases i{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.hw-phases i::after{content:"";position:absolute;inset:0;background:var(--teal);transform:scaleX(var(--fill,1));transform-origin:left;transition:transform .5s linear}
.hw-phases span.is-on{color:#fff}
.hw-phases span.is-done{color:var(--teal-pale)}
.hw-phases span.is-done i::after{--fill:1}
/* the improve phase never finishes: its bar keeps moving */
.hw-phases span.is-live i::after{--fill:1;background:repeating-linear-gradient(90deg, var(--teal) 0 14px, var(--teal-pale) 14px 22px);background-size:44px 100%}

.hw-con-body{position:relative;height:clamp(250px,21vw,290px);padding:18px 18px 8px;overflow:hidden;
  -webkit-mask-image:linear-gradient(transparent 0, #000 64px);mask-image:linear-gradient(transparent 0, #000 64px)}
.hw-log{list-style:none;position:absolute;left:18px;right:18px;bottom:10px;display:grid;gap:7px;font:400 13.5px/1.6 var(--code);color:#D3DFE4}
.hw-line{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:baseline;transition:opacity .35s var(--ease), transform .35s var(--ease)}
.hw-line.is-new{opacity:0;transform:translateY(8px)}
.hw-g{text-align:center;color:var(--hw-dim)}
.hw-t{min-width:0;overflow-wrap:anywhere}
.hw-m{font-size:12px;color:var(--hw-dim);white-space:nowrap}
.hw-line.is-cmd{margin-top:8px;color:#fff}
.hw-line.is-cmd:first-child{margin-top:0}
.hw-line.is-cmd .hw-g{color:var(--teal-pale)}
.hw-line.is-cmd .hw-t::after{content:"";display:inline-block;width:.55em;height:1.1em;margin-left:3px;vertical-align:-.2em;background:var(--teal-pale);opacity:0}
.hw-line.is-typing .hw-t::after{opacity:1}
.hw-line.is-ok .hw-g{color:var(--hw-ok)}
.hw-line.is-fb .hw-g,.hw-line.is-fb .hw-t{color:var(--hw-fb)}
.hw-line.is-fb .hw-g{font-size:18px;line-height:1}
.hw-line.is-rel .hw-g{color:var(--hw-ok)}
.hw-line.is-rel b{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:5px;background:rgba(127,211,166,.14);color:var(--hw-ok);font-weight:500}
.hw-line.is-live .hw-t{color:#fff}
.hw-line.is-live .hw-g i,.hw-state i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--hw-ok);box-shadow:0 0 0 0 rgba(127,211,166,.6)}
.hw-line.is-sep{color:rgba(238,243,245,.32);font-size:12px}

.hw-con-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.07);font:500 11px/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--hw-dim)}
.hw-state{display:inline-flex;align-items:center;gap:9px;color:var(--teal-pale)}
.hw-state i{background:var(--teal-pale)}
.hw-state.is-live i{background:var(--hw-ok)}
.hw-note{text-transform:none;letter-spacing:0;font-weight:400;font-size:12px}

@media (prefers-reduced-motion: no-preference){
  .hw-step-live.is-active .hw-orbit{animation:hw-spin 9s linear infinite}
  .hw-step-live::after{animation:hw-flow 1.4s linear infinite}
  .hw-live-tag i,.hw-line.is-live .hw-g i,.hw-state.is-live i{animation:hw-pulse 2s ease-out infinite}
  .hw-phases span.is-live i::after{animation:hw-stripe 1.2s linear infinite}
}
@keyframes hw-spin{to{transform:rotate(360deg)}}
@keyframes hw-flow{to{background-position:0 11px}}
@keyframes hw-pulse{0%{box-shadow:0 0 0 0 rgba(127,211,166,.55)}70%,100%{box-shadow:0 0 0 8px rgba(127,211,166,0)}}
@keyframes hw-stripe{to{background-position:44px 0}}

@media (max-width: 960px){
  .hw-head{grid-template-columns:1fr}
  .hw-grid{grid-template-columns:1fr}
  .hw-con-body{height:280px}
}
@media (max-width: 560px){
  .hw-title{font-size:var(--fs-h2)}
  .hw-step{padding-left:62px}
  .hw-cta{margin-left:62px}
  .hw-phases{gap:4px;padding-inline:12px}
  .hw-phases span{font-size:10px;letter-spacing:.02em}
  .hw-phases b{display:none}
  .hw-con-body{height:270px;padding-inline:12px}
  .hw-log{left:12px;right:12px;font-size:12px;gap:6px}
  .hw-line{grid-template-columns:16px minmax(0,1fr);gap:8px}
  .hw-m{grid-column:2;margin-top:-4px;font-size:11px}
}
/* /assets/beacon-showcase.css */
#beacon-showcase .bk-relative {
    position: relative
}
#beacon-showcase .bk-w-full {
    width: 100%
}

/* Beacon's marketing preview is deliberately scoped: no app-wide resets. */
.bk-section{position:relative;background:#e8f0ee;padding:110px 0 70px;overflow:clip;scroll-margin-top:90px;border-top:1px solid #cfddd9;border-bottom:1px solid #cfddd9}
.bk-section .wrap{max-width:1320px}
#beacon-showcase{color:var(--ink,#0d2433)}
.bk-scroll-container{padding-bottom:55px}
.bk-perspective{perspective:1200px}
.bk-scroll-header{position:relative;z-index:1}
.bk-title{text-align:center;max-width:820px;margin:0 auto 64px}
.bk-eyebrow{display:flex;justify-content:center;align-items:center;gap:9px!important;font-size:12px!important;letter-spacing:.15em!important;text-transform:uppercase;color:#286a72!important;margin-bottom:22px!important}
.bk-brand-symbol{display:inline-flex;width:21px;height:24px}
.bk-brand-symbol svg{width:100%;height:100%}
.bk-title h2{font-size:clamp(34px,4.5vw,61px);line-height:1.08;letter-spacing:-.055em;font-weight:500;margin:0 0 24px}
.bk-title h2 em{font-style:normal;color:#327b82}
.bk-title>p:not(.bk-eyebrow){font-size:16px;line-height:1.65;max-width:580px;margin:0 auto 26px;color:#4f6673}
.bk-demo-link{display:inline-flex;gap:20px;align-items:center}
.bk-scroll-card{max-width:1100px;margin:0 auto;transform-origin:50% 0;isolation:isolate;border:1px solid #263f4d;border-radius:23px;background:#132b39;padding:9px;box-shadow:0 3px 4px #142b3914,0 25px 42px -18px #142b3940,0 65px 80px -45px #142b3947}
.bk-screen{border:1px solid #294552;border-radius:15px;overflow:hidden;background:#fafbfc}
.bk-product{font-family:var(--sans,Arial,sans-serif);font-size:13px;line-height:1.5;color:#223746;text-align:left}
.bk-product *{box-sizing:border-box}
.bk-product h3,.bk-product h4,.bk-product h5,.bk-product p{margin:0}
.bk-product button,.bk-product input{font:inherit;color:inherit;letter-spacing:normal}
.bk-product button{cursor:pointer;background:none;border:0;padding:0;text-align:left;transition:background-color .18s,border-color .18s,box-shadow .18s}
.bk-product input{outline:0;min-width:0;border:0;background:transparent}
.bk-product input:focus-visible{outline:0}
.bk-product button:focus-visible,.bk-library-search:focus-within,.bk-query-row:focus-within{outline:2px solid #24919e;outline-offset:3px}
.bk-product svg{flex-shrink:0}
.bk-browser-bar{height:32px;display:flex;align-items:center;gap:14px;padding:0 17px;background:#e8eeef;border-bottom:1px solid #d9e2e4;font-size:12px;color:#61737d;letter-spacing:.01em}
.bk-browser-bar>div{display:flex;gap:5px}
.bk-browser-bar i{display:block;width:6px;height:6px;border:1px solid #a8b8bd;border-radius:50%;background:#d6e0e1}
.bk-browser-demo{margin-left:auto;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.bk-app-nav{height:68px;display:flex;align-items:center;padding:0 25px;gap:35px;background:#112e40;color:#fff}
.bk-app-brand{display:flex;align-items:center;gap:9px}
.bk-app-brand>svg{width:26px;height:32px;color:#9bd0ce}
.bk-app-brand strong{font-weight:500;letter-spacing:-.04em;font-size:25px}
.bk-product-tabs{display:flex;align-self:stretch;align-items:center;gap:7px}
.bk-product-tabs button{display:flex;gap:8px;align-items:center;color:#bed1d9;border-radius:7px;padding:9px 13px;white-space:nowrap;font-size:12px;font-weight:500}
.bk-product-tabs button:hover{background:#234454;color:#fff}
.bk-product-tabs button[aria-selected=true]{background:#eff5f4;color:#153a48}
.bk-tab-short{display:none}
.bk-demo-account{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:12px;color:#c9d9df}
.bk-demo-account>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid #4b6573;background:#274958;font-size:12px}
.bk-demo-account b{font-weight:400}
.bk-app-content{position:relative;min-height:452px;background:#f6f8fa}
.bk-library-banner{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:25px 28px;background:linear-gradient(110deg,#fff2df,#ffeadc 65%,#f7f0eb);border-bottom:1px solid #eadfd5}
.bk-library-heading{display:flex;align-items:center;gap:12px;flex-shrink:0}
.bk-library-heading>span{width:43px;height:43px;display:grid;place-items:center;border:1px solid #eed2b8;background:#fff4e7;border-radius:10px;color:#bd692a}
.bk-library-heading h3{font-size:20px;letter-spacing:-.035em;line-height:1.25;font-weight:600}
.bk-library-heading p{font-size:12px;color:#7c6c5e;margin-top:3px}
.bk-library-search{display:flex;gap:9px;align-items:center;background:#ffffffd9;padding:11px 13px;border-radius:7px;border:1px solid #e8dace;color:#7e8c95;width:46%;min-width:250px}
.bk-library-search input{width:100%;font-size:12px;color:#304958}
.bk-library-search input::placeholder{color:#74838d;opacity:1}
.bk-library-search>span{font:12px monospace;white-space:nowrap;color:#8f999e}
.bk-library-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;min-height:353px}
.bk-library-main{padding:24px 27px 27px;min-width:0}
.bk-view-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.bk-view-heading h4{font-size:14px;font-weight:600;letter-spacing:-.015em}
.bk-view-heading p{font-size:12px;color:#73818b;margin-top:3px}
.bk-sample-label{color:#658177;background:#eaf1ed;border:1px solid #d9e6de;border-radius:4px;padding:3px 7px;font-size:12px;white-space:nowrap;letter-spacing:.02em}
.bk-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bk-product .bk-doc-card{border:1px solid #dde5e9;background:#fff;border-radius:8px;padding:15px;min-width:0;box-shadow:0 2px 2px #19364503}
.bk-product .bk-doc-card:hover{border-color:#7aaeb4;box-shadow:0 4px 14px #1936450a}
.bk-doc-top{display:flex;justify-content:space-between;align-items:center;color:#98a8af;margin-bottom:10px}
.bk-file-icon{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;color:#4b7b89;background:#eef5f7}
.bk-doc-tone-1 .bk-file-icon{background:#f1eff9;color:#8a75ad}
.bk-doc-tone-2 .bk-file-icon{background:#faf1e7;color:#b88854}
.bk-doc-tone-3 .bk-file-icon{background:#edf5ed;color:#70916b}
.bk-doc-category{display:block;color:#7b8b95;font-size:12px;margin-bottom:4px}
.bk-doc-card h5{font-size:13px;letter-spacing:-.015em;line-height:1.4;font-weight:500;min-height:20px}
.bk-doc-meta{border-top:1px solid #eef2f4;display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:16px;padding-top:8px;color:#89959d;font-size:12px}
.bk-doc-meta>span{display:flex;align-items:center;gap:4px}
.bk-doc-meta b{font-weight:400;color:#68818b}
.bk-empty{color:#607581;font-size:12px;padding:25px 0}
.bk-library-aside{border-left:1px solid #e4e9ec;background:#edf3f3;padding:28px 23px;display:flex;flex-direction:column;align-items:flex-start}
.bk-aside-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#66898b;margin-bottom:14px!important}
.bk-library-aside h4{font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.05em;color:#214b56}
.bk-library-aside>p:not(.bk-aside-kicker){color:#6e838b;font-size:12px;margin-top:12px;line-height:1.7}
.bk-aside-list{display:grid;gap:12px;margin-top:24px;font-size:12px;color:#557880}
.bk-aside-list>span{display:flex;align-items:center;gap:9px}
.bk-aside-note{border-top:1px solid #d6e3e2;width:100%;padding-top:16px;margin-top:auto;color:#47717b;font-size:13px;letter-spacing:-.025em}
.bk-aside-note span{display:block;color:#8a9da2;font-size:12px;letter-spacing:0;margin-top:2px}
.bk-app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;border-top:1px solid #dce5e8;background:#f1f5f6;color:#80939c;font-size:12px}
.bk-app-footer>span:first-child{display:flex;align-items:center;gap:6px}
.bk-app-footer i{width:5px;height:5px;border-radius:50%;background:#6bada7}
.bk-search-view{padding:30px;max-width:780px;margin:auto;min-height:452px}
.bk-search-intro{text-align:center;position:relative}
.bk-search-symbol{display:grid;place-items:center;margin:0 auto 11px;width:40px;height:40px;border-radius:11px;background:#e4efec;color:#488276}
.bk-search-intro h3{font-size:26px;font-weight:500;letter-spacing:-.045em;line-height:1.2}
.bk-search-intro h3 em{font-style:normal;color:#53847d}
.bk-search-intro p{font-size:12px;color:#7e8d96;margin-top:10px}
.bk-query-card{margin-top:24px;background:white;border:1px solid #dae4e5;border-radius:9px;padding:12px 14px}
.bk-query-card>label{display:block;font-size:12px;color:#81939b;margin-bottom:7px;letter-spacing:.04em}
.bk-query-row{display:flex;align-items:center;gap:15px}
.bk-query-row input{width:100%;font-size:12px;cursor:default}
.bk-query-row button{flex-shrink:0;padding:7px 12px;background:#326e69;color:#fff;border-radius:5px;font-size:12px}
.bk-query-row button:hover{background:#265f5b}
.bk-query-row button:disabled{cursor:default;background:#e0eee7;color:#508474}
.bk-answer-placeholder{display:flex;justify-content:center;align-items:center;gap:13px;color:#a3b3b8;margin-top:35px;font-size:12px;line-height:1.6}
.bk-example-answer{margin-top:18px;padding:15px;background:#fff;border:1px solid #e0e8e9;border-radius:8px}
.bk-answer-kicker{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7a9497;margin-bottom:8px}
.bk-example-answer p{font-size:12px;color:#58707b;line-height:1.7}
.bk-example-answer strong{font-weight:500;color:#2d5260}
.bk-example-answer>button{display:flex;width:100%;align-items:center;gap:9px;padding:9px 11px;margin-top:11px;background:#edf4f3;border:1px solid #d6e6e2;border-radius:6px;color:#47766c;font-size:12px}
.bk-example-answer>button>svg:last-child{margin-left:auto}
.bk-example-answer small{display:block;font-size:12px;color:#8ba39f}
.bk-review-view{padding:28px;min-height:452px}
.bk-review-heading{display:flex;gap:12px;align-items:center;margin-bottom:25px}
.bk-workflow-icon{display:grid;place-items:center;width:42px;height:42px;background:#e8edf6;color:#7a8ca6;border-radius:9px}
.bk-review-heading h3{font-size:21px;font-weight:500;letter-spacing:-.03em}
.bk-review-heading p{font-size:12px;color:#81909a;margin-top:2px}
.bk-review-heading>.bk-sample-label{margin-left:auto}
.bk-review-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bk-review-column{background:#edf1f4;border:1px solid #e0e6eb;border-radius:7px;padding:12px;min-height:245px}
.bk-review-column h4{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#657c89;margin-bottom:13px;white-space:nowrap}
.bk-review-column h4 i{width:6px;height:6px;border-radius:50%;background:#9aaab7}
.bk-review-amber h4 i{background:#c9a462}.bk-review-blue h4 i{background:#7999c0}.bk-review-green h4 i{background:#7bad96}
.bk-review-column>button{display:block;background:#fff;border:1px solid #dae3e8;border-radius:6px;padding:12px;width:100%;color:#7f94a0;min-height:154px}
.bk-review-column>button:hover{border-color:#8ab2b9}
.bk-review-column h5{color:#385462;font-size:12px;line-height:1.5;font-weight:500;margin:10px 0 8px;letter-spacing:-.015em}
.bk-review-column button>p{font-size:12px;color:#8b9ca5}
.bk-review-column button>span{display:flex;align-items:center;justify-content:space-between;font-size:12px;border-top:1px solid #edf1f2;margin-top:15px;padding-top:10px}
.bk-board-lines{display:grid;gap:7px;margin:15px 5px}
.bk-board-lines i{height:3px;background:#e1e7eb;border-radius:5px;width:70%}.bk-board-lines i:last-child{width:45%}
.bk-review-note{text-align:center;color:#8b9ea7;font-size:12px;margin-top:22px!important}
.bk-document-peek{position:absolute;z-index:3;top:12px;right:12px;bottom:12px;width:340px;max-width:calc(100% - 24px);overflow:auto;background:#fff;border:1px solid #cddcdf;border-radius:10px;padding:25px;box-shadow:-12px 4px 48px #163a542b;text-align:left}
.bk-product .bk-close{position:absolute;top:10px;right:10px;padding:5px;border-radius:50%;background:#f1f5f6;color:#6b8692;display:flex}
.bk-type{font-size:12px;color:#7b969a;text-transform:uppercase;letter-spacing:.1em}
.bk-document-peek h4{font-size:22px;line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:13px 0}
.bk-document-peek>p{font-size:12px;color:#718791;line-height:1.7}
.bk-document-peek dl{margin:18px 0;font-size:12px}
.bk-document-peek dl>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e8eef0;padding:7px 0}
.bk-document-peek dt{color:#91a1a8}.bk-document-peek dd{margin:0;color:#557782}
.bk-page-illustration{height:120px;border:1px solid #e5ebee;border-radius:4px;padding:18px 20px;background:#fafcfc;display:flex;flex-direction:column;gap:7px}
.bk-page-illustration span{height:5px;width:45%;background:#bcd4d6;margin-bottom:5px}
.bk-page-illustration i{height:3px;background:#e0e8ea;width:100%}.bk-page-illustration i:nth-child(3n){width:75%}
.bk-document-peek .bk-peek-note{font-size:12px;margin-top:14px;color:#91a1aa}





.bk-preview-caption{font-size:12px;line-height:1.7;color:#7a9297;text-align:center;max-width:640px;margin:35px auto 0}
@media(min-width:1400px){.bk-section{padding-top:130px}}
@media(max-width:1024px){.bk-app-nav{gap:22px;padding:0 19px}.bk-demo-account b{display:none}.bk-library-layout{grid-template-columns:minmax(0,1fr) 200px}.bk-library-aside{padding:25px 19px}.bk-library-search{min-width:200px}.bk-doc-card h5{min-height:34px}.bk-library-main{padding:22px}.bk-review-column{padding:9px}.bk-review-column>button{padding:10px}}
@media(max-width:768px){.bk-section{padding:72px 0 45px}.bk-title{margin-bottom:42px;max-width:580px}.bk-title h2{font-size:clamp(32px,6.7vw,49px)}.bk-title>p:not(.bk-eyebrow){font-size:14px;max-width:470px}.bk-scroll-card{padding:6px;border-radius:16px}.bk-screen{border-radius:10px}.bk-scroll-container{padding-bottom:35px}.bk-library-aside{display:none}.bk-library-layout{grid-template-columns:1fr;min-height:360px}.bk-app-nav{height:61px;gap:24px}.bk-app-brand strong{font-size:21px}.bk-app-brand>svg{height:28px;width:22px}.bk-product-tabs button{font-size:12px;padding:8px 10px;gap:6px}.bk-demo-account{display:none}.bk-library-banner{padding:20px;gap:18px}.bk-library-heading h3{font-size:18px}.bk-library-search{width:50%;min-width:150px}.bk-library-search>span{display:none}.bk-doc-card h5{min-height:0}.bk-preview-caption{text-align:left;font-size:12px;margin-top:25px}.bk-review-board{gap:8px}.bk-review-column h4{font-size:12px}.bk-search-view{padding:25px;min-height:470px}}
@media(max-width:540px){.bk-section .wrap{padding-left:16px;padding-right:16px}.bk-title{margin-bottom:30px}.bk-title h2{font-size:34px;letter-spacing:-.055em;line-height:1.13}.bk-title>p:not(.bk-eyebrow){font-size:13px;line-height:1.7;max-width:325px}.bk-eyebrow{font-size:12px!important;margin-bottom:18px!important}.bk-title .btn{font-size:12px;padding:13px 17px}.bk-app-nav{padding:12px 14px;height:auto;flex-wrap:wrap;gap:13px}.bk-app-brand{gap:7px}.bk-app-brand strong{font-size:22px}.bk-product-tabs{width:100%;gap:5px}.bk-product-tabs button{padding:8px 10px;justify-content:center;flex:1;font-size:12px;gap:6px}.bk-tab-long{display:none}.bk-tab-short{display:inline}.bk-browser-bar{height:27px;padding:0 10px;gap:9px;font-size:12px}.bk-browser-demo{font-size:12px}.bk-browser-bar i{width:5px;height:5px}.bk-library-banner{display:block;padding:17px 14px}.bk-library-heading{gap:9px}.bk-library-heading>span{width:34px;height:34px;border-radius:8px}.bk-library-heading>span svg{width:20px}.bk-library-heading h3{font-size:18px}.bk-library-heading p{font-size:12px}.bk-library-search{width:100%;margin-top:14px;padding:9px 10px}.bk-library-search input{font-size:12px}.bk-library-main{padding:18px 13px}.bk-view-heading{align-items:flex-start;gap:6px;margin-bottom:13px}.bk-view-heading h4{font-size:13px}.bk-view-heading p{font-size:12px;max-width:150px}.bk-sample-label{font-size:12px;padding:3px 5px}.bk-doc-grid{gap:8px}.bk-product .bk-doc-card{padding:11px 10px}.bk-file-icon{width:26px;height:26px;border-radius:5px}.bk-file-icon svg{width:16px}.bk-doc-top{margin-bottom:9px}.bk-doc-top>svg{width:12px}.bk-doc-category{font-size:12px;min-height:12px}.bk-doc-card h5{font-size:12px;min-height:32px;line-height:1.45}.bk-doc-meta{font-size:12px;display:block;margin-top:12px;padding-top:7px}.bk-doc-meta b{display:none}.bk-doc-meta svg{width:9px}.bk-app-footer{font-size:12px;padding:8px 10px}.bk-app-content{min-height:510px}.bk-library-layout{min-height:355px}.bk-search-view{padding:23px 14px;min-height:510px}.bk-search-intro h3{font-size:24px}.bk-search-intro p{font-size:12px;max-width:240px;margin:10px auto 0}.bk-query-card{padding:11px;margin-top:20px}.bk-query-row{flex-wrap:wrap;gap:9px}.bk-query-row input{font-size:12px;min-width:0;flex:1 0 100%;text-overflow:ellipsis}.bk-query-row button{width:100%;text-align:center;min-height:30px;display:flex;justify-content:center;align-items:center}.bk-example-answer{padding:12px}.bk-example-answer p{font-size:12px}.bk-example-answer>button{font-size:12px;gap:7px}.bk-example-answer small{font-size:12px}.bk-review-view{padding:20px 13px;min-height:510px}.bk-review-heading{gap:9px;margin-bottom:20px;flex-wrap:wrap}.bk-review-heading>.bk-sample-label{display:none}.bk-review-heading h3{font-size:20px}.bk-review-heading p{font-size:12px;max-width:210px}.bk-workflow-icon{width:35px;height:35px}.bk-review-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bk-review-column{min-height:176px;padding:10px}.bk-review-column h4{font-size:12px;margin-bottom:10px;gap:5px}.bk-review-column>button{min-height:126px;padding:10px}.bk-review-column h5{font-size:12px;margin-top:7px;margin-bottom:8px;line-height:1.4}.bk-review-column button>p{font-size:12px}.bk-review-column button>span{font-size:12px;padding-top:7px;margin-top:10px}.bk-board-lines{display:none}.bk-review-note{font-size:12px;margin-top:16px!important}.bk-document-peek{padding:25px 20px}.bk-document-peek h4{font-size:21px}.bk-scroll-container{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.bk-scroll-header,.bk-scroll-card{transform:none!important}.bk-product button{transition:none}}
/* Reuse Beacon's own lighthouse artwork for the optional welcome view. */
.bk-product-tabs button>svg:not(.lucide){width:15px;height:17px}
.bk-welcome-view{min-height:452px;display:grid;grid-template-columns:1fr 310px;align-items:center;gap:45px;padding:45px;background:var(--navy);position:relative;isolation:isolate}
.bk-welcome-view:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#192f4a14,#21344708)}
.bk-welcome-intro{color:#fff;text-align:center;text-shadow:0 2px 18px #382e4c77}
.bk-welcome-intro h3{font-size:29px;letter-spacing:-.045em;font-weight:600;line-height:1.15}
.bk-welcome-intro p{font-size:13px;line-height:1.7;margin-top:14px}
.bk-welcome-card{padding:29px 27px;background:#fff;border-radius:17px;box-shadow:0 15px 60px #182a4526}
.bk-welcome-label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#91a0a6;text-align:center;margin-bottom:9px}
.bk-welcome-card h4{font-size:27px;letter-spacing:-.04em;font-weight:600;text-align:center;margin-bottom:27px}
.bk-welcome-field-label{display:block;font-size:12px;color:#40525d;margin-bottom:6px}
.bk-welcome-field{background:#f7f8fa;color:#99a7b0;border-radius:7px;padding:11px 13px;font-size:12px;margin-bottom:15px}
.bk-product .bk-welcome-card button{background:#f57c18;color:white;width:100%;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 8px;margin-top:5px;font-size:12px;font-weight:500}
.bk-product .bk-welcome-card button:hover{background:#dc6b0e}
@media(max-width:1024px){.bk-app-nav{gap:23px}.bk-product-tabs button{padding:9px 11px}.bk-welcome-view{gap:25px;padding:30px;grid-template-columns:1fr 285px}.bk-welcome-intro h3{font-size:25px}}
@media(max-width:768px){.bk-welcome-view{padding:25px;grid-template-columns:1fr 260px;gap:20px;min-height:470px}.bk-welcome-intro h3{font-size:24px}.bk-welcome-intro p{font-size:12px}.bk-welcome-card{padding:25px 22px}.bk-product-tabs button{padding:9px;font-size:12px;gap:5px}}
@media(max-width:540px){.bk-app-nav{gap:12px}.bk-product-tabs{gap:3px}.bk-product-tabs button{padding:8px 5px;font-size:12px;gap:4px}.bk-product-tabs button>.lucide{width:12px}.bk-product-tabs button>svg:not(.lucide){width:12px}.bk-welcome-view{min-height:510px;display:flex;flex-direction:column;justify-content:center;padding:23px 28px;gap:20px;background-position:43% center}.bk-welcome-intro h3{font-size:22px}.bk-welcome-intro p{font-size:12px;line-height:1.5;margin-top:8px}.bk-welcome-card{width:100%;max-width:265px;padding:20px;border-radius:12px}.bk-welcome-card h4{font-size:23px;margin-bottom:20px}.bk-welcome-field{font-size:12px;padding:10px 12px;margin-bottom:12px}.bk-welcome-field-label{font-size:12px}.bk-welcome-label{font-size:12px}}
.bk-query-row button{display:flex;align-items:center;justify-content:center;gap:5px}

/* Full-size entrance based on the supplied ContainerScroll reference. */
.bk-section{padding-top:84px;padding-bottom:96px;scroll-margin-top:0}
.bk-scroll-container{padding-bottom:0}
.bk-title{margin:0 auto;max-width:1040px}
.bk-title h2{font-size:clamp(42px,5.8vw,78px);line-height:1.04;letter-spacing:-.06em;margin:0;font-weight:500}
.bk-eyebrow{margin-bottom:20px!important}
.bk-scroll-header{z-index:0}
.bk-perspective{perspective:1000px;perspective-origin:50% 50%;margin-top:0;padding:0}
.bk-scroll-card{width:100%;max-width:1180px;transform-origin:50% 50%;backface-visibility:visible;padding:12px;border:3px solid #3a4c55;border-radius:27px;background:#142e3c;box-shadow:0 3px 6px #142b3921,0 22px 35px -18px #142b3966,0 50px 65px -36px #142b394d}
.bk-screen{border-radius:12px}
/* Match the reference pose before hydration, preventing a flat first frame. */
.bk-scroll-container[data-motion=initial] .bk-scroll-card{transform:rotateX(20deg) scale(1.05)}
/* Hold only a frame that fits completely below the site header. */
.bk-reveal-track{position:relative;margin-top:-36px}
.bk-device-stick{position:relative;width:100%}
.bk-scroll-container[data-hold=true] .bk-reveal-track{min-height:calc(var(--bk-frame-height) + var(--bk-hold-distance))}
.bk-scroll-container[data-hold=true] .bk-device-stick{position:sticky;top:var(--bk-stick-top)}
.bk-app-content{height:clamp(380px,calc(100svh - 308px),512px);min-height:0}
.bk-app-content>[role=tabpanel]{height:100%;overflow:auto}
.bk-library-view{height:100%;display:flex;flex-direction:column}
.bk-library-banner{flex:0 0 auto}
.bk-library-layout{flex:1;min-height:0}
.bk-search-view,.bk-review-view,.bk-welcome-view{height:100%;min-height:0}
.bk-welcome-view{grid-template-columns:1fr 340px;gap:40px;padding:44px}
.bk-welcome-intro h3{font-size:34px}
.bk-welcome-intro p{font-size:14px}
.bk-welcome-card{padding:32px}
.bk-welcome-card h4{font-size:32px}
.bk-welcome-field-label{font-size:12px}
.bk-welcome-field{font-size:12px;padding:12px 14px;margin-bottom:16px}
.bk-product .bk-welcome-card button{font-size:12px;padding:13px 9px}
.bk-app-footer{color:#50747c;font-size:12px}
.bk-app-footer #bk-preview-tip{gap:7px}
.bk-app-content>[role=tabpanel]:not([hidden]){animation:bk-screen-enter .3s ease-out both}
@keyframes bk-screen-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.bk-preview-caption{font-size:12px;line-height:1.7;color:#6d898f;text-align:center;max-width:700px;margin:28px auto 0}
/* One editorial overview, then a separate next step with generous space. */
.bk-overview{max-width:1100px;margin:112px auto 0}
.bk-overview-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:80px}
.bk-section-label{margin:0 0 18px;font-size:12px;line-height:1.4;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#4f7d82}
.bk-overview-heading h3{font-size:clamp(30px,3.5vw,45px);line-height:1.12;letter-spacing:-.05em;font-weight:500;margin:0}
.bk-overview-heading h3 em{font-style:normal;color:#377b82}
.bk-overview-heading>p{font-size:17px;line-height:1.75;letter-spacing:-.015em;color:#526e77;margin:0;max-width:420px}
.bk-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:56px}
.bk-outcome{padding-top:26px;border-top:1px solid #bcd1cc}
.bk-outcome-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;color:#487f86}
.bk-outcome-top>span{font-size:12px;letter-spacing:.1em;color:#7d999d}
.bk-outcome h4{font-size:19px;line-height:1.35;font-weight:500;letter-spacing:-.025em;color:#254f60;margin:0 0 12px}
.bk-outcome>p{font-size:15px;line-height:1.75;color:#5b747d;max-width:300px;margin:0}
.bk-beacon-cta{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-top:88px;padding:48px;background:#103243;color:#f1f7f5;border:1px solid #294b58;border-radius:20px}
.bk-beacon-cta .bk-section-label{color:#9fc8c7;margin-bottom:18px}
.bk-beacon-cta h3{font-size:clamp(28px,3vw,38px);line-height:1.14;font-weight:500;letter-spacing:-.045em;margin:0}
.bk-beacon-cta>div>p:last-child{font-size:15px;line-height:1.75;color:#b8d0d4;max-width:490px;margin:20px 0 0}
.bk-walkthrough-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;flex-shrink:0;padding:18px 24px;border:1px solid #deebe5;border-radius:999px;background:#edf6f2;color:#173e4e;text-decoration:none;white-space:nowrap;font:500 13px/1.3 var(--sans);transition:background-color .18s,box-shadow .18s}
.bk-walkthrough-link:hover{background:#fff;box-shadow:0 4px 18px #00000012}
@media(max-width:1024px){.bk-welcome-view{grid-template-columns:1fr 300px;padding:32px;gap:25px}.bk-welcome-intro h3{font-size:29px}.bk-welcome-card{padding:27px}.bk-overview-heading{gap:45px}.bk-outcomes{gap:30px}.bk-beacon-cta{gap:30px;padding:40px}.bk-walkthrough-link{font-size:12px;padding:17px 20px}}
@media(max-width:768px){.bk-section{padding-top:76px;padding-bottom:72px}.bk-title h2{font-size:clamp(38px,6.6vw,54px)}.bk-reveal-track{margin-top:10px}.bk-perspective{perspective:1100px}.bk-scroll-card{padding:7px;border-width:2px;border-radius:18px}.bk-screen{border-radius:10px}.bk-scroll-container[data-motion=initial] .bk-scroll-card{transform:rotateX(8deg)}.bk-app-footer{font-size:12px;padding:8px 10px}.bk-welcome-view{padding:25px;grid-template-columns:1fr 260px;gap:20px}.bk-welcome-card{padding:25px 22px}.bk-welcome-intro h3{font-size:26px}.bk-welcome-intro p{font-size:12px}.bk-welcome-card h4{font-size:27px}.bk-overview{margin-top:76px}.bk-overview-heading{grid-template-columns:1fr;gap:25px}.bk-overview-heading>p{font-size:16px;max-width:530px}.bk-outcomes{gap:24px;margin-top:40px}.bk-outcome h4{font-size:17px}.bk-outcome>p{font-size:13px}.bk-beacon-cta{flex-direction:column;align-items:flex-start;gap:30px;margin-top:60px;padding:34px}.bk-preview-caption{font-size:12px}}
@media(max-width:540px){.bk-title h2{font-size:39px;line-height:1.07}.bk-welcome-view{display:flex;padding:23px 28px;gap:20px}.bk-welcome-card{padding:20px;border-radius:12px}.bk-welcome-intro h3{font-size:24px}.bk-welcome-intro p{font-size:12px}.bk-welcome-card h4{font-size:24px}.bk-welcome-field-label{font-size:12px}.bk-welcome-field{font-size:12px;padding:10px 12px;margin-bottom:12px}.bk-product .bk-welcome-card button{font-size:12px;padding:11px 8px}.bk-overview{margin-top:68px}.bk-section-label{font-size:12px;margin-bottom:15px}.bk-overview-heading h3{font-size:33px}.bk-overview-heading>p{font-size:15px}.bk-outcomes{grid-template-columns:1fr;gap:32px;margin-top:36px}.bk-outcome{padding-top:22px}.bk-outcome-top{margin-bottom:18px}.bk-outcome h4{font-size:19px;margin-bottom:10px}.bk-outcome>p{font-size:14px;max-width:100%}.bk-beacon-cta{padding:28px 24px;margin-top:48px;border-radius:16px}.bk-beacon-cta h3{font-size:29px}.bk-beacon-cta>div>p:last-child{font-size:14px}.bk-walkthrough-link{white-space:normal;max-width:100%;font-size:12px;padding:16px 18px;gap:12px}.bk-preview-caption{text-align:left;font-size:12px;margin-top:23px}}
/* Change the interface layout at short heights instead of scaling its pixels. */
@media(max-height:800px){
 .bk-library-banner{padding:14px 20px;gap:16px}.bk-library-heading>span{width:35px;height:35px}.bk-library-heading h3{font-size:18px}.bk-library-search{padding:8px 11px}
 .bk-library-main{padding:15px 20px}.bk-view-heading{margin-bottom:12px}.bk-doc-grid{gap:10px}.bk-product .bk-doc-card{padding:10px 12px}.bk-doc-top{margin-bottom:6px}.bk-file-icon{width:26px;height:26px}.bk-doc-card h5{font-size:12px;min-height:0}.bk-doc-meta{margin-top:8px;padding-top:6px}.bk-library-aside{padding:20px}.bk-library-aside h4{font-size:23px}.bk-aside-list{gap:9px;margin-top:18px}
 .bk-welcome-view{padding:26px 32px}.bk-welcome-card{padding:22px 26px}.bk-welcome-card h4{font-size:28px;line-height:1.15;margin-bottom:18px}.bk-welcome-label{margin-bottom:7px}.bk-welcome-field-label{font-size:12px;line-height:1.3;margin-bottom:5px}.bk-welcome-field{font-size:12px;line-height:1.4;padding:10px 12px;margin-bottom:12px}.bk-product .bk-welcome-card button{font-size:12px;line-height:1.3;padding:10px 8px}.bk-welcome-intro h3{font-size:30px}
 .bk-search-view{padding:22px 26px}.bk-search-symbol{width:32px;height:32px;margin-bottom:8px}.bk-search-intro h3{font-size:24px}.bk-query-card{margin-top:17px}.bk-example-answer{margin-top:13px}.bk-review-view{padding:22px}.bk-review-heading{margin-bottom:20px}
}
@media(max-width:768px) and (max-height:800px){
 .bk-library-banner{padding:12px 14px}.bk-library-heading>span{width:30px;height:30px}.bk-library-heading h3{font-size:17px}.bk-library-search{margin-top:10px;padding:8px 10px}.bk-library-main{padding:10px 12px}.bk-view-heading{margin-bottom:10px}.bk-doc-grid{gap:8px}.bk-product .bk-doc-card{padding:10px}.bk-doc-category{display:none}.bk-doc-card h5{font-size:12px;min-height:31px}.bk-file-icon{width:22px;height:22px}.bk-doc-top{margin-bottom:7px}.bk-doc-meta{font-size:12px;margin-top:7px;padding-top:6px}
 .bk-welcome-view{padding:16px 24px;gap:14px}.bk-welcome-intro h3{font-size:22px}.bk-welcome-intro p{font-size:12px;line-height:1.4;margin-top:6px}.bk-welcome-card{padding:18px}.bk-welcome-card h4{font-size:24px;margin-bottom:16px}.bk-welcome-label{font-size:12px}.bk-welcome-field-label{font-size:12px}.bk-welcome-field{font-size:12px;padding:9px 11px;margin-bottom:10px}.bk-product .bk-welcome-card button{font-size:12px;padding:10px 8px}
 .bk-search-view{padding:18px 13px}.bk-search-intro h3{font-size:22px}.bk-search-intro p{font-size:12px;margin-top:8px}.bk-query-card{margin-top:15px}.bk-query-row{gap:7px}.bk-answer-placeholder{margin-top:20px}.bk-example-answer{padding:10px}.bk-example-answer p{font-size:12px}.bk-example-answer>button{font-size:12px;padding:8px}.bk-review-view{padding:16px 12px}.bk-review-heading{margin-bottom:13px}.bk-review-heading h3{font-size:18px}.bk-review-heading p{font-size:12px}.bk-workflow-icon{width:30px;height:30px}.bk-review-column{padding:8px;min-height:140px}.bk-review-column h4{margin-bottom:8px}.bk-review-column>button{min-height:100px;padding:9px}.bk-review-column>button>svg{display:none}.bk-review-column h5{font-size:12px;margin:0 0 6px}.bk-review-column button>p{font-size:12px}.bk-review-column button>span{margin-top:8px;padding-top:6px}.bk-review-note{font-size:12px;margin-top:10px!important}
}
@media(prefers-reduced-motion:reduce){.bk-scroll-header,.bk-scroll-card{transform:none!important}.bk-scroll-container .bk-reveal-track{min-height:0!important}.bk-scroll-container .bk-device-stick{position:relative!important;top:auto!important}.bk-product-tabs button::after,.bk-app-content>[role=tabpanel]:not([hidden]){animation:none!important}.bk-walkthrough-link{transition:none}}
.bk-scroll-container[data-motion=reduced] .bk-product-tabs button::after,.bk-scroll-container[data-motion=reduced] .bk-app-content>[role=tabpanel]:not([hidden]){animation:none!important}

/* Restoration polish: same tablet and in-app navigation, crisp native screen content. */
.bk-section{background:var(--bg);border-color:var(--line);overflow:clip}.bk-eyebrow,.bk-title h2 em{color:var(--teal-ink)!important}.bk-scroll-card{background:var(--night);border-color:var(--ink-3)}.bk-screen{border-color:var(--night);background:var(--paper)}.bk-browser-bar{background:var(--bg);color:var(--ink-2);border-color:var(--line);font-size:12px}.bk-browser-demo{color:var(--ink-2);font-size:12px}.bk-app-nav{background:var(--navy);gap:22px}.bk-app-brand>svg{color:var(--teal-pale)}.bk-app-brand strong{font-weight:600}.bk-nav-hint{display:flex;align-items:center;gap:8px;margin-left:auto;color:var(--paper);font-size:12px;white-space:nowrap}.bk-product-tabs{gap:8px}.bk-product .bk-product-tabs button{position:relative;min-height:44px;padding:11px 22px 11px 13px;border:1px solid var(--teal-pale);color:var(--paper);font-size:13px;background:transparent;overflow:visible}.bk-product .bk-product-tabs button[aria-selected=true]{color:var(--ink);background:var(--paper);border-color:var(--paper)}.bk-product-tabs button:not([aria-selected=true]){animation:bk-tab-outline 3.6s ease-in-out infinite}.bk-product-tabs button:not([aria-selected=true])::after{content:'';position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--teal-pale);animation:bk-tab-pulse 2.4s ease-out infinite}.bk-product-tabs button:nth-child(2),.bk-product-tabs button:nth-child(2)::after{animation-delay:.6s}.bk-product-tabs button:nth-child(3),.bk-product-tabs button:nth-child(3)::after{animation-delay:1.2s}.bk-product-tabs button:nth-child(4),.bk-product-tabs button:nth-child(4)::after{animation-delay:1.8s}.bk-product .bk-product-tabs button:hover,.bk-product .bk-product-tabs button:focus-visible{border-color:var(--paper);box-shadow:0 0 0 3px var(--teal);animation-play-state:paused}.bk-product button:focus-visible{outline:3px solid var(--teal-ink);outline-offset:3px}.bk-product .bk-product-tabs button:focus-visible{outline-color:var(--paper)}
@keyframes bk-tab-pulse{0%,15%{box-shadow:0 0 0 0 #8cc9ceaa}75%,100%{box-shadow:0 0 0 8px #8cc9ce00}}@keyframes bk-tab-outline{0%,55%,100%{box-shadow:0 0 0 0 #8cc9ce00}72%{box-shadow:0 0 0 3px #8cc9ce80}}
.bk-library-banner{background:var(--teal-soft);border-color:var(--line)}.bk-library-heading>span{background:var(--paper);border-color:var(--line);color:var(--teal-ink)}.bk-library-heading p,.bk-view-heading p,.bk-doc-category,.bk-doc-meta,.bk-app-footer,.bk-preview-caption,.bk-welcome-label,.bk-welcome-field-label{color:var(--ink-2)}.bk-library-search{background:var(--paper);border-color:var(--line-strong);color:var(--ink-3)}.bk-library-search input,.bk-library-search input::placeholder,.bk-library-search>span{color:var(--ink-2)}.bk-product .bk-doc-card{background:var(--paper);border-color:var(--line)}.bk-file-icon{background:var(--bg);border-color:var(--line);color:var(--teal-ink)}.bk-doc-tone-1 .bk-file-icon,.bk-doc-tone-2 .bk-file-icon,.bk-doc-tone-3 .bk-file-icon{background:var(--bg);color:var(--teal-ink)}.bk-library-aside{background:var(--bg);border-color:var(--line);color:var(--ink-2)}.bk-library-aside h4,.bk-aside-kicker,.bk-aside-note,.bk-aside-list{color:var(--teal-ink)}.bk-sample-label{background:var(--bg);color:var(--ink-2);border-color:var(--line)}.bk-app-footer{background:var(--paper);border-color:var(--line);font-size:12px;gap:15px}.bk-welcome-view{background:linear-gradient(125deg,var(--navy),var(--night));grid-template-columns:1fr 340px}.bk-welcome-view:before{display:none}.bk-welcome-intro{text-shadow:none}.bk-welcome-mark{display:block;width:62px;height:72px;margin:0 auto 25px;color:var(--teal-pale)}.bk-welcome-mark svg{width:100%;height:100%}.bk-welcome-intro h3,.bk-welcome-intro p{color:var(--paper)}.bk-welcome-card{background:var(--paper);box-shadow:0 18px 45px #0a213044}.bk-welcome-field{background:var(--bg);color:var(--ink-3);border:1px solid var(--line);font-size:13px}.bk-product .bk-welcome-card button,.bk-query-row button{background:var(--teal-ink);color:var(--paper);font-size:13px;min-height:44px}.bk-product .bk-welcome-card button:hover{background:var(--navy)}.bk-preview-caption{font-size:12px}.bk-section-label,.bk-outcome-top>span{font-size:12px;color:var(--teal-ink)}.bk-overview-heading h3 em,.bk-outcome-top{color:var(--teal-ink)}.bk-overview-heading>p,.bk-outcome>p{color:var(--ink-2)}.bk-outcome{border-color:var(--line-strong)}.bk-outcome h4{color:var(--ink)}.bk-beacon-cta{background:var(--navy);border-color:var(--navy);color:var(--paper)}.bk-beacon-cta .bk-section-label,.bk-beacon-cta>div>p:last-child{color:var(--paper)}.bk-walkthrough-link{background:var(--paper);color:var(--ink);border-color:var(--paper)}
/* Flow + a separate hold spacer keeps the complete tablet below the sticky site header. */
.bk-reveal-track{margin-top:-36px}.bk-scroll-container[data-hold=true] .bk-reveal-track{min-height:0}.bk-scroll-container[data-hold=true] .bk-device-stick{position:sticky;top:104px}.bk-hold-space{height:clamp(480px,70svh,720px)}.bk-scroll-card,.bk-scroll-header{transition:transform 85ms linear;will-change:transform}.bk-scroll-container[data-motion=initial] .bk-scroll-card{transform:none}
@media(max-width:1100px){.bk-app-nav{gap:15px;padding-inline:18px}.bk-nav-hint{display:none}.bk-library-layout{grid-template-columns:minmax(0,1fr) 190px}.bk-doc-card h5{font-size:14px}}
@media(max-width:768px){.bk-reveal-track{margin-top:12px}.bk-app-nav{height:auto;flex-wrap:wrap;padding:14px 16px;gap:12px}.bk-app-brand{order:0}.bk-nav-hint{display:flex;order:1;font-size:12px}.bk-product-tabs{order:2;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.bk-product .bk-product-tabs button{justify-content:center;gap:6px;padding:11px 15px 11px 8px;font-size:12px}.bk-product-tabs button::after{right:4px!important;top:4px!important;width:6px!important;height:6px!important}.bk-product-tabs button>svg{display:none}.bk-product-tabs button>.bk-tab-long{display:none}.bk-product-tabs button>.bk-tab-short{display:inline}.bk-welcome-view{display:grid;grid-template-columns:1fr 260px;padding:24px;gap:22px}.bk-welcome-mark{width:34px;height:40px;margin-bottom:14px}.bk-welcome-intro h3{font-size:25px}.bk-app-footer{flex-wrap:wrap;padding:10px 14px;font-size:12px}.bk-library-search input,.bk-library-heading p,.bk-doc-category,.bk-doc-meta{font-size:12px}.bk-doc-meta b{display:none}.bk-scroll-container[data-hold=true] .bk-device-stick{top:88px}.bk-title h2{font-size:clamp(38px,6.6vw,54px)}}
@media(max-width:540px){.bk-section .wrap{padding:0;width:calc(100% - 32px)}.bk-app-brand strong{font-size:23px}.bk-nav-hint{font-size:12px;gap:6px}.bk-nav-hint>svg{width:13px}.bk-product-tabs{gap:5px}.bk-product .bk-product-tabs button{padding:12px 6px;font-size:12px;min-height:44px}.bk-app-content{height:520px}.bk-welcome-view{display:flex;justify-content:start;padding:24px 22px;gap:20px;height:auto;min-height:100%}.bk-welcome-intro h3{font-size:24px}.bk-welcome-intro p{font-size:12px;line-height:1.6}.bk-welcome-mark{display:none}.bk-welcome-card{width:100%;max-width:300px;padding:22px}.bk-welcome-card h4{font-size:28px}.bk-welcome-label,.bk-welcome-field-label{font-size:12px}.bk-welcome-field{font-size:13px;padding:12px;margin-bottom:14px}.bk-product .bk-welcome-card button{font-size:12px}.bk-doc-card h5{font-size:14px;min-height:0}.bk-doc-top{margin-bottom:12px}.bk-doc-meta{font-size:12px;line-height:1.5;min-height:36px}.bk-view-heading{display:block}.bk-view-heading p{font-size:12px;max-width:none}.bk-sample-label{display:inline-block;font-size:12px;margin-top:9px}.bk-library-layout{min-height:0}.bk-library-main{padding:18px 14px}.bk-doc-grid{grid-template-columns:1fr;gap:12px}.bk-product .bk-doc-card{padding:16px}.bk-doc-category{display:block;font-size:12px}.bk-search-view,.bk-review-view{height:auto;min-height:100%;padding:24px 16px}.bk-query-row input,.bk-example-answer p,.bk-example-answer small,.bk-example-answer>button,.bk-search-intro p,.bk-review-heading p,.bk-review-note{font-size:12px}.bk-query-row button{min-height:44px;font-size:12px}.bk-review-board{grid-template-columns:1fr}.bk-review-column h4,.bk-review-column h5,.bk-review-column button>p,.bk-review-column button>span{font-size:12px}.bk-review-column>button{min-height:120px;padding:15px}.bk-app-footer{gap:6px}.bk-app-footer>span:last-child{display:none}.bk-preview-caption{text-align:center}.bk-title h2{font-size:39px}.bk-beacon-cta{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){.bk-product-tabs button,.bk-product-tabs button::after,.bk-scroll-card,.bk-scroll-header{animation:none!important;transition:none!important;transform:none!important;will-change:auto}.bk-hold-space{display:none}.bk-scroll-container .bk-device-stick{position:relative!important;top:auto!important}}
.bk-scroll-container[data-pose="0"] .bk-scroll-card{transform:rotateX(20.00deg) scale(1.0500)}.bk-scroll-container[data-pose="0"] .bk-scroll-header{transform:translateY(-0.0px)}
.bk-scroll-container[data-pose="1"] .bk-scroll-card{transform:rotateX(19.50deg) scale(1.0488)}.bk-scroll-container[data-pose="1"] .bk-scroll-header{transform:translateY(-2.0px)}
.bk-scroll-container[data-pose="2"] .bk-scroll-card{transform:rotateX(19.00deg) scale(1.0475)}.bk-scroll-container[data-pose="2"] .bk-scroll-header{transform:translateY(-4.0px)}
.bk-scroll-container[data-pose="3"] .bk-scroll-card{transform:rotateX(18.50deg) scale(1.0463)}.bk-scroll-container[data-pose="3"] .bk-scroll-header{transform:translateY(-6.0px)}
.bk-scroll-container[data-pose="4"] .bk-scroll-card{transform:rotateX(18.00deg) scale(1.0450)}.bk-scroll-container[data-pose="4"] .bk-scroll-header{transform:translateY(-8.0px)}
.bk-scroll-container[data-pose="5"] .bk-scroll-card{transform:rotateX(17.50deg) scale(1.0437)}.bk-scroll-container[data-pose="5"] .bk-scroll-header{transform:translateY(-10.0px)}
.bk-scroll-container[data-pose="6"] .bk-scroll-card{transform:rotateX(17.00deg) scale(1.0425)}.bk-scroll-container[data-pose="6"] .bk-scroll-header{transform:translateY(-12.0px)}
.bk-scroll-container[data-pose="7"] .bk-scroll-card{transform:rotateX(16.50deg) scale(1.0413)}.bk-scroll-container[data-pose="7"] .bk-scroll-header{transform:translateY(-14.0px)}
.bk-scroll-container[data-pose="8"] .bk-scroll-card{transform:rotateX(16.00deg) scale(1.0400)}.bk-scroll-container[data-pose="8"] .bk-scroll-header{transform:translateY(-16.0px)}
.bk-scroll-container[data-pose="9"] .bk-scroll-card{transform:rotateX(15.50deg) scale(1.0388)}.bk-scroll-container[data-pose="9"] .bk-scroll-header{transform:translateY(-18.0px)}
.bk-scroll-container[data-pose="10"] .bk-scroll-card{transform:rotateX(15.00deg) scale(1.0375)}.bk-scroll-container[data-pose="10"] .bk-scroll-header{transform:translateY(-20.0px)}
.bk-scroll-container[data-pose="11"] .bk-scroll-card{transform:rotateX(14.50deg) scale(1.0363)}.bk-scroll-container[data-pose="11"] .bk-scroll-header{transform:translateY(-22.0px)}
.bk-scroll-container[data-pose="12"] .bk-scroll-card{transform:rotateX(14.00deg) scale(1.0350)}.bk-scroll-container[data-pose="12"] .bk-scroll-header{transform:translateY(-24.0px)}
.bk-scroll-container[data-pose="13"] .bk-scroll-card{transform:rotateX(13.50deg) scale(1.0337)}.bk-scroll-container[data-pose="13"] .bk-scroll-header{transform:translateY(-26.0px)}
.bk-scroll-container[data-pose="14"] .bk-scroll-card{transform:rotateX(13.00deg) scale(1.0325)}.bk-scroll-container[data-pose="14"] .bk-scroll-header{transform:translateY(-28.0px)}
.bk-scroll-container[data-pose="15"] .bk-scroll-card{transform:rotateX(12.50deg) scale(1.0312)}.bk-scroll-container[data-pose="15"] .bk-scroll-header{transform:translateY(-30.0px)}
.bk-scroll-container[data-pose="16"] .bk-scroll-card{transform:rotateX(12.00deg) scale(1.0300)}.bk-scroll-container[data-pose="16"] .bk-scroll-header{transform:translateY(-32.0px)}
.bk-scroll-container[data-pose="17"] .bk-scroll-card{transform:rotateX(11.50deg) scale(1.0288)}.bk-scroll-container[data-pose="17"] .bk-scroll-header{transform:translateY(-34.0px)}
.bk-scroll-container[data-pose="18"] .bk-scroll-card{transform:rotateX(11.00deg) scale(1.0275)}.bk-scroll-container[data-pose="18"] .bk-scroll-header{transform:translateY(-36.0px)}
.bk-scroll-container[data-pose="19"] .bk-scroll-card{transform:rotateX(10.50deg) scale(1.0263)}.bk-scroll-container[data-pose="19"] .bk-scroll-header{transform:translateY(-38.0px)}
.bk-scroll-container[data-pose="20"] .bk-scroll-card{transform:rotateX(10.00deg) scale(1.0250)}.bk-scroll-container[data-pose="20"] .bk-scroll-header{transform:translateY(-40.0px)}
.bk-scroll-container[data-pose="21"] .bk-scroll-card{transform:rotateX(9.50deg) scale(1.0237)}.bk-scroll-container[data-pose="21"] .bk-scroll-header{transform:translateY(-42.0px)}
.bk-scroll-container[data-pose="22"] .bk-scroll-card{transform:rotateX(9.00deg) scale(1.0225)}.bk-scroll-container[data-pose="22"] .bk-scroll-header{transform:translateY(-44.0px)}
.bk-scroll-container[data-pose="23"] .bk-scroll-card{transform:rotateX(8.50deg) scale(1.0212)}.bk-scroll-container[data-pose="23"] .bk-scroll-header{transform:translateY(-46.0px)}
.bk-scroll-container[data-pose="24"] .bk-scroll-card{transform:rotateX(8.00deg) scale(1.0200)}.bk-scroll-container[data-pose="24"] .bk-scroll-header{transform:translateY(-48.0px)}
.bk-scroll-container[data-pose="25"] .bk-scroll-card{transform:rotateX(7.50deg) scale(1.0188)}.bk-scroll-container[data-pose="25"] .bk-scroll-header{transform:translateY(-50.0px)}
.bk-scroll-container[data-pose="26"] .bk-scroll-card{transform:rotateX(7.00deg) scale(1.0175)}.bk-scroll-container[data-pose="26"] .bk-scroll-header{transform:translateY(-52.0px)}
.bk-scroll-container[data-pose="27"] .bk-scroll-card{transform:rotateX(6.50deg) scale(1.0163)}.bk-scroll-container[data-pose="27"] .bk-scroll-header{transform:translateY(-54.0px)}
.bk-scroll-container[data-pose="28"] .bk-scroll-card{transform:rotateX(6.00deg) scale(1.0150)}.bk-scroll-container[data-pose="28"] .bk-scroll-header{transform:translateY(-56.0px)}
.bk-scroll-container[data-pose="29"] .bk-scroll-card{transform:rotateX(5.50deg) scale(1.0138)}.bk-scroll-container[data-pose="29"] .bk-scroll-header{transform:translateY(-58.0px)}
.bk-scroll-container[data-pose="30"] .bk-scroll-card{transform:rotateX(5.00deg) scale(1.0125)}.bk-scroll-container[data-pose="30"] .bk-scroll-header{transform:translateY(-60.0px)}
.bk-scroll-container[data-pose="31"] .bk-scroll-card{transform:rotateX(4.50deg) scale(1.0112)}.bk-scroll-container[data-pose="31"] .bk-scroll-header{transform:translateY(-62.0px)}
.bk-scroll-container[data-pose="32"] .bk-scroll-card{transform:rotateX(4.00deg) scale(1.0100)}.bk-scroll-container[data-pose="32"] .bk-scroll-header{transform:translateY(-64.0px)}
.bk-scroll-container[data-pose="33"] .bk-scroll-card{transform:rotateX(3.50deg) scale(1.0088)}.bk-scroll-container[data-pose="33"] .bk-scroll-header{transform:translateY(-66.0px)}
.bk-scroll-container[data-pose="34"] .bk-scroll-card{transform:rotateX(3.00deg) scale(1.0075)}.bk-scroll-container[data-pose="34"] .bk-scroll-header{transform:translateY(-68.0px)}
.bk-scroll-container[data-pose="35"] .bk-scroll-card{transform:rotateX(2.50deg) scale(1.0063)}.bk-scroll-container[data-pose="35"] .bk-scroll-header{transform:translateY(-70.0px)}
.bk-scroll-container[data-pose="36"] .bk-scroll-card{transform:rotateX(2.00deg) scale(1.0050)}.bk-scroll-container[data-pose="36"] .bk-scroll-header{transform:translateY(-72.0px)}
.bk-scroll-container[data-pose="37"] .bk-scroll-card{transform:rotateX(1.50deg) scale(1.0038)}.bk-scroll-container[data-pose="37"] .bk-scroll-header{transform:translateY(-74.0px)}
.bk-scroll-container[data-pose="38"] .bk-scroll-card{transform:rotateX(1.00deg) scale(1.0025)}.bk-scroll-container[data-pose="38"] .bk-scroll-header{transform:translateY(-76.0px)}
.bk-scroll-container[data-pose="39"] .bk-scroll-card{transform:rotateX(0.50deg) scale(1.0012)}.bk-scroll-container[data-pose="39"] .bk-scroll-header{transform:translateY(-78.0px)}
.bk-scroll-container[data-pose="40"] .bk-scroll-card{transform:rotateX(0.00deg) scale(1.0000)}.bk-scroll-container[data-pose="40"] .bk-scroll-header{transform:translateY(-80.0px)}
@media(max-width:768px){
.bk-scroll-container[data-pose="0"] .bk-scroll-card{transform:rotateX(8.00deg)}
.bk-scroll-container[data-pose="1"] .bk-scroll-card{transform:rotateX(7.80deg)}
.bk-scroll-container[data-pose="2"] .bk-scroll-card{transform:rotateX(7.60deg)}
.bk-scroll-container[data-pose="3"] .bk-scroll-card{transform:rotateX(7.40deg)}
.bk-scroll-container[data-pose="4"] .bk-scroll-card{transform:rotateX(7.20deg)}
.bk-scroll-container[data-pose="5"] .bk-scroll-card{transform:rotateX(7.00deg)}
.bk-scroll-container[data-pose="6"] .bk-scroll-card{transform:rotateX(6.80deg)}
.bk-scroll-container[data-pose="7"] .bk-scroll-card{transform:rotateX(6.60deg)}
.bk-scroll-container[data-pose="8"] .bk-scroll-card{transform:rotateX(6.40deg)}
.bk-scroll-container[data-pose="9"] .bk-scroll-card{transform:rotateX(6.20deg)}
.bk-scroll-container[data-pose="10"] .bk-scroll-card{transform:rotateX(6.00deg)}
.bk-scroll-container[data-pose="11"] .bk-scroll-card{transform:rotateX(5.80deg)}
.bk-scroll-container[data-pose="12"] .bk-scroll-card{transform:rotateX(5.60deg)}
.bk-scroll-container[data-pose="13"] .bk-scroll-card{transform:rotateX(5.40deg)}
.bk-scroll-container[data-pose="14"] .bk-scroll-card{transform:rotateX(5.20deg)}
.bk-scroll-container[data-pose="15"] .bk-scroll-card{transform:rotateX(5.00deg)}
.bk-scroll-container[data-pose="16"] .bk-scroll-card{transform:rotateX(4.80deg)}
.bk-scroll-container[data-pose="17"] .bk-scroll-card{transform:rotateX(4.60deg)}
.bk-scroll-container[data-pose="18"] .bk-scroll-card{transform:rotateX(4.40deg)}
.bk-scroll-container[data-pose="19"] .bk-scroll-card{transform:rotateX(4.20deg)}
.bk-scroll-container[data-pose="20"] .bk-scroll-card{transform:rotateX(4.00deg)}
.bk-scroll-container[data-pose="21"] .bk-scroll-card{transform:rotateX(3.80deg)}
.bk-scroll-container[data-pose="22"] .bk-scroll-card{transform:rotateX(3.60deg)}
.bk-scroll-container[data-pose="23"] .bk-scroll-card{transform:rotateX(3.40deg)}
.bk-scroll-container[data-pose="24"] .bk-scroll-card{transform:rotateX(3.20deg)}
.bk-scroll-container[data-pose="25"] .bk-scroll-card{transform:rotateX(3.00deg)}
.bk-scroll-container[data-pose="26"] .bk-scroll-card{transform:rotateX(2.80deg)}
.bk-scroll-container[data-pose="27"] .bk-scroll-card{transform:rotateX(2.60deg)}
.bk-scroll-container[data-pose="28"] .bk-scroll-card{transform:rotateX(2.40deg)}
.bk-scroll-container[data-pose="29"] .bk-scroll-card{transform:rotateX(2.20deg)}
.bk-scroll-container[data-pose="30"] .bk-scroll-card{transform:rotateX(2.00deg)}
.bk-scroll-container[data-pose="31"] .bk-scroll-card{transform:rotateX(1.80deg)}
.bk-scroll-container[data-pose="32"] .bk-scroll-card{transform:rotateX(1.60deg)}
.bk-scroll-container[data-pose="33"] .bk-scroll-card{transform:rotateX(1.40deg)}
.bk-scroll-container[data-pose="34"] .bk-scroll-card{transform:rotateX(1.20deg)}
.bk-scroll-container[data-pose="35"] .bk-scroll-card{transform:rotateX(1.00deg)}
.bk-scroll-container[data-pose="36"] .bk-scroll-card{transform:rotateX(0.80deg)}
.bk-scroll-container[data-pose="37"] .bk-scroll-card{transform:rotateX(0.60deg)}
.bk-scroll-container[data-pose="38"] .bk-scroll-card{transform:rotateX(0.40deg)}
.bk-scroll-container[data-pose="39"] .bk-scroll-card{transform:rotateX(0.20deg)}
.bk-scroll-container[data-pose="40"] .bk-scroll-card{transform:rotateX(0.00deg)}
}
@media(prefers-reduced-motion:reduce){.bk-scroll-container[data-pose] .bk-scroll-card,.bk-scroll-container[data-pose] .bk-scroll-header{transform:none!important}}

@media(max-width:768px){.bk-library-layout{grid-template-columns:1fr}}

/* Keep the restored screen's small labels readable on the clinical palette. */
.bk-doc-meta b,.bk-library-aside>p:not(.bk-aside-kicker),.bk-aside-note span,.bk-search-intro p,.bk-query-card>label,.bk-answer-placeholder,.bk-answer-kicker,.bk-example-answer small,.bk-review-heading p,.bk-review-column h4,.bk-review-column>button,.bk-review-column button>p,.bk-review-note,.bk-type,.bk-document-peek>p,.bk-document-peek dt,.bk-document-peek dd,.bk-document-peek .bk-peek-note{color:var(--ink-2)}.bk-search-intro h3 em,.bk-example-answer>button{color:var(--teal-ink)}.bk-query-row button:disabled{background:var(--bg);color:var(--ink-2)}.bk-product .bk-close{color:var(--ink);background:var(--bg);min-width:32px;min-height:32px;align-items:center;justify-content:center}.bk-workflow-icon{color:var(--teal-ink);background:var(--bg)}.bk-review-amber h4 i,.bk-review-blue h4 i,.bk-review-green h4 i{background:var(--teal-ink)}

.bk-browser-bar>div,.bk-browser-demo{flex-shrink:0}.bk-browser-bar>span:not(.bk-browser-demo){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-product .bk-product-tabs button{transition:border-color .18s,box-shadow .18s}
@media(max-width:540px){.bk-product-tabs{grid-template-columns:1.2fr .9fr 1.3fr 1fr}.bk-product .bk-product-tabs button{padding-inline:4px}}

/* Restore the original, long-standing orange Beacon welcome artwork. */
.bk-welcome-view{background:#254051 url('/assets/beacon-lighthouse.webp') center/cover no-repeat}.bk-welcome-view:before{display:block;background:radial-gradient(ellipse 340px 130px at 28% 50%,#0a2130ad 0%,#0a213080 45%,#0a213000 100%)}.bk-welcome-intro{text-shadow:0 1px 6px #0a213080}.bk-welcome-intro h3,.bk-welcome-intro p{color:#fff}.bk-product .bk-welcome-card button{background:#f57c18;color:var(--ink);font-weight:600}.bk-product .bk-welcome-card button:hover{background:#ed8a36;color:var(--ink)}
@media(max-width:540px){.bk-welcome-view{background-position:43% center}.bk-welcome-view:before{background:radial-gradient(ellipse 230px 110px at 50% 12%,#0a2130ad 0%,#0a213080 45%,#0a213000 100%)}}

/* Tightened (30 October 2026): the page's column and type scale, one headline, and the three points as
   shortcuts to the preview's own tabs. */
.bk-section .wrap{max-width:var(--max)}
.bk-section{padding-bottom:clamp(64px,7vw,96px)}
.bk-eyebrow{letter-spacing:.11em!important;font-weight:600}
.bk-title h2{font-size:var(--fs-display);font-weight:600;letter-spacing:var(--track-tight);line-height:1.04}
.bk-overview{max-width:none;margin:clamp(72px,8vw,112px) 0 0}
.bk-section-label{font-weight:600;letter-spacing:.11em;color:var(--teal-ink)}
.bk-overview-lede{margin:0;max-width:30ch;font:600 var(--fs-h3)/1.2 var(--sans);letter-spacing:var(--track-snug);color:var(--ink);text-wrap:balance}
.bk-outcomes{gap:clamp(16px,2vw,28px);margin-top:clamp(40px,4vw,56px)}
.bk-outcome{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;padding:24px 24px 26px;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;
  background:rgba(255,255,255,.55);border:1px solid var(--line);border-top:2px solid var(--line);border-radius:16px;
  transition:background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.bk-outcome:hover{background:#fff;box-shadow:0 18px 36px -24px rgba(13,36,51,.35)}
.bk-outcome[aria-pressed=true]{background:#fff;border-top-color:var(--teal-ink)}
.bk-outcome:focus-visible{outline:2px solid var(--teal-ink);outline-offset:3px}
.bk-outcome .bk-outcome-top{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin:0;font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--teal-ink)}
.bk-outcome-title{font:600 var(--fs-h5)/1.25 var(--sans);letter-spacing:var(--track-snug);color:var(--ink)}
.bk-outcome-text{font-size:var(--fs-body);line-height:1.5;color:var(--ink-2)}
.bk-outcome-cue{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font:600 15px/1.4 var(--sans);color:var(--teal-ink)}
.bk-outcome:hover .bk-outcome-cue{text-decoration:underline;text-underline-offset:4px}
.bk-beacon-cta{margin-top:clamp(48px,5vw,72px);background:var(--navy);border-color:rgba(255,255,255,.09)}
.bk-beacon-cta .bk-section-label{color:var(--teal-pale)}
.bk-beacon-cta h3{font:600 var(--fs-h3)/1.15 var(--sans);letter-spacing:var(--track-snug)}
.bk-beacon-cta>div>p:last-child{font-size:var(--fs-body);line-height:1.5;color:#D3DEE3}
.bk-walkthrough-link{font:600 15px/1.3 var(--sans)}
@media(max-width:768px){.bk-outcomes{grid-template-columns:1fr}.bk-outcome{padding:20px}}
@media(prefers-reduced-motion:reduce){.bk-outcome{transition:none}}
/* The intro follows the page's section-head pattern: label and heading on the left, a plain lede on the right. */
.bk-overview .bk-overview-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38ch);gap:24px 40px;align-items:end}
.bk-overview .bk-overview-heading .bk-section-label{margin:0 0 16px;font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.11em;color:var(--teal-ink)}
.bk-overview .bk-overview-heading h3{margin:0;font:600 var(--fs-h2)/1.05 var(--sans);letter-spacing:var(--track-tight);color:var(--ink)}
.bk-overview .bk-overview-heading h3 em{font-style:normal;color:var(--teal-ink)}
.bk-overview .bk-overview-heading>p.bk-overview-lede{margin:0;max-width:38ch;font:400 var(--fs-body)/1.5 var(--sans);letter-spacing:var(--track-body);color:var(--ink-2)}
@media(max-width:860px){.bk-overview .bk-overview-heading{grid-template-columns:1fr}}
/* /assets/pcc-checker.css */
/* PCC HRG Checker — shared by the homepage showcase and standalone tool. */
.pcc-showcase{padding:clamp(64px,8vw,112px) 0;background:#E3ECEC}
.pcc-section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:40px;margin-bottom:36px}
.pcc-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#426871}
.pcc-eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:#3A809A}
.pcc-section-heading h2,.pcc-page-intro h1{font-size:clamp(34px,4.5vw,62px);line-height:1.04;letter-spacing:-.055em;font-weight:600;margin-top:20px}
.pcc-section-heading h2 span,.pcc-page-intro h1 span{color:#246D71}
.pcc-section-heading>div:last-child>p{font-size:15px;line-height:1.7;color:#3D5F69;max-width:44ch}
.pcc-tool-link{display:inline-flex;align-items:center;gap:25px;padding:10px 0;border-bottom:1px solid #84AAA9;margin-top:16px;font-size:12px;font-weight:500;text-decoration:none}
.pcc-tool-link:hover{color:#1D6C74;border-color:currentColor}
.pcc-app{--pcc-ink:#153847;--pcc-muted:#55717A;--pcc-line:#D6E2E2;--pcc-teal:#267A7C;--pcc-soft:#EFF5F5;--pcc-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;isolation:isolate;position:relative;background:#F9FCFC;border:1px solid #B9CDCE;border-radius:20px;box-shadow:0 24px 60px -38px #15384763;color:var(--pcc-ink);font:400 14px/1.5 var(--sans,system-ui);letter-spacing:-.01em;overflow:hidden}
.pcc-app *{box-sizing:border-box}.pcc-app button,.pcc-app input,.pcc-app select,.pcc-app textarea{font:inherit;color:inherit}.pcc-app button{cursor:pointer}.pcc-app button:disabled{opacity:.45;cursor:not-allowed}.pcc-app button:focus-visible,.pcc-app input:focus-visible,.pcc-app select:focus-visible,.pcc-app textarea:focus-visible,.pcc-app summary:focus-visible{outline:2px solid #28787D;outline-offset:4px}
.pcc-appbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 28px;background:#113B4C;color:#F2F8F8}
.pcc-brand{display:flex;align-items:center;gap:13px}.pcc-brand strong{display:block;font-size:16px;font-weight:600;letter-spacing:-.035em}.pcc-brand>div>span{display:block;font-size:10px;color:#B7D0D1;margin-top:1px;letter-spacing:.015em}
.pcc-mark{display:grid;grid-template-columns:repeat(2,7px);gap:3px;width:17px}.pcc-mark i{background:#94C4C6;border-radius:2px;width:7px;height:7px}.pcc-mark i:last-child{background:#CDE4E4}
.pcc-app-status{display:flex;align-items:center;gap:8px;border:1px solid #527B83;border-radius:99px;padding:6px 11px;font-size:10px;color:#D8E8E8;white-space:nowrap}.pcc-app-status>span{display:block;width:5px;height:5px;border-radius:50%;background:#AAD6D7}
.pcc-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}
.pcc-input-panel,.pcc-result-panel{padding:30px;min-width:0}.pcc-result-panel{background:#F0F5F5;border-left:1px solid var(--pcc-line)}
.pcc-step-heading{display:flex;align-items:center;gap:10px;margin-bottom:26px;min-height:24px}.pcc-step-heading>span:first-child{font:400 10px var(--pcc-mono);color:#3E6470}.pcc-step-heading h3{font:600 15px/1.2 var(--sans);letter-spacing:-.03em;margin:0}.pcc-reset{margin-left:auto;border:0;border-bottom:1px solid #AFC5C4;background:transparent;font-size:10px!important;padding:3px 0;color:var(--pcc-muted)!important;min-height:26px}.pcc-result-label{margin-left:auto;font-size:8px;color:#51686C;text-transform:uppercase;letter-spacing:.04em}
.pcc-field-label{display:block;font-size:11px;font-weight:600;margin-bottom:8px}.pcc-code-entry{display:flex;align-items:center;background:#FFFFFF;border:1px solid #A7BFC0;border-radius:10px;box-shadow:0 2px 3px #123b4c05}.pcc-code-entry:focus-within{border-color:var(--pcc-teal)}.pcc-code-entry input{padding:15px 16px;min-width:0;width:100%;border:0;border-radius:10px;background:none;font:500 20px/1.3 var(--pcc-mono)!important;letter-spacing:.025em}.pcc-code-entry input:focus-visible{outline-offset:0}.pcc-code-entry>span{margin-right:16px;color:#52696A;font-size:19px}
.pcc-hint{font-size:10px;line-height:1.65;color:var(--pcc-muted);margin:8px 0 0}.pcc-small-label{margin:23px 0 10px;font-size:9px;color:var(--pcc-muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.pcc-examples{display:flex;flex-wrap:wrap;gap:7px}.pcc-examples button{font-size:10px;padding:7px 10px;border:1px solid #CDDBDC;border-radius:99px;background:transparent;min-height:32px;transition:background .2s,border-color .2s}.pcc-examples button:hover,.pcc-examples button[aria-pressed=true]{background:#DDECED;border-color:#83A9AA}
.pcc-selected{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 20px;min-height:28px}.pcc-selected>button{display:inline-flex;align-items:center;gap:8px;background:#E0EDEE;border:1px solid #BAD5D6;border-radius:6px;font:500 12px var(--pcc-mono);padding:6px 9px;min-height:32px}.pcc-selected>button>span{font:400 17px/1 var(--sans);color:#53676E}.pcc-selected>span{font-size:11px;color:var(--pcc-muted);align-self:center}
.pcc-disclosure{border-top:1px solid var(--pcc-line)}.pcc-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:16px 0;font-size:11px;font-weight:500;min-height:50px}.pcc-disclosure>summary::-webkit-details-marker{display:none}.pcc-disclosure>summary:after{content:"＋";font-size:16px;font-weight:400;order:2;color:var(--pcc-muted)}.pcc-disclosure[open]>summary:after{content:"−"}.pcc-disclosure>summary>span{margin-left:auto;font-size:8px;font-weight:400;color:var(--pcc-muted);text-align:right;max-width:48%}.pcc-disclosure-body{padding-bottom:20px;min-width:0}.pcc-context-hint{margin:0 0 20px}
.pcc-search{width:100%;min-width:0;background:white;border:1px solid var(--pcc-line);padding:10px 12px;border-radius:7px;font-size:11px!important;margin-bottom:17px}.pcc-code-group{margin-bottom:18px}.pcc-code-group h4{font-size:10px;font-weight:500;color:var(--pcc-muted);margin:0 0 7px}.pcc-code-chips{display:flex;flex-wrap:wrap;gap:6px}.pcc-code-chip{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--pcc-line);border-radius:7px;background:#FFFFFF;padding:7px 8px;font-size:9px!important;text-align:left;line-height:1.4!important}.pcc-code-chip>span{font:500 10px var(--pcc-mono);padding:2px 5px;border-radius:3px;background:#F0F4F4;flex-shrink:0}.pcc-code-chip[aria-pressed=true]{background:#267A7C;border-color:#267A7C;color:#FFFFFF}.pcc-code-chip[aria-pressed=true]>span{background:#ffffff24;color:inherit}
.pcc-fields{display:grid;grid-template-columns:1fr;gap:15px}.pcc-field label{display:block;font-size:10px;font-weight:600;margin-bottom:7px;line-height:1.45}.pcc-field label small{display:block;font-size:9px;font-weight:400;color:var(--pcc-muted);margin-top:3px}.pcc-field select,.pcc-field input{display:block;width:100%;min-width:0;border:1px solid #C5D6D7;background:white;border-radius:7px;padding:9px 10px;font-size:11px!important;min-height:39px}.pcc-field select{padding-right:22px;text-overflow:ellipsis}.pcc-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.pcc-counters label{min-height:54px}.pcc-counters input{font-family:var(--pcc-mono)!important}
.pcc-checkboxes{display:grid;gap:14px;margin-top:22px}.pcc-checkboxes>label{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.4;cursor:pointer}.pcc-checkboxes input{accent-color:#267A7C;margin:2px 0 0;width:14px;height:14px;flex-shrink:0}.pcc-checkboxes small{display:block;color:var(--pcc-muted);font-size:9px;margin-top:4px;line-height:1.5}
.pcc-result-card{--pcc-level:#277585;position:relative;background:white;border:1px solid #D4E0E1;border-radius:12px;padding:23px 24px 19px;box-shadow:0 8px 25px -20px #1A3F3E50}.pcc-result-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:500;color:var(--pcc-muted)}.pcc-result-meta>span:first-child{text-transform:uppercase;letter-spacing:.09em}.pcc-result-meta>span:last-child{font:400 9px var(--pcc-mono)}.pcc-hrg{font:500 clamp(40px,4.3vw,62px)/1.15 var(--pcc-mono);letter-spacing:-.045em;color:var(--pcc-level);margin-top:26px}.pcc-result-name{font-size:20px;font-weight:600;letter-spacing:-.035em;line-height:1.2;margin-top:9px}.pcc-result-reason{font-size:11px;line-height:1.65;color:var(--pcc-muted);max-width:39ch;margin-top:13px}.pcc-levels{display:flex;align-items:center;gap:5px;margin-top:28px}.pcc-levels>span{position:relative;flex:1;height:6px;background:#E5ECEC;border-radius:2px}.pcc-levels>span[aria-current=true]{background:var(--pcc-level)}.pcc-levels>span[aria-current=true]:after{content:"";position:absolute;bottom:-8px;left:50%;margin-left:-2px;width:4px;height:4px;background:var(--pcc-level);border-radius:50%}.pcc-result-foot{font-size:8px;letter-spacing:.015em;color:#586569;margin-top:20px}.pcc-level-01{--pcc-level:#865360}.pcc-level-02{--pcc-level:#915747}.pcc-level-03{--pcc-level:#97613E}.pcc-level-04{--pcc-level:#906F34}.pcc-level-05{--pcc-level:#497687}.pcc-level-06{--pcc-level:#317188}.pcc-level-07{--pcc-level:#277585}.pcc-level-09{--pcc-level:#587579}.pcc-level-uz{--pcc-level:#6A6F74}
.pcc-notes{display:grid;gap:7px;margin:15px 0}.pcc-note{border-left:2px solid #A6BBBB;padding:8px 10px;background:#E4ECEC;font-size:10px;line-height:1.6;color:#425D66}.pcc-note.pcc-note-amber{background:#F5EEDD;border-color:#B79457;color:#715E37}.pcc-error{font-size:10px;line-height:1.5;color:#9D3D35;margin:9px 0;background:#FBEFEA;padding:10px 12px;border-left:2px solid #B3624F;border-radius:4px}.pcc-app input[aria-invalid=true]{border-color:#B3624F}
.pcc-trace ol{list-style:none;padding:0;margin:0}.pcc-trace li{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;gap:9px;border-bottom:1px solid #D5E1E1;padding:9px 0;font-size:10px;line-height:1.5;align-items:baseline;color:var(--pcc-muted)}.pcc-trace li>span:first-child{font:400 9px var(--pcc-mono);color:#566768}.pcc-trace li>span:last-child{font-size:8px;text-align:right}.pcc-trace li.is-match{color:#2E5A6B}.pcc-trace li.is-final{font-weight:600}.pcc-trace li.is-match>span:last-child{color:#2E6B81}
.pcc-comparison-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.pcc-comparison-row strong{font:500 10px var(--pcc-mono);margin-right:6px;min-width:47px}.pcc-add-code{border:1px solid #BDCECE;border-radius:5px;background:white;font:500 10px var(--pcc-mono)!important;padding:5px 8px;min-height:30px}
.pcc-batch{border-top:1px solid var(--pcc-line);background:#F8FBFB}.pcc-batch>summary{list-style:none;display:flex;justify-content:space-between;gap:16px;cursor:pointer;padding:21px 30px;font-size:12px;font-weight:500}.pcc-batch>summary::-webkit-details-marker{display:none}.pcc-batch>summary>span{display:flex;align-items:center;gap:11px}.pcc-batch>summary>span:last-child{font-size:9px;color:var(--pcc-muted)}.pcc-batch-icon{font-size:21px;line-height:1;color:#436876}.pcc-batch-body{padding:4px 30px 28px}.pcc-batch-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.pcc-batch-intro h3{font-size:16px;font-weight:600;letter-spacing:-.03em;margin:0}.pcc-batch-intro p{font-size:11px;color:var(--pcc-muted);margin-top:5px}.pcc-batch-limit{font-size:9px;color:var(--pcc-muted);white-space:nowrap}.pcc-batch textarea{width:100%;resize:vertical;min-height:112px;max-height:400px;padding:13px 15px;font:400 12px/1.9 var(--pcc-mono)!important;background:white;border:1px solid #BACDCD;border-radius:8px}.pcc-batch-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:12px}.pcc-primary,.pcc-secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:40px;border-radius:99px;padding:9px 16px;font-size:11px!important;font-weight:500!important}.pcc-primary{background:#153F4D;color:#FFFFFF!important;border:1px solid #153F4D}.pcc-secondary{background:transparent;border:1px solid #A9C1C1}.pcc-primary:hover{background:#267A7C;border-color:#267A7C}.pcc-secondary:not(:disabled):hover{background:#E4ECEC}.pcc-batch-actions>.pcc-hint{flex-basis:100%;margin-top:2px}
.pcc-batch-table{max-height:400px;overflow:auto;border:1px solid var(--pcc-line);border-radius:8px;margin-top:18px;overscroll-behavior:contain}.pcc-batch table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap;text-align:left}.pcc-batch th{background:#E6EEEF;padding:10px 12px;font-size:8px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;color:#52686F}.pcc-batch td{padding:9px 12px;border-bottom:1px solid #E1E8E9}.pcc-batch td:nth-child(2),.pcc-batch td:nth-child(3),.pcc-batch td:nth-child(4){font-family:var(--pcc-mono)}.pcc-batch td:last-child button{border:1px solid #BECDCD;border-radius:99px;padding:5px 9px;min-height:30px;font-size:9px;background:white}.pcc-row-invalid{color:#9D3D35}.pcc-copy-fallback{margin-top:15px}.pcc-copy-fallback label{display:block;font-size:10px;margin-bottom:7px}
.pcc-app-footer{display:flex;gap:15px;justify-content:space-between;align-items:center;background:#E5EDEE;padding:14px 28px;border-top:1px solid var(--pcc-line);color:#52666D;font-size:9px}.pcc-app-footer p{display:flex;align-items:center;gap:8px}.pcc-app-footer p>span{font-size:11px}.pcc-app-footer>span{font:400 8px var(--pcc-mono);white-space:nowrap}
.pcc-scope{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px;font-size:10px;line-height:1.8;color:#48696E}.pcc-scope p{max-width:80ch}.pcc-scope a{color:#1D6C74;text-underline-offset:3px}.pcc-scope>p:last-child{text-align:right;justify-self:end;max-width:65ch}.pcc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pcc-toolpage{padding:clamp(104px,12vw,160px) 0 80px;background:#E9F0F1;min-height:100svh}.pcc-page-intro{max-width:760px;padding-bottom:40px}.pcc-breadcrumb{display:inline-flex;gap:15px;font-size:11px;color:#47696C;text-decoration:none;margin-bottom:30px}.pcc-page-intro>p:last-child{font-size:16px;color:#466872;line-height:1.7;max-width:57ch;margin-top:24px}.pcc-page-footer{padding:30px var(--gutter);display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#49696C;max-width:var(--max);margin:0 auto}.pcc-page-footer a{text-underline-offset:4px}
.ow-live-tool{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#173E4C;color:#F0F7F7;border-radius:14px;padding:24px 28px;margin-bottom:40px;text-decoration:none}.ow-live-tool>div{display:flex;gap:20px;align-items:center}.ow-live-tool .ow-eyebrow{color:#466A6B;font-size:9px}.ow-live-tool strong{display:block;font-size:22px;letter-spacing:-.04em;font-weight:500;margin-top:5px}.ow-live-tool p:last-child{font-size:12px;color:#BED2D3;margin-top:6px}.ow-live-tool-icon{border:1px solid #6F9596;display:grid;place-items:center;width:50px;height:50px;border-radius:12px;font:400 13px 'IBM Plex Mono',monospace;color:#BBD7D8;flex-shrink:0}.ow-live-tool-arrow{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;border:1px solid #95B2B3;flex-shrink:0;font-size:22px}.ow-live-tool:hover .ow-live-tool-arrow{background:#AACDCE;color:#153E4C}
@media(max-width:1000px){.pcc-input-panel,.pcc-result-panel{padding:24px}.pcc-step-heading{gap:7px}.pcc-step-heading h3{font-size:13px}.pcc-result-label{display:none}.pcc-result-card{padding:20px}.pcc-counters{grid-template-columns:1fr}.pcc-counters label{min-height:0}}
@media(max-width:760px){.pcc-section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:25px}.pcc-section-heading h2{font-size:41px}.pcc-section-heading>div:last-child>p{font-size:14px;max-width:45ch}.pcc-workspace{grid-template-columns:1fr}.pcc-result-panel{border-left:0;border-top:1px solid var(--pcc-line)}.pcc-step-heading h3{font-size:15px}.pcc-result-label{display:inline;font-size:8px}.pcc-appbar{padding:19px 22px}.pcc-hrg{font-size:54px}.pcc-result-card{padding:24px}.pcc-counters{grid-template-columns:repeat(3,minmax(0,1fr))}.pcc-counters label{min-height:54px}.pcc-scope{grid-template-columns:1fr;gap:16px}.pcc-scope>p:last-child{text-align:left;justify-self:start}.pcc-app-footer{padding:15px 22px;flex-wrap:wrap;gap:6px}.pcc-app-footer>span{display:none}.pcc-batch>summary{padding:20px 24px}.pcc-batch-body{padding:3px 24px 24px}.pcc-toolpage{padding-top:100px}.pcc-page-intro h1{font-size:43px}.pcc-page-intro>p:last-child{font-size:14px}.ow-live-tool{padding:22px;margin-bottom:30px}.ow-live-tool>div{gap:15px}.ow-live-tool strong{font-size:20px}}
@media(max-width:440px){.pcc-app{border-radius:15px}.pcc-input-panel,.pcc-result-panel{padding:21px}.pcc-section-heading h2{font-size:35px}.pcc-brand strong{font-size:15px}.pcc-brand>div>span{font-size:9px}.pcc-app-status{font-size:8px;padding:6px 8px;gap:5px}.pcc-brand{gap:10px}.pcc-mark{grid-template-columns:repeat(2,6px);width:15px;gap:3px}.pcc-mark i{width:6px;height:6px}.pcc-appbar{padding:18px}.pcc-result-label{display:none}.pcc-counters{grid-template-columns:1fr}.pcc-counters label{min-height:0}.pcc-code-entry input{font-size:19px!important;padding:13px}.pcc-examples button{font-size:9px}.pcc-disclosure>summary{font-size:10px;gap:8px}.pcc-disclosure>summary>span{font-size:7px;max-width:43%}.pcc-result-card{padding:21px}.pcc-hrg{font-size:49px}.pcc-result-name{font-size:19px}.pcc-batch>summary{padding:20px;font-size:11px;gap:8px}.pcc-batch>summary>span:last-child{font-size:8px}.pcc-batch-body{padding:0 20px 23px}.pcc-batch-intro{display:block}.pcc-batch-limit{display:block;margin-top:10px}.pcc-batch-actions{gap:8px}.pcc-primary,.pcc-secondary{font-size:10px!important;padding:9px 12px;min-height:39px}.pcc-primary{flex-basis:100%}.pcc-app-footer{font-size:8px;padding:14px 20px}.pcc-page-footer{font-size:9px}.ow-live-tool-icon{display:none}.ow-live-tool{gap:12px;padding:20px}.ow-live-tool p:last-child{font-size:11px}.ow-live-tool strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.pcc-examples button{transition:none}}
@media print{.pcc-showcase{break-inside:avoid}.pcc-code-browser,.pcc-comparison,.pcc-batch,.pcc-reset,.pcc-examples,.pcc-tool-link{display:none}.pcc-workspace{display:block}.pcc-app{box-shadow:none}.pcc-result-panel{border-left:0}.pcc-scope{display:block}.pcc-scope>p:last-child{text-align:left}}
/* Reading and touch targets take priority over fitting everything in one view. */
.pcc-step-heading h3{font-size:16px}.pcc-field-label{font-size:12px}.pcc-hint{font-size:11px}.pcc-small-label{font-size:10px}.pcc-examples button{font-size:11px;min-height:36px}.pcc-selected>button{min-height:36px}.pcc-disclosure>summary{font-size:12px;min-height:54px}.pcc-disclosure>summary>span{font-size:9px}.pcc-search{font-size:12px!important;min-height:40px}.pcc-code-group h4{font-size:11px}.pcc-code-chip{font-size:11px!important;min-height:38px}.pcc-code-chip>span{font-size:11px}.pcc-code-browser>.pcc-disclosure-body{max-height:440px;overflow-y:auto;overscroll-behavior:contain;padding-right:7px}.pcc-field label{font-size:11px}.pcc-field select,.pcc-field input{font-size:12px!important}.pcc-checkboxes>label{font-size:12px}.pcc-checkboxes small,.pcc-field label small{font-size:10px}.pcc-result-name{font-size:22px}.pcc-result-reason{font-size:12px;line-height:1.7}.pcc-result-foot{font-size:9px}.pcc-note{font-size:11px}.pcc-error{font-size:11px}.pcc-trace li{font-size:11px}.pcc-batch table{font-size:11px}.pcc-app-footer{font-size:10px}.pcc-mobile-result{display:none}.pcc-result-panel{scroll-margin-top:90px}
@media(max-width:760px){.pcc-mobile-result{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;background:#E7F0F1;border:1px solid #C5D9DA;padding:13px 14px;border-radius:9px;text-align:left;margin-bottom:17px}.pcc-mobile-result>span:first-child{display:flex;align-items:center;gap:12px;min-width:0}.pcc-mobile-result strong{font:500 14px var(--pcc-mono);color:#2E6B81;flex-shrink:0}.pcc-mobile-result>span:first-child>span{font-size:10px;line-height:1.35}.pcc-mobile-result>span:last-child{font-size:20px;color:#4F6771}.pcc-examples button{min-height:40px}.pcc-selected>button{min-height:40px}.pcc-code-chip{min-height:42px}.pcc-reset{min-height:36px}.pcc-disclosure>summary{font-size:12px}.pcc-disclosure>summary>span{font-size:9px}.pcc-field select,.pcc-field input{font-size:16px!important}.pcc-search{font-size:16px!important}.pcc-batch textarea{font-size:16px!important}.pcc-code-browser>.pcc-disclosure-body{max-height:420px}}
@media(max-width:440px){.pcc-step-heading h3{font-size:15px}.pcc-disclosure>summary{font-size:11px}.pcc-disclosure>summary>span{font-size:8px}.pcc-result-name{font-size:21px}.pcc-result-reason{font-size:12px}.pcc-examples button{font-size:10px;min-height:40px}.pcc-primary,.pcc-secondary{min-height:42px}.pcc-code-entry input{font-size:19px!important}.pcc-app-footer{font-size:9px}}
@media(max-width:360px){.pcc-app-status{display:none}.pcc-brand strong{white-space:nowrap}.pcc-brand>div>span{font-size:9px}.pcc-appbar{padding:19px}.pcc-app-footer{font-size:8px}}
/* /assets/dtac-planner.css */
/* Smartmed evidence workspace. All rules are scoped to dp-* components. */
.dp-main{background:#EEF4F4;padding:125px 0 60px;color:#1B3943;min-height:100svh}
.dp-intro{max-width:900px;margin-bottom:35px}.dp-back{display:inline-block;font-size:12px;color:#4C6670;text-decoration:none;margin-bottom:24px}
.dp-kicker{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#506871;line-height:1.6}
.dp-intro h1{font-size:clamp(34px,4.2vw,58px);font-weight:600;line-height:1.07;letter-spacing:-.055em;margin-top:12px}.dp-intro h1 span{color:#4A6974}
.dp-intro>p:last-child{font-size:15px;line-height:1.8;color:#516870;max-width:67ch;margin-top:17px}
.dp-app{border:1px solid #B6C8C8;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px -40px #173F363D;background:#F9FCFC}
.dp-appbar{padding:23px 27px;background:#F5FAFA;border-bottom:1px solid #CCD8D8;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dp-app-name{display:flex;gap:15px;align-items:center}.dp-app-name strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.035em}.dp-app-name>div>span{font-size:11px;color:#53656D;display:block;margin-top:5px}
.dp-symbol{display:grid;place-items:center;border:1px solid #B7D0D1;width:38px;height:38px;border-radius:10px;color:#336172;background:#DCECED;font:400 25px var(--sans)}
.dp-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid #B8CACB;border-radius:9px;padding:12px 17px;min-height:44px;background:transparent;color:#325562;font:500 12px/1.5 var(--sans);text-decoration:none;cursor:pointer;text-align:left;transition:background .2s,transform .2s}
.dp-button:hover{background:#DFEEEE}.dp-button-dark{background:#284B57;border-color:#284B57;color:#F3FAFA}.dp-button-dark:hover{background:#386270}.dp-button-light{background:#E7F2F3}
.dp-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:640px}
.dp-sidebar{background:#233F4A;color:#ECF5F6;padding:29px 17px;display:flex;flex-direction:column}.dp-nav-label{color:#AFC1C2;font-size:9px;letter-spacing:.11em;text-transform:uppercase;padding:0 13px;margin-bottom:19px}
.dp-sidebar nav{display:grid;gap:7px}.dp-sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 12px;min-height:47px;border:1px solid transparent;background:transparent;border-radius:7px;color:#CFE1E2;font:500 12px var(--sans);cursor:pointer}
.dp-sidebar nav button>span:first-child{font:400 9px 'IBM Plex Mono',monospace;color:#AAC2C3}.dp-sidebar nav button>span:last-child{margin-left:auto}
.dp-sidebar nav button:hover{background:#2F4C56}.dp-sidebar nav button[aria-pressed=true]{background:#D7EEEE;color:#1C3B47;border-color:#C5E1E2}.dp-sidebar nav button[aria-pressed=true]>span:first-child{color:#50676F}
.dp-sidebar-note{margin:52px 13px 0;padding-top:21px;border-top:1px solid #4B6168;display:grid;grid-template-columns:8px 1fr;gap:7px 9px}
.dp-dot{height:6px;width:6px;border-radius:100%;background:#AACFD0;margin-top:5px}.dp-sidebar-note>p{font-size:11px}.dp-sidebar-note>small{grid-column:2;font-size:10px;line-height:1.8;color:#BACFD0}
.dp-source-link{font-size:10px;line-height:1.7;color:#C3DFE0;text-underline-offset:4px;margin:25px 13px 0}
.dp-content{padding:26px clamp(20px,3vw,43px) 36px;min-width:0}
.dp-workspace-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#56676E;border-bottom:1px solid #D2E0E0;padding-bottom:17px;margin-bottom:28px}.dp-workspace-label>span:first-child{font-weight:600;max-width:65%;overflow-wrap:anywhere}
.dp-workspace-label>span:last-child{text-align:right}
.dp-section-head{display:flex;align-items:center;justify-content:space-between;gap:17px}.dp-section-head h2{font-size:clamp(23px,2.4vw,32px);line-height:1.14;letter-spacing:-.045em;font-weight:600;margin-top:9px}
.dp-badge{font-size:9px;line-height:1.5;border:1px solid #C4D8D9;background:#E9F4F5;color:#4B6772;padding:7px 10px;border-radius:6px;white-space:nowrap}
.dp-body-copy{font-size:12px;line-height:1.85;color:#56676E;max-width:75ch;margin-top:17px}
.dp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}.dp-stats>div{border:1px solid #CCDDDD;background:#ECF5F6;border-radius:11px;padding:20px 17px;display:grid;gap:8px}
.dp-stats>div:nth-child(2){background:#DFEDEE}.dp-stats strong{font:400 clamp(30px,3.3vw,43px)/1.1 'IBM Plex Mono',monospace;letter-spacing:-.07em;color:#375B68}.dp-stats span{font-size:11px;font-weight:500}.dp-stats small{font-size:9px;color:#57676D;line-height:1.7}
.dp-overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;margin-top:27px}
.dp-area-box h3,.dp-next-box h3{font-size:16px;letter-spacing:-.025em;font-weight:600}.dp-area-box>p{font-size:10px;line-height:1.7;color:#55666D;margin-top:7px;margin-bottom:9px}
.dp-area-row{width:100%;border:0;border-bottom:1px solid #D2E1E2;background:transparent;padding:12px 0;display:grid;grid-template-columns:1fr 40px;gap:9px;font:400 10px var(--sans);color:#3E5862;text-align:left;cursor:pointer}.dp-area-row:hover{color:#1D414E;background:#EAF4F5}.dp-area-count{text-align:right;font:400 10px 'IBM Plex Mono',monospace}
.dp-area-row progress{grid-column:1/-1;width:100%;height:4px;appearance:none;border:0;border-radius:4px;overflow:hidden;background:#D0E3E4}.dp-area-row progress::-webkit-progress-bar{background:#D0E3E4}.dp-area-row progress::-webkit-progress-value{background:#729798}.dp-area-row progress::-moz-progress-bar{background:#729798}
.dp-next-box{background:#EAF3F4;border:1px solid #D0E2E2;padding:20px;border-radius:10px}.dp-next-box h3{margin-top:5px;margin-bottom:8px}
.dp-action{border:0;border-bottom:1px solid #CDDEDF;background:transparent;padding:14px 0;display:flex;align-items:flex-start;gap:10px;width:100%;font:400 11px/1.6 var(--sans);color:#3B5862;text-align:left;cursor:pointer}
.dp-action-index{font:400 9px/1.7 'IBM Plex Mono',monospace;color:#516871;margin-top:1px;min-width:23px}.dp-action strong{font-size:11px;font-weight:500;display:block}.dp-action small{font-size:9px;color:#53666D;display:block;margin-top:4px}
.dp-action:hover strong{text-decoration:underline;text-underline-offset:3px}
.dp-text-button{display:inline-flex;gap:12px;align-items:center;padding:11px 0;background:transparent;border:0;font:500 11px/1.6 var(--sans);color:#3C5A65;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-align:left}.dp-next-box>.dp-text-button{margin-top:9px}
.dp-scope-note{border-top:1px solid #D3E1E2;padding-top:21px;margin-top:27px;max-width:88ch}.dp-scope-note strong{font-size:11px;font-weight:600}.dp-scope-note p{font-size:10px;line-height:1.85;color:#59656A;margin-top:7px}
.dp-appfoot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 27px;font-size:9px;color:#56676C;background:#E0EEEF;border-top:1px solid #C7DCDC}
.dp-live{font-size:11px;color:#36535E;background:#E6F3F4;line-height:1.7;padding:0 27px}.dp-live:not(:empty){padding-top:11px;padding-bottom:11px;border-top:1px solid #C7DCDC}.dp-no-js{padding:20px}
.dp-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-top:24px;font-size:10px;line-height:1.9;color:#56676E}.dp-bottom p{max-width:80ch}.dp-bottom>a{font-size:11px;color:#3D5964;max-width:29ch;text-decoration:none}
.dp-bottom a{text-underline-offset:3px}
.dp-form{margin-top:25px}.dp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.dp-full{grid-column:1/-1}
.dp-form label,.dp-dialog label,.dp-filters label{display:grid;gap:9px;font-size:11px;font-weight:500;color:#3E5963;line-height:1.6}
.dp-form input,.dp-form textarea,.dp-form select,.dp-dialog input:not([type=checkbox]),.dp-dialog textarea,.dp-dialog select,.dp-filters input,.dp-filters select{width:100%;min-width:0;border:1px solid #B7CBCC;border-radius:7px;background:#FFF;font:400 13px/1.6 var(--sans);color:#2A444E;padding:10px 12px;min-height:44px;resize:vertical}
.dp-form textarea::placeholder,.dp-form input::placeholder,.dp-dialog textarea::placeholder,.dp-dialog input::placeholder,.dp-filters input::placeholder{color:#5A666A;opacity:1}
.dp-form-subhead{font-size:17px;letter-spacing:-.025em;margin-top:32px;margin-bottom:19px;font-weight:500}.dp-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.dp-form-note{font-size:10px;line-height:1.9;color:#55656B;margin-top:23px}.dp-form-note a{color:#385762;text-underline-offset:3px}
.dp-filters{display:grid;grid-template-columns:1.2fr 1fr 1.15fr;gap:12px;padding:20px 0 14px}.dp-filters select,.dp-filters input{font-size:11px;padding:10px;line-height:1.5}
.dp-list-count{font-size:10px;color:#56676E;margin:4px 0 13px}
.dp-evidence-list,.dp-risk-list{display:grid;gap:12px}.dp-record{display:block;text-align:left;width:100%;min-width:0;padding:19px;border:1px solid #C8DCDC;border-radius:10px;background:#FFF;cursor:pointer;color:#314D58;font:400 12px var(--sans);transition:border-color .2s,box-shadow .2s}
.dp-record:hover{border-color:#729A9C;box-shadow:0 8px 20px -17px #396777}.dp-record-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.dp-record-id{font-size:9px;color:#56666D;line-height:1.6}
.dp-status{font-size:9px;line-height:1.5;background:#EBF4F4;padding:5px 9px;border:1px solid #CFE0E1;border-radius:5px;color:#4E6770;white-space:normal;text-align:right}
.dp-status-recorded{background:#DFEDED;color:#395863;border-color:#AECCCD}.dp-status-reviewed{background:#CEE3E4;color:#274A56;border-color:#9FC0C1}.dp-status-working{background:#D9F5F6;color:#766132;border-color:#9FD8D9}.dp-status-excluded{background:#EEF0F0;color:#5C6568}
.dp-record>strong{font-size:16px;font-weight:500;letter-spacing:-.025em;display:block}.dp-record-description{font-size:11px;line-height:1.85;color:#59676D;display:block;margin-top:10px;max-width:90ch;overflow-wrap:anywhere}.dp-record-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #DBE8E9;padding-top:12px;margin-top:15px;font-size:10px;color:#4E6770;overflow-wrap:anywhere}
.dp-record-top,.dp-record strong,.dp-dialog h2{overflow-wrap:anywhere}
.dp-risk-list{margin-top:25px}.dp-risk-empty{border:1px dashed #B5CCCD;background:#EFF6F6;border-radius:12px;padding:35px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.dp-risk-glyph{font-size:34px;color:#4A6A6C}.dp-risk-empty h3{font-size:20px;letter-spacing:-.03em;font-weight:500;margin-top:15px}.dp-risk-empty p{font-size:12px;line-height:1.9;color:#53676E;max-width:65ch;margin-top:10px}
.dp-empty{font-size:12px;line-height:1.8;color:#53666E;padding:20px 0}
.dp-dialog{border:1px solid #B2CCCD;border-radius:17px;padding:28px;background:#F4FBFB;color:#2A454E;width:min(640px,calc(100% - 30px));max-height:calc(100svh - 40px);overflow-y:auto;margin:auto;box-shadow:0 30px 100px -25px #102D2C66;font-family:var(--sans)}
.dp-dialog::backdrop{background:#102E26A6;backdrop-filter:blur(5px)}.dp-dialog-small{max-width:440px}.dp-dialog h2{font-size:27px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-top:10px}.dp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.dp-close{background:transparent;border:1px solid #BED4D5;border-radius:50%;height:36px;width:36px;min-width:36px;font:400 24px/1 var(--sans);color:#4C6670;cursor:pointer}.dp-dialog label{margin-top:19px}.dp-dialog .dp-field-grid{gap:15px}.dp-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:25px}.dp-delete{color:#83523D}.dp-dialog-actions .dp-delete{margin-right:auto}
.dp-form-error{font-size:12px;line-height:1.7;background:#FAE9DF;color:#88452F;border:1px solid #E2BDA8;border-radius:6px;padding:11px;margin-top:17px}
.dp-export-options{display:flex;flex-wrap:wrap;gap:13px;margin-top:25px}.dp-storage-setting{border-top:1px solid #C9DFE0;border-bottom:1px solid #C9DFE0;padding:9px 0 24px;margin:23px 0 12px}.dp-dialog .dp-checkbox{display:flex;align-items:center;gap:12px;font-size:13px}.dp-checkbox input{width:17px;height:17px;accent-color:#456B78}.dp-storage-setting>p:not(.dp-form-error){font-size:11px;line-height:1.9;color:#53666D;margin-top:13px}.dp-import-preview{border:1px solid #ACCCCD;background:#E2F2F3;padding:16px;border-radius:8px;margin-top:20px;font-size:13px;overflow-wrap:anywhere}.dp-import-preview p{font-size:11px;line-height:1.85;margin-top:9px}
.dp-page :is(button,a,input,select,textarea):focus-visible,.dp-teaser a:focus-visible{outline:2px solid #5C7F8B;outline-offset:4px}
.dp-teaser{scroll-margin-top:95px;margin-top:36px;border:1px solid #B8CACB;border-radius:16px;background:#EAF3F4;display:grid;grid-template-columns:1.15fr 1fr;gap:38px;padding:clamp(25px,3.5vw,48px);overflow:hidden;color:#2A4751}
.dp-teaser-copy{align-self:center}.dp-teaser h3{font-size:clamp(26px,3vw,39px);font-weight:500;line-height:1.13;letter-spacing:-.045em;margin-top:15px}.dp-teaser-copy>p:not(.dp-kicker){font-size:13px;line-height:1.85;max-width:52ch;margin-top:19px;color:#56676C}.dp-teaser .dp-button{margin-top:23px}.dp-teaser-copy>small{display:block;font-size:9px;line-height:1.8;color:#55686D;margin-top:15px}
.dp-teaser-art{border:1px solid #A1C1C2;border-radius:13px;background:#D9EBEC;padding:19px;box-shadow:0 20px 30px -28px #244A3680;transform:rotate(-2deg);transition:transform .4s ease;max-width:430px;width:100%;justify-self:end;align-self:center}.dp-teaser:hover .dp-teaser-art{transform:rotate(0deg) translateY(-3px)}
.dp-art-header{display:flex;justify-content:space-between;font-size:9px;color:#506871;border-bottom:1px solid #AFCFD0;padding-bottom:15px}.dp-art-file{display:flex;align-items:center;gap:25px;margin:19px 0 17px}.dp-art-file>span{display:grid;place-items:center;height:73px;width:57px;background:#EFF9F9;border:1px solid #A1C4C5;border-radius:4px 14px 4px 4px;font:400 10px 'IBM Plex Mono',monospace;box-shadow:6px 5px 0 #B2D2D3}.dp-art-file strong{font-size:24px;line-height:1.1;letter-spacing:-.04em;font-weight:500}
.dp-art-row{display:flex;gap:12px;align-items:center;border-top:1px solid #B6D1D2;padding:11px 0;font-size:11px;line-height:1.5}.dp-art-row>span{font:400 9px 'IBM Plex Mono',monospace;color:#4C6771}.dp-art-row i{width:11px;height:11px;border:1px solid #709B9C;border-radius:3px;margin-left:auto}
@media(max-width:1050px){.dp-layout{grid-template-columns:180px minmax(0,1fr)}.dp-sidebar{padding:25px 10px}.dp-sidebar nav button{gap:8px;padding:13px 10px;font-size:11px}.dp-content{padding:25px 24px 30px}.dp-badge{display:none}.dp-overview-grid{gap:20px;grid-template-columns:1fr}.dp-next-box{padding:20px}.dp-next-box [data-next-actions]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.dp-action{font-size:10px}.dp-stats{gap:9px}.dp-stats>div{padding:17px 13px}.dp-filters{grid-template-columns:1fr 1fr}.dp-filters>label:last-child{grid-column:1/-1}}
@media(max-width:760px){.dp-main{padding-top:110px}.dp-intro h1{font-size:42px;max-width:13ch}.dp-intro>p:last-child{font-size:14px}.dp-appbar{padding:20px;gap:14px}.dp-app-name strong{font-size:16px}.dp-app-name>div>span{font-size:9px}.dp-symbol{display:none}.dp-appbar>.dp-button{font-size:10px;padding:10px 12px;gap:8px}.dp-layout{grid-template-columns:1fr;min-height:0}.dp-sidebar{padding:15px 18px;display:block}.dp-nav-label,.dp-sidebar-note,.dp-source-link{display:none}.dp-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.dp-sidebar nav button{display:block;text-align:center;padding:10px 7px;font-size:10px;min-height:48px;line-height:1.5}.dp-sidebar nav button>span{display:none}.dp-content{padding:22px 20px 30px}.dp-section-head{align-items:flex-start;flex-wrap:wrap}.dp-section-head h2{font-size:28px}.dp-stats{gap:8px}.dp-stats strong{font-size:34px}.dp-stats span{font-size:10px}.dp-stats small{font-size:8px}.dp-overview-grid{grid-template-columns:1fr;gap:26px}.dp-next-box [data-next-actions]{display:block}.dp-area-row{font-size:11px;padding:14px 0}.dp-body-copy{font-size:12px}.dp-form input,.dp-form textarea,.dp-form select,.dp-dialog input:not([type=checkbox]),.dp-dialog textarea,.dp-dialog select,.dp-filters input,.dp-filters select{font-size:16px}.dp-form label,.dp-filters label,.dp-dialog label{font-size:12px}.dp-appfoot{padding:15px 20px;font-size:8px}.dp-appfoot>span:last-child{display:none}.dp-workspace-label{font-size:9px}.dp-bottom{display:block}.dp-bottom>a{display:block;margin-top:20px;max-width:none}.dp-record-top{align-items:flex-start}.dp-record{padding:16px}.dp-record-description{font-size:12px}.dp-record>strong{font-size:17px}.dp-status{max-width:115px}.dp-risk-empty{padding:26px}.dp-teaser{grid-template-columns:1fr;gap:30px;padding:27px}.dp-teaser-art{width:calc(100% - 8px);max-width:none;justify-self:center}.dp-teaser h3{font-size:34px}.dp-teaser-copy>p:not(.dp-kicker){font-size:13px}.dp-art-row{padding:12px 0}}
@media(max-width:440px){.dp-intro h1{font-size:37px}.dp-back{font-size:11px}.dp-app{border-radius:14px}.dp-appbar{align-items:flex-start;padding:18px 16px}.dp-app-name strong{font-size:14px;letter-spacing:-.025em}.dp-appbar>.dp-button{font-size:9px;gap:6px;padding:10px}.dp-appbar>.dp-button>span{display:none}.dp-app-name>div>span{max-width:18ch;line-height:1.7}.dp-sidebar{padding:10px}.dp-sidebar nav{gap:4px}.dp-sidebar nav button{font-size:9px;padding:9px 6px}.dp-content{padding:20px 16px 27px}.dp-stats{grid-template-columns:1fr 1fr}.dp-stats>div:last-child{grid-column:1/-1;grid-template-columns:auto 1fr;gap:7px 16px;align-items:center}.dp-stats>div:last-child>strong{grid-row:1/3}.dp-stats>div:last-child small{grid-column:2}.dp-stats small{font-size:9px}.dp-stats span{font-size:11px}.dp-field-grid,.dp-scope-grid{grid-template-columns:1fr;gap:18px}.dp-dialog .dp-field-grid{gap:0}.dp-full{grid-column:auto}.dp-filters{grid-template-columns:1fr}.dp-filters>label:last-child{grid-column:auto}.dp-section-head h2{font-size:25px}.dp-record-top{gap:10px}.dp-record-id{font-size:8px}.dp-status{font-size:8px;padding:5px 7px;max-width:105px}.dp-record-bottom{display:block;font-size:10px}.dp-record-bottom>span{display:block}.dp-record-bottom>span+span{margin-top:8px}.dp-dialog{padding:21px;width:calc(100% - 24px)}.dp-dialog h2{font-size:25px}.dp-export-options{display:grid}.dp-teaser{padding:23px}.dp-teaser h3{font-size:30px}.dp-teaser-copy>small{font-size:9px}.dp-art-file strong{font-size:22px}.dp-art-file{gap:20px}.dp-teaser-art{padding:16px}}
@media(prefers-reduced-motion:reduce){.dp-button,.dp-record,.dp-teaser-art{transition:none}.dp-teaser:hover .dp-teaser-art{transform:none}}
/* /assets/clinical-tools.css */
/* Clinical tools collection: original, scoped UI in the Smartmed palette. */
.cw-hub{padding:clamp(72px,8vw,120px) 0;background:var(--paper);border-top:1px solid var(--line);scroll-margin-top:72px}
.cw-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:end;margin-bottom:35px}.cw-eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#3E6470}.cw-heading h2,.cl-page-intro h1{font-size:clamp(36px,4.6vw,64px);line-height:1.04;letter-spacing:-.055em;font-weight:600;margin-top:20px}.cw-heading h2 span,.cl-page-intro h1 span{color:#246C6E}.cw-heading>p{font-size:15px;color:#43646D;line-height:1.75;max-width:45ch}
.cw-tablist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 0 26px}.cw-tablist [role=tab]{display:flex;align-items:center;gap:12px;border:1px solid #B7CBCC;border-radius:11px;padding:16px 18px;background:transparent;color:#49686B;text-align:left;font:500 13px var(--sans);cursor:pointer;min-width:0}.cw-tablist [role=tab]>span:first-child{font:400 10px 'IBM Plex Mono',monospace;opacity:.7}.cw-tablist [role=tab]>span:last-child{margin-left:auto;font-size:17px}.cw-tablist [role=tab][aria-selected=true]{background:#123E4C;border-color:#123E4C;color:#F1F7F7;box-shadow:0 8px 18px -14px #143b4c}.cw-tablist [role=tab]:focus-visible{outline:2px solid #28777A;outline-offset:4px}.cw-panel-intro{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid #C2D3D3;padding:20px 0 24px}.cw-panel-intro h3{font-size:18px;letter-spacing:-.03em;font-weight:600}.cw-panel-intro p{font-size:12px;color:#48686E;line-height:1.65;margin-top:6px;max-width:75ch}.cw-panel-intro>a{font-size:11px;white-space:nowrap;text-underline-offset:5px;color:#285E66}.cw-source{display:flex;justify-content:space-between;gap:30px;margin-top:22px;font-size:10px;line-height:1.8;color:#496A69}.cw-source p{max-width:80ch}.cw-source a{display:inline-block;padding:6px 0;font-size:12px;color:#245D63;text-underline-offset:3px}
.cl-app{--cl-ink:#163D4B;--cl-muted:#5D747D;--cl-line:#D4DFE0;--cl-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;background:#FAFDFD;border:1px solid #BECFCF;border-radius:19px;overflow:clip;color:var(--cl-ink);box-shadow:0 24px 60px -42px #163D4B70;font:400 14px/1.5 var(--sans);isolation:isolate}.cl-app *{box-sizing:border-box}.cl-app button,.cl-app input,.cl-app select,.cl-app textarea{font:inherit;color:inherit}.cl-app button{cursor:pointer}.cl-app button:disabled{opacity:.4;cursor:not-allowed}.cl-app [hidden]{display:none!important}.cl-app input:focus-visible,.cl-app select:focus-visible,.cl-app button:focus-visible,.cl-app summary:focus-visible{outline:2px solid #407B90;outline-offset:3px}.cl-appbar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#123D4C;color:#EDF7F7;padding:23px 28px}.cl-appbar>div{display:flex;align-items:center;gap:14px}.cl-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid #759C9E;border-radius:7px;color:#B5D2D3;font:500 19px/1 var(--sans);flex-shrink:0}.cl-appbar strong{font-size:17px;letter-spacing:-.03em;font-weight:600;display:block}.cl-appbar>div>div>span{display:block;font-size:10px;color:#BACFCF;margin-top:2px}.cl-model-badge{font-size:10px;white-space:nowrap;border:1px solid #69848D;border-radius:99px;padding:6px 10px;color:#C6DDDE}.cl-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.cl-inputs,.cl-results{min-width:0;padding:28px}.cl-results{background:#ECF3F3;border-left:1px solid var(--cl-line);scroll-margin-top:94px}.cl-result-sticky{position:sticky;top:95px}.cl-step{display:flex;align-items:center;gap:10px;margin-bottom:22px}.cl-step>span{font:400 10px var(--cl-mono);color:#3E6470}.cl-step h3{font-size:16px;letter-spacing:-.025em;font-weight:600;line-height:1.2}.cl-step button{margin-left:auto;padding:5px 0;min-height:30px;border:0;border-bottom:1px solid #B0C7C8;background:transparent;font-size:10px;color:#50676E}.cl-input-guide{font-size:12px;line-height:1.7;color:#51676F;max-width:65ch;margin-bottom:21px}.cl-presets{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:23px}.cl-presets>span{flex-basis:100%;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#4F6673;margin-bottom:2px}.cl-presets button{background:transparent;border:1px solid #C1D3D4;border-radius:99px;padding:8px 11px;min-height:36px;font-size:10px;line-height:1.3}.cl-presets button:hover,.cl-presets button[aria-pressed=true]{background:#DEECED;border-color:#91AFB0}.cl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.cl-field{min-width:0;margin-bottom:17px}.cl-grid .cl-field{margin-bottom:0}.cl-field>label{display:flex;flex-wrap:wrap;gap:2px 6px;justify-content:space-between;font-size:11px;font-weight:500;line-height:1.45;margin-bottom:7px}.cl-field>label span{color:#3E6470;font-size:10px;font-weight:400}.cl-field input,.cl-field select{width:100%;min-width:0;background:white;border:1px solid #B8CBCB;border-radius:7px;padding:10px 11px;min-height:42px;font-size:13px}.cl-field input{font-family:var(--cl-mono)}.cl-field select{font-size:11px;white-space:normal;line-height:1.4}.cl-field input:disabled,.cl-field select:disabled{background:#E6F0F0;color:#57666B;opacity:.75}.cl-field-error,.cl-form-error{font-size:11px;line-height:1.55;color:#984F3D;background:#FAEDE7;border-left:2px solid #BC7C61;padding:7px 9px;margin:7px 0 0}.cl-field [aria-invalid=true]{border-color:#B26C54}.cl-form-error{margin-top:18px}.cl-unknowns{margin:8px 0 24px;gap:13px}.cl-check{display:flex;gap:9px;align-items:flex-start;font-size:10px;line-height:1.55;color:#50666D;cursor:pointer;margin-top:11px}.cl-check input{width:14px;height:14px;accent-color:#4A7B8D;flex-shrink:0;margin:1px 0}.cl-oxygen-pair{margin-top:12px;margin-bottom:15px}.cl-hint{color:#4F6673;font-size:10px;line-height:1.7;margin:12px 0 16px}.cl-details{border-top:1px solid #CEDCDC;margin-top:18px}.cl-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:17px 0;font-size:12px;font-weight:500;line-height:1.5}.cl-details>summary::-webkit-details-marker{display:none}.cl-details>summary>span{font-size:17px;color:#526768;transition:transform .2s}.cl-details[open]>summary>span{transform:rotate(45deg)}.cl-details>.cl-grid{padding-bottom:16px}.cl-result-card{background:#FAFDFD;border:1px solid #CCDDDD;padding:25px;border-radius:12px;box-shadow:0 10px 30px -25px #294D3880}.cl-result-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.02em;color:#53656C}.cl-result-label>span:first-child{text-transform:uppercase;letter-spacing:.08em}.cl-big{font:500 clamp(40px,4vw,64px)/1.1 var(--cl-mono);letter-spacing:-.06em;color:#3B6B7C;margin:27px 0 11px}.cl-big>small{font-size:17px;letter-spacing:-.035em;margin-left:10px;color:#556667}.cl-result-name{font-size:20px;font-weight:600;letter-spacing:-.04em;line-height:1.2;margin-top:4px}.cl-result-description{font-size:12px;line-height:1.7;color:#54676E;margin-top:12px;max-width:42ch}.cl-logit-row{display:flex;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #D9E6E7;margin-top:24px;font-size:11px;color:#54656C}.cl-logit-row strong{font:400 12px var(--cl-mono);color:#395B68}.cl-formula{font-size:11px;color:#54656C;margin-top:11px}.cl-score-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #D9E6E7;margin-top:23px;padding-top:19px;gap:10px}.cl-score-parts>div{display:grid;gap:6px}.cl-score-parts span{font-size:9px;color:#59676B}.cl-score-parts strong{font:400 25px var(--cl-mono);color:#3E6A79}.cl-notes{display:grid;gap:8px;margin-top:16px}.cl-note{font-size:11px;color:#526870;line-height:1.7;background:#DEEBEB;border-left:2px solid #96B7B8;padding:9px 11px}.cl-table-wrap{overflow:auto;max-height:450px;border:1px solid #C8DADB;border-radius:7px;margin-bottom:10px}.cl-table-wrap table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap}.cl-table-wrap th{font-size:9px;text-align:left;background:#D8E9EA;padding:10px;position:sticky;top:0}.cl-table-wrap td{padding:9px 10px;border-top:1px solid #D9E6E7;font-family:var(--cl-mono)}.cl-table-wrap td:first-child{font-family:var(--sans);white-space:normal;min-width:150px}.cl-result-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px}.cl-result-actions button{border:1px solid #A9C4C5;background:transparent;border-radius:99px;font-size:11px;padding:9px 15px;min-height:40px}.cl-result-actions span{font-size:10px;color:#55676D}.cl-result-scope{font-size:10px;color:#57656A;line-height:1.8;max-width:75ch;margin-top:24px}.cl-app-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#D8E7E8;border-top:1px solid #C2DADB;padding:15px 28px;color:#54666C;font-size:9px}.cl-mobile-result{display:none}.cl-copy-fallback{margin-top:15px}.cl-copy-fallback label{font-size:11px}.cl-copy-fallback textarea{width:100%;padding:12px;border:1px solid #B5CFD0;border-radius:7px;margin-top:8px;min-height:150px;font:11px var(--cl-mono)}.cl-live,.cl-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.cl-page{padding:clamp(100px,11vw,155px) 0 80px;background:#E8F0F0;min-height:100svh}.cl-page-intro{max-width:850px;margin-bottom:42px}.cl-back{display:inline-flex;align-items:center;gap:15px;font-size:11px;text-decoration:none;margin-bottom:30px;color:#3E6470}.cl-page-intro>p:last-child{font-size:15px;color:#506872;line-height:1.8;max-width:60ch;margin-top:25px}.cl-page-footer{display:flex;justify-content:space-between;gap:25px;padding:30px var(--gutter);font-size:11px;max-width:var(--max);margin:auto;color:#53656B}
@media(max-width:1000px){.cl-inputs,.cl-results{padding:23px}.cl-appbar{padding:21px 24px}.cl-grid{gap:14px 10px}.cl-result-card{padding:21px}.cw-tablist [role=tab]{padding:15px 13px;font-size:12px;gap:9px}.cw-heading{gap:35px}}
@media(max-width:760px){.cw-heading{grid-template-columns:1fr;gap:23px}.cw-heading h2{font-size:42px}.cw-heading>p{font-size:14px}.cw-tablist{grid-template-columns:1fr 1fr;gap:8px;padding-bottom:20px}.cw-tablist [role=tab]{font-size:12px;padding:14px}.cw-panel-intro{display:block;padding:18px 0 22px}.cw-panel-intro>a{display:inline-block;margin-top:13px}.cw-source{display:block;font-size:10px}.cw-source>p+p{margin-top:14px}.cl-workspace{grid-template-columns:1fr}.cl-results{border-left:0;border-top:1px solid #CEE1E1}.cl-result-sticky{position:static}.cl-appbar strong{font-size:16px}.cl-appbar>div>div>span{font-size:9px}.cl-model-badge{font-size:9px}.cl-step h3{font-size:16px}.cl-presets button{min-height:40px;font-size:11px}.cl-field input,.cl-field select{font-size:16px}.cl-field label{font-size:12px}.cl-field label span{font-size:10px}.cl-check{font-size:11px;min-height:35px}.cl-check input{width:16px;height:16px}.cl-hint{font-size:11px}.cl-details>summary{font-size:13px;min-height:50px}.cl-big{font-size:57px}.cl-result-name{font-size:23px}.cl-result-description{font-size:13px}.cl-mobile-result{display:flex;align-items:center;gap:12px;justify-content:space-between;width:100%;border:1px solid #B3D2D3;background:#E0EFEF;border-radius:9px;padding:13px 14px;margin-top:22px;text-align:left}.cl-mobile-result strong{font:500 15px var(--cl-mono);white-space:nowrap}.cl-mobile-result>span{font-size:10px;color:#52666D}.cl-app-footer{padding:15px 23px;flex-wrap:wrap;gap:6px}.cl-app-footer>span:last-child{display:none}.cl-page-intro h1{font-size:45px}.cl-page-intro>p:last-child{font-size:14px}.cl-page-footer{font-size:10px}.cl-results{scroll-margin-top:90px}}
@media(max-width:440px){.cw-hub{padding-top:65px;padding-bottom:65px}.cw-heading h2{font-size:36px}.cw-tablist [role=tab]{font-size:11px;padding:13px 11px}.cw-tablist [role=tab]>span:first-child{font-size:9px}.cw-tablist [role=tab]>span:last-child{display:none}.cl-app{border-radius:15px}.cl-inputs,.cl-results{padding:21px}.cl-appbar{padding:20px}.cl-appbar strong{font-size:15px}.cl-appbar>div{gap:11px}.cl-model-badge{font-size:8px;padding:6px 8px}.cl-mark{width:25px;height:25px;font-size:17px}.cl-grid{grid-template-columns:1fr;gap:16px}.cl-unknowns{gap:2px;margin-top:0;margin-bottom:20px}.cl-check{margin-top:8px}.cl-result-card{padding:21px}.cl-big{font-size:48px}.cl-result-name{font-size:21px}.cl-step h3{font-size:15px}.cl-input-guide{font-size:12px}.cl-page-intro h1{font-size:38px}.cl-table-wrap td{padding:9px 8px}.cl-page-footer{font-size:9px}.cl-app-footer{font-size:8px}}
@media(max-width:360px){.cl-model-badge{display:none}.cl-appbar strong{font-size:15px}.cl-mobile-result>span:first-of-type{max-width:110px}.cl-page-intro h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.cl-details>summary>span{transition:none}.cl-result-sticky{position:static}}
/* /wait-times/wait-times.css */
/* NHS wait times tool. Builds on assets/site.css tokens: mist ground, navy ink,
   teal accents, semibold display numbers and small caps labels. */

:root{
  --wt-amber-ink:#7A4E00;   /* 6.9:1 on paper */
  --wt-amber-soft:#F6E6C8;
  --wt-radius:18px;
}

.wt-head{padding-bottom:clamp(28px, 4vw, 48px)}
.wt-head .display{max-width:12ch}

/* ---------- search form ---------- */
.wt-search{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) auto;gap:16px 18px;align-items:start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--wt-radius);
  padding:clamp(18px, 2.4vw, 28px);box-shadow:0 30px 60px -40px rgba(13,36,51,.35);
}
.wt-field label{display:block;font:500 .72rem/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.wt-opt{color:var(--ink-3);text-transform:none;letter-spacing:0}
.wt-field input{
  width:100%;min-height:54px;padding:0 16px;border-radius:12px;
  border:1px solid var(--line-strong);background:#fff;font-size:1.05rem;color:var(--ink);
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.wt-field input::placeholder{color:var(--ink-3);opacity:1}
.wt-field input:focus{outline:none;border-color:var(--teal-ink);box-shadow:0 0 0 3px rgba(29,108,116,.22)}
.wt-combo{position:relative}
.wt-combo input{padding-left:44px}
.wt-icon{position:absolute;left:15px;top:17px;width:20px;height:20px;color:var(--ink-3);pointer-events:none}
.wt-hint{margin-top:8px;font-size:.84rem;color:var(--ink-3)}
.wt-go{margin-top:26px;min-height:54px;padding:0 24px 0 26px;font-size:1rem}

.wt-suggest{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;list-style:none;
  background:#fff;border:1px solid var(--line-strong);border-radius:14px;
  box-shadow:0 24px 48px -16px rgba(13,36,51,.28);max-height:min(420px, 60vh);overflow:auto;padding:6px;
}
.wt-sg-head{font:500 .66rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:12px 12px 6px}
.wt-sg-none{padding:14px 12px;color:var(--ink-2);font-size:.95rem}
.wt-suggest [role="option"]{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:9px;cursor:pointer}
.wt-suggest [role="option"] strong{font-weight:500;font-size:.98rem}
.wt-suggest [role="option"] span{font-size:.8rem;color:var(--ink-3)}
.wt-suggest [role="option"]:hover{background:var(--bg)}
.wt-suggest [role="option"][aria-selected="true"]{background:var(--teal-soft)}

.wt-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 0}
.wt-quick > .mono{color:var(--ink-3);margin-right:4px}
.wt-pill{
  border:1px solid var(--line-strong);background:rgba(255,255,255,.5);border-radius:999px;
  min-height:38px;padding:0 15px;font-size:.88rem;cursor:pointer;
  transition:background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.wt-pill:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

@media (max-width: 860px){
  .wt-search{grid-template-columns:1fr}
  .wt-go{margin-top:0;justify-content:space-between;width:100%}
}

/* ---------- results area ---------- */
.wt-view{margin:clamp(36px, 5vw, 64px) 0 clamp(64px, 9vw, 120px);outline:none}
.wt-kinds{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:0;border-top:1px solid var(--line-strong)}
.wt-kinds > div{padding:20px 20px 0 0;border-right:1px solid var(--line);margin-right:20px}
.wt-kinds > div:last-child{border-right:0;margin-right:0}
.wt-kinds .mono{color:var(--teal-ink)}
.wt-kinds p{margin-top:8px;color:var(--ink-2);font-size:.95rem;max-width:30ch}
.wt-loading{margin-top:28px;color:var(--ink-3);font-size:.95rem}
@media (max-width: 860px){
  .wt-kinds{grid-template-columns:1fr 1fr}
  .wt-kinds > div{border-right:0;margin-right:0;padding-bottom:16px}
}

.wt-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--wt-radius);padding:clamp(20px, 3vw, 36px)}
.wt-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;color:var(--ink-3)}
.wt-kind{display:inline-flex;align-items:center;gap:6px;color:#fff;background:var(--teal-ink);padding:6px 10px 5px;border-radius:999px;font-weight:500}
.wt-kind-dm01{background:var(--navy)}
.wt-kind-cwt{background:#5B3F7A}
.wt-kind-ae{background:#8A3B12}
.wt-h2{font:600 var(--fs-h2)/1.1 var(--sans);letter-spacing:var(--track-tight);margin-top:16px;max-width:22ch}
.wt-intro{margin-top:14px;color:var(--ink-2);max-width:64ch}
.wt-intro a{color:var(--teal-ink)}

.wt-national{display:flex;flex-wrap:wrap;gap:12px 0;margin-top:clamp(22px, 3vw, 32px);border-top:1px solid var(--line-strong);padding-top:18px}
.wt-national > div{padding-right:clamp(20px, 3vw, 44px);margin-right:clamp(20px, 3vw, 44px);border-right:1px solid var(--line)}
.wt-national > div:last-child{border-right:0}
.wt-nat-head{align-self:center}
.wt-nat-head dt{color:var(--ink-3)}
.wt-national dd{font:600 var(--fs-h3)/1.1 var(--sans);letter-spacing:var(--track-tight)}
.wt-national dt{font-size:.82rem;color:var(--ink-3);margin-top:4px}
@media (max-width: 600px){
  .wt-national{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .wt-national > div{border-right:0;margin-right:0;padding-right:0}
  .wt-nat-head{grid-column:1 / -1}
}

.wt-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.wt-tab{border:1px solid var(--line-strong);background:transparent;border-radius:999px;min-height:38px;padding:0 15px;font-size:.88rem;cursor:pointer}
.wt-tab:hover{border-color:var(--ink)}
.wt-tab[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- toolbar ---------- */
.wt-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin:clamp(28px, 4vw, 40px) 0 6px}
.wt-count{font-size:1.02rem;color:var(--ink-2)}
.wt-count strong{color:var(--ink);font-weight:600}
.wt-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.wt-ctl{display:inline-flex;align-items:center;gap:8px}
.wt-ctl .mono{color:var(--ink-3)}
.wt-ctl select{
  min-height:40px;border-radius:10px;border:1px solid var(--line-strong);background:#fff;padding:0 34px 0 12px;font-size:.92rem;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);
  background-position:calc(100% - 17px) 50%, calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;
}
.wt-check{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;cursor:pointer;min-height:40px}
.wt-check input{width:18px;height:18px;accent-color:var(--teal-ink)}
.wt-warn{margin:12px 0;padding:12px 16px;border-radius:12px;background:var(--wt-amber-soft);color:var(--wt-amber-ink);font-size:.95rem}

/* ---------- result rows ---------- */
.wt-results{list-style:none;border-top:1px solid var(--line-strong)}
.wt-row{
  display:grid;grid-template-columns:44px minmax(0,1fr) 150px minmax(200px, 270px);gap:8px 24px;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.wt-rank{color:var(--ink-3);align-self:start;padding-top:6px}
.wt-who h3{font-size:1.08rem;font-weight:600;line-height:1.3}
.wt-who h3 a{text-decoration:none;background-image:linear-gradient(currentColor, currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--ease)}
.wt-who h3 a:hover{background-size:100% 1px}
.wt-place{margin-top:4px;font-size:.88rem;color:var(--ink-3)}
.wt-dist{display:inline-block;margin-left:4px;font:500 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--teal-ink);background:var(--teal-soft);padding:4px 7px 3px;border-radius:999px}
.wt-badge{display:inline-block;margin-left:4px;font:500 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--line-strong);padding:3px 7px 2px;border-radius:999px}
.wt-details{margin-top:6px;font-size:.88rem;color:var(--ink-2)}
.wt-metric{text-align:right}
.wt-big{font:600 2.25rem/1 var(--sans);letter-spacing:var(--track-tight);white-space:nowrap}
.wt-big-label{font:400 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-top:4px}

.wt-bar{position:relative;height:10px;border-radius:999px;background:var(--bg-2);overflow:visible}
.wt-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--teal-ink)}
.wt-bar i.short{background:var(--amber)}
.wt-bar b{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink);border-radius:2px}
.wt-bar-text{margin-top:8px;font-size:.84rem;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline}
.wt-bar-text strong{color:var(--ink);font-weight:600}
.wt-std{margin-left:auto;font:500 .66rem/1 var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:4px 7px 3px;border-radius:999px}
.wt-std.ok{color:var(--teal-ink);background:var(--teal-soft)}
.wt-std.short{color:var(--wt-amber-ink);background:var(--wt-amber-soft)}

@media (max-width: 860px){
  .wt-row{grid-template-columns:32px minmax(0,1fr) auto}
  .wt-bar-wrap{grid-column:2 / -1}
  .wt-big{font-size:1.9rem}
}
@media (max-width: 480px){
  .wt-row{grid-template-columns:minmax(0,1fr) auto}
  .wt-rank{display:none}
  .wt-bar-wrap{grid-column:1 / -1}
}

.wt-more{margin-top:24px;text-align:center}
.wt-more .mono{color:inherit;opacity:.7}
.wt-note{margin-top:20px;color:var(--ink-3)}
.wt-note a{color:var(--ink-2)}
.wt-note .text-link, .wt-none .text-link{background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;padding:0 0 2px;color:var(--ink);margin-left:6px}
.wt-none{margin-top:12px}
.wt-miss p{margin-top:12px;color:var(--ink-2);max-width:60ch}

/* ---------- provider view ---------- */
.wt-org-sec{margin-top:clamp(32px, 4vw, 48px)}
.wt-sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line-strong);padding-bottom:10px}
.wt-sec-head h3{font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug)}
.wt-sec-head .mono{color:var(--ink-3)}
.wt-table-wrap{overflow-x:auto}
.wt-table{width:100%;border-collapse:collapse;font-size:.94rem}
.wt-table th, .wt-table td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.wt-table thead th{font:500 .68rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding-top:14px}
.wt-table tbody th{font-weight:500}
.wt-table tbody th a{text-decoration-color:var(--line-strong);text-underline-offset:4px}
.wt-table tbody th a:hover{text-decoration-color:currentColor}
.wt-strong{font:600 1.375rem/1 var(--sans);letter-spacing:-.03em;white-space:nowrap}
.wt-num{text-align:right!important;padding-right:0!important;white-space:nowrap}
.wt-col-bar{min-width:220px;width:30%}
.wt-more-types{margin-top:8px}
.wt-more-types summary{cursor:pointer;padding:14px 0;font:500 .78rem/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2)}
@media (max-width: 700px){
  .wt-table thead{display:none}
  .wt-table, .wt-table tbody, .wt-table tr, .wt-table th, .wt-table td{display:block;width:100%}
  .wt-table tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .wt-table th, .wt-table td{border:0;padding:3px 0}
  .wt-table td.wt-strong::after{content:" this provider";font:400 .7rem/1 var(--mono);text-transform:uppercase;color:var(--ink-3);margin-left:6px}
  .wt-table td:nth-child(3)::before{content:"England: ";color:var(--ink-3)}
  .wt-table td.wt-num{text-align:left!important}
  .wt-table td.wt-num::after{content:" patients";color:var(--ink-3)}
  .wt-col-bar{min-width:0}
}

/* ---------- about ---------- */
.wt-about{padding:0 0 clamp(64px, 9vw, 120px)}
.wt-about .case-row p, .wt-sources{font-size:1.02rem;color:var(--ink-2);max-width:60ch}
.wt-about .case-row p + p{margin-top:12px}
.wt-about .case-row strong{color:var(--ink)}
.wt-about a{color:var(--teal-ink)}
.wt-sources{list-style:none;margin-bottom:12px;display:grid;gap:4px}

@media (prefers-reduced-motion: reduce){
  .wt-pill, .wt-field input, .wt-who h3 a{transition:none}
}
/* Interactive presentation refresh; source figures and search engine are retained. */
.wt-new-title{font-size:clamp(40px,5vw,68px)!important;line-height:1.03;max-width:18ch!important;letter-spacing:-.055em}.wt-head .cw-eyebrow{margin-top:27px;font-size:10px;color:#3E6470;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.wt-head .sub{max-width:67ch;line-height:1.75;font-size:16px}.wt-console{border:1px solid #BBCFD0;border-radius:19px;background:#F8FCFC;box-shadow:0 28px 60px -42px #173C4E60;isolation:isolate}.wt-console-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#153F4C;padding:22px 28px;border-radius:18px 18px 0 0;color:#EFF8F8}.wt-console-bar>div{display:flex;align-items:center;gap:14px}.wt-console-bar strong{font-size:17px;font-weight:600;letter-spacing:-.03em;display:block}.wt-console-bar>div>div>span{display:block;font-size:10px;color:#BAD0D0;margin-top:2px}.wt-console-bar>span{font-size:10px;border:1px solid #688793;border-radius:99px;padding:6px 11px;color:#C8DCDD}.wt-console-bar .cl-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid #7C9C9D;border-radius:7px;color:#B9D5D5;font-size:20px}.wt-console-body{padding:28px}.wt-console .wt-search{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;gap:18px}.wt-console .wt-field label{font-size:10px;text-transform:none;letter-spacing:0}.wt-console .wt-field input{font-size:14px;min-height:48px;border-radius:8px;border-color:#B5CACB}.wt-console .wt-icon{top:14px;width:18px;height:18px}.wt-console .wt-go{min-height:48px;margin-top:21px;font-size:12px}.wt-console .wt-hint{font-size:10px;line-height:1.65;color:#4F6673}.wt-console .wt-quick{gap:7px;margin-top:23px}.wt-console .wt-quick>.mono{font-size:9px}.wt-console .wt-pill{font-size:10px;padding:7px 11px;min-height:35px;border-color:#BCCDCE;background:transparent}.wt-console .wt-pill:hover{background:#D8E9EA;color:#284854}.wt-console .wt-view{margin:30px 0 0}.wt-console .wt-service{background:transparent}.wt-console .wt-kicker{font-size:10px}.wt-console .wt-h2{font-size:29px;letter-spacing:-.04em;line-height:1.12}.wt-console .wt-intro{font-size:12px;max-width:75ch;line-height:1.7}.wt-console .wt-national{margin-top:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:22px;border:1px solid #C1D7D7;background:#E5F2F2;border-radius:12px;gap:18px}.wt-console .wt-national .wt-nat-head{grid-column:1/-1;display:block;padding:0;border:0;margin:0}.wt-console .wt-national>div{border:0;margin:0;padding:0}.wt-console .wt-national dd{font-size:32px;letter-spacing:-.05em;line-height:1.1;font-weight:500;color:#3C6B7C}.wt-console .wt-national dt{font-size:10px;color:#4F6673;letter-spacing:0}.wt-console .wt-toolbar{margin:25px 0 14px;gap:14px}.wt-console .wt-count{font-size:12px}.wt-console .wt-controls{gap:12px}.wt-console .wt-ctl .mono{font-size:9px}.wt-console .wt-ctl select{font-size:11px;border-color:#BACDCE;min-height:37px}.wt-console .wt-check{font-size:11px}.wt-console .wt-check input{width:15px;height:15px}.wt-console .wt-results{border:0;display:grid;gap:11px}.wt-console .wt-row{grid-template-columns:25px minmax(0,1fr) 122px minmax(150px,210px);gap:16px;padding:20px;border:1px solid #D0E0E1;border-radius:11px;background:#FFFFFF}.wt-console .wt-who h3{font-size:14px;letter-spacing:-.015em}.wt-console .wt-rank{font-size:9px;color:#526869}.wt-console .wt-place,.wt-console .wt-details{font-size:10px;line-height:1.7;color:#56656B}.wt-console .wt-big{font-size:31px;letter-spacing:-.05em;color:#345E6D}.wt-console .wt-big-label{font-size:8px}.wt-console .wt-bar{height:7px;background:#DFEEEE}.wt-console .wt-bar i{transition:width .65s cubic-bezier(.2,.8,.2,1);background:#588B9D}.wt-console .wt-bar i.short{background:#BEA16B}.wt-console .wt-bar-text{font-size:9px;margin-top:10px}.wt-console .wt-std{font-size:7px;letter-spacing:.025em;padding:4px 5px}.wt-console .wt-dist,.wt-console .wt-badge{font-size:8px}.wt-console .wt-note{font-size:9px;line-height:1.8;letter-spacing:0;text-transform:none}.wt-console .wt-more{margin-top:23px}.wt-console .wt-more>.btn{font-size:11px;min-height:41px}.wt-console-foot{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#DDEDEE;border-top:1px solid #BFD9D9;border-radius:0 0 18px 18px;padding:16px 28px;font-size:10px;color:#52676F}.wt-console-foot p{max-width:85ch;line-height:1.7}.wt-console-foot a{font-size:10px;white-space:nowrap;text-underline-offset:4px}.cw-wait-source{font-size:9px;color:#57656A;line-height:1.8;margin-top:20px}.wt-console .wt-suggest{font-size:12px}.wt-console .wt-suggest [role=option] strong{font-size:12px}.wt-console .wt-suggest [role=option] span{font-size:10px}.wt-console .wt-tabs{gap:7px;margin-top:18px}.wt-console .wt-tab{font-size:10px;min-height:36px}.wt-console .wt-org-sec h3{font-size:20px}.wt-console .wt-table{font-size:12px}.wt-console .wt-strong{font-size:19px}.wt-console .wt-table-wrap{overflow:auto;max-width:100%}.wt-console .wt-warn{font-size:11px}
@media(max-width:1100px){.wt-console .wt-row{grid-template-columns:20px minmax(0,1fr) 110px;gap:12px 17px}.wt-console .wt-bar-wrap{grid-column:2/-1}.wt-console .wt-national dd{font-size:27px}.wt-console-body{padding:24px}}
@media(max-width:860px){.wt-console .wt-search{grid-template-columns:1fr 1fr}.wt-console .wt-field-what{grid-column:1/-1}.wt-console .wt-go{margin-top:22px;align-self:start;min-width:120px}.wt-console .wt-hint{font-size:11px}.wt-console .wt-field input{font-size:16px}.wt-console .wt-field label{font-size:11px}.wt-console .wt-pill{min-height:40px;font-size:11px}}
@media(max-width:600px){.wt-console-bar{padding:20px}.wt-console-bar>span{display:none}.wt-console-body{padding:21px}.wt-console .wt-national{grid-template-columns:1fr 1fr;padding:19px;gap:21px}.wt-console .wt-national dd{font-size:30px}.wt-console .wt-h2{font-size:26px}.wt-console .wt-row{grid-template-columns:minmax(0,1fr) 95px;padding:17px;gap:12px}.wt-console .wt-rank{display:none}.wt-console .wt-bar-wrap{grid-column:1/-1}.wt-console .wt-who h3{font-size:13px}.wt-console .wt-big{font-size:27px}.wt-console .wt-toolbar{align-items:flex-start}.wt-console .wt-controls{gap:10px}.wt-console .wt-check{font-size:11px}.wt-console .wt-search{grid-template-columns:1fr}.wt-console .wt-go{margin:0;min-width:0}.wt-console .wt-field-what{grid-column:auto}.wt-console .wt-hint{font-size:10px}.wt-console .wt-field input{min-height:46px}.wt-console-foot{display:block;padding:17px 21px}.wt-console-foot a{display:inline-block;margin-top:12px}.wt-new-title{font-size:43px!important}.wt-head .sub{font-size:14px}.wt-console .wt-big-label{font-size:7px}.wt-console .wt-place,.wt-console .wt-details{font-size:10px}.wt-console .wt-bar-text{font-size:10px}.wt-console .wt-std{font-size:8px}}
@media(max-width:360px){.wt-console-body{padding:17px}.wt-console .wt-row{padding:14px;grid-template-columns:minmax(0,1fr) 80px;gap:10px}.wt-console .wt-big{font-size:24px}.wt-console .wt-who h3{font-size:12px}.wt-console .wt-ctl{gap:6px}.wt-console .wt-ctl select{font-size:10px;padding-left:8px}.wt-console .wt-national{padding:16px;gap:20px 14px}.wt-console .wt-national dd{font-size:25px}}
@media(prefers-reduced-motion:reduce){.wt-console .wt-bar i{transition:none}}
/* /assets/tools-hub.css */
/* Tools hub: the four tools inside one app window, with a navy sidebar. */
/* Inter (SIL OFL, assets/fonts/Inter-OFL.txt): the app window uses a neutral UI face,
   while the marketing page around it keeps Open Runde. */
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-latin-wght.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.tw-hub{
  position:relative;isolation:isolate;overflow:clip;
  background:
    radial-gradient(50% 42% at 62% 46%, rgba(88,171,179,.18), transparent 72%),
    radial-gradient(40% 40% at 8% 8%, rgba(19,69,92,.08), transparent 70%),
    var(--bg);
}
/* fine dot field behind the window */
.tw-hub::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(13,36,51,.16) 1px, transparent 1.4px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 55% 55%, #000 25%, transparent 75%);
          mask-image:radial-gradient(ellipse 70% 60% at 55% 55%, #000 25%, transparent 75%);
}
.tw-hub .cw-heading{grid-template-columns:minmax(0,1fr) minmax(0,44ch);gap:24px 56px;margin-bottom:clamp(36px,4.5vw,56px)}
.tw-hub .cw-eyebrow{font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.06em;color:var(--teal-ink)}
.tw-hub .cw-heading h2{margin-top:14px;font:600 var(--fs-h1)/1.02 var(--sans);letter-spacing:var(--track-tight);color:var(--ink)}
.tw-hub .cw-heading h2 span{color:var(--teal-ink)}
.tw-hub .cw-heading>p{font-size:var(--fs-body);line-height:1.55;color:var(--ink-2);max-width:44ch}

/* ---- window ---- */
.tw-window{
  /* every rule inside resolves var(--sans) here; tabular figures keep numbers in columns */
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-family:var(--sans);letter-spacing:-.006em;
  position:relative;border-radius:22px;overflow:hidden;background:#fff;
  border:1px solid rgba(13,36,51,.12);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 2px 4px rgba(13,36,51,.04), 0 24px 48px -24px rgba(13,36,51,.28), 0 80px 140px -60px rgba(19,69,92,.35);
}
/* tabular figures only where numbers line up: Inter's tnum also fixes the hyphen's width,
   so applying it everywhere spaces out words like "chronic-health". !important beats the tools' `font:` shorthands. */
.tw-window :is(input,select,.cl-big,.cl-score-parts strong,.cl-logit-row strong,.cl-table-wrap td,.wt-metric,.wt-national dd,.wt-num,.wt-bar-text,.pcc-counters){font-variant-numeric:tabular-nums!important}
.tw-titlebar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:48px;padding:0 16px;background:linear-gradient(#FAFCFC,#F1F6F6);border-bottom:1px solid rgba(13,36,51,.09)}
.tw-dots{display:flex;gap:8px}
.tw-dots i{width:11px;height:11px;border-radius:50%;background:#D5DFE1;box-shadow:inset 0 0 0 1px rgba(13,36,51,.08)}
.tw-title{position:absolute;left:50%;transform:translateX(-50%);font:600 13px/1 var(--sans);color:var(--ink-2);letter-spacing:.01em;white-space:nowrap}
.tw-secure{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;background:rgba(29,108,116,.08);color:var(--teal-ink);font:600 12px/1 var(--sans)}
.tw-lock{width:13px;height:13px}

.tw-body{display:grid;grid-template-columns:284px minmax(0,1fr);min-height:660px}

/* ---- sidebar ---- */
.tw-side{
  position:relative;display:flex;flex-direction:column;gap:4px;padding:20px 14px 18px;color:var(--on-dark-2);
  background:linear-gradient(180deg,#103346 0%,#0A2130 100%);
}
/* spotlight that follows the pointer (position set by tools-hub.js) */
.tw-side::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,30%), rgba(140,201,206,.14), transparent 70%);
}
.tw-side:hover::before{opacity:1}
.tw-side-label{position:relative;padding:4px 12px 8px;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(238,243,245,.5)}
.tw-side-label:not(:first-child){margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}
.tw-tablist{position:relative;display:grid;gap:4px}
.tw-pill{
  position:absolute;left:0;right:0;top:0;height:0;border-radius:13px;pointer-events:none;
  background:linear-gradient(90deg, rgba(140,201,206,.16), rgba(140,201,206,.07));
  box-shadow:inset 0 0 0 1px rgba(140,201,206,.26), 0 10px 30px -12px rgba(0,0,0,.5);
  transition:transform .45s var(--ease), height .45s var(--ease), width .45s var(--ease);
}
.tw-pill::before{content:"";position:absolute;left:-14px;top:22%;bottom:22%;width:3px;border-radius:0 3px 3px 0;background:var(--teal-pale);box-shadow:0 0 12px var(--teal-pale)}
.tw-tablist [role=tab],.tw-side-link{
  position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;
  width:100%;min-height:58px;padding:9px 12px;border:0;border-radius:13px;background:transparent;
  color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;
  transition:background-color .25s var(--ease), color .25s var(--ease);
}
.tw-tablist [role=tab]:hover,.tw-side-link:hover{background:rgba(255,255,255,.04);color:var(--on-dark)}
.tw-tablist [role=tab]:focus-visible,.tw-side-link:focus-visible{outline:2px solid var(--teal-pale);outline-offset:2px}
.tw-tile{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:var(--teal-pale);transition:background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease)}
.tw-icon{width:19px;height:19px}
.tw-tab-text{display:grid;gap:3px;min-width:0}
.tw-tab-name{display:flex;align-items:center;gap:8px;font:600 15px/1.2 var(--sans);letter-spacing:-.01em;color:var(--on-dark)}
.tw-tab-line{font-size:12.5px;line-height:1.35;color:rgba(238,243,245,.62)}
.tw-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:99px;background:rgba(127,211,166,.12);color:#9FE0BC;font:600 10.5px/1 var(--sans);letter-spacing:.02em}
.tw-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#7FD3A6}
.tw-tablist [aria-selected=true]{color:#fff}
.tw-tablist [aria-selected=true] .tw-tile{background:linear-gradient(145deg,#6FC0C7,#1D6C74);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 8px 20px -6px rgba(88,171,179,.65)}
.tw-tablist [aria-selected=true] .tw-tab-line{color:rgba(238,243,245,.8)}
.tw-tile-quiet{color:var(--on-dark-2)}
.tw-side-link .tw-arrow{width:15px;height:15px;opacity:.6}
.tw-side-foot{margin-top:auto;padding:18px 12px 2px;font-size:12px;line-height:1.5;color:rgba(238,243,245,.45)}

/* ---- main area: the tool itself, flush inside the window ---- */
.tw-main{min-width:0;background:#fff}
.tw-main>[role=tabpanel]:focus-visible{outline:2px solid var(--teal);outline-offset:-4px}
.tw-hub .cw-panel-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:22px 28px;border:0;border-bottom:1px solid rgba(13,36,51,.08)}
.tw-hub .cw-panel-intro h3{font:600 21px/1.2 var(--sans);letter-spacing:-.02em;color:var(--ink)}
.tw-hub .cw-panel-intro p{margin-top:5px;font-size:14.5px;line-height:1.5;color:var(--ink-2);max-width:62ch}
.tw-hub .cw-panel-intro>a{
  display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:40px;padding:0 16px;border-radius:99px;
  border:1px solid rgba(13,36,51,.18);color:var(--ink);font:600 13px/1 var(--sans);text-decoration:none;
  transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.tw-hub .cw-panel-intro>a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.tw-hub .cw-panel-intro .tw-arrow{width:14px;height:14px}
/* the window already names the tool, so each tool's own title bar and frame are dropped here */
.tw-main .cl-app,.tw-main .pcc-app,.tw-main .wt-console{border:0;border-radius:0;box-shadow:none}
.tw-main .cl-app{--cl-mono:var(--sans)}
.tw-main .cl-big{letter-spacing:-.04em}
.tw-main .cl-appbar,.tw-main .pcc-appbar{display:none}
.tw-main .wt-console{background:#fff}
.tw-main .wt-console-bar{display:none}
.tw-main .wt-console .wt-row{grid-template-columns:20px minmax(0,1fr) auto;gap:12px 20px}
.tw-main .wt-console .wt-bar-wrap{grid-column:2/-1}
.tw-main .cl-app-footer,.tw-main .pcc-app-footer{font-size:12px;background:#F4F8F8;border-color:rgba(13,36,51,.08)}
.tw-main .cw-source{margin:0;padding:18px 28px 24px;font-size:12.5px;line-height:1.6;color:var(--ink-2);border-top:1px solid rgba(13,36,51,.08)}
.tw-main .pcc-scope{padding-inline:28px}
.tw-main .cw-wait-source{margin:0;padding:14px 28px 20px;font-size:12px;color:var(--ink-2)}
@media (prefers-reduced-motion: no-preference){
  .tw-main>[role=tabpanel]:not([hidden]){animation:tw-in .4s var(--ease)}
}
@keyframes tw-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.tw-pill{transition:none}}

/* ---- tablet and phone: the sidebar becomes a scrolling strip ---- */
@media (max-width: 960px){
  .tw-hub .cw-heading{grid-template-columns:1fr}
  .tw-body{grid-template-columns:1fr;min-height:0}
  .tw-side{flex-direction:row;align-items:stretch;gap:6px;padding:10px;overflow-x:auto;scrollbar-width:none}
  .tw-side::-webkit-scrollbar{display:none}
  .tw-side-label,.tw-side-foot{display:none}
  .tw-tablist{display:flex;flex:0 0 auto;gap:6px}
  .tw-tablist [role=tab],.tw-side-link{flex:0 0 auto}
  .tw-pill::before{display:none}
  .tw-tablist [role=tab],.tw-side-link{grid-template-columns:30px auto;width:auto;min-height:48px;padding:8px 14px 8px 9px;white-space:nowrap}
  .tw-tile{width:30px;height:30px;border-radius:9px}
  .tw-icon{width:16px;height:16px}
  .tw-tab-line,.tw-badge,.tw-side-link .tw-arrow{display:none}
  .tw-tab-name{font-size:14px}
}
@media (max-width: 640px){
  .tw-window{border-radius:16px;margin-inline:calc(var(--gutter) * -.5)}
  .tw-title{display:none}
  .tw-hub .cw-panel-intro{flex-direction:column;align-items:flex-start;padding:18px 18px 20px}
  .tw-main .cw-source{padding-inline:18px}
  .tw-main .cw-wait-source{padding-inline:18px}
}

/* Readability floor inside the homepage tools window: 13px for what people read, 12px for small
   labels. Scoped to the homepage, so the full finder on /wait-times/ keeps its own scale. */
#interactive-tools .tw-tab-line,#interactive-tools .wt-check,#interactive-tools .wt-field label,#interactive-tools .wt-intro,#interactive-tools .wt-place,#interactive-tools .wt-details,#interactive-tools .wt-note,#interactive-tools .wt-note a,#interactive-tools .wt-hint,#interactive-tools .wt-console-foot p,#interactive-tools .wt-console-foot a,#interactive-tools .wt-count,#interactive-tools .wt-pill,#interactive-tools .cw-wait-source,#interactive-tools .tw-main .btn{font-size:13px}
#interactive-tools .tw-badge,#interactive-tools .tw-secure,#interactive-tools .wt-badge,#interactive-tools .wt-std,#interactive-tools .wt-big-label,#interactive-tools .wt-bar-text,#interactive-tools .wt-kind,#interactive-tools .wt-opt,#interactive-tools .wt-kicker span,#interactive-tools dt,#interactive-tools .mono{font-size:12px}
/* /assets/about.css */
/* About: origin story beside the ward-bay model, then five models from one ward to two countries. */
.ab{
  --ab-teal:#58ABB3;
  --ab-bg:var(--bg);
  position:relative;isolation:isolate;overflow:clip;color:var(--ink);
  padding:clamp(96px,11vw,176px) 0 clamp(88px,9vw,140px);
  background:
    radial-gradient(60% 38% at 10% 0%, rgba(255,255,255,.8), transparent 72%),
    radial-gradient(42% 34% at 82% 14%, rgba(140,201,206,.30), transparent 72%),
    radial-gradient(70% 30% at 50% 100%, rgba(88,171,179,.12), transparent 72%),
    linear-gradient(180deg, #E4EFEF, var(--ab-bg) 420px);
}

/* ---- origin: copy beside a teal card of glass layers, the parts of a ward system ---- */
.ab-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,104px);align-items:center}
.ab-figure{margin:0;justify-self:center;width:min(100%,580px);padding-block:clamp(24px,4vw,64px)}
.ab-visual{position:relative}

/* a broad arc sweeping behind the card, open on the copy side */
.ab-orbit{position:absolute;inset:0;pointer-events:none}
.ab-orbit>i{position:absolute;left:50%;top:50%;aspect-ratio:1;border-radius:50%;translate:-50% -50%}
.ab-glow-pool{width:140%;background:radial-gradient(closest-side, rgba(140,201,206,.4), rgba(140,201,206,.12) 60%, transparent)}
.ab-ring-sweep{
  width:178%;
  background:conic-gradient(from -40deg, rgba(140,201,206,0), rgba(140,201,206,.85) 40deg, var(--teal) 120deg, var(--teal-ink) 175deg, rgba(19,69,92,.55) 205deg, rgba(19,69,92,0) 235deg, transparent);
  -webkit-mask:radial-gradient(closest-side, transparent calc(100% - 46px), #000 calc(100% - 45px), #000 calc(100% - 1px), transparent);
          mask:radial-gradient(closest-side, transparent calc(100% - 46px), #000 calc(100% - 45px), #000 calc(100% - 1px), transparent);
  opacity:.85;
}

/* the card: everything inside is sized in cqi, so the layers scale with it */
.ab-stack{
  position:relative;z-index:1;container-type:inline-size;aspect-ratio:20/19;overflow:hidden;border-radius:28px;
  background:
    radial-gradient(80% 60% at 18% 0%, rgba(140,201,206,.38), transparent 62%),
    radial-gradient(60% 50% at 100% 100%, rgba(10,33,48,.55), transparent 70%),
    linear-gradient(155deg, #1D6C74, #13455C 55%, #0C3245);
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 40px 80px -40px rgba(13,36,51,.55), 0 110px 170px -90px rgba(13,36,51,.5);
}
/* four glass planes, as on airtable.com: each layer only slides sideways and fades (about.js drives
   --ab-e from 0, one stack in the middle, to 1, fanned out, as the card scrolls up the screen), and
   the skew lives on the sheet inside it. Nothing here is blurred or promoted to its own layer, so the
   sheared text is drawn straight onto the slant and stays sharp. */
.ab-layer{
  position:absolute;left:34cqi;top:37cqi;width:32cqi;height:50cqi;
  translate:calc(var(--ab-e, 1) * var(--ab-dx)) 0;opacity:calc(.12 + .88 * var(--ab-e, 1))
}
.ab-l1{--ab-dx:-31cqi}
.ab-l2{--ab-dx:-10.5cqi}
.ab-l3{--ab-dx:10.5cqi}
.ab-l4{--ab-dx:31cqi}
.ab-sheet{
  position:relative;height:100%;padding:3.2cqi 3cqi;border-radius:2.6cqi;color:#fff;font:500 2.25cqi/1.3 var(--sans);
  background:linear-gradient(165deg, rgba(150,200,206,.64), rgba(72,130,144,.8) 58%, rgba(52,108,124,.84));
  box-shadow:0 0 0 1px rgba(255,255,255,.34) inset, -1.6cqi 2.6cqi 5cqi rgba(5,25,35,.28);
  transform:skewY(-30deg)
}
.ab-layer-tag{margin-bottom:3.2cqi;font:600 2.1cqi/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.92)}

.ab-table p{display:grid;grid-template-columns:3.8cqi 5.2cqi 1fr;gap:1.2cqi;padding:1.25cqi .9cqi;margin-inline:-.9cqi;box-shadow:0 -1px 0 rgba(255,255,255,.16) inset;border-radius:1cqi;font-size:2.15cqi}
.ab-table .ab-th{color:rgba(255,255,255,.62)}
.ab-table span:nth-child(2){font-variant-numeric:tabular-nums}
.ab-row-hot span:nth-child(2){color:#F8CB8A;font-weight:600}

.ab-steps{list-style:none;display:grid;gap:4.6cqi;margin-top:1cqi}
.ab-steps li{position:relative;display:flex;align-items:center;gap:2cqi;font-size:2.3cqi}
.ab-steps i{position:relative;flex-shrink:0;width:4cqi;height:4cqi;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.6) inset;background:rgba(140,201,206,.95)}
.ab-steps i::after{content:"";position:absolute;left:33%;top:20%;width:28%;height:46%;border:solid #0C3245;border-width:0 .5cqi .5cqi 0;transform:rotate(45deg)}
.ab-steps li:nth-child(n+3) i{background:transparent}
.ab-steps li:nth-child(n+3) i::after{opacity:0}
/* dashed connectors between the steps */
.ab-steps li+li::before{content:"";position:absolute;left:1.95cqi;bottom:100%;height:4.6cqi;border-left:1px dashed rgba(255,255,255,.5)}

.ab-donut{
  display:block;width:17cqi;aspect-ratio:1;margin:1cqi 0 0 .5cqi;border-radius:50%;
  background:conic-gradient(#BFE6E9 0 var(--ab-d), rgba(255,255,255,.24) var(--ab-d) 84%, #F6C27A 84% 100%);
  -webkit-mask:radial-gradient(closest-side, transparent 56%, #000 57%);mask:radial-gradient(closest-side, transparent 56%, #000 57%)
}
@property --ab-d{syntax:'<percentage>';inherits:false;initial-value:64%}
.ab-stat{position:absolute;left:-3cqi;bottom:9cqi;padding:2cqi 3cqi;border-radius:2.2cqi;background:rgba(214,236,238,.34);box-shadow:0 0 0 1px rgba(255,255,255,.45) inset, 0 2cqi 4cqi rgba(5,25,35,.3)}
.ab-stat small{display:block;font-size:2cqi;color:rgba(255,255,255,.85)}
.ab-stat b{display:block;font:600 6.4cqi/1 var(--sans);letter-spacing:-.02em}

.ab-field{margin-bottom:2.8cqi}
.ab-field small{display:block;margin-bottom:1cqi;font-size:2cqi;color:rgba(255,255,255,.85)}
.ab-field span{display:flex;align-items:center;height:5cqi;padding-inline:1.5cqi;border-radius:1.2cqi;box-shadow:0 0 0 1px rgba(255,255,255,.42) inset;background:rgba(255,255,255,.1);font-size:2.15cqi}
.ab-field-pick::after{content:"";margin-left:auto;width:1.2cqi;height:1.2cqi;border:solid rgba(255,255,255,.85);border-width:0 .35cqi .35cqi 0;transform:translateY(-25%) rotate(45deg)}
.ab-field-type b{display:inline-block;overflow:hidden;white-space:nowrap;font-weight:500;border-right:.3cqi solid transparent}


.ab-eyebrow{font:600 var(--fs-label)/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--teal-ink)}
.ab-title{margin-top:16px;font:600 var(--fs-h1)/1.04 var(--sans);letter-spacing:var(--track-tight);color:var(--ink);text-wrap:balance}
.ab-title em{font-style:normal;color:var(--teal-ink)}
.ab-lede{margin-top:clamp(24px,3vw,36px);font-size:clamp(1.125rem, 1rem + .4vw, 1.375rem);line-height:1.5;color:var(--ink);max-width:40ch;letter-spacing:-.01em}
.ab-body{margin-top:18px;font-size:var(--fs-body);line-height:1.6;color:var(--ink-2);max-width:46ch}
.ab-founder{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:26px;border-top:1px solid rgba(13,36,51,.14);max-width:46ch}
.ab-monogram{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;font:600 15px/1 var(--sans);letter-spacing:.04em;box-shadow:0 0 0 4px var(--ab-bg), 0 0 0 5px rgba(88,171,179,.6)}
.ab-founder strong{display:block;font:600 16px/1.3 var(--sans)}
.ab-founder strong+span{display:block;margin-top:2px;font-size:var(--fs-small);color:var(--ink-2)}
.ab-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:34px}
.ab-link{font:600 var(--fs-small)/1.4 var(--sans);color:var(--teal-ink);text-decoration:underline;text-decoration-color:rgba(29,108,116,.35);text-underline-offset:5px}
.ab-link:hover{text-decoration-color:currentColor}

/* ---- scale ---- */
.ab-scale{position:relative;isolation:isolate;margin-top:clamp(96px,11vw,168px);scroll-margin-top:96px}
.ab-scale::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;inset:-48px calc(var(--gutter) * -1) -24px;
  background:
    repeating-linear-gradient(30deg, rgba(19,69,92,.07) 0 1px, transparent 1px 30px),
    repeating-linear-gradient(150deg, rgba(19,69,92,.07) 0 1px, transparent 1px 30px);
  -webkit-mask-image:radial-gradient(60% 55% at 50% 42%, #000 30%, transparent);
          mask-image:radial-gradient(60% 55% at 50% 42%, #000 30%, transparent);
}
.ab-scale-head{margin-bottom:clamp(36px,4vw,56px)}
.ab-scale-title{margin-top:16px;font:600 var(--fs-h2)/1.05 var(--sans);letter-spacing:var(--track-tight);color:var(--ink)}
.ab-track{position:relative}
.ab-stops{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.ab-stop{position:relative;display:flex;flex-direction:column}
.ab-stage{position:relative;aspect-ratio:4/3}
/* a soft pool of light under each model */
.ab-stage::before{content:"";position:absolute;left:8%;right:8%;bottom:4%;height:30%;border-radius:50%;background:radial-gradient(closest-side, rgba(13,36,51,.16), transparent);filter:blur(6px)}
.ab-art{position:absolute;left:7%;top:6%;width:86%;height:82%;display:block;overflow:visible;transition:transform .6s var(--ease)}
.ab-stop:hover .ab-art{transform:translateY(-6px)}
.ab-edge{stroke:rgba(13,36,51,.12);stroke-width:.6;stroke-linejoin:round}
.ab-glow{filter:drop-shadow(0 0 3px rgba(88,171,179,.9))}
.ab-flow{fill:none;stroke:var(--ab-teal);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(88,171,179,.7))}
.ab-flow-thin{stroke-width:1.3;opacity:.85}
.ab-node{fill:var(--ab-teal);stroke:rgba(140,201,206,.5);stroke-width:3;paint-order:stroke}
.ab-tree{fill:#fff;stroke:rgba(13,36,51,.12);stroke-width:.6}
.ab-arc{fill:none;stroke:var(--ab-teal);stroke-width:2;stroke-dasharray:5 6;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(88,171,179,.6))}

/* the rail under the models, with a numbered stop for each */
.ab-thread{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:rgba(13,36,51,.12);top:calc(var(--ab-stage-h, 160px) + 27px)}
.ab-thread i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg, var(--teal-ink), var(--ab-teal));box-shadow:0 0 12px rgba(88,171,179,.7);transform:scaleX(var(--ab-p,1));transform-origin:left}
.ab-scale-label{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:14px;font:600 var(--fs-label)/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.ab-scale-label span{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ab-bg);border:1.5px solid rgba(13,36,51,.25);font:600 11px/1 var(--sans);letter-spacing:0;color:var(--ink-2);transition:background-color .5s var(--ease), border-color .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease)}
.ab-stop.is-lit .ab-scale-label span{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff;box-shadow:0 0 0 5px rgba(88,171,179,.18)}
.ab-stop h4{margin-top:10px;font:600 var(--fs-h4)/1.2 var(--sans);letter-spacing:var(--track-snug)}
.ab-stop p:not(.ab-scale-label){margin-top:8px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.ab-stop a{margin-top:auto;padding-top:14px;align-self:flex-start;font:600 var(--fs-small)/1.4 var(--sans);color:var(--teal-ink);text-decoration:none}
.ab-stop a:hover{text-decoration:underline;text-underline-offset:4px}
.ab-note{margin-top:clamp(36px,4vw,56px);font-size:var(--fs-small);color:var(--ink-3);max-width:70ch}

/* motion: set up by about.js, so without it everything is simply shown */
.ab-js .ab-stop{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease), transform .8s var(--ease)}
.ab-js .ab-stop.is-lit{opacity:1;transform:none}
.ab-js .ab-thread i{transition:transform 2.6s cubic-bezier(.45,.05,.2,1)}
@media (prefers-reduced-motion: no-preference){
  .ab-flow{stroke-dasharray:7 7;animation:ab-flow 1.6s linear infinite}
  .ab-node-pulse{animation:ab-pulse 2.4s ease-out infinite}
  .ab-ring-sweep{animation:ab-sway 16s ease-in-out infinite alternate}
  /* once the layers have fanned out, each one acts out a small piece of work */
  .ab-stack.is-on .ab-steps i{animation:ab-tick 6.4s ease-in-out 1.4s infinite both}
  .ab-stack.is-on .ab-steps i::after{animation:ab-tick-mark 6.4s ease-in-out 1.4s infinite both}
  .ab-stack.is-on .ab-steps li:nth-child(2) i,.ab-stack.is-on .ab-steps li:nth-child(2) i::after{animation-delay:1.9s}
  .ab-stack.is-on .ab-steps li:nth-child(3) i,.ab-stack.is-on .ab-steps li:nth-child(3) i::after{animation-delay:2.4s}
  .ab-stack.is-on .ab-steps li:nth-child(4) i,.ab-stack.is-on .ab-steps li:nth-child(4) i::after{animation-delay:2.9s}
  .ab-stack.is-on .ab-row-hot{animation:ab-hot 2.6s ease-in-out 1.4s infinite alternate}
  .ab-stack.is-on .ab-donut{animation:ab-donut 5s ease-in-out 1.4s infinite alternate}
  .ab-stack.is-on .ab-field-type b{animation:ab-type 6.4s steps(11) 1.4s infinite both, ab-caret .8s step-end infinite}
}
@keyframes ab-tick{0%,8%{background:transparent}16%,84%{background:rgba(140,201,206,.95)}92%,100%{background:transparent}}
@keyframes ab-tick-mark{0%,10%{opacity:0}18%,84%{opacity:1}92%,100%{opacity:0}}
@keyframes ab-hot{from{background:transparent}to{background:rgba(246,194,122,.16)}}
@keyframes ab-donut{from{--ab-d:46%}to{--ab-d:72%}}
@keyframes ab-type{0%,12%{width:0}52%,88%{width:11.2ch}100%{width:0}}
@keyframes ab-caret{50%{border-right-color:rgba(255,255,255,.9)}}
@keyframes ab-flow{to{stroke-dashoffset:-14}}
@keyframes ab-sway{from{rotate:-10deg}to{rotate:12deg}}
@keyframes ab-pulse{0%{stroke-width:3;stroke:rgba(140,201,206,.6)}70%,100%{stroke-width:14;stroke:rgba(140,201,206,0)}}
@media (prefers-reduced-motion: reduce){
  .ab-traveller{display:none}
}

@media (max-width: 1100px){
  .ab-stops{grid-template-columns:repeat(5,minmax(200px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
  .ab-stop{scroll-snap-align:start}
  .ab-thread{display:none}
}
@media (max-width: 900px){
  .ab-top{grid-template-columns:1fr}
  .ab-figure{width:min(100%,520px);padding-block:40px 8px}
  .ab-ring-sweep{width:170%}
  .ab-stops{grid-template-columns:repeat(5,minmax(240px,78vw));margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
}

/* Readability floor for the scale band's labels */
.ab-scale-label span{font-size:12px}
.ab-scale-label b{font-size:13px}
/* /assets/grounds.css */
/* Section grounds: soft light, masked fill patterns and an inset panel, so each flat section
   gets its own surface. All decorative, drawn behind the content on pseudo-elements. */

/* Our services + Recognition, one paper band: a pale aurora along the top of services and the
   recognition hatch at the bottom. The services dot grid is gone, since the award card now sits
   right where it faded out. */
.cap-section{position:relative;isolation:isolate;overflow:clip}
.cap-section::before{content:"";position:absolute;z-index:-1;pointer-events:none}
.cap-section::before{
  inset:0 0 auto;height:min(980px,70%);
  background:
    radial-gradient(55% 75% at 12% 0%, rgba(140,201,206,.34), transparent 70%),
    radial-gradient(45% 60% at 58% 0%, rgba(231,228,225,.85), transparent 70%),
    radial-gradient(40% 55% at 100% 0%, rgba(88,171,179,.16), transparent 72%);
}

/* From the record to the decision: teal light from two corners and signal ripples from the top right */
.info{position:relative;isolation:isolate;overflow:clip}
.info::before,.info::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.info::before{
  inset:0;
  background:
    radial-gradient(48% 42% at 8% 0%, rgba(88,171,179,.22), transparent 72%),
    radial-gradient(42% 40% at 96% 100%, rgba(29,108,116,.28), transparent 72%);
}
.info::after{
  width:1200px;aspect-ratio:1;right:-420px;top:-460px;border-radius:50%;
  background:repeating-radial-gradient(circle, rgba(140,201,206,.13) 0 1px, transparent 1px 46px);
  -webkit-mask-image:radial-gradient(closest-side, #000 25%, transparent);
          mask-image:radial-gradient(closest-side, #000 25%, transparent);
}

/* Recognition: a fine diagonal hatch rising from the bottom left */
.rc-section{position:relative;isolation:isolate}
.rc-section::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;left:0;bottom:0;width:72%;height:62%;
  background:repeating-linear-gradient(135deg, rgba(19,69,92,.08) 0 1px, transparent 1px 13px);
  -webkit-mask-image:radial-gradient(70% 85% at 0% 100%, #000, transparent 75%);
          mask-image:radial-gradient(70% 85% at 0% 100%, #000, transparent 75%);
}

/* A few good questions: a warm stone band between the mint Beacon section and the contact panel,
   teal light behind the answers, fading to paper so it runs straight into contact. A fine dot grid
   fills the quiet corner under the heading (contact keeps the ripples, so the corner differs). */
.sx-questions{position:relative;isolation:isolate;overflow:clip;border-top:1px solid rgba(13,36,51,.08);
  background:
    radial-gradient(48% 60% at 100% 0%, rgba(140,201,206,.30), transparent 70%),
    radial-gradient(40% 50% at 70% 100%, rgba(255,255,255,.7), transparent 72%),
    linear-gradient(180deg, #E9E7E3, #EFEDEA 62%, var(--paper));
}
.sx-questions::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;left:0;bottom:0;width:58%;height:60%;
  background:radial-gradient(circle, rgba(19,69,92,.2) 0 1.1px, transparent 1.6px) 0 0/22px 22px;
  -webkit-mask-image:radial-gradient(75% 80% at 0% 100%, #000 20%, transparent 72%);
          mask-image:radial-gradient(75% 80% at 0% 100%, #000 20%, transparent 72%);
}

/* Contact: a full-width band of soft teal light with square edges, and ripples in its lower corner */
.contact{position:relative;isolation:isolate;overflow:clip;border-top:0}
.contact::before,.contact::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.contact::before{
  inset:0;
  background:
    radial-gradient(60% 80% at 0% 0%, rgba(140,201,206,.5), transparent 62%),
    radial-gradient(50% 70% at 100% 100%, rgba(231,228,225,.95), transparent 70%),
    radial-gradient(38% 50% at 88% 6%, rgba(88,171,179,.2), transparent 72%),
    linear-gradient(160deg, #EEF6F6, #F5F4F2);
  box-shadow:inset 0 1px 0 rgba(13,36,51,.08);
}
.contact::after{
  width:760px;aspect-ratio:1;left:-300px;bottom:-340px;border-radius:50%;
  background:repeating-radial-gradient(circle, rgba(19,69,92,.08) 0 1px, transparent 1px 34px);
  -webkit-mask-image:radial-gradient(closest-side, #000 35%, transparent);
          mask-image:radial-gradient(closest-side, #000 35%, transparent);
}

@media (max-width: 760px){
  .info::after{width:760px;right:-360px;top:-320px}
  .sx-questions::before{width:100%;height:45%}
}
/* /assets/what-we-build.css */
/* Our services: pick a service on the left and its panel on the right says what changes for the
   team, shows it in a small interface illustration, lists what we build, names the real projects
   behind it and opens the contact form with that service already chosen. Without script every
   panel is shown, one after another. */
.cap-section{padding:clamp(80px,9vw,140px) 0 clamp(80px,9vw,140px);background:var(--paper);color:var(--ink);scroll-margin-top:0}

/* Heading row: the title on the left, the promise and a way into the process on the right */
.cap-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:clamp(28px,5vw,96px);margin-bottom:clamp(44px,5vw,80px)}
.cap-eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.11em;color:var(--ink-3)}
.cap-intro h2{font-size:clamp(40px,4.6vw,68px);line-height:1.04;letter-spacing:-.05em;font-weight:600;margin-top:20px}
.cap-intro h2 span{color:var(--teal-ink)}
.cap-intro-side p{font-size:clamp(1.0625rem,.98rem + .35vw,1.25rem);line-height:1.5;color:var(--ink-2);max-width:40ch}
.cap-intro-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:14px;font-weight:600;color:var(--ink);text-decoration:none}
.cap-intro-link span{transition:transform .3s var(--ease)}
.cap-intro-link:hover{text-decoration:underline;text-underline-offset:5px}
.cap-intro-link:hover span{transform:translate(2px,2px)}

/* Body: the menu of services beside the stage */
.cap-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,3.6vw,56px);align-items:start}
.cap-section:not(.cap-js) .cap-body{grid-template-columns:1fr}
.cap-menu{position:sticky;top:calc(var(--header-h) + 28px)}
.cap-tabs{display:grid;gap:6px}
.cap-tabs[hidden]{display:none}
.cap-tab{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;width:100%;padding:22px 24px;border:0;border-radius:22px;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background-color .35s var(--ease),transform .2s var(--ease)}
.cap-tab-name{grid-column:1;font-size:clamp(1.5rem,1.1rem + 1vw,2rem);font-weight:600;line-height:1.1;letter-spacing:-.035em;color:var(--ink-3);transition:color .35s var(--ease)}
.cap-tab-line{grid-column:1;margin-top:6px;font-size:var(--fs-small);line-height:1.4;color:var(--ink-3);transition:color .35s var(--ease)}
.cap-tab-go{grid-column:2;grid-row:1 / span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--teal-pale);color:var(--night);font-size:20px;opacity:0;transform:translateX(-10px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.cap-tab:hover .cap-tab-name{color:var(--ink)}
.cap-tab:active{transform:scale(.985)}
.cap-tab[aria-selected="true"]{background:var(--navy)}
.cap-tab[aria-selected="true"] .cap-tab-name{color:#fff}
.cap-tab[aria-selected="true"] .cap-tab-line{color:var(--on-dark-2)}
.cap-tab[aria-selected="true"] .cap-tab-go{opacity:1;transform:none}
.cap-tab:focus-visible{outline:3px solid var(--teal-ink);outline-offset:3px;border-radius:22px}
@media (hover:hover){.cap-tab[aria-selected="false"]:hover{background:rgba(19,69,92,.07)}}
.cap-support{margin-top:clamp(24px,3vw,40px);padding:0 24px;font-size:var(--fs-small);line-height:1.5;color:var(--ink-2);max-width:44ch}
.cap-support a{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-strong)}
.cap-support a:hover{text-decoration-color:currentColor}

/* The stage: with script, the panels share one cell so the stage keeps the tallest panel's height */
.cap-stage{display:grid;gap:20px;min-width:0}
.cap-js .cap-stage{gap:0}
.cap-js .cap-panel{grid-area:1 / 1;visibility:hidden;opacity:0}
.cap-js .cap-panel.is-active{visibility:visible;opacity:1}
.cap-panel{--panel-ink:#fff;--panel-text:#D3DEE3;display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px);min-width:0;padding:clamp(24px,3.4vw,48px);border-radius:clamp(24px,2.6vw,34px);background:var(--navy);color:var(--panel-ink)}
.cap-panel-name{font-size:var(--fs-h4);font-weight:600;letter-spacing:-.02em;color:var(--teal-pale)}
.cap-js .cap-panel-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.cap-outcome{font-size:clamp(1.75rem,1.2rem + 1.3vw,2.375rem);font-weight:600;line-height:1.1;letter-spacing:-.035em;color:#fff;max-width:19ch}
.cap-copy{font-size:var(--fs-body);line-height:1.5;color:var(--panel-text);max-width:54ch}
.cap-figure{margin:6px 0 0}
.cap-figure figcaption{margin-top:10px;font-size:13px;color:var(--on-dark-2)}

/* Interface illustrations: a light window on the navy field, readable at every width */
.cap-ui{background:#F2F8F8;color:var(--ink);border-radius:18px;padding:clamp(14px,1.8vw,22px);font-variant-numeric:tabular-nums}
.cap-ui-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;line-height:1.3}
.cap-ui-top strong{font-weight:600}
.cap-pill{flex-shrink:0;padding:4px 10px;border-radius:99px;background:#E1ECEC;color:var(--ink-2);font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap}
.cap-pill-ok{background:#D5EEE3;color:#185E45}

.cap-route{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0 20px;padding:0;list-style:none}
.cap-route::before,.cap-route::after{content:"";position:absolute;top:16px;left:12.5%;height:3px;border-radius:2px}
.cap-route::before{right:12.5%;background:#D3E2E3}
.cap-route::after{right:37.5%;background:var(--teal-ink);transform-origin:left center}
.cap-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;line-height:1.25;color:var(--ink-3);text-align:center}
.cap-node i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid #C5D7D8;background:#fff;font-size:14px;font-style:normal;font-weight:600}
.cap-done{color:var(--ink-2)}
.cap-done i{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff}
.cap-done i::before,.cap-tick::before{content:"";width:11px;height:6px;margin-top:-3px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}
.cap-tick{display:grid;place-items:center;width:16px;height:16px}
.cap-now{color:var(--ink);font-weight:600}
.cap-now i{border-color:var(--teal-ink);color:var(--teal-ink);box-shadow:0 0 0 6px rgba(29,108,116,.14)} /* taste-skill-ignore: interface fragment, current-step ring */
.cap-next{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px 20px;padding:12px 16px;border-radius:12px;background:#fff}
.cap-next-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--teal-soft);color:var(--teal-ink);font-weight:600}
.cap-next small,.cap-next-meta small{display:block;font-size:13px;color:var(--ink-3);line-height:1.3}
.cap-next strong{font-size:15px;font-weight:600;line-height:1.3}
.cap-next-meta b{font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap}

.cap-rota-grid{display:grid;grid-template-columns:72px repeat(7,minmax(0,1fr));gap:5px;margin-top:16px;align-items:center}
.cap-rota-grid>span{font-size:13px;color:var(--ink-3);text-align:center}
.cap-rota-grid>b{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.cap-rota-grid>i{display:grid;place-items:center;height:32px;border-radius:8px;font-size:13px;font-style:normal;font-weight:600}
.cap-rota-grid .d{background:#CDE5E6;color:#1C565F}
.cap-rota-grid .n{background:#24505F;color:#E9F5F6}
.cap-rota-grid .o{background:#E6EEEE;color:#7D9799}
.cap-rota-grid .l{background:#F4DFAE;color:#6B4A00}
.cap-request{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;border-radius:12px;background:#fff;font-size:14px;color:var(--ink-2)}
.cap-request-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%;background:#D49A1A}
.cap-request-state{position:relative;display:grid;margin-left:auto}
.cap-request-state b{grid-area:1 / 1;padding:4px 10px;border-radius:99px;font-size:13px;font-weight:600;white-space:nowrap;text-align:center}
.cap-wait{background:#F6E7C4;color:#6B4A00;opacity:0}
.cap-ok{background:#D5EEE3;color:#185E45}

.cap-search{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 2px var(--teal-ink);color:var(--teal-ink)} /* taste-skill-ignore: interface fragment, focused input */
.cap-search svg{flex-shrink:0}
.cap-query{overflow:hidden;white-space:nowrap;font-size:15px;color:var(--ink)}
.cap-caret{width:2px;height:18px;margin-left:-6px;background:var(--teal-ink)}
.cap-hit{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;border-radius:12px;background:#fff}
.cap-hit>div{min-width:0}
.cap-hit strong{display:block;font-size:15px;font-weight:600;line-height:1.3}
.cap-hit small{display:block;font-size:13px;color:var(--ink-3);line-height:1.35}
.cap-hit .cap-pill{margin-left:auto}
.cap-doc{display:grid;align-content:center;gap:4px;flex-shrink:0;width:28px;height:34px;padding:0 6px;border-radius:6px;background:var(--teal-soft)}
.cap-doc i{display:block;height:2px;border-radius:1px;background:var(--teal-ink);opacity:.6}
.cap-doc i:last-child{width:60%}

.cap-flow{display:grid;grid-template-columns:minmax(0,.85fr) auto minmax(0,1.15fr);align-items:center;gap:14px}
.cap-records,.cap-report{padding:14px 16px;border-radius:12px;background:#fff}
.cap-record{display:flex;align-items:center;gap:9px;padding:9px 0 0;font-size:14px;color:var(--ink-2)}
.cap-record i{flex-shrink:0;width:9px;height:12px;border-radius:2px;background:var(--teal-soft)}
.cap-record b{margin-left:auto;color:var(--teal-ink)}
.cap-arrow{font-size:24px;color:var(--teal-ink)}
.cap-total{display:flex;align-items:baseline;gap:10px;margin:10px 0 6px}
.cap-total strong{font-size:36px;font-weight:600;line-height:1;letter-spacing:-.04em}
.cap-total span{font-size:13px;color:var(--ink-3)}
.cap-bar{display:grid;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:var(--ink-2)}
.cap-bar>i{display:block;height:10px;border-radius:5px;background:#E3EDED;overflow:hidden}
.cap-bar>i>i{display:block;height:100%;border-radius:5px;background:var(--teal);transform-origin:left center}
.cap-bar>b{text-align:right;font-weight:600}
.cap-bar-a>i>i{width:100%}.cap-bar-b>i>i{width:80%}.cap-bar-c>i>i{width:60%}

/* What we build, the projects behind it, and the next step */
.cap-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin-top:8px}
.cap-label{margin-bottom:10px;font-size:var(--fs-small);font-weight:600;color:var(--teal-pale)}
.cap-list,.cap-proof{margin:0;padding:0;list-style:none}
.cap-list li{position:relative;padding-left:26px;margin-top:8px;font-size:16px;line-height:1.4;color:#fff}
.cap-list li::before{content:"";position:absolute;left:2px;top:.45em;width:11px;height:6px;border-left:2px solid var(--teal-pale);border-bottom:2px solid var(--teal-pale);transform:rotate(-45deg)}
.cap-proof li{display:grid;gap:3px;margin-top:10px}
.cap-proof a,.cap-proof-name{justify-self:start;display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.35)}
.cap-proof-name{text-decoration:none}
.cap-proof a:hover{text-decoration-color:currentColor}
.cap-proof a span{transition:transform .3s var(--ease)}
.cap-proof a:hover span{transform:translate(2px,-2px)}
.cap-proof li>span:last-child{font-size:14px;line-height:1.45;color:var(--panel-text)}
.cap-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;min-height:52px;margin-top:auto;padding:0 26px;border-radius:999px;background:var(--teal-pale);color:var(--night);font-size:var(--fs-body);font-weight:600;text-decoration:none;transition:background-color .3s var(--ease),transform .2s var(--ease)}
.cap-cta span{transition:transform .3s var(--ease)}
.cap-cta:hover{background:#fff}
.cap-cta:hover span{transform:translateX(3px)}
.cap-cta:active{transform:scale(.97)}
.cap-panel a:focus-visible{outline:3px solid var(--teal-pale);outline-offset:4px;border-radius:6px}
.cap-panel .cap-cta:focus-visible{border-radius:999px}

/* Motion: the section settles in once, a chosen panel rises in part by part, and its illustration
   acts out its moment. With reduced motion everything is shown in its finished state. */
@media (prefers-reduced-motion:no-preference){
  .cap-js .cap-intro>*,.cap-js .cap-tab,.cap-js .cap-support,.cap-js .cap-stage{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease),background-color .35s var(--ease)}
  .cap-js.is-seen .cap-intro>*,.cap-js.is-seen .cap-tab,.cap-js.is-seen .cap-support,.cap-js.is-seen .cap-stage{opacity:1;transform:none}
  .cap-js.is-seen .cap-intro>:nth-child(2){transition-delay:.08s}
  .cap-js.is-seen .cap-tab:nth-child(1){transition-delay:.14s}
  .cap-js.is-seen .cap-tab:nth-child(2){transition-delay:.2s}
  .cap-js.is-seen .cap-tab:nth-child(3){transition-delay:.26s}
  .cap-js.is-seen .cap-tab:nth-child(4){transition-delay:.32s}
  .cap-js.is-seen .cap-support{transition-delay:.4s}
  .cap-js.is-seen .cap-stage{transition-delay:.2s}
  .cap-js.is-seen .cap-tab:active{transform:scale(.985);transition-delay:0s}

  .cap-panel.is-entering>*{animation:cap-rise .6s var(--ease) both}
  .cap-panel.is-entering>.cap-copy{animation-delay:.06s}
  .cap-panel.is-entering>.cap-figure{animation-delay:.12s}
  .cap-panel.is-entering>.cap-detail{animation-delay:.18s}
  .cap-panel.is-entering>.cap-cta{animation-delay:.24s}

  .cap-panel.is-playing .cap-route::after{animation:cap-grow 1s .25s var(--ease) both}
  .cap-panel.is-playing .cap-node i{animation:cap-pop .45s var(--ease) both}
  .cap-panel.is-playing .cap-node:nth-child(2) i{animation-delay:.35s}
  .cap-panel.is-playing .cap-node:nth-child(3) i{animation-delay:.75s}
  .cap-panel.is-playing .cap-node:nth-child(4) i{animation-delay:.95s}
  .cap-panel.is-playing .cap-next{animation:cap-rise .6s 1s var(--ease) both}

  .cap-panel.is-playing .cap-rota-grid>i{animation:cap-pop .4s var(--ease) both}
  .cap-panel.is-playing .cap-rota-grid>i:nth-child(n+17){animation-delay:.08s}
  .cap-panel.is-playing .cap-rota-grid>i:nth-child(n+25){animation-delay:.16s}
  .cap-panel.is-playing .cap-rota-grid>i:nth-child(n+33){animation-delay:.24s}
  .cap-panel.is-playing .cap-request{animation:cap-rise .6s .5s var(--ease) both}
  .cap-panel.is-playing .cap-wait{animation:cap-hold 2.2s .5s both}
  .cap-panel.is-playing .cap-ok{animation:cap-show .4s 2.2s var(--ease) both}
  .cap-panel.is-playing .cap-rota-grid .l{animation:cap-pop .4s .16s var(--ease) both,cap-glow 1.2s 2.2s ease-out}

  .cap-panel.is-playing .cap-query{animation:cap-type 1.1s .3s steps(18,end) both}
  .cap-panel.is-playing .cap-hit{animation:cap-rise .55s 1.45s var(--ease) both}
  .cap-panel.is-playing .cap-hit-2{animation-delay:1.6s}
  .cap-panel.is-active .cap-caret{animation:cap-blink 1.1s steps(1,end) infinite}

  .cap-panel.is-playing .cap-record{animation:cap-rise .45s var(--ease) both}
  .cap-panel.is-playing .cap-record:nth-child(3){animation-delay:.12s}
  .cap-panel.is-playing .cap-record:nth-child(4){animation-delay:.24s}
  .cap-panel.is-playing .cap-arrow{animation:cap-nudge .6s .45s var(--ease) both}
  .cap-panel.is-playing .cap-bar>i>i{animation:cap-grow .9s .6s var(--ease) both}
  .cap-panel.is-playing .cap-bar-b>i>i{animation-delay:.72s}
  .cap-panel.is-playing .cap-bar-c>i>i{animation-delay:.84s}
}
@keyframes cap-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes cap-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cap-pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@keyframes cap-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes cap-blink{50%{opacity:0}}
@keyframes cap-nudge{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes cap-hold{0%,92%{opacity:1}100%{opacity:0}}
@keyframes cap-show{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes cap-glow{0%{box-shadow:0 0 0 0 rgba(212,154,26,.55)}100%{box-shadow:0 0 0 10px rgba(212,154,26,0)}} /* taste-skill-ignore: interface fragment, request pulse */

/* Tablet and phone: the services stack above the stage, and the support line closes the section */
@media (max-width:960px){
  .cap-intro{grid-template-columns:1fr;gap:20px}
  .cap-body{display:flex;flex-direction:column;gap:16px}
  .cap-menu{display:contents}
  .cap-tabs{order:1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cap-stage{order:2;width:100%}
  .cap-support{order:3;padding:0;margin-top:12px}
  .cap-tab{padding:16px 18px;border-radius:18px;background:rgba(19,69,92,.06)}
  .cap-tab-name{font-size:1.25rem}
  .cap-tab-line{font-size:13px}
  .cap-tab-go{display:none}
  .cap-js .cap-panel{grid-area:auto}
  .cap-js .cap-panel:not(.is-active){display:none}
}
@media (max-width:640px){
  .cap-intro h2{font-size:clamp(34px,10vw,44px)}
  .cap-tabs{grid-template-columns:1fr 1fr;gap:8px}
  .cap-tab{padding:14px}
  .cap-tab-name{font-size:1.0625rem;letter-spacing:-.02em}
  .cap-tab-line{display:none}
  .cap-panel{padding:24px 20px 26px;border-radius:24px}
  .cap-detail{grid-template-columns:1fr;gap:18px}
  .cap-ui{padding:14px}
  .cap-node{font-size:12px}
  .cap-node i{width:30px;height:30px;font-size:13px}
  .cap-route::before,.cap-route::after{top:14px}
  .cap-next{grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;padding:10px 12px}
  .cap-next-meta:nth-of-type(2){display:none}
  .cap-rota-grid{grid-template-columns:56px repeat(7,minmax(0,1fr));gap:3px}
  .cap-rota-grid>b{font-size:12px}
  .cap-rota-grid>span{font-size:12px}
  .cap-rota-grid>i{height:28px;font-size:12px;border-radius:6px}
  .cap-request{font-size:13px;padding:10px 12px}
  .cap-hit .cap-pill{display:none}
  .cap-flow{grid-template-columns:1fr;gap:8px}
  .cap-arrow{justify-self:center;transform:rotate(90deg);font-size:20px;line-height:1}
  .cap-panel.is-playing .cap-arrow{animation:none}
}
@media (max-width:360px){.cap-tabs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cap-tab,.cap-tab-go,.cap-cta,.cap-cta span,.cap-intro-link span,.cap-proof a span{transition:none}}
/* /assets/project-showcase.css */
/* Smartmed project showcase. Original implementation inspired by the layered
   presentation of Overlap Projects. Native scrolling; no wheel interception. */
.ow-showcase{padding:clamp(88px,10vw,152px) 0 0;position:relative}
.ow-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,7vw,120px);align-items:end;padding-bottom:72px}
.ow-eyebrow{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;line-height:1.5}
.ow-intro h2{font-size:clamp(36px,4.7vw,70px);line-height:1.04;font-weight:600;letter-spacing:-.055em;margin-top:26px}
.ow-intro h2 span{color:var(--teal-ink)}
.ow-intro-side>p{max-width:40ch;color:var(--ink-2);font-size:16px;line-height:1.6}
.ow-index{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:32px}
.ow-index a{display:flex;align-items:center;gap:9px;font-size:11px;text-decoration:none;color:var(--ink-3);padding:8px 0;border-bottom:1px solid var(--line)}
.ow-index a span{color:var(--ink);font-size:12px;font-weight:500}
.ow-index a:hover{border-color:var(--teal-ink)}
@media(max-width:680px){.ow-index a{min-height:44px}}
.ow-stack{position:relative;isolation:isolate;padding:0 16px}
.ow-chapter{position:sticky;top:88px;height:calc(100svh - 104px);min-height:620px;margin-bottom:20px;scroll-margin-top:0}
.ow-chapter:nth-child(1){z-index:1}.ow-chapter:nth-child(2){z-index:2}.ow-chapter:nth-child(3){z-index:3}.ow-chapter:nth-child(4){z-index:4}
.ow-chapter:has(:focus-visible){z-index:5}
.ow-surface{position:relative;display:flex;flex-direction:column;height:100%;border-radius:22px;overflow:hidden;border:1px solid rgba(23,63,74,.14);color:var(--ow-ink);background:var(--ow-bg);box-shadow:0 -14px 40px -32px rgba(9,34,45,.35);transform-origin:50% 0;transform:translateY(calc(var(--ow-leave,0)*-16px)) scale(calc(1 - var(--ow-leave,0)*.018));will-change:transform}
.ow-capanet{--ow-bg:#D6E8E4;--ow-ink:#0D2433;--ow-muted:#344E5C;--ow-accent:#1D6C74;--ow-line:rgba(13,36,51,.2);--ow-orbit:#95C4BE}
.ow-ltv{--ow-bg:#EEF4F3;--ow-ink:#0D2433;--ow-muted:#344E5C;--ow-accent:#1D6C74;--ow-line:rgba(13,36,51,.18);--ow-orbit:#A9CDD0}
.ow-heart{--ow-bg:#13455C;--ow-ink:#EEF3F5;--ow-muted:#B6C9D2;--ow-accent:#F2C47A;--ow-line:rgba(238,243,245,.2);--ow-orbit:#356A80}
.ow-chapter-top,.ow-chapter-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 clamp(24px,3.4vw,56px);position:relative;z-index:2;flex-shrink:0}
.ow-chapter-top{padding:27px 0 22px;border-bottom:1px solid var(--ow-line)}
.ow-chapter-top p{display:flex;gap:26px;align-items:center;font-size:12px;font-weight:500}
.ow-num{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--ow-muted)}
.ow-category{border:1px solid var(--ow-line);border-radius:100px;padding:7px 12px;font-size:10px;letter-spacing:.025em}
.ow-chapter-body{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.5fr);align-items:center;gap:20px;max-width:1520px;width:100%;margin:auto;padding:22px clamp(28px,4vw,64px);flex:1;min-height:0}
.ow-story{position:relative;z-index:2;padding:12px 0 20px;max-width:360px}
.ow-story h3{font-size:clamp(54px,6.1vw,94px);font-weight:600;letter-spacing:-.065em;line-height:.94;margin:20px 0 22px}
.ow-capanet .ow-story h3{font-size:clamp(48px,5.6vw,86px)}
.ow-tagline{font-size:clamp(20px,2vw,28px);line-height:1.16;letter-spacing:-.035em;font-weight:500}
.ow-description{max-width:33ch;color:var(--ow-muted);font-size:14px;line-height:1.65;margin-top:20px}
.ow-case-link{display:inline-flex;align-items:center;gap:26px;min-height:48px;margin-top:28px;padding:6px 7px 6px 20px;border:1px solid var(--ow-line);border-radius:99px;text-decoration:none;font-size:13px;font-weight:600;background:var(--ow-ink);color:var(--ow-bg);transition:background .2s,color .2s}
.ow-case-link>span{display:grid;place-items:center;flex:none;width:33px;height:33px;border-radius:50%;border:1px solid currentColor;font-size:21px;font-weight:400;line-height:1;transition:transform .2s}
.ow-case-link:hover>span{transform:rotate(45deg)}
.ow-preview-link{display:flex;align-items:center;gap:12px;border:0;border-bottom:1px solid transparent;padding:8px 0;min-height:40px;margin-top:10px;background:none;color:var(--ow-ink);font-size:11px;cursor:pointer}
.ow-preview-link:hover{border-bottom-color:currentColor}
.ow-preview-link span{font-size:17px}
.ow-project-mark{display:grid;grid-template-columns:repeat(2,9px);gap:4px;width:22px;height:22px}
.ow-project-mark i{background:var(--ow-accent);border-radius:2px}
.ow-route-mark{display:flex;align-items:center;width:55px;height:22px;position:relative;gap:11px}
.ow-route-mark:before{content:"";position:absolute;left:5px;right:5px;height:1px;background:var(--ow-accent)}
.ow-route-mark i{width:11px;height:11px;border:2px solid var(--ow-bg);outline:1px solid var(--ow-accent);background:var(--ow-accent);border-radius:50%;position:relative}
.ow-heart-mark{font-size:33px;line-height:22px;color:var(--ow-accent)}
.ow-stage{position:relative;width:100%;aspect-ratio:1.39;min-width:0;isolation:isolate;transform:translateY(calc(var(--ow-drift,0)*1px))}



.ow-app{display:block;width:100%;height:auto;position:static;transform:none;}
.ow-ltv .ow-app{display:block;width:100%;height:auto;position:static;transform:none;}
.ow-heart .ow-app{display:block;width:100%;height:auto;position:static;transform:none;}
.ow-stage figcaption{position:absolute;bottom:-26px;right:0;color:var(--ow-muted);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.ow-chapter-bottom{border-top:1px solid var(--ow-line);padding:21px 0 24px;color:var(--ow-muted);font-size:10px}
.ow-chapter-bottom p{display:flex;gap:16px;align-items:center}
.ow-chapter-bottom p span{color:var(--ow-accent)}
.ow-chapter-bottom a{display:flex;align-items:center;gap:24px;text-decoration:none;color:var(--ow-ink);font-size:11px}
.ow-chapter-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.ow-chapter-bottom a span{font-size:20px}
.ow-chapter a:focus-visible,.ow-chapter button:focus-visible{outline:2px solid var(--ow-accent);outline-offset:5px}
.ow-collection{padding-top:clamp(80px,10vw,150px);padding-bottom:clamp(64px,8vw,120px);position:relative;z-index:6;background:var(--bg)}
.ow-collection-heading{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:32px;align-items:start;border-top:1px solid var(--line);padding-top:30px;margin-bottom:48px}
.ow-collection-heading h3{font-size:clamp(26px,2.6vw,40px);letter-spacing:-.045em;line-height:1.1;font-weight:600}
.ow-collection-heading>p:last-child{font-size:14px;line-height:1.7;color:var(--ink-2);max-width:38ch}
.ow-archive{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 28px}
.ow-archive-card{display:grid;grid-template-columns:1.06fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:22px;align-items:start}
.ow-thumbnail{border:0;background:var(--bg-2);padding:0;border-radius:12px;overflow:hidden;display:block;position:relative;width:100%;cursor:pointer;text-decoration:none}
.ow-thumbnail img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .6s var(--ease)}
.ow-thumbnail>span{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:500;padding:10px 12px;color:var(--ink-2);background:#E3ECEC}
.ow-thumbnail:hover img{transform:scale(1.035)}
.ow-archive-copy .ow-eyebrow{font-size:9px;color:var(--ink-3);margin-top:2px}
.ow-archive h4{font-size:21px;line-height:1.14;letter-spacing:-.035em;font-weight:600;margin-top:12px}
.ow-archive h4 a{text-decoration:none}
.ow-archive-copy>p:not(.ow-eyebrow){font-size:12px;line-height:1.7;color:var(--ink-2);margin-top:12px;max-width:40ch}
.ow-archive-copy>a{display:inline-flex;gap:12px;font-size:10px;line-height:1.5;margin-top:16px;padding-bottom:4px;text-decoration:none;border-bottom:1px solid var(--line-strong)}
.ow-archive-copy>a:hover{color:var(--teal-ink);border-color:currentColor}
.ow-footnote{margin-top:55px;border-top:1px solid var(--line);padding-top:20px;max-width:100ch;font-size:10px;line-height:1.7;color:var(--ink-3)}
.ow-lightbox{position:fixed;border:1px solid var(--line);border-radius:18px;padding:24px;max-width:1320px;width:calc(100% - 40px);max-height:calc(100svh - 40px);color:var(--ink);background:#EFF4F4;overscroll-behavior:contain}
.ow-lightbox::backdrop{background:rgba(7,27,39,.82);backdrop-filter:blur(7px)}
.ow-lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.ow-lightbox h2{font-size:24px;letter-spacing:-.035em;line-height:1.2;margin-top:4px}
.ow-close{display:flex;align-items:center;gap:15px;min-height:44px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:40px;background:transparent;font-size:12px;cursor:pointer;flex-shrink:0}
.ow-close span{font-size:26px;line-height:1}
.ow-lightbox-image{display:grid;place-items:center;background:#E0E9E9;border-radius:12px;padding:18px;overflow:hidden}
.ow-lightbox-image img{max-height:calc(100svh - 250px);width:auto;max-width:100%;height:auto;object-fit:contain;border-radius:10px}
.ow-lightbox-bottom{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-top:20px;font-size:11px;line-height:1.6;color:var(--ink-2)}
.ow-lightbox-bottom p{max-width:75ch}.ow-lightbox-bottom a{white-space:nowrap;text-underline-offset:4px}
html.ow-dialog-open{overflow:hidden;scrollbar-gutter:stable}
@media(min-width:1700px){.ow-stage{max-width:900px;justify-self:end}.ow-chapter-body{grid-template-columns:.85fr 1.5fr}.ow-story{max-width:420px}.ow-description{font-size:16px}.ow-tagline{font-size:32px}}
@media(max-width:1100px){.ow-chapter-body{grid-template-columns:320px minmax(0,1fr);gap:0;padding-left:32px;padding-right:32px}.ow-story h3{font-size:65px}.ow-capanet .ow-story h3{font-size:54px}.ow-stage{aspect-ratio:1.22}.ow-app{display:block;width:100%;height:auto;position:static;transform:none;}.ow-stage figcaption{bottom:-22px;font-size:8px}.ow-archive-card{grid-template-columns:1fr}.ow-thumbnail img{aspect-ratio:1.9}.ow-archive h4{font-size:25px}.ow-archive-copy>p:not(.ow-eyebrow){font-size:14px;max-width:48ch}.ow-archive-copy>a{font-size:12px}}
@media(max-width:900px){.ow-intro{grid-template-columns:1fr 1fr;gap:28px}.ow-intro h2{font-size:40px}.ow-chapter{position:relative;top:auto;height:auto;min-height:0;margin-bottom:16px}.ow-surface{will-change:auto;transform:none}.ow-chapter-body{grid-template-columns:1fr 1.4fr;padding:24px}.ow-story h3{font-size:60px}.ow-capanet .ow-story h3{font-size:44px}.ow-tagline{font-size:21px}.ow-description{font-size:13px}.ow-stage{aspect-ratio:1.15}.ow-app{display:block;width:100%;height:auto;position:static;transform:none;}.ow-stage figcaption{bottom:-10px;font-size:7px}.ow-chapter-top{padding:22px 0 18px;margin:0 24px}.ow-chapter-top p{gap:16px;font-size:11px}.ow-chapter-bottom{margin:0 24px}.ow-chapter-bottom p{gap:10px;font-size:9px}.ow-case-link{font-size:12px;gap:18px;margin-top:22px}.ow-collection-heading{grid-template-columns:1fr 1fr}.ow-collection-heading .ow-eyebrow{grid-column:1/-1}.ow-collection-heading>p:last-child{font-size:13px}}
@media(max-width:680px){.ow-showcase{padding-top:72px}.ow-intro{grid-template-columns:1fr;padding-bottom:36px;gap:26px}.ow-intro h2{font-size:39px;margin-top:20px}.ow-intro-side>p{font-size:14px;max-width:42ch}.ow-index{margin-top:20px;gap:8px 20px}.ow-index a{font-size:10px;gap:7px}.ow-index a span{font-size:11px}.ow-stack{padding:0 10px}.ow-surface{border-radius:18px}.ow-chapter-top{margin:0 22px;padding:20px 0 16px;gap:10px}.ow-chapter-top p{font-size:10px;gap:14px}.ow-category{display:none}.ow-chapter-body{grid-template-columns:1fr;padding:22px 24px 36px;gap:6px}.ow-story{max-width:none;padding:0}.ow-story h3,.ow-capanet .ow-story h3{font-size:55px;margin:17px 0}.ow-story h3 br{display:none}.ow-ltv .ow-story h3{font-size:48px}.ow-ltv .ow-story h3 br:after,.ow-heart .ow-story h3 br:after{content:" "}.ow-tagline{font-size:22px}.ow-tagline br{display:none}.ow-description{max-width:43ch;font-size:13px;line-height:1.65;margin-top:15px}.ow-case-link{margin-top:20px;min-height:46px}.ow-preview-link{font-size:10px;margin-top:5px}.ow-project-mark{grid-template-columns:repeat(2,7px);gap:3px;width:17px;height:17px}.ow-route-mark{height:17px}.ow-heart-mark{font-size:27px}.ow-stage{aspect-ratio:1.33;margin:22px 0 16px;transform:none}.ow-app{display:block;width:100%;height:auto;position:static;transform:none;}.ow-stage figcaption{bottom:-25px;right:0;font-size:7px;letter-spacing:.015em}.ow-chapter-bottom{margin:0 22px;padding:18px 0;align-items:start}.ow-chapter-bottom p{display:none}.ow-chapter-bottom a{width:100%;justify-content:space-between;font-size:11px}.ow-collection{padding-top:66px;padding-bottom:64px}.ow-collection-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px;padding-top:24px}.ow-collection-heading h3{font-size:31px}.ow-collection-heading>p:last-child{max-width:42ch;font-size:13px}.ow-archive{grid-template-columns:1fr;gap:34px}.ow-archive-card{grid-template-columns:.95fr 1fr;gap:18px;padding-top:20px}.ow-thumbnail img{aspect-ratio:1.05;object-fit:cover;object-position:center}.ow-thumbnail>span{font-size:8px;padding:8px}.ow-archive h4{font-size:20px;margin-top:9px}.ow-archive-copy>p:not(.ow-eyebrow){font-size:11px;line-height:1.6;margin-top:9px}.ow-archive-copy>a{font-size:10px;margin-top:12px;gap:8px}.ow-archive-copy .ow-eyebrow{font-size:8px}.ow-footnote{margin-top:34px;font-size:9px}.ow-lightbox{width:calc(100% - 20px);max-height:calc(100svh - 24px);padding:16px;border-radius:14px}.ow-lightbox-top{gap:12px}.ow-lightbox h2{font-size:22px}.ow-lightbox .ow-eyebrow{font-size:8px}.ow-close{font-size:10px;gap:9px;padding:4px 10px}.ow-lightbox-image{padding:5px;border-radius:7px}.ow-lightbox-image img{border-radius:5px}.ow-lightbox-bottom{display:block;font-size:10px;margin-top:15px}.ow-lightbox-bottom a{display:inline-block;margin-top:12px}}
@media(min-width:901px) and (max-height:740px){.ow-chapter{position:relative;top:auto;height:auto;min-height:620px}.ow-surface{transform:none;will-change:auto}.ow-chapter-body{min-height:450px}.ow-story h3{font-size:65px}.ow-capanet .ow-story h3{font-size:56px}.ow-story{padding:6px 0}.ow-description{margin-top:14px}.ow-case-link{margin-top:20px}.ow-stage{max-width:690px;justify-self:end}.ow-stage figcaption{bottom:-18px}}
@media(prefers-reduced-motion:reduce){.ow-chapter{position:relative;top:auto}.ow-thumbnail img,.ow-case-link>span{transition:none}.ow-thumbnail:hover img,.ow-case-link:hover>span{transform:none}.ow-lightbox::backdrop{backdrop-filter:none}}
@media print{.ow-chapter{position:relative;top:auto;height:auto;min-height:0;break-inside:avoid}.ow-surface,.ow-stage{transform:none}.ow-chapter-body{min-height:500px}.ow-preview-link,.ow-chapter-bottom{display:none}.ow-archive-card{break-inside:avoid}}

/* Nursing rota: featured workforce project. */
.ow-nursing{--ow-bg:#0F2D3F;--ow-ink:#EEF3F5;--ow-muted:#A9BAC4;--ow-accent:#8CC9CE;--ow-line:rgba(238,243,245,.18);--ow-orbit:#2F5568}
.ow-nursing .ow-story h3{font-size:clamp(48px,5.5vw,84px)}
.ow-nursing .ow-app{display:block;width:100%;height:auto;position:static;transform:none;}
.ow-nursing-mark{display:flex;align-items:end;gap:5px;height:22px}
.ow-nursing-mark i{display:block;width:7px;background:var(--ow-accent);border-radius:2px}
.ow-nursing-mark i:nth-child(1){height:15px}.ow-nursing-mark i:nth-child(2){height:22px}.ow-nursing-mark i:nth-child(3){height:11px}
@media(min-width:901px) and (max-height:740px){.ow-nursing .ow-stage{aspect-ratio:1.6}.ow-nursing .ow-app{display:block;width:100%;height:auto;position:static;transform:none;}.ow-nursing .ow-story h3{font-size:59px;margin:14px 0 17px}.ow-nursing .ow-story{padding:4px 0}.ow-nursing .ow-description{font-size:13px;line-height:1.65}.ow-nursing .ow-preview-link{min-height:34px;margin-top:5px}}
@media(max-width:900px){.ow-nursing .ow-story h3{font-size:clamp(45px,7vw,66px)}.ow-nursing .ow-app{display:block;width:100%;height:auto;position:static;transform:none;}}
@media(prefers-reduced-motion:reduce){}

/* Real product screens: level, tightly cropped and given most of the card. */
.ow-chapter-body{grid-template-columns:minmax(250px,.7fr) minmax(0,1.7fr);gap:clamp(24px,3vw,48px);padding-left:clamp(28px,3vw,48px);padding-right:clamp(28px,3vw,48px)}
.ow-surface{transform:none;will-change:auto}
.ow-stage{aspect-ratio:auto;transform:none;margin:0;width:100%;max-width:none;min-width:0}
.ow-stage figcaption{position:static;text-align:left;font-size:12px;line-height:1.6;letter-spacing:0;text-transform:none;margin-top:14px;color:var(--ow-ink)}
.ow-app,.ow-nursing .ow-app,.ow-ltv .ow-app,.ow-heart .ow-app{display:block;position:static;width:100%;height:auto;max-width:100%;transform:none;border:0;border-radius:0;box-shadow:none}
.ow-preview-link,.ow-lightbox-bottom,.ow-thumbnail>span,.ow-footnote{font-size:12px}
.ow-lightbox .ow-eyebrow{font-size:12px;color:var(--ink)}
.ow-lightbox-image{background:var(--paper);padding:0;border:1px solid var(--line);border-radius:4px}
.ow-lightbox-image img{border-radius:0;max-height:calc(100svh - 240px)}
.ow-thumbnail img{object-fit:contain;background:var(--paper);transform:none;transition:none}
.ow-thumbnail:hover img{transform:none}
.ow-thumbnail>span{background:var(--paper);color:var(--ink)}
@media(max-width:1100px){.ow-chapter-body{grid-template-columns:260px minmax(0,1fr);gap:26px}.ow-stage{aspect-ratio:auto}.ow-stage figcaption{font-size:12px;bottom:auto}}
@media(max-width:900px){.ow-chapter-body{grid-template-columns:1fr;gap:30px}.ow-story{max-width:65ch}.ow-stage{aspect-ratio:auto;margin:0}.ow-stage figcaption{font-size:12px}}
@media(max-width:680px){.ow-chapter-body{padding:24px 18px 30px;gap:28px}.ow-stage{margin:0;aspect-ratio:auto}.ow-stage figcaption,.ow-preview-link,.ow-close,.ow-lightbox-bottom,.ow-thumbnail>span,.ow-footnote{font-size:12px}.ow-lightbox .ow-eyebrow{font-size:12px}.ow-lightbox-image{overflow:auto;display:block}.ow-lightbox-image img{min-width:1000px;max-width:none;max-height:none}.ow-lightbox{overflow:auto}}

/* Keep "Complex care. Considered software." to two lines: on tablets the heading takes the full
   width above its intro, and on phones it scales with the screen */
@media(max-width:900px){.ow-intro{grid-template-columns:1fr}}
@media(max-width:680px){.ow-intro h2{font-size:clamp(28px,8.4vw,39px)}}

/* Readability floor: 13px for what people read, 12px for small labels */
.ow-category,.ow-archive-copy a,.ow-chapter-bottom a,.ow-chapter-bottom p,.ow-preview-link,.ow-footnote,.ow-chapter-top p{font-size:13px}
.ow-archive-copy p{font-size:14px}
.ow-eyebrow,.ow-num,.ow-index a{font-size:12px}
.ow-showcase .ow-archive-copy .ow-eyebrow{font-size:12px}
.ow-showcase .ow-archive-copy>p:not(.ow-eyebrow){font-size:14px}
.ow-showcase .ow-archive-copy>a{font-size:13px}

.ow-showcase .ow-live-tool .ow-eyebrow{font-size:12px}

/* More of our work: four real screens, each cropped to its most telling part (pre-cropped files in
   assets/img/collection, so the build never wraps them in browser chrome). Click a screen to open it
   full size; one link under each. Four across, two on tablets, a swipeable row on phones. */
.ow-strip-head{border-top:1px solid var(--line);padding-top:30px}
.ow-strip-head h3{margin-top:14px;font-size:clamp(28px,3vw,44px);line-height:1.08;letter-spacing:-.045em;font-weight:600;max-width:42ch}
.ow-strip{list-style:none;margin:clamp(32px,3.4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.8vw,28px)}
.ow-strip-item{display:flex;flex-direction:column;min-width:0}
.ow-strip-shot{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:16px;overflow:hidden;background:#E3ECEB;box-shadow:0 0 0 1px rgba(13,36,51,.12)}
.ow-strip-shot img{display:block;width:100%;height:100%;object-fit:cover}
.ow-strip-item h4{margin-top:18px;font-size:1.25rem;line-height:1.2;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.ow-strip-item p{margin-top:8px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.ow-strip-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:auto;padding-top:12px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line-strong)}
.ow-strip-link span{transition:transform .3s var(--ease)}
.ow-strip-link:hover{text-decoration-color:currentColor}
.ow-strip-link:hover span{transform:translate(2px,-2px)}
@media(max-width:1100px){.ow-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}}
@media(max-width:680px){
  .ow-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .ow-strip::-webkit-scrollbar{display:none}
  .ow-strip-item{flex:0 0 82%;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.ow-strip-link span{transition:none}}

/* Selected work, 29 October 2026. The screens are shown sharp in place, with no viewer:
   on desktop each screen keeps the full width of its stage and is cropped from the top to fit
   the card's height, so it never runs over the chapter footer. */
@media(min-width:901px) and (min-height:741px){
  .ow-chapter-body{align-items:stretch}
  .ow-story{align-self:center}
  .ow-stage{display:flex;align-items:center;height:100%;min-height:0}
  .ow-stage .product-screen{display:flex;flex-direction:column;width:100%;max-height:100%;overflow:hidden}
  .ow-stage .product-screen>.ow-app{flex:0 1 auto;min-height:0;height:auto;object-fit:cover;object-position:top left}
}
/* One light and one dark, alternating: mint for CAPANET and LTV Tracker, the services navy
   (as on the award card) for the nursing rota and Heart ACS. */
.ow-ltv{--ow-bg:#D6E8E4;--ow-line:rgba(13,36,51,.2)}
.ow-nursing,.ow-heart{--ow-bg:#13455C;--ow-muted:#C2D2DA;--ow-line:rgba(238,243,245,.18)}
.ow-nursing .ow-surface,.ow-heart .ow-surface{background:radial-gradient(ellipse at 80% 40%, #1D5873 0%, var(--navy) 40%, var(--night-2) 88%);border-color:rgba(255,255,255,.09)}
/* The same type as Our services and Recognition: 600 subheads, body-size running text */
.ow-tagline{font-weight:600}
.ow-description,.ow-nursing .ow-description{font-size:var(--fs-body);line-height:1.5}
.ow-case-link{font-size:15px}
@media(max-width:1100px){.ow-description,.ow-nursing .ow-description{font-size:16px}}
/* /assets/product-screens.css */
/* Browser chrome is HTML, so labels remain sharp and readable at every size. */
.product-screen{display:block;width:100%;overflow:hidden;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 12px 30px -20px var(--night)}
.product-browser{display:block;text-align:left;color:var(--ink-2);background:var(--paper);font:12px/1.4 var(--sans);letter-spacing:0;white-space:nowrap;cursor:default}
.product-browser-tabs{display:flex;align-items:center;gap:13px;height:34px;padding:5px 14px 0;background:var(--bg);border-bottom:1px solid var(--line)}
.product-window-dots{display:flex;gap:4px;align-items:center;margin-right:3px}.product-window-dots i{display:block;width:7px;height:7px;border:1px solid var(--ink-3);border-radius:50%}
.product-browser-tab{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 9px;border-radius:6px 6px 0 0;background:var(--paper);height:29px;min-width:180px;max-width:65%;color:var(--ink)}
.product-tab-icon{font-size:14px;color:var(--teal-ink)}.product-browser-tab-label{overflow:hidden;text-overflow:ellipsis}.product-tab-x{font-size:15px;margin-left:auto;padding-left:15px}.product-new-tab{font-size:17px}.product-window-end{margin-left:auto;color:var(--ink-3);font-size:12px}
.product-browser-toolbar{display:flex;align-items:center;gap:14px;padding:6px 13px;background:var(--paper);height:36px;border-bottom:1px solid var(--line)}
.product-browser-tools{flex:none;font-size:15px;color:var(--ink-3);letter-spacing:1px}.product-browser-location{display:flex;align-items:center;gap:8px;min-width:0;flex:1;border-radius:5px;padding:4px 10px;background:var(--bg);font-size:12px}.product-lock{font-size:15px;color:var(--ink-3)}.product-browser-address{overflow:hidden;text-overflow:ellipsis}.product-browser-menu{font-size:20px;line-height:1;color:var(--ink-3)}
.product-screen-open{display:block;width:100%;padding:0;border:0;background:var(--paper);cursor:zoom-in}.product-screen img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:contain;border-radius:0;transform:none;box-shadow:none}.product-screen :focus-visible{outline:3px solid var(--teal-ink);outline-offset:-3px}
.product-screen-caption{font-size:12px;line-height:1.7;color:var(--ink);margin:14px 0 0}.product-case-frame .product-screen{max-width:1280px;margin-inline:auto}.product-case-frame .product-screen img{max-width:none;margin:0;border-radius:0;box-shadow:none}.product-case-frame>.product-screen-caption{max-width:1280px;margin-inline:auto;padding-top:14px}.case-gallery .product-screen-caption{font-size:12px;color:var(--ink)}
.ow-thumbnail>.product-screen{padding:0;background:var(--paper);border-radius:9px;font-size:inherit}.ow-thumbnail .product-browser-tab{min-width:0}.ow-thumbnail .product-window-end,.ow-thumbnail .product-new-tab{display:none}.ow-thumbnail .product-browser-tabs{padding-inline:7px;gap:5px}.ow-thumbnail .product-window-dots{display:none}.ow-thumbnail .product-browser-toolbar{padding:5px 8px;gap:5px}.ow-thumbnail .product-browser-tools{display:none}.ow-thumbnail img{aspect-ratio:5/3!important;object-fit:contain!important}
.ow-stage{padding:8px 0}.ow-chapter-body{grid-template-columns:minmax(245px,.58fr) minmax(0,1.85fr);gap:34px}.ow-story h3,.ow-nursing .ow-story h3{font-size:clamp(52px,5.1vw,78px)}.ow-capanet .ow-story h3{font-size:clamp(45px,4.8vw,73px)}
.ow-lightbox-image{display:block;padding:0}.ow-lightbox-image .product-screen{box-shadow:none;border:0}.ow-lightbox-image img{width:100%;height:auto;max-height:calc(100svh - 310px);object-fit:contain}.ow-lightbox-image .product-browser{position:sticky;top:0;z-index:1}
.rv-real-screens{padding:0;background:var(--paper);border-color:var(--line-strong);border-radius:10px;overflow:hidden;--rv-count:3;box-shadow:0 18px 40px -24px var(--night)}.rv-real-screens .rv-viewer-top{padding:20px;color:var(--ink)}.rv-real-screens .rv-viewer-top>span{font-size:12px;border-color:var(--line-strong);color:var(--ink)}.rv-real-screens .rv-tabs{padding:0 20px 20px;grid-template-columns:repeat(3,minmax(0,1fr))}.rv-real-screens .rv-tabs button{font-size:12px;background:var(--paper);color:var(--ink);border-color:var(--line-strong)}.rv-real-screens .rv-tabs button>span:first-child{color:var(--ink);font-size:12px}.rv-real-screens .rv-tabs button[aria-selected=true]{background:var(--navy);color:var(--paper);border-color:var(--navy)}.rv-real-screens .rv-tabs button[aria-selected=true]>span{color:var(--paper)}.rv-real-screens .product-screen{border-width:1px 0;border-radius:0;box-shadow:none}.rv-real-screens .rv-viewport{border-radius:0;background:var(--paper)}.rv-real-screens .rv-viewport img{width:100%;max-height:none}.rv-real-screens .rv-viewport.rv-zoomed img{width:max(100%,1600px);max-width:none}.rv-real-screens .rv-footer{padding:18px 20px;color:var(--ink)}.rv-real-screens .rv-caption,.rv-real-screens .rv-actions button,.rv-real-screens .rv-actions a{font-size:12px;color:var(--ink)}.rv-real-screens :focus-visible{outline:3px solid var(--teal-ink);outline-offset:-3px}
@media(max-width:1100px){.ow-chapter-body{grid-template-columns:245px minmax(0,1fr);gap:25px}}
@media(max-width:900px){.ow-chapter-body{grid-template-columns:1fr}.ow-stage{padding:0}.ow-story h3,.ow-nursing .ow-story h3{font-size:60px}}
@media(max-width:680px){.product-screen{border-radius:7px}.product-browser-tabs{gap:7px;padding-inline:9px}.product-window-dots,.product-new-tab,.product-window-end{display:none}.product-browser-tab{height:29px;max-width:100%;min-width:0}.product-browser-toolbar{gap:8px;padding-inline:9px}.product-browser-tools{font-size:13px}.product-browser-location{font-size:12px}.ow-chapter-body{grid-template-columns:1fr}.ow-story h3,.ow-nursing .ow-story h3{font-size:54px}.ow-lightbox-image img{min-width:1000px;max-width:none;max-height:none}.ow-lightbox-image .product-browser{min-width:100%;width:100%}.ow-lightbox-image .product-screen{overflow:auto}.rv-real-screens .rv-viewer-top{align-items:start;flex-direction:column;gap:10px}.rv-real-screens .rv-tabs{padding:0 12px 14px;gap:6px}.rv-real-screens .rv-tabs button{padding:10px 8px;justify-content:center}.rv-real-screens .rv-tabs button>span{display:none}.rv-real-screens .rv-viewer-top,.rv-real-screens .rv-footer{padding:16px 12px}}

.case-gallery .case-gallery-feature{grid-column:1/-1;scroll-margin-top:100px}

/* Desktop screens need a desktop-sized gallery, with no half-width downscaling. */
.case-gallery{grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.case-gallery figure{padding:clamp(10px,1.5vw,20px)}
.case-gallery .product-screen{max-width:1280px;margin-inline:auto}
.ow-lightbox-image img{max-height:none}
.ow-lightbox-image{overflow:auto;max-height:calc(100svh - 220px)}
.ow-lightbox-footer p:empty{display:none}
@media(max-width:680px){.ow-lightbox-image{max-height:calc(100svh - 200px)}.case-gallery figure{padding:8px}}

/* Preserve the native proportions of the supplied Heart ACS captures. */
.ow-heart .ow-stage{aspect-ratio:auto}

/* Native original captures retain their proportions and source-width limits. */
.ow-capanet .ow-stage{aspect-ratio:auto}
.case-gallery .product-screen[data-product-screen="capanet-daily-original"],.product-case-frame .product-screen[data-product-screen="capanet-daily-original"]{max-width:1119px}
.case-gallery .product-screen[data-product-screen="capanet-capacity-entry"],.product-case-frame .product-screen[data-product-screen="capanet-capacity-entry"]{max-width:964px}
.case-gallery .product-screen[data-product-screen="capanet-extract-original"],.product-case-frame .product-screen[data-product-screen="capanet-extract-original"]{max-width:1119px}
.case-gallery .product-screen[data-product-screen="capanet-covid-original"],.product-case-frame .product-screen[data-product-screen="capanet-covid-original"]{max-width:1270px}
.product-screen[data-product-screen="heartacs-welcome"] img{aspect-ratio:2160/1296}
.product-screen[data-product-screen="heartacs-menu"] img{aspect-ratio:2160/1296}
.product-screen[data-product-screen="heartacs-patient"] img{aspect-ratio:1600/1000}
.product-screen[data-product-screen="heartacs-coronary"] img{aspect-ratio:1400/864}
.product-screen[data-product-screen="capanet-regional-original"] img{aspect-ratio:1353/724}
.product-screen[data-product-screen="capanet-service-map"] img{aspect-ratio:1354/563}
.product-screen[data-product-screen="capanet-activity-original"] img{aspect-ratio:1349/544}
.product-screen[data-product-screen="capanet-daily-original"] img{aspect-ratio:1119/565}
.product-screen[data-product-screen="capanet-capacity-entry"] img{aspect-ratio:964/1024}
.product-screen[data-product-screen="capanet-extract-original"] img{aspect-ratio:1119/622}
.product-screen[data-product-screen="capanet-covid-original"] img{aspect-ratio:1270/870}
.product-screen[data-product-screen="capanet-menu-original"] img{aspect-ratio:1876/876}
/* /assets/recognition-showcase.css */
/* Award centrepiece and healthcare logo cloud. Scoped; no runtime dependencies. */
.rc-section{background:var(--paper);padding:clamp(72px,8vw,120px) 0;color:#163E43;scroll-margin-top:74px}
.rc-award{position:relative;border:1px solid #365359;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 80% 40%,#244B4B 0%,#173A40 36%,#112F38 73%);color:#EBF4F5;box-shadow:0 24px 70px -55px #163A4380}
.rc-award-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 clamp(25px,4.2vw,64px);padding:27px 0;border-bottom:1px solid #D9D9B929}
.rc-award-top h2{font-size:10px;line-height:1.6;letter-spacing:.1em;font-weight:500;text-transform:uppercase;color:#CFD8D8}
.rc-award-top>span{font-size:10px;line-height:1.6;color:#E2D2A8;display:flex;align-items:center;gap:10px}.rc-award-top i{width:5px;height:5px;display:inline-block;border-radius:50%;background:#E3C58E;box-shadow:0 0 0 4px #C7AA7020}
.rc-award-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:15px;padding:17px clamp(25px,4.2vw,64px) 24px}
.rc-award-copy{padding:28px 0 30px;position:relative;z-index:1}.rc-overline{font-size:12px;line-height:1.7;color:#C5D3D3;margin-bottom:24px}
.rc-award-copy h3{font-size:clamp(45px,5.5vw,82px);font-weight:500;line-height:1.06;letter-spacing:-.055em;max-width:none}.rc-award-copy h3>span{color:#E2C894;display:block}
.rc-award-description{font-size:14px;line-height:1.85;color:#C6D4D4;max-width:45ch;margin-top:27px}
.rc-award-link{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;color:#CCF0F1;border-bottom:1px solid #D5C39277;text-decoration:none;font-size:12px;line-height:1.7;padding:14px 0 10px;margin-top:19px}
.rc-award-link>span{font-size:20px;line-height:1;transition:transform .25s}.rc-award-link:hover>span{transform:translate(3px,-3px)}
.rc-award-art{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}
.rc-art-glow{position:absolute;inset:10% -15%;background:radial-gradient(ellipse,#C7BB7E12,transparent 67%);pointer-events:none}
.rc-laurel{width:100%;max-width:410px;aspect-ratio:1;position:relative;filter:drop-shadow(0 10px 7px #071B1B66);transform:rotate(-4deg);transition:transform 1s cubic-bezier(.2,.7,.1,1)}
.rc-award:hover .rc-laurel{transform:rotate(0deg) translateY(-3px)}
.rc-laurel>img{width:100%;height:100%;display:block;object-fit:contain}
.rc-laurel-copy{position:absolute;left:50%;top:48.2%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;width:60%;color:#E9D7AB}
.rc-laurel-copy>span{font-size:9px;line-height:1.7;text-transform:uppercase;letter-spacing:.17em}
.rc-laurel-copy>strong{font-size:clamp(34px,4vw,58px);line-height:1.2;font-weight:500;letter-spacing:-.05em;margin-top:15px}
.rc-laurel-copy>i{width:37px;height:1px;background:#BDA77C;margin-top:20px}
.rc-laurel-copy>small{font-size:10px;line-height:1.7;letter-spacing:.06em;margin-top:17px;color:#C9BEA3}
.rc-art-caption{font-size:9px;line-height:1.6;letter-spacing:.09em;text-transform:uppercase;color:#A5B6B7;margin-top:-10px;padding-bottom:21px}
.rc-award-foot{display:grid;grid-template-columns:1fr auto;align-items:start;gap:22px;border-top:1px solid #D4D8BA26;margin:0 clamp(25px,4.2vw,64px);padding:20px 0 25px;font-size:11px;line-height:1.8;color:#B6C7C7}
.rc-award-foot>p>span{color:#E1D4B4}
.rc-award-details{max-width:390px}.rc-award-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:20px;font-size:10px;min-height:24px;color:#CCDDDE}.rc-award-details summary::-webkit-details-marker{display:none}.rc-award-details summary>span{font-size:15px}
.rc-award-details>div{padding-top:13px;color:#BCCDCE;font-size:10px;line-height:1.9}.rc-award-details a{display:inline-block;margin-top:7px;color:#E7D8AF;text-underline-offset:3px}
.rc-cloud{padding-top:clamp(45px,6vw,78px)}
.rc-cloud-heading{margin-bottom:30px}.rc-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.08em;line-height:1.6;color:#5F767F;font-weight:500}
.rc-cloud-heading h3{font-size:clamp(32px,3.5vw,47px);line-height:1.08;font-weight:500;letter-spacing:-.045em;margin-top:15px}.rc-cloud-heading h3 span{color:#537682}



.rc-marquee{display:grid;gap:12px;background:#F6FAFA;border:1px solid #D1DEDE;border-radius:17px;padding:24px 0;overflow:hidden}
.rc-window{min-width:0}.rc-track{width:100%}.rc-logo-group{list-style:none;margin:0;padding:0 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rc-logo{min-width:0;display:flex;align-items:stretch;justify-content:center;background:transparent}
.rc-logo figure{margin:0;padding:15px 20px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:124px;border-radius:9px}
.rc-logo-image{height:65px;width:100%;display:flex;justify-content:center;align-items:center}
.rc-logo img{display:block;width:100%;height:100%;object-fit:contain}
.rc-logo figcaption{font-size:9px;line-height:1.6;color:#5F6F76;margin-top:10px;text-align:center;max-width:27ch}

.rc-clone{display:none}
.rc-motion-ready .rc-window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rc-motion-ready .rc-track{width:max-content;display:flex;animation:rc-marquee-slide 70s linear infinite;animation-play-state:paused}
.rc-motion-ready .rc-logo-group{display:flex;flex:none;gap:16px;padding:0 16px 0 0}
.rc-motion-ready .rc-logo{width:232px;flex:none}
.rc-motion-ready .rc-clone{display:flex}
.rc-motion-ready .rc-window[data-row="2"] .rc-track{animation-duration:76s;animation-direction:reverse}
.rc-motion-ready.is-visible .rc-track{animation-play-state:running}
.rc-motion-ready .rc-window:hover .rc-track,.rc-motion-ready .rc-marquee:focus-within .rc-track{animation-play-state:paused!important}
@keyframes rc-marquee-slide{to{transform:translateX(-50%)}}
.rc-cloud-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-bottom:1px solid #C9D8D8;padding:22px 0 24px;margin-top:4px}
.rc-cloud-foot>p{font-size:11px;line-height:1.8;color:#62767E}.rc-cloud-foot>p>strong{font-weight:600;color:#395A66}
.rc-all-teams{max-width:700px}
.rc-all-teams summary{list-style:none;cursor:pointer;font-size:11px;line-height:1.8;display:flex;align-items:center;justify-content:flex-end;gap:20px;min-height:25px;color:#3D5C67}
.rc-all-teams summary::-webkit-details-marker{display:none}.rc-all-teams summary>span{font-size:16px}
.rc-all-teams[open] summary>span,.rc-award-details[open] summary>span{transform:rotate(45deg)}
.rc-all-teams ul{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 24px;font-size:11px;line-height:1.8;color:#526D76}
.rc-section :is(a,button,summary):focus-visible{outline:2px solid #77999A;outline-offset:5px}
.rc-award :is(a,summary):focus-visible{outline-color:#E3CD9D}
@media(max-width:1050px){.rc-award-grid{grid-template-columns:1.1fr 1fr;gap:0}.rc-award-copy h3{font-size:clamp(48px,6vw,67px)}.rc-award-description{font-size:13px}.rc-laurel-copy>span{font-size:8px}.rc-laurel-copy>strong{font-size:42px}.rc-laurel-copy>small{font-size:9px}.rc-laurel-copy>i{margin-top:15px}.rc-logo-group{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.rc-award{border-radius:19px}.rc-award-top{padding:22px 0;align-items:flex-start;gap:17px}.rc-award-top h2{max-width:17ch;font-size:9px}.rc-award-top>span{font-size:9px;gap:8px;text-align:right}.rc-award-grid{grid-template-columns:1fr;padding-top:25px;padding-bottom:0;gap:0}.rc-award-copy{padding:0}.rc-overline{font-size:11px;margin-bottom:21px}.rc-award-copy h3{font-size:clamp(48px,8vw,65px);max-width:12ch}.rc-award-description{font-size:13px;max-width:52ch;margin-top:23px}.rc-award-link{font-size:11px;gap:20px;margin-top:13px;max-width:100%}.rc-award-art{max-width:380px;width:100%;justify-self:center;margin-top:8px}.rc-laurel{max-width:340px}.rc-laurel-copy>strong{font-size:41px}.rc-laurel-copy>span{font-size:8px}.rc-laurel-copy>small{font-size:9px}.rc-laurel-copy>i{margin-top:13px}.rc-art-caption{font-size:8px;margin-top:-10px;padding-bottom:25px}.rc-award-foot{grid-template-columns:1fr;gap:9px;padding-top:20px;padding-bottom:22px}.rc-award-details summary{justify-content:flex-start;font-size:11px}.rc-award-foot>p{font-size:10px}.rc-cloud-heading{margin-bottom:23px}.rc-cloud-heading h3{font-size:38px}.rc-marquee{padding:15px 0;gap:7px}.rc-motion-ready .rc-logo{width:210px}.rc-motion-ready .rc-logo-group{gap:8px;padding-right:8px}.rc-logo figure{padding:13px 16px;min-height:123px}.rc-logo-image{height:65px}.rc-logo figcaption{font-size:9px}.rc-logo-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px}.rc-cloud-foot{display:block;padding-top:19px}.rc-all-teams{margin-top:15px}.rc-all-teams summary{justify-content:flex-start}.rc-all-teams ul{font-size:11px;gap:11px 18px}.rc-section{padding-top:65px;padding-bottom:65px}}
@media(max-width:440px){.rc-award-grid,.rc-award-top,.rc-award-foot{margin-left:22px;margin-right:22px}.rc-award-grid{padding-left:0;padding-right:0}.rc-award-top{gap:12px}.rc-award-top h2{font-size:8px;max-width:17ch}.rc-award-top>span{font-size:8px;max-width:17ch}.rc-award-top i{flex:none}.rc-award-copy h3{font-size:clamp(40px,11vw,49px)}.rc-award-description{font-size:12px;line-height:1.9}.rc-overline{font-size:10px}.rc-award-link{font-size:10px;gap:17px}.rc-award-art{max-width:280px;margin-top:18px}.rc-laurel-copy>strong{font-size:35px;margin-top:10px}.rc-laurel-copy>span{font-size:7px;letter-spacing:.12em}.rc-laurel-copy>small{font-size:8px;margin-top:11px}.rc-laurel-copy>i{margin-top:12px}.rc-cloud-heading h3{font-size:34px}.rc-all-teams ul{grid-template-columns:1fr}.rc-motion-ready .rc-logo{width:195px}.rc-logo figcaption{font-size:9px}.rc-logo-image{height:61px}.rc-logo figure{padding:12px 14px}.rc-logo-group{grid-template-columns:1fr 1fr}.rc-cloud-foot{font-size:10px}}
@media(prefers-reduced-motion:reduce){.rc-laurel,.rc-award-link>span{transition:none}.rc-award:hover .rc-laurel{transform:none}.rc-motion-ready .rc-track{animation:none;transform:none;display:block;width:100%}.rc-motion-ready .rc-logo-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px}.rc-motion-ready .rc-logo{width:auto}.rc-motion-ready .rc-clone{display:none}.rc-motion-ready .rc-window{mask-image:none;-webkit-mask-image:none;overflow:visible}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.rc-motion-ready .rc-logo-group{grid-template-columns:1fr 1fr;gap:8px;padding:0 12px}}

/* Keep "NHS / Innovation Award." to its two lines on tablets and phones */
@media(max-width:1050px){.rc-award-copy h3{font-size:clamp(34px,4.6vw,48px)}}
@media(max-width:760px){.rc-award-copy h3{font-size:clamp(28px,8.6vw,44px)}}

/* Readability floor: 13px for what people read, 12px for small labels */
.rc-kicker,.rc-award-top h2,.rc-award-top>span,.rc-logo figcaption{font-size:12px}
.rc-all-teams li,.rc-all-teams summary,.rc-award-details,.rc-award-details summary,.rc-award-details a,.rc-award-details p,.rc-award-foot p,.rc-award-foot span,.rc-award-link{font-size:13px}
.rc-cloud-foot p{font-size:14px}

/* Recognition follows Our services on the same paper ground, so it starts close under the
   services stage instead of adding a second full section gap. */
.cap-section + .rc-section{padding-top:0}

/* Recognition now reads as the second half of Our services, so it takes the same type and
   the same dark: the award card moves from teal-green to the services navy, headings to 600,
   labels to the cap-eyebrow style, running text to body size and emphasis to teal-ink. */
.rc-award{background:radial-gradient(ellipse at 80% 40%, #1D5873 0%, var(--navy) 40%, var(--night-2) 88%);border-color:rgba(255,255,255,.09);box-shadow:none}
.rc-award-top{border-bottom-color:rgba(255,255,255,.14)}
.rc-award-copy h3{font-size:clamp(40px,4.6vw,68px);font-weight:600;letter-spacing:-.05em;line-height:1.04}
.rc-cloud-heading h3{font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.rc-cloud-heading h3 span{color:var(--teal-ink)}
.rc-kicker,.rc-award-top h2{font-weight:600;letter-spacing:.11em}
.rc-kicker{color:var(--ink-3)}
.rc-award-description{font-size:var(--fs-body);line-height:1.5;color:#D3DEE3}
.rc-award-link,.rc-award-foot p{font-size:15px}
.rc-cloud-foot>p{font-size:var(--fs-body);line-height:1.5;color:var(--ink-2)}
.rc-cloud-foot>p>strong{color:var(--ink)}
@media(max-width:760px){.rc-award-copy h3{font-size:clamp(34px,10vw,44px)}}

/* Keyboard focus pauses the logos without an extra visible control. */
.rc-marquee:focus-visible{outline:2px solid var(--teal-ink);outline-offset:4px}
/* /assets/award-pathway.css */
/* A continuous spatial illustration supports the static award message. */
.ev-award .ev-award-grid{grid-template-columns:1.12fr 1fr;gap:20px}
.rc-award-art.ev-panel{position:relative;height:450px;width:100%;max-width:none;display:block;isolation:isolate;align-self:center;margin:0}
.ev-motion-top{position:absolute;top:14px;left:9px;right:9px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;line-height:1.5;color:#B8D0D1;letter-spacing:.04em;z-index:2;pointer-events:none}
.ev-motion-top>span:first-child{font-weight:600;letter-spacing:.07em}.ev-motion-top>span:last-child{color:#7A9D9F;font-size:8px}
.ev-stage{position:absolute;inset:34px -11px 39px;margin:0;min-width:0;overflow:visible}
.ev-canvas,.ev-poster{display:block;width:100%;height:100%;object-fit:contain}
.ev-canvas{position:absolute;inset:0;opacity:0;transition:opacity .6s;touch-action:pan-y}
.ev-poster{opacity:.9;transition:opacity .6s}
.ev-ready .ev-canvas{opacity:1}.ev-ready .ev-poster{opacity:0;pointer-events:none}
.ev-motion-foot{position:absolute;left:8px;right:8px;bottom:3px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;z-index:2}
.ev-motion-foot>p{font-size:8px;line-height:1.7;color:#A1BCBD;display:flex;align-items:center;gap:8px;margin:0}.ev-motion-foot>p>span{color:#739798;font-size:10px}
@media(max-width:1050px){.ev-award .ev-award-grid{grid-template-columns:1.05fr 1fr;gap:10px}.rc-award-art.ev-panel{height:410px}.ev-motion-foot{display:block;bottom:0}.ev-motion-foot>p{font-size:8px}.ev-stage{bottom:65px;left:-10px;right:-10px}.ev-motion-top{left:0;right:0;font-size:8px}.ev-motion-top>span:last-child{font-size:7px}}
@media(max-width:760px){.ev-award .ev-award-grid{grid-template-columns:1fr;gap:17px}.rc-award-art.ev-panel{height:390px;max-width:490px;justify-self:center;margin-top:10px}.ev-motion-foot{display:flex;bottom:5px}.ev-motion-foot>p{font-size:9px}.ev-stage{inset:33px -7px 48px}.ev-motion-top{left:7px;right:7px;font-size:9px}.ev-motion-top>span:last-child{font-size:8px}}
@media(max-width:440px){.rc-award-art.ev-panel{height:300px;margin-top:15px}.ev-motion-top{font-size:8px;left:0;right:0}.ev-motion-top>span:last-child{font-size:7px}.ev-motion-foot{left:0;right:0;gap:8px;bottom:2px}.ev-motion-foot>p{font-size:7px;gap:5px}.ev-motion-foot>p>span{font-size:8px}.ev-stage{inset:28px -14px 45px}}
@media(prefers-reduced-motion:reduce){.ev-canvas,.ev-poster{transition:none}}

/* Readability floor for the e-VENT model's labels */
.ev-motion-top,.ev-motion-top>span:last-child,.ev-motion-foot>p{font-size:11px}
/* /assets/footer-paper.css */
/* Smartmed footer: a clear invitation, useful links and a compact brand signature. */
.site-footer[data-footer]{
  --fp-muted:var(--on-dark-2);
  position:relative;isolation:isolate;overflow:hidden;overflow:clip;
  margin:0;
  padding:0;border:0;border-radius:0;
  background:var(--night);
  color:var(--on-dark);
}
.site-footer[data-footer]::before{content:none}
.site-footer[data-footer]>.fp-wrap{
  position:relative;container-type:inline-size;max-width:1440px;
  margin:0 auto;padding:clamp(40px,4vw,64px) clamp(24px,4.5vw,72px) clamp(24px,2.4vw,36px);
  background:none;border:0;border-radius:0;box-shadow:none;
}
.fp-masthead{display:flex;align-items:center;justify-content:space-between;gap:24px}
.fp-masthead p{font-size:var(--fs-label);font-weight:500;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--fp-muted)}
.fp-masthead a{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:var(--fs-small);white-space:nowrap}
.site-footer[data-footer] a{text-decoration:none;text-underline-offset:5px}
.site-footer[data-footer] a:hover{text-decoration:underline}
.site-footer[data-footer] a:focus-visible{outline-color:var(--teal-pale);outline-offset:5px}
.fp-invitation{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:clamp(28px,2.3vw,40px)}
.fp-invitation h2{font:500 clamp(2rem,3.8vw,3.5rem)/1.06 var(--sans);letter-spacing:-.045em;color:var(--on-dark);text-wrap:balance}
.fp-discuss{display:grid;place-items:center;flex-shrink:0;width:clamp(64px,7vw,100px);height:clamp(64px,7vw,100px);border:1px solid var(--teal-pale);border-radius:50%;color:var(--teal-pale);transition:background-color .25s var(--ease),color .25s var(--ease)}
.site-footer[data-footer] .fp-discuss:hover{background:var(--teal-pale);color:var(--night);text-decoration:none}
.fp-discuss svg{transition:transform .25s var(--ease)}
.fp-discuss:hover svg{transform:translate(3px,-3px)}
.fp-contact{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 32px;margin-top:24px;padding-bottom:clamp(28px,2.8vw,40px);border-bottom:1px solid var(--line-dark)}
.fp-contact>a{display:inline-flex;align-items:center;gap:20px;min-height:44px;font:500 clamp(1.125rem,2vw,1.625rem)/1.3 var(--sans);letter-spacing:var(--track-snug)}
.fp-contact p{font-size:var(--fs-small);color:var(--fp-muted)}
.fp-directory{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);margin-top:clamp(28px,2.3vw,36px)}
.fp-directory h3{font:500 var(--fs-label)/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--fp-muted);margin-bottom:14px}
.fp-directory ul{list-style:none;display:grid;gap:0;margin:0;padding:0}
.fp-directory .fp-pages ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.fp-directory a{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:var(--fs-small);line-height:1.4}
.fp-company address{font:400 var(--fs-small)/1.85 var(--sans);font-style:normal;color:var(--on-dark)}
.fp-end{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;margin-top:clamp(28px,3vw,44px);padding-top:24px;border-top:1px solid var(--line-dark)}
.fp-signature{flex-shrink:0;display:inline-flex;align-items:center;gap:.17em;min-height:44px;font:600 clamp(1.625rem,2.3vw,2rem)/1.15 var(--sans);letter-spacing:var(--track-tight);color:var(--paper)}
.fp-signature span{color:var(--teal-pale)}
.fp-base{display:grid;gap:6px;text-align:right;font-size:var(--fs-label);line-height:1.5;color:var(--fp-muted)}
@media(min-width:1600px){.fp-invitation h2{font-size:3.5rem}}
@media(max-width:760px){
  .site-footer[data-footer]>.fp-wrap{padding-top:36px}
  .fp-masthead{align-items:flex-start;gap:20px}
  .fp-masthead p{max-width:25ch}
  .fp-masthead a{font-size:var(--fs-label);min-height:36px}
  .fp-invitation{gap:20px;margin-top:24px}
  .fp-invitation h2{font-size:clamp(1.75rem,5.4vw,2.5rem)}
  .fp-discuss{width:56px;height:56px}
  .fp-discuss svg{width:26px;height:26px}
  .fp-contact{margin-top:20px;padding-bottom:24px;gap:8px}
  .fp-directory{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .fp-pages{grid-column:1/-1}
  .fp-directory h3{margin-bottom:8px}
  .fp-end{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px;padding-top:20px}
  .fp-base{gap:6px;text-align:left}
}
@media(max-width:380px){
  .site-footer[data-footer]>.fp-wrap{padding-left:20px;padding-right:20px}
  .fp-invitation{align-items:flex-start;gap:12px}
  .fp-invitation h2{font-size:1.625rem}
  .fp-invitation h2 br{display:none}
  .fp-discuss{width:48px;height:48px;margin-top:3px}
  .fp-company address{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.fp-discuss,.fp-discuss svg{transition:none}}
@media print{
  .site-footer[data-footer]{margin:0;border-radius:0;background:none;color:var(--ink)}
  .site-footer[data-footer]>.fp-wrap{padding-top:32px}
  .fp-discuss{display:none}
  .site-footer[data-footer] .fp-wrap *{color:var(--ink)}
}
/* /assets/seo.css */
/* Shared wayfinding and static index pages. No JavaScript required. */
.seo-crumbs{margin:0 0 24px;color:var(--ink-3);font:500 .8125rem/1.6 var(--sans)}
.seo-crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;padding:0;margin:0}
.seo-crumbs li+li:before{content:"/";margin-right:10px;color:var(--ink-3)}
.seo-crumbs a{text-decoration:underline;text-underline-offset:4px;color:var(--ink-2)}
.seo-crumbs [aria-current]{color:var(--ink)}
.seo-index{padding:calc(var(--header-h) + 48px) 0 90px}
.seo-index h1{font-size:clamp(40px,5.4vw,76px);line-height:1.06;letter-spacing:-.055em;max-width:15ch}
.seo-index-intro{max-width:65ch;margin:24px 0 48px;color:var(--ink-2);font-size:1.125rem;line-height:1.75}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;padding:0;list-style:none}
.seo-card{border-top:1px solid var(--line-strong);padding:22px 0;min-width:0}
.seo-card h2{font-size:1.65rem;letter-spacing:-.035em;line-height:1.2;margin:22px 0 12px}
.seo-card h2 a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.seo-card p{max-width:60ch;line-height:1.75;color:var(--ink-2)}
.seo-screen{display:block;border:1px solid var(--line);background:var(--paper);text-decoration:none}
.seo-browser{display:flex;align-items:center;gap:20px;padding:8px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:.75rem;line-height:1.4}
.seo-browser>span:first-child{letter-spacing:2px}
.seo-card img{width:100%;height:auto;display:block;aspect-ratio:5/3;object-fit:contain;background:var(--paper);padding:12px}
.seo-card-kicker{font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
.seo-card-link{display:inline-block;margin-top:16px;color:var(--teal-ink);font-weight:600;text-decoration:underline;text-underline-offset:5px}
.seo-card-link .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.seo-scope{margin:-24px 0 40px;max-width:80ch;font-size:.875rem;line-height:1.7;color:var(--ink-2)}
.seo-help,.seo-related{color:var(--ink);font:400 1rem/1.75 var(--sans);padding:48px 0;margin:32px 0 0;border-top:1px solid var(--line-strong)}
.seo-help h2,.seo-related h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.03em;margin:0 0 16px;font-weight:600}
.seo-help section+section{margin-top:28px}.seo-help p{max-width:80ch;color:var(--ink-2)}
.seo-related ul{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px}
.seo-related a{color:var(--teal-ink);text-decoration:underline;text-underline-offset:5px;font-weight:600}
.seo-byline{display:block;margin-top:6px;font-size:.875rem;color:var(--ink-2)}
.seo-index a:focus-visible,.seo-crumbs a:focus-visible,.seo-related a:focus-visible{outline:2px solid var(--teal-ink);outline-offset:5px}
@media(max-width:760px){.seo-index{padding-top:calc(var(--header-h) + 28px)}.seo-grid{grid-template-columns:1fr;gap:20px}.seo-index-intro{font-size:1rem;margin-bottom:32px}.seo-related ul{display:grid;gap:16px}.seo-crumbs{font-size:.75rem}.seo-help,.seo-related{padding:32px 0}}
