/* Layout: a drafting-table canvas. Fixed design-tool rulers frame the viewport, content sits on a wide grid,
   and magenta redlines annotate real measurements of the page itself. */
:root{
  --paper:#E6E7E1;
  --panel:#D9DBD3;
  --card:#F3F4EF;
  --ink:#15171A;
  --muted:#5F635C;
  --line:#C2C5BC;
  --redline:#D3126C;
  --on-red:#FFFFFF;
  --f-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.19,1,.22,1);
  --ruler:0px;
  --gl:max(clamp(16px,5vw,80px), env(safe-area-inset-left,0px));
  --gr:max(clamp(16px,5vw,80px), env(safe-area-inset-right,0px));
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#111214; --panel:#1A1C1F; --card:#222428; --ink:#E8E9E3; --muted:#8C9089; --line:#2C2F33; --redline:#FF4FA0; --on-red:#111214;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#111214; --panel:#1A1C1F; --card:#222428; --ink:#E8E9E3; --muted:#8C9089; --line:#2C2F33; --redline:#FF4FA0; --on-red:#111214;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--f-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
::selection{background:var(--redline);color:var(--on-red)}
:focus-visible{outline:1px solid var(--redline);outline-offset:4px}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.wrap{padding-left:var(--gl);padding-right:var(--gr)}
.muted{color:var(--muted)}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:200;color:var(--ink);animation:loaderFailsafe 0s 6s forwards}
@keyframes loaderFailsafe{to{visibility:hidden;pointer-events:none}}
.slats{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr)}
.slats i{background:var(--ink);transform-origin:50% 0;will-change:transform;margin-inline:-1px}
.loader-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;
  padding:calc(var(--ruler) + 24px) var(--gr) 32px var(--gl);color:var(--paper)}
.loader-top{display:flex;justify-content:space-between;gap:16px}
.loader-count{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(96px,22vw,320px);line-height:.8;
  font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.loader-bottom{display:flex;flex-direction:column;gap:14px}
.loader-bar{height:1px;background:color-mix(in srgb,var(--paper) 25%,transparent)}
.loader-bar i{display:block;height:100%;background:var(--redline);transform:scaleX(0);transform-origin:0 50%}

/* ---------- fixed chrome: grain + rulers ---------- */
.grain{position:fixed;inset:-50%;z-index:150;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

.ruler{position:fixed;z-index:120;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;overflow:hidden}
.ruler-x{top:0;left:0;right:0;height:calc(var(--ruler) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line)}
.ruler-y{top:0;bottom:0;left:0;width:var(--ruler);border-right:1px solid var(--line)}
.ruler .ticks{position:absolute}
.ruler-x .ticks{left:0;right:0;bottom:0;height:100%;
  background-image:linear-gradient(to right,var(--muted) 1px,transparent 1px),linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to right,var(--line) 1px,transparent 1px);
  background-size:100px 12px,50px 8px,10px 4px;background-position:left bottom;background-repeat:repeat-x}
.ruler-y .ticks{top:0;left:0;right:0;height:calc(100vh + 200px);will-change:transform;
  background-image:linear-gradient(to bottom,var(--muted) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);
  background-size:12px 100px,8px 50px,4px 10px;background-position:right top;background-repeat:repeat-y}
.ruler span{position:absolute;font-family:var(--f-mono);font-size:8px;color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.ruler-x .ticks span{top:3px;transform:translateX(3px)}
.ruler-y .ticks span{left:3px;writing-mode:vertical-rl;transform:rotate(180deg) translateY(-3px)}
.marker{position:absolute;background:var(--redline);will-change:transform}
.ruler-x .marker{top:0;bottom:0;left:0;width:1px}
.ruler-y .marker{left:0;right:0;top:0;height:1px}
.marker span{color:var(--redline);font-size:8px}
.ruler-x .marker span{top:3px;left:4px}
.ruler-y .marker span{left:3px;top:4px;writing-mode:vertical-rl;transform:rotate(180deg)}
.ruler-y .progress{position:absolute;right:0;top:0;width:2px;height:100%;background:var(--redline);transform:scaleY(0);transform-origin:50% 0}
.ruler-corner{position:fixed;top:0;left:0;z-index:121;width:var(--ruler);height:calc(var(--ruler) + env(safe-area-inset-top,0px));
  display:grid;place-items:end center;padding-bottom:5px;font-family:var(--f-mono);font-size:7px;color:var(--redline);
  background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);pointer-events:none;font-variant-numeric:tabular-nums}

/* ---------- cursor ---------- */
.cursor{display:none}
.has-cursor body,.has-cursor a,.has-cursor button,.has-cursor [data-cursor]{cursor:none}
.has-cursor .cursor{display:block;position:fixed;left:0;top:0;z-index:180;pointer-events:none}
.cursor-dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;background:var(--redline);transition:transform .35s var(--ease)}
.cursor-label{position:absolute;left:14px;top:10px;white-space:nowrap;background:var(--redline);color:var(--on-red);
  padding:6px 9px;font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  clip-path:inset(0 100% 0 0);transition:clip-path .45s var(--ease)}
.cursor.is-link .cursor-dot{transform:scale(2.2) rotate(45deg)}
.cursor.is-label .cursor-dot{transform:scale(.6)}
.cursor.is-label .cursor-label{clip-path:inset(0 0 0 0)}

/* ---------- nav ---------- */
.nav{position:fixed;z-index:110;left:0;right:0;top:calc(var(--ruler) + env(safe-area-inset-top,0px));
  padding:14px var(--gr) 14px var(--gl);display:flex;align-items:center;justify-content:space-between;gap:20px;
  transition:transform .6s var(--ease)}
.nav::before{content:"";position:absolute;inset:0 0 -24px;z-index:-1;background:color-mix(in srgb,var(--paper) 70%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  -webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}
.nav.is-hidden{transform:translateY(calc(-100% - var(--ruler) - 30px))}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-stretch:110%;font-size:15px;letter-spacing:-.01em}
.brand-mark{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--ink);font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:10px;line-height:1;letter-spacing:0;position:relative}
.brand-mark::after{content:"";position:absolute;right:-4px;bottom:-4px;width:5px;height:5px;background:var(--redline)}
.nav-links{position:relative;display:flex;gap:clamp(14px,2.4vw,36px)}
.nav-links a{padding:6px 0;display:block}
.nav-ind{position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--redline);opacity:0;
  transition:transform .55s var(--ease),width .55s var(--ease),opacity .25s}
.nav-status{display:flex;align-items:center;gap:10px;white-space:nowrap;padding:10px 2px;color:var(--redline);font-weight:500;font-size:14px;letter-spacing:.05em;transition:color .35s var(--ease)}
.nav-status:hover,.nav-status:focus-visible{color:var(--ink)}
.lbl-short{display:none}
.mail-ico{flex-shrink:0;width:18px;height:auto;transform-origin:50% 70%;animation:mailBob 6s var(--ease) infinite}
.mail-ico path{stroke-dasharray:16;animation:mailFlap 6s ease-in-out infinite}
@keyframes mailBob{0%,80%,100%{transform:translateY(0) rotate(0)}85%{transform:translateY(-2px) rotate(-9deg)}90%{transform:translateY(-1px) rotate(7deg)}95%{transform:translateY(0) rotate(-3deg)}98%{transform:rotate(0)}}
@keyframes mailFlap{0%,76%{stroke-dashoffset:0}84%{stroke-dashoffset:16}93%,100%{stroke-dashoffset:0}}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--redline);box-shadow:0 0 0 0 var(--redline);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--redline) 60%,transparent)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ---------- hero ---------- */
.hero{position:relative;padding-block:clamp(150px,22vh,230px) clamp(56px,8vw,110px);isolation:isolate}
.field{position:absolute;inset:0;z-index:-1;width:100%;height:100%;display:block}
.hero-eyebrow{display:flex;flex-wrap:wrap;gap:8px 28px;margin-bottom:clamp(20px,3vw,40px)}
.hero-eyebrow b{color:var(--redline);font-weight:500}
.hero-eyebrow .dia{display:inline-block;width:.42em;height:.42em;margin:0 .7em;background:var(--redline);transform:rotate(45deg) translateY(-.12em);vertical-align:middle}
.hero h1{position:relative;margin:0;font-family:var(--f-display);font-weight:800;font-stretch:112%;
  font-size:min(9.2vw,172px);line-height:.9;letter-spacing:-.035em;width:fit-content;max-width:100%}
.line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.li{display:block;white-space:nowrap;will-change:transform}
.hero h1 em{font-style:normal;color:var(--redline)}
.hero-anno{position:absolute;left:0;right:0;bottom:-26px;height:9px;border-left:1px solid var(--redline);border-right:1px solid var(--redline);transform-origin:0 50%}
.hero-anno::before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--redline)}
.hero-anno span{position:absolute;left:50%;top:-5px;transform:translateX(-50%);background:var(--paper);padding:0 6px;color:var(--redline);font-size:10px}
.hero-foot{margin-top:clamp(12px,1.6vw,22px);display:grid;grid-template-columns:minmax(0,1fr);gap:32px 48px;align-items:end}
.hero-lead{max-width:50ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5;margin:0}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 18px;border:1px solid var(--ink);
  font-family:var(--f-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;
  transition:color .45s var(--ease),border-color .45s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:scaleY(0);transform-origin:50% 100%;transition:transform .5s var(--ease)}
.btn:hover,.btn:focus-visible{color:var(--paper)}
.btn:hover::before,.btn:focus-visible::before{transform:scaleY(1)}
.btn.primary{background:var(--redline);border-color:var(--redline);color:var(--on-red)}
.btn.primary::before{background:var(--ink)}
.btn .arr{transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.hero-meta{display:grid;grid-template-columns:auto auto;gap:6px 18px;justify-content:end;text-align:left}
.hero-meta dt{color:var(--muted)}
.hero-meta dd{margin:0;font-variant-numeric:tabular-nums}

/* ---------- marquee ---------- */
.band{border-block:1px solid var(--line);overflow:hidden;padding-block:clamp(14px,2vw,22px)}
.mq{display:flex;width:max-content;will-change:transform}
.mq-inner{display:flex;align-items:center;flex-shrink:0}
.mq-item{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);padding-right:clamp(18px,2.4vw,36px);
  font-family:var(--f-display);font-weight:700;font-stretch:75%;text-transform:uppercase;font-size:clamp(32px,5.4vw,84px);line-height:1;letter-spacing:-.01em;white-space:nowrap}
.mq-item::after{content:"";width:.22em;height:.22em;background:var(--redline);transform:rotate(45deg)}
.mq-item.ghost{color:transparent;-webkit-text-stroke:1px var(--ink)}

/* ---------- sections ---------- */
section{position:relative}
.sec{padding-block:clamp(96px,12vw,180px)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,72px)}
.h2{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:clamp(38px,6vw,100px);line-height:.92;letter-spacing:-.03em;text-wrap:balance}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted)}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--redline)}

.statement .eyebrow{margin:0;padding-top:.15em}
.statement{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:32px clamp(24px,4vw,64px)}
.statement-gap{position:relative;height:96px;grid-column:2}
.rl-v{position:absolute;left:0;top:0;bottom:0;width:9px;border-top:1px solid var(--redline);border-bottom:1px solid var(--redline);transform-origin:50% 0}
.rl-v::before{content:"";position:absolute;left:4px;top:0;bottom:0;width:1px;background:var(--redline)}
.rl-v span{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--redline);font-size:10px}
.statement-text{grid-column:2;margin:0;font-family:var(--f-display);font-weight:500;font-stretch:100%;
  font-size:clamp(26px,3.6vw,58px);line-height:1.12;letter-spacing:-.02em;text-wrap:pretty;max-width:30ch}
.statement-text .w{display:inline-block;will-change:transform,opacity,filter}
.statement-text mark{background:none;color:#DE1677}
.statement-text{max-width:31ch}
.statement-text mark{display:block;white-space:nowrap}
@media (min-width:1025px){.statement-text .sl{display:block}}
.facts{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:clamp(40px,5vw,72px) 0 0;padding:0;list-style:none}
.facts li{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.facts .fact-k{color:var(--redline)}
.facts strong{font-family:var(--f-display);font-weight:700;font-stretch:110%;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em}

/* ---------- work (pinned horizontal) ---------- */
.work{padding-block:clamp(72px,9vw,120px) clamp(48px,6vw,80px);overflow:hidden}
.work-inner{display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,3.5vw,48px);min-height:100%}
/* horizontal gallery: the section fills exactly one screen, so whole cards (image, title, text, tags) stay in view */
@media (min-width:900px) and (min-height:560px){
  .work{min-height:100vh;display:flex;flex-direction:column;padding-block:clamp(40px,min(9vw,10vh),120px) clamp(28px,min(6vw,6vh),80px)}
  .work-inner{flex:1;gap:clamp(20px,min(3.5vw,4.5vh),48px)}
  .work .h2{font-size:clamp(38px,min(6vw,10vh),100px)}
}
.work-count{font-variant-numeric:tabular-nums}
.work-count b{color:var(--redline);font-weight:500}
.track{display:flex;gap:clamp(24px,3vw,48px);width:max-content;padding-left:var(--gl);padding-right:var(--gr);will-change:transform}
.case{width:min(56vw,calc((100vh - var(--work-chrome, 330px)) * 1.6),880px);min-width:300px;display:flex;flex-direction:column;gap:18px;outline-offset:8px}
.case-vis{position:relative;aspect-ratio:16/10;max-width:100%;overflow:hidden;background:var(--panel);container-type:inline-size;
  background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:18px 18px}
.mock{position:absolute;inset:0 -7%;display:grid;place-items:center;will-change:transform;transition:scale .9s var(--ease)}
.case:hover .mock,.case:focus-within .mock{scale:1.035}
.br{position:absolute;width:12px;height:12px;border-color:var(--redline);border-style:solid;border-width:0;opacity:0;transition:transform .55s var(--ease),opacity .3s;z-index:2}
.br.tl{left:10px;top:10px;border-left-width:1px;border-top-width:1px;transform:translate(10px,10px)}
.br.tr{right:10px;top:10px;border-right-width:1px;border-top-width:1px;transform:translate(-10px,10px)}
.br.bl{left:10px;bottom:10px;border-left-width:1px;border-bottom-width:1px;transform:translate(10px,-10px)}
.br.brr{right:10px;bottom:10px;border-right-width:1px;border-bottom-width:1px;transform:translate(-10px,-10px)}
.case:hover .br,.case:focus-within .br{opacity:1;transform:none}
.dim{position:absolute;right:28px;bottom:9px;z-index:2;color:var(--redline);font-size:10px;opacity:0;transition:opacity .3s .1s;font-variant-numeric:tabular-nums}
.case:hover .dim,.case:focus-within .dim{opacity:1}
.case{position:relative}
.case-link{position:absolute;inset:0;z-index:3}
.case-link:focus-visible{outline:1px solid var(--redline);outline-offset:6px}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) brightness(1.02);transition:filter .9s var(--ease)}
.case:hover .cover,.case:focus-within .cover{filter:none}
@media (hover:none){.cover{filter:none}}
.cover-fallback{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:7cqi;letter-spacing:-.03em;color:color-mix(in srgb,var(--ink) 16%,transparent);white-space:nowrap}
.case-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.case-meta .idx{color:var(--redline)}
.case-meta h3{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(22px,2.2vw,34px);letter-spacing:-.02em;line-height:1.05}
.case-meta p{margin:4px 0 0;color:var(--muted);max-width:52ch}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.tags li{border:1px solid var(--line);padding:4px 8px;font-size:10px}

/* ---------- project card mock UIs (sized to the card, cqi) ---------- */
.ui{background:var(--card);color:var(--ink);box-shadow:0 1cqi 3cqi color-mix(in srgb,var(--ink) 10%,transparent)}
.ui-row{display:flex;justify-content:space-between;gap:2cqi;font-size:1.7cqi}
.ui-big{font-family:var(--f-display);font-weight:800;font-stretch:110%;font-size:9cqi;line-height:.9;letter-spacing:-.03em}
.ui-big small{font-size:2.6cqi;font-weight:500;color:var(--muted);margin-left:.6cqi;letter-spacing:0}
.chips{display:flex;gap:1.2cqi;font-size:1.6cqi}
.chips span{flex:1;text-align:center;padding:1.2cqi 0;border:1px solid var(--line)}
.chips .on{background:var(--ink);color:var(--card);border-color:var(--ink)}
/* LeaseTeq: the real operations portal, rebuilt live (1 design px = calc(var(--u)*1)) */
.m-lt{--u:calc(77.4cqi / 1128);--lt-g:#304844;--lt-gd:#3e7669;--lt-tx:#1d1f1e;--lt-mu:#5f6664;--lt-ln:#e9ebea;--lt-e:cubic-bezier(.22,1,.36,1)}
@media (max-width:899px){.m-lt{--u:calc(81cqi / 1128)}}
.cs-visual .m-lt{--u:calc(76cqi / 1128)}
.lt{position:relative;color:var(--lt-tx);font-family:var(--f-body);font-size:calc(var(--u)*13);line-height:1.3;letter-spacing:0;text-align:left;-webkit-font-smoothing:antialiased}
.lt svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lt-win{width:calc(var(--u)*1128);height:calc(var(--u)*700);display:grid;grid-template-columns:calc(var(--u)*61) minmax(0,1fr);grid-template-rows:calc(var(--u)*700);background:#f9f9f9;border-radius:calc(var(--u)*14);overflow:hidden;
  box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*24) calc(var(--u)*60) calc(var(--u)*-12) rgba(21,23,26,.22);transition:box-shadow .9s var(--ease),transform .9s var(--ease)}
.case:hover .lt-win,.case:focus-within .lt-win{transform:translateY(calc(var(--u)*-6));box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*40) calc(var(--u)*80) calc(var(--u)*-14) rgba(21,23,26,.3)}
/* sidebar */
.lt-side{background:var(--lt-g);display:flex;flex-direction:column;align-items:center;padding:calc(var(--u)*20) 0 calc(var(--u)*18);gap:calc(var(--u)*12);color:#fff}
.lt-logo{width:calc(var(--u)*34);height:calc(var(--u)*34);margin-bottom:calc(var(--u)*14);stroke-width:3.2;stroke-linecap:butt;stroke-linejoin:miter}
.lt-nav{width:calc(var(--u)*36);height:calc(var(--u)*36);display:grid;place-items:center;border-radius:calc(var(--u)*6);color:#fff}
.lt-nav svg{width:calc(var(--u)*21);height:calc(var(--u)*21);stroke-width:1.6}
.lt-nav.on{background:#253a36}
.lt-gap{flex:1}
.lt-rule{width:calc(var(--u)*38);height:1px;background:rgba(255,255,255,.45);margin:calc(var(--u)*6) 0 calc(var(--u)*8)}
.lt-me,.lt-av{position:relative;display:block;flex:none}
.lt-me{width:calc(var(--u)*26);height:calc(var(--u)*26)}
.lt-me img,.lt-av img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.lt-me b,.lt-av b{position:absolute;right:calc(var(--u)*-5);bottom:calc(var(--u)*-4);width:calc(var(--u)*14);height:calc(var(--u)*14);border-radius:50%;background:#fff;color:#222;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.lt-me b svg,.lt-av b svg{width:calc(var(--u)*10);height:calc(var(--u)*10);stroke-width:1.6}
/* main */
.lt-main{padding:calc(var(--u)*18) calc(var(--u)*16) calc(var(--u)*15) calc(var(--u)*22);display:flex;flex-direction:column;gap:calc(var(--u)*17);min-width:0;min-height:0}
.lt-top{display:flex;gap:calc(var(--u)*13);align-items:center;height:calc(var(--u)*50)}
.lt-banner{flex:1;height:100%;display:flex;align-items:center;gap:calc(var(--u)*12);padding:0 calc(var(--u)*16);border-radius:calc(var(--u)*8);background:#e6f4f0;font-size:calc(var(--u)*14)}
.lt-ok{width:calc(var(--u)*26);height:calc(var(--u)*26);border-radius:50%;background:var(--lt-gd);color:#fff;display:grid;place-items:center}
.lt-ok svg{width:calc(var(--u)*22);height:calc(var(--u)*22);stroke-width:1.4}
.lt-kebab{margin-left:auto;margin-right:calc(var(--u)*12);display:flex;flex-direction:column;gap:calc(var(--u)*2.5)}
.lt-kebab i{width:calc(var(--u)*3);height:calc(var(--u)*3);border-radius:50%;background:#555}
.lt-av{width:calc(var(--u)*45);height:calc(var(--u)*45);border-radius:calc(var(--u)*8);padding:calc(var(--u)*3);background:#fff;box-shadow:0 0 0 1px var(--lt-ln)}
.lt-av img{border-radius:calc(var(--u)*5)}
.lt-av b{right:calc(var(--u)*-2);bottom:calc(var(--u)*-2);width:calc(var(--u)*15);height:calc(var(--u)*15)}
.lt-body{flex:1;display:grid;grid-template-columns:calc(var(--u)*666) calc(var(--u)*347);grid-template-rows:minmax(0,1fr);gap:calc(var(--u)*16);min-height:0}
.lt-col{display:flex;flex-direction:column;gap:calc(var(--u)*17);min-width:0}
.lt-card{background:#fff;border:1px solid var(--lt-ln);border-radius:calc(var(--u)*12);display:flex;align-items:center;gap:calc(var(--u)*14);padding:0 calc(var(--u)*32) 0 calc(var(--u)*19);height:calc(var(--u)*77);flex:none}
.lt-t{display:block;font-weight:600;font-size:calc(var(--u)*16);letter-spacing:-.005em}
.lt-s{display:block;color:var(--lt-mu);font-size:calc(var(--u)*13);margin-top:calc(var(--u)*3)}
.lt-det{margin-left:auto;display:flex;align-items:center;gap:calc(var(--u)*8);font-size:calc(var(--u)*13);color:#333;font-weight:500}
.lt-det svg{width:calc(var(--u)*12);height:calc(var(--u)*12);stroke-width:1.6}
.lt-cust-l{display:grid;grid-template-columns:calc(var(--u)*16) auto;column-gap:calc(var(--u)*12);align-items:center}
.lt-cust-l .lt-s{margin-top:calc(var(--u)*5)}
.lt-flag{width:calc(var(--u)*14);height:calc(var(--u)*10);border-radius:calc(var(--u)*2);background:#f93939 linear-gradient(#fff,#fff) center/calc(var(--u)*2) calc(var(--u)*6) no-repeat;position:relative;justify-self:center}
.lt-flag::after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--u)*6);height:calc(var(--u)*2);background:#fff;transform:translate(-50%,-50%)}
.lt-pin{width:calc(var(--u)*17);height:calc(var(--u)*17);justify-self:center;color:#5f6664;stroke-width:1.5;margin-top:calc(var(--u)*5)}
.lt-pair{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*17)}
.lt-mini{padding-right:calc(var(--u)*28);gap:calc(var(--u)*11)}
.lt-mini .lt-s{white-space:nowrap}
.lt-car{width:calc(var(--u)*38);height:calc(var(--u)*38);display:grid;place-items:center;color:#111}
.lt-car svg{width:calc(var(--u)*34);height:calc(var(--u)*34);stroke-width:1.7}
.lt-ini{width:calc(var(--u)*36);height:calc(var(--u)*36);border-radius:50%;background:#f2f2f2;color:#666;display:grid;place-items:center;font-size:calc(var(--u)*11);font-weight:500;flex:none}
.lt-shield{background:#f9f9f9;box-shadow:0 0 0 1px var(--lt-ln);color:#444}
.lt-shield svg{width:calc(var(--u)*18);height:calc(var(--u)*18)}
/* financing */
.lt-fin{flex:1;height:auto;flex-direction:column;align-items:stretch;padding:calc(var(--u)*24) calc(var(--u)*18) calc(var(--u)*19);gap:0}
.lt-fin-h{display:flex;align-items:center;padding:0 calc(var(--u)*14) 0 calc(var(--u)*1)}
.lt-gauge{position:relative;width:calc(var(--u)*176);margin:calc(var(--u)*26) auto 0;padding-bottom:calc(var(--u)*40)}
.lt-gauge svg{width:calc(var(--u)*176);height:calc(var(--u)*98);overflow:visible}
.lt-track,.lt-arc{stroke-width:18;stroke-linecap:round}
.lt-track{stroke:#f2f2f2}
.lt-arc{stroke:#b2c8c3;stroke-dasharray:50 100}
.lt-knob{transform-box:view-box;transform-origin:88px 88px;transform:rotate(90deg)}
.lt-knob circle{fill:#2f5a50;stroke:#fff;stroke-width:2;transition:filter .6s}
.case:hover .lt-knob circle{filter:drop-shadow(0 0 4px rgba(47,90,80,.45))}
.lt-left{position:absolute;left:0;right:0;top:calc(var(--u)*42);text-align:center}
.lt-n{display:block;font-size:calc(var(--u)*24);font-weight:600;color:#2f5a50;line-height:1;font-variant-numeric:tabular-nums}
.lt-left span{display:block;font-size:calc(var(--u)*10);color:#444;margin-top:calc(var(--u)*7)}
.lt-ends{position:absolute;left:calc(var(--u)*-46);right:calc(var(--u)*-46);top:calc(var(--u)*100);display:flex;justify-content:space-between;text-align:center;font-size:calc(var(--u)*11);color:#444}
.lt-ends b{display:block;font-weight:500;font-size:calc(var(--u)*12);color:#222;margin-top:calc(var(--u)*4)}
.lt-sum{margin-top:auto;height:calc(var(--u)*63);background:#f5f5f5;border-radius:calc(var(--u)*8);display:grid;grid-template-columns:repeat(3,1fr);align-items:center}
.lt-sum>div{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*6);border-left:1px solid #dcdcdc}
.lt-sum>div:first-child{border-left:0}
.lt-sum span{font-size:calc(var(--u)*11);color:#444;display:flex;align-items:center;gap:calc(var(--u)*4)}
.lt-sum b{font-size:calc(var(--u)*14);font-weight:600;display:flex;align-items:center;gap:calc(var(--u)*6)}
.lt-info{width:calc(var(--u)*11);height:calc(var(--u)*11);border:calc(var(--u)*1) solid #555;border-radius:50%;font-style:normal;font-size:calc(var(--u)*7);display:grid;place-items:center;line-height:1}
.lt-vf{width:calc(var(--u)*13);height:calc(var(--u)*13);border-radius:50%;background:#b4dabd;color:#2e7d55;display:grid;place-items:center}
.lt-vf svg{width:calc(var(--u)*10);height:calc(var(--u)*10);stroke-width:2}
/* verified badge: gentle pulse plus a soft ripple, transform-only so nothing around it moves */
.lt-vf{position:relative;isolation:isolate;transform-origin:50% 50%;animation:ltPulse 2s ease-in-out infinite;backface-visibility:hidden}
.lt-vf::before{content:"";position:absolute;inset:0;border-radius:50%;background:#7cc596;z-index:-1;animation:ltRipple 2s ease-in-out infinite;pointer-events:none}
@keyframes ltPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@keyframes ltRipple{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.6);opacity:0}}
/* transactions panel */
.lt-panel{background:#fff;border:1px solid var(--lt-ln);border-radius:calc(var(--u)*12);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.lt-tabs{display:grid;grid-template-columns:auto auto auto auto;justify-content:space-between;padding:0 calc(var(--u)*14) 0 calc(var(--u)*22);height:calc(var(--u)*50);border-bottom:1px solid var(--lt-ln);font-size:calc(var(--u)*13);flex:none}
.lt-tabs span{display:flex;align-items:center;position:relative;padding:0 calc(var(--u)*2);color:#222}
.lt-tabs .on::after{content:"";position:absolute;left:calc(var(--u)*-4);right:calc(var(--u)*-4);bottom:-1px;height:calc(var(--u)*2);background:var(--lt-g);transform-origin:0 50%}
.lt-list{position:relative;flex:1;overflow:hidden;padding:calc(var(--u)*15) calc(var(--u)*15) 0}
.lt-rows{display:flex;flex-direction:column;gap:calc(var(--u)*10);padding-right:calc(var(--u)*6)}
.lt-tx{display:flex;align-items:center;gap:calc(var(--u)*11);height:calc(var(--u)*52);flex:none;border:1px solid var(--lt-ln);border-radius:calc(var(--u)*8);padding:0 calc(var(--u)*10)}
.lt-tx b{display:block;font-weight:400;font-size:calc(var(--u)*13)}
.lt-tx div>span{display:block;font-size:calc(var(--u)*11);color:#555;margin-top:calc(var(--u)*2);white-space:nowrap}
.lt-tx u{text-underline-offset:calc(var(--u)*2);text-decoration-color:#999;text-decoration-thickness:calc(var(--u)*1)}
.lt-tx u.lk{color:#3b73d3;text-decoration-color:#3b73d3}
.lt-tx em{margin-left:auto;font-style:normal;font-size:calc(var(--u)*10);font-weight:600;padding:calc(var(--u)*3) calc(var(--u)*8);border-radius:calc(var(--u)*20);white-space:nowrap}
.lt-ic{width:calc(var(--u)*32);height:calc(var(--u)*32);border-radius:50%;display:grid;place-items:center;flex:none}
.lt-ic svg{width:calc(var(--u)*20);height:calc(var(--u)*20);stroke-width:1.4}
.t-due .lt-ic,.t-due em{background:#f2f2f2;color:#6b6b6b}
.t-over .lt-ic,.t-over em{background:#fff1f2;color:#c64b61}
.t-part .lt-ic,.t-part em{background:#fff3e6;color:#d84421}
.t-recv .lt-ic,.t-recv em{background:#eaf3ff;color:#3b73d3}
.t-paid .lt-ic,.t-paid em{background:#e6f4f0;color:var(--lt-gd)}
.lt-thumb{position:absolute;right:calc(var(--u)*5);top:calc(var(--u)*15);width:calc(var(--u)*3);height:calc(var(--u)*140);border-radius:calc(var(--u)*3);background:#d6d8d7}
.lt-foot{flex:none;display:flex;gap:calc(var(--u)*8);padding:calc(var(--u)*12) calc(var(--u)*15) calc(var(--u)*16);background:#fff;position:relative;z-index:1;box-shadow:0 calc(var(--u)*-14) calc(var(--u)*14) calc(var(--u)*-6) #fff}
.lt-search{flex:1;height:calc(var(--u)*37);border:1px solid var(--lt-ln);border-radius:calc(var(--u)*6);display:flex;align-items:center;gap:calc(var(--u)*8);padding:0 calc(var(--u)*8);color:#8a8f8d;font-size:calc(var(--u)*13)}
.lt-search svg{width:calc(var(--u)*18);height:calc(var(--u)*18);color:#777}
.lt-btn{width:calc(var(--u)*37);height:calc(var(--u)*37);border:1px solid #dcdcdc;border-radius:calc(var(--u)*6);display:grid;place-items:center;color:#333}
.lt-btn svg{width:calc(var(--u)*18);height:calc(var(--u)*18)}

/* motion: armed by script, played when the card comes into view */
.lt.arm .lt-a{opacity:0;transform:translateY(calc(var(--u)*10))}
.lt.arm .lt-panel{transform:translateX(calc(var(--u)*14))}
.lt.arm .lt-tx{opacity:0;transform:translateX(calc(var(--u)*18))}
.lt.arm .lt-tx em{opacity:0;transform:scale(.86)}
.lt.arm .lt-arc{stroke-dasharray:0 100;opacity:0}
.lt.arm .lt-knob{transform:rotate(0deg);opacity:0}
.lt.arm .lt-tick{stroke-dasharray:12;stroke-dashoffset:12}
.lt.arm .lt-tabs .on::after{transform:scaleX(0)}
.lt.arm .lt-sum b{opacity:0;transform:translateY(calc(var(--u)*5))}
.lt.go .lt-a,.lt.go .lt-tx,.lt.go .lt-sum b{opacity:1;transform:none;transition:opacity .8s var(--lt-e),transform 1s var(--lt-e)}
.lt.go .lt-top .lt-a{transition-delay:0s}
.lt.go .lt-col>.lt-a:nth-child(1){transition-delay:.08s}
.lt.go .lt-pair .lt-a:nth-child(1){transition-delay:.16s}
.lt.go .lt-pair .lt-a:nth-child(2){transition-delay:.22s}
.lt.go .lt-col>.lt-a:nth-child(3){transition-delay:.28s}
.lt.go .lt-fin{transition-delay:.34s}
.lt.go .lt-panel{transition-delay:.2s}
.lt.go .lt-tick{stroke-dashoffset:0;transition:stroke-dashoffset .7s var(--lt-e) .45s}
.lt.go .lt-tabs .on::after{transform:none;transition:transform .8s var(--lt-e) .55s}
.lt.go .lt-arc{stroke-dasharray:50 100;opacity:1;transition:stroke-dasharray 1.8s var(--lt-e) .6s,opacity .2s .6s}
.lt.go .lt-knob{transform:rotate(90deg);opacity:1;transition:transform 1.8s var(--lt-e) .6s,opacity .2s .6s}
/* gauge driven by the scroll entrance (GSAP): no CSS easing on top of it */
.lt.gs .lt-arc,.lt.gs .lt-knob{transition:none!important}
.lt.gs .lt-knob{opacity:1}
.lt.go .lt-sum b{transition-delay:1.05s}
.lt.go .lt-sum div:nth-child(2) b{transition-delay:1.13s}
.lt.go .lt-sum div:nth-child(3) b{transition-delay:1.21s}
.lt.go .lt-tx em{opacity:1;transform:none;transition:opacity .5s var(--lt-e),transform .6s var(--lt-e)}
@media (prefers-reduced-motion:reduce){.lt-vf,.lt-vf::before{animation:none}.lt-vf::before{opacity:0}.lt-win{transition:none}.case:hover .lt-win{transform:none}}
/* Shannon Trust: the real Turning Pages learner profile, rebuilt live (1 design px = calc(var(--u)*1)) */
.m-st{--u:calc(48cqi / 477);--st-n:#050d30;--st-p:#55225d;--st-g:#f0f1f5}
@media (max-width:899px),(max-height:559px){.m-st{--u:calc(50cqi / 477)}}
.cs-visual .m-st{--u:calc(44cqi / 477)}
.st{position:relative;color:var(--st-n);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:calc(var(--u)*7);line-height:1.3;letter-spacing:0;text-align:left;-webkit-font-smoothing:antialiased}
.st svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.st b{font-weight:700}
.st-win{position:relative;width:calc(var(--u)*633);height:calc(var(--u)*477);background:#f5f7ff;border-radius:calc(var(--u)*10);overflow:hidden;
  box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*20) calc(var(--u)*46) calc(var(--u)*-10) rgba(21,23,26,.24);transition:box-shadow .9s var(--ease),transform .9s var(--ease)}
.case:hover .st-win,.case:focus-within .st-win{transform:translateY(calc(var(--u)*-4));box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*30) calc(var(--u)*60) calc(var(--u)*-12) rgba(21,23,26,.3)}
/* top bar */
.st-nav{position:absolute;inset:0 0 auto;height:calc(var(--u)*47);background:var(--st-n);color:#fff}
.st-logo{position:absolute;left:calc(var(--u)*54);top:calc(var(--u)*9);width:calc(var(--u)*56);height:calc(var(--u)*28);display:block}
.st-brand{position:absolute;left:calc(var(--u)*119);top:calc(var(--u)*15);display:flex;align-items:center;gap:calc(var(--u)*6);font-size:calc(var(--u)*12.5);font-weight:300;white-space:nowrap}
.st-brand b{font-weight:500}
.st-brand svg{width:calc(var(--u)*14);height:calc(var(--u)*14);fill:#fff;stroke:#fff;stroke-width:.6}
.st-links{position:absolute;left:calc(var(--u)*263);top:calc(var(--u)*17);display:flex;gap:calc(var(--u)*11);font-size:calc(var(--u)*8.3);font-weight:500;white-space:nowrap}
.st-user{position:absolute;left:calc(var(--u)*558);top:calc(var(--u)*15);display:flex;align-items:center;gap:calc(var(--u)*2)}
.st-user svg{width:calc(var(--u)*16);height:calc(var(--u)*16);stroke-width:1.4}
.st-user .st-chev{width:calc(var(--u)*10);height:calc(var(--u)*10);stroke-width:1.5}
/* page */
.st-page{position:absolute;inset:calc(var(--u)*47) 0 0}
.st-sheet{position:absolute;left:calc(var(--u)*90);top:0;width:calc(var(--u)*460);bottom:0;background:#fff}
.st-banner{position:absolute;inset:0 0 auto;height:calc(var(--u)*82);overflow:hidden}
.st-banner img{width:100%;height:100%;object-fit:cover;display:block}
.st-back{position:absolute;left:calc(var(--u)*53);top:calc(var(--u)*7);width:calc(var(--u)*38);height:calc(var(--u)*22);border-radius:calc(var(--u)*3);background:#fff;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*3);font-size:calc(var(--u)*6.6);color:#1d2541;box-shadow:0 calc(var(--u)*1) calc(var(--u)*3) rgba(0,0,0,.15)}
.st-back svg{width:calc(var(--u)*7);height:calc(var(--u)*7);stroke-width:1.8}
.st-inner{position:absolute;inset:0}
.st-id{position:absolute;left:calc(var(--u)*60);top:calc(var(--u)*74);width:calc(var(--u)*50);height:calc(var(--u)*50);border-radius:50%;background:#002666;color:#fff;display:grid;place-items:center;font-size:calc(var(--u)*7.4);box-shadow:0 0 0 calc(var(--u)*1) #fff}
.st-head>div{position:absolute;left:calc(var(--u)*118);top:calc(var(--u)*88);display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*5)}
.st-name{font-size:calc(var(--u)*12.4);line-height:1.1}
.st-pill{background:#d2d4d9;color:#1f2f45;font-size:calc(var(--u)*6.3);font-weight:600;padding:calc(var(--u)*2) calc(var(--u)*6);border-radius:calc(var(--u)*6)}
.st-assign{position:absolute;left:calc(var(--u)*328);top:calc(var(--u)*91);width:calc(var(--u)*74);height:calc(var(--u)*28);border-radius:calc(var(--u)*3);background:var(--st-g);display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*4);font-size:calc(var(--u)*6.6);font-weight:500;box-shadow:0 calc(var(--u)*1) calc(var(--u)*2) rgba(5,13,48,.18)}
.st-assign svg{width:calc(var(--u)*11);height:calc(var(--u)*11);stroke-width:1.8}
.st-rule{position:absolute;left:calc(var(--u)*53);top:calc(var(--u)*140);width:calc(var(--u)*354);height:1px;background:#eceef2}
.st-rule2{top:calc(var(--u)*388)}
.st-h{position:absolute;left:calc(var(--u)*53);top:calc(var(--u)*155);font-size:calc(var(--u)*11)}
/* stats tiles */
.st-grid{position:absolute;left:calc(var(--u)*53);top:calc(var(--u)*181);width:calc(var(--u)*354);height:calc(var(--u)*193)}
.st-t{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.st-t svg{width:calc(var(--u)*14);height:calc(var(--u)*14)}
.st-v{font-size:calc(var(--u)*10.3);line-height:1.2;white-space:nowrap}
.st-l{font-size:calc(var(--u)*6.4);line-height:1.36;color:#2b3550}
.st-ex{left:0;top:0;width:calc(var(--u)*89);height:calc(var(--u)*97);background:#fbfaf6;gap:calc(var(--u)*7)}
.st-ring{position:relative;width:calc(var(--u)*42);height:calc(var(--u)*42);display:grid;place-items:center}
.st-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-86deg)}
.st-ring-bg{stroke:var(--st-g);stroke-width:3}
.st-ring-fg{stroke:#405ed6;stroke-width:3;stroke-dasharray:22 100}
.st-ring b{position:relative;font-size:calc(var(--u)*10);font-variant-numeric:tabular-nums}
.st-time{left:calc(var(--u)*91);top:0;width:calc(var(--u)*172);height:calc(var(--u)*193);background:var(--st-g);gap:calc(var(--u)*5)}
.st-time .st-glass{margin-bottom:calc(var(--u)*1)}
.st-time .st-v{font-size:calc(var(--u)*11)}
.st-hrs{font-variant-numeric:tabular-nums}
.st-sess{left:calc(var(--u)*265);top:0;width:calc(var(--u)*89);height:calc(var(--u)*87);background:var(--st-g);gap:calc(var(--u)*5)}
.st-sess svg{margin-bottom:calc(var(--u)*1)}
.st-task{left:0;top:calc(var(--u)*98);width:calc(var(--u)*89);height:calc(var(--u)*95);background:var(--st-p);color:#fff;gap:calc(var(--u)*5)}
.st-task .st-l,.st-mile .st-l{color:#fff}
.st-check svg{width:calc(var(--u)*12);height:calc(var(--u)*12)}
.st-mile{left:calc(var(--u)*265);top:calc(var(--u)*89);width:calc(var(--u)*89);height:calc(var(--u)*104);background:var(--st-n);color:#fff;gap:calc(var(--u)*5)}
.st-mile .st-r:first-child svg{width:calc(var(--u)*15);height:calc(var(--u)*15)}
.st-edit{font-size:calc(var(--u)*6.6)}
/* footer */
.st-foot{position:absolute;left:calc(var(--u)*53);top:calc(var(--u)*403);width:calc(var(--u)*354);display:flex;justify-content:space-between}
.st-foot>div{display:flex;flex-direction:column;gap:calc(var(--u)*5)}
.st-foot>div b{font-size:calc(var(--u)*8.2)}
.st-foot>div span{font-size:calc(var(--u)*6);color:#3a3f52}
.st-export{width:calc(var(--u)*113);height:calc(var(--u)*25);margin-top:calc(var(--u)*1);border-radius:calc(var(--u)*3);background:var(--st-n);color:#fff;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*5);font-size:calc(var(--u)*6.7);font-weight:600}
.st-export svg{width:calc(var(--u)*11);height:calc(var(--u)*11);stroke-width:1.7}
@media (prefers-reduced-motion:reduce){.st-win{transition:none}.case:hover .st-win{transform:none}}
/* Abacus: the real app screen, rebuilt as SVG; a practice sequence of bead moves */
.m-ab{--u:calc(77.4cqi / 930)}
@media (max-width:899px),(max-height:559px){.m-ab{--u:calc(81cqi / 930)}}
.cs-visual .m-ab{--u:calc(76cqi / 930)}
.ab-win{width:calc(var(--u)*930);height:calc(var(--u)*427);background:#fff;border-radius:calc(var(--u)*12);overflow:hidden;
  box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*24) calc(var(--u)*56) calc(var(--u)*-12) rgba(21,23,26,.22);transition:box-shadow .9s var(--ease),transform .9s var(--ease)}
.case:hover .ab-win,.case:focus-within .ab-win{transform:translateY(calc(var(--u)*-6));box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*38) calc(var(--u)*72) calc(var(--u)*-14) rgba(21,23,26,.3)}
.ab-svg{display:block;width:100%;height:100%}
@media (prefers-reduced-motion:reduce){.ab-win{transition:none}.case:hover .ab-win{transform:none}}
/* MonMedX: the real patient dashboard; live ECG sweep, Active pulses and Habits / Risk Factor toggles flipping at random */
.m-mx{--u:calc(48cqi / 681)}
@media (max-width:899px),(max-height:559px){.m-mx{--u:calc(50cqi / 681)}}
.cs-visual .m-mx{--u:calc(44cqi / 681)}
.mx-win{position:relative;width:calc(var(--u)*962);height:calc(var(--u)*681);background:#f6f6f6;border-radius:calc(var(--u)*10);overflow:hidden;
  box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*22) calc(var(--u)*52) calc(var(--u)*-12) rgba(21,23,26,.24);transition:box-shadow .9s var(--ease),transform .9s var(--ease)}
.case:hover .mx-win,.case:focus-within .mx-win{transform:translateY(calc(var(--u)*-5));box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*34) calc(var(--u)*66) calc(var(--u)*-14) rgba(21,23,26,.3)}
.mx-base,.mx-ov{position:absolute;inset:0;width:100%;height:100%;display:block}
.mx-ring,.mx-ring2{transform-box:fill-box;transform-origin:center;pointer-events:none}
.mx-ring{animation:mxPing 2s ease-in-out infinite}
.mx-ring-b{animation-delay:-.7s}
.mx-ring2{animation:mxGlow 2s ease-in-out infinite;animation-delay:-1.2s}
@keyframes mxPing{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.2);opacity:0}}
@keyframes mxGlow{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.32,1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.mx-ring,.mx-ring2{animation:none;opacity:0}.mx-win{transition:none}.case:hover .mx-win{transform:none}}
/* Magrabi: the real hero; hearing-tech lines glow, scan and ripple, service cards rise in and take turns */
.m-mg{--u:calc(48cqi / 632)}
@media (max-width:899px),(max-height:559px){.m-mg{--u:calc(50cqi / 632)}}
.cs-visual .m-mg{--u:calc(44cqi / 632)}
.mg-win{position:relative;width:calc(var(--u)*847);height:calc(var(--u)*632);background:#fafafa;border-radius:calc(var(--u)*10);overflow:hidden;
  box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*22) calc(var(--u)*52) calc(var(--u)*-12) rgba(21,23,26,.24);transition:box-shadow .9s var(--ease),transform .9s var(--ease)}
.case:hover .mg-win,.case:focus-within .mg-win{transform:translateY(calc(var(--u)*-5));box-shadow:0 0 0 1px rgba(21,23,26,.06),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.04),0 calc(var(--u)*34) calc(var(--u)*66) calc(var(--u)*-14) rgba(21,23,26,.3)}
.mg-base,.mg-ov{position:absolute;inset:0;width:100%;height:100%;display:block}
.mg-glow{position:absolute;left:calc(var(--u)*400);top:calc(var(--u)*95);width:calc(var(--u)*256);height:calc(var(--u)*251);opacity:0;pointer-events:none;--d:0;--r:0}
/* a: the whole interface, revealed outward from the ear then breathing; b: a thin band that sweeps outward like a scan */
.mg-glow-a{-webkit-mask:radial-gradient(circle at calc(var(--u)*118) calc(var(--u)*127),#000 calc(var(--u) * var(--d)),transparent calc(var(--u) * (var(--d) + 22)));mask:radial-gradient(circle at calc(var(--u)*118) calc(var(--u)*127),#000 calc(var(--u) * var(--d)),transparent calc(var(--u) * (var(--d) + 22)))}
.mg-glow-b{-webkit-mask:radial-gradient(circle at calc(var(--u)*118) calc(var(--u)*127),transparent calc(var(--u) * (var(--r) - 16)),#000 calc(var(--u) * var(--r)),transparent calc(var(--u) * (var(--r) + 16)));mask:radial-gradient(circle at calc(var(--u)*118) calc(var(--u)*127),transparent calc(var(--u) * (var(--r) - 16)),#000 calc(var(--u) * var(--r)),transparent calc(var(--u) * (var(--r) + 16)))}
@media (prefers-reduced-motion:reduce){.mg-glow,.mg-hud{display:none}.mg-win{transition:none}.case:hover .mg-win{transform:none}}
/* Cold room HMI: the real control screen; live temperature, compressor activity, fans, coil glows, Auto mode */
.m-cr{--u:calc(77.4cqi / 1048)}
@media (max-width:899px),(max-height:559px){.m-cr{--u:calc(81cqi / 1048)}}
.cs-visual .m-cr{--u:calc(76cqi / 1048)}
.cr-win{position:relative;width:calc(var(--u)*1048);height:calc(var(--u)*627);background:#202125;border-radius:calc(var(--u)*12);overflow:hidden;
  box-shadow:0 0 0 1px rgba(21,23,26,.1),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.06),0 calc(var(--u)*24) calc(var(--u)*56) calc(var(--u)*-12) rgba(21,23,26,.32);transition:box-shadow .9s var(--ease),transform .9s var(--ease)}
.case:hover .cr-win,.case:focus-within .cr-win{transform:translateY(calc(var(--u)*-6));box-shadow:0 0 0 1px rgba(21,23,26,.1),0 calc(var(--u)*2) calc(var(--u)*4) rgba(21,23,26,.06),0 calc(var(--u)*38) calc(var(--u)*72) calc(var(--u)*-14) rgba(21,23,26,.4)}
.cr-base,.cr-ov{position:absolute;inset:0;width:100%;height:100%;display:block}
.cr-temp{font-family:"Source Sans 3","Source Sans Pro","Noto Sans CJK SC","Noto Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}
/* fans: each the original icon, turning at its own speed */
.cr-fan{position:absolute;width:calc(var(--u)*46);height:calc(var(--u)*46);border-radius:50%;overflow:hidden}
.cr-fan img{display:block;width:100%;height:100%}
.cr.run .cr-fan{animation:crSpin 2.6s linear infinite}
.cr.run .cr-fan2{animation-duration:3.1s}.cr.run .cr-fan3{animation-duration:2.3s}.cr.run .cr-fan4{animation-duration:2.85s}
@keyframes crSpin{to{transform:rotate(360deg)}}
/* coils: a blurred copy of each icon breathes on top, so the colour and temperature stay exactly as they are */
.cr-coil{position:absolute;width:calc(var(--u)*72);height:calc(var(--u)*46);filter:blur(calc(var(--u)*3)) saturate(1.3) brightness(1.25);mix-blend-mode:screen;opacity:0;pointer-events:none}
.cr.run .cr-coil{animation:crGlow 3.2s ease-in-out infinite}
.cr.run .cr-coil2{animation-delay:-.8s}.cr.run .cr-coil3{animation-delay:-1.6s}.cr.run .cr-coil4{animation-delay:-2.4s}
@keyframes crGlow{0%,100%{opacity:0}50%{opacity:.6}}
/* compressors: soft blue ping + card edge while "active" (states and values untouched) */
.cr-edge{opacity:0;transition:opacity .9s ease-in-out}
.cr-ping{opacity:0;transform-box:fill-box;transform-origin:center}
.cr-comp.on .cr-edge{opacity:.55}
.cr.run .cr-comp.on .cr-ping{animation:crPing 2s ease-out infinite}
.cr.run .cr-comp.on .cr-ping2{animation-delay:1s}
@keyframes crPing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
/* Auto mode: a gentle green pulse */
.cr-auto{opacity:0;transform-box:fill-box;transform-origin:center}
.cr.run .cr-auto{animation:crAuto 2.2s ease-out infinite}
@keyframes crAuto{0%{transform:scale(1);opacity:.75}100%{transform:scale(2.3);opacity:0}}
.cr:not(.run) *{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.cr-fan,.cr-coil,.cr-ping,.cr-auto{animation:none!important}.cr-coil,.cr-ping,.cr-auto,.cr-edge{opacity:0!important}.cr-win{transition:none}.case:hover .cr-win{transform:none}}
/* Booka: booking flow with travel buffer */
.flow{display:flex;align-items:center}
.node{width:15cqi;padding:1.8cqi;background:var(--card);display:flex;flex-direction:column;gap:1cqi;box-shadow:0 1cqi 3cqi color-mix(in srgb,var(--ink) 9%,transparent)}
.node span{font-size:1.45cqi;color:var(--muted)}
.node p{margin:0;font-size:1.9cqi;line-height:1.25;font-weight:500}
.node.on{outline:1px solid var(--redline)}
.node.on span{color:var(--redline)}
.edge{position:relative;width:4.4cqi;height:1px;background:var(--muted);overflow:hidden}
.edge::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:var(--redline);animation:edge 1.8s linear infinite}
@keyframes edge{to{left:100%}}
.node .meter{height:.5cqi;background:var(--line);position:relative;overflow:hidden}
.node .meter::after{content:"";position:absolute;inset:0 38% 0 0;background:var(--redline);animation:meter 3s var(--ease) infinite}
@keyframes meter{0%{right:100%}70%,100%{right:0}}
@media (prefers-reduced-motion:reduce){
  .wave i,.rod i.go,.playhead,.switch i,.a11y-title,.edge::after,.node .meter::after{animation:none}
}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);margin:0;padding:0;list-style:none}
.step{display:flex;flex-direction:column;gap:14px}
.step-line{height:1px;background:var(--ink);transform-origin:0 50%;position:relative}
.step-line::after{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;background:var(--redline)}
.step .mono{color:var(--redline);margin-top:10px}
.step h3{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:105%;font-size:clamp(20px,1.8vw,26px);line-height:1.1;letter-spacing:-.015em;text-wrap:balance}
.step p{margin:0;color:var(--muted);max-width:36ch}

/* ---------- experience ---------- */
.rows{border-top:1px solid var(--ink)}
.row{position:relative;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr) 32px;gap:8px 32px;align-items:baseline;
  padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--line);isolation:isolate}
.row::before{content:"";position:absolute;inset:0 calc(var(--gr) * -1) 0 calc(var(--gl) * -1);z-index:-1;background:var(--panel);transform:scaleY(0);transform-origin:50% 100%;transition:transform .55s var(--ease)}
.row:hover::before{transform:scaleY(1)}
.row h3{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(24px,2.6vw,40px);letter-spacing:-.02em;line-height:1.05;transition:transform .55s var(--ease)}
.row:hover h3{transform:translateX(12px)}
.row p{margin:0;color:var(--muted)}
.row .co{font-size:12px;letter-spacing:.06em}
.earlier{margin-top:clamp(48px,5vw,72px)}
.earlier .eyebrow{margin:0 0 16px}
.rows-sm{border-top-color:var(--line)}
.rows-sm .row{padding:clamp(12px,1.3vw,18px) 0}
.rows-sm .row h3{font-size:clamp(18px,1.6vw,24px);font-stretch:105%}
.rows-sm .row .co{font-size:11px}
.row .arrow{justify-self:end;color:var(--redline);transition:transform .55s var(--ease)}
.row:hover .arrow{transform:rotate(-45deg)}
.toolkit{display:flex;flex-wrap:wrap;gap:10px 10px;margin-top:clamp(36px,4vw,56px);align-items:center}
.toolkit .label{color:var(--muted);margin-right:8px}
.toolkit span.chip{border:1px solid var(--line);padding:8px 12px;font-size:11px;transition:border-color .3s,color .3s}
.toolkit span.chip:hover{border-color:var(--redline);color:var(--redline)}

/* ---------- contact ---------- */
.contact{padding-block:clamp(110px,14vw,200px) 40px;border-top:1px solid var(--line)}
.contact .h2{font-size:clamp(44px,8vw,140px);max-width:16ch}
@media (min-width:1025px){.contact .h2{font-size:clamp(56px,5.6vw,108px);max-width:12.5em}}
.contact .h2 .w{display:inline-block}
.email-row{margin-top:clamp(40px,5vw,72px);display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.email{font-family:var(--f-mono);font-size:clamp(17px,3vw,44px);letter-spacing:-.01em;border-bottom:1px solid var(--redline);padding-bottom:6px;overflow-wrap:anywhere;user-select:all;min-width:0}
.foot{margin-top:clamp(96px,12vw,160px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--muted);padding-top:20px;border-top:1px solid var(--line)}
.foot button:hover{color:var(--redline)}
.foot time{font-variant-numeric:tabular-nums}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .statement{grid-template-columns:minmax(0,1fr)}
  .statement-gap,.statement-text,.facts{grid-column:1}
}
@media (min-width:701px) and (max-width:1024px){
  .statement{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .statement .eyebrow,.statement-text{grid-column:2}
  .facts{grid-column:1/-1}
}
@media (max-width:1024px){
  .contact .h2{max-width:none;text-wrap:wrap}
  .email-row{flex-direction:column;align-items:stretch;container-type:inline-size}
  .email{display:block;font-size:calc(100cqi / 12.5);text-align:left}
  .email-row .btn{width:100%;justify-content:center}
}
@media (max-width:1100px){
  .hero-foot{grid-template-columns:minmax(0,1fr) auto}
  .hero-meta{grid-column:1/-1;justify-content:start}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px),(max-height:559px){
  .track{flex-direction:column;width:auto}
  .case{width:100%;min-width:0}
}
@media (max-width:899px){
  .row{grid-template-columns:minmax(0,1fr) 24px;gap:6px 16px}
  .row p{grid-column:1}
  .row .arrow{grid-row:1;grid-column:2;align-self:center}
}
@media (max-width:700px){
  .statement-text{font-size:min(26px,calc((100vw - var(--gl) - var(--gr)) / 16.4))}
  .hero-eyebrow{flex-direction:column;align-items:flex-start;gap:6px}
  .hero-eyebrow>span{font-size:min(11px,calc((100vw - var(--gl) - var(--gr)) / 37));white-space:nowrap}
  :root{--ruler:0px}
  .ruler,.ruler-corner{display:none}
  .brand-name{display:none}
  .hero h1{font-size:calc((100vw - 40px) * .145)}
  .toggle button{padding:8px 10px}
  .nav-status{padding:8px 2px;font-size:12px;gap:8px}
  .mail-ico{width:16px}
  .lbl-full{display:none}
  .lbl-short{display:inline}
  .hero-foot{grid-template-columns:minmax(0,1fr)}
  .statement{grid-template-columns:minmax(0,1fr)}
  .statement-gap,.statement-text,.facts{grid-column:1}
  .facts{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr)}
}
/* ---------- rotating word in hero intro ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.rot{display:inline-grid;align-items:center;vertical-align:bottom;height:1.5em;line-height:1.5;overflow:hidden;color:var(--redline);font-weight:500}
.rot>span{display:block;grid-area:1/1;align-self:center;justify-self:start;line-height:1.5;transform:translateY(100%);opacity:0;transition:transform .7s var(--ease),opacity .7s var(--ease)}
.rot>span.is-in{transform:translateY(0);opacity:1}
.rot>span.is-out{transform:translateY(-100%);opacity:0}
/* ---------- ask-AI chat ---------- */
.chat{position:fixed;z-index:170;right:max(20px, env(safe-area-inset-right,0px));bottom:max(20px, env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.chat-fab{display:flex;align-items:center;gap:10px;padding:13px 18px;background:var(--ink);color:var(--paper);font-size:12px;box-shadow:0 10px 30px color-mix(in srgb,var(--ink) 25%,transparent);transition:transform .4s var(--ease),background-color .3s,color .3s}
.chat-fab:hover,.chat-fab:focus-visible{background:var(--redline);color:var(--on-red);transform:translateY(-2px)}
.chat-dot{width:8px;height:8px;border-radius:50%;background:var(--redline);animation:pulse 2.2s infinite}
.chat-fab:hover .chat-dot,.chat-fab:focus-visible .chat-dot{background:var(--on-red)}
.chat-panel{width:min(380px, calc(100vw - 32px));max-height:min(560px, calc(100vh - 120px));display:flex;flex-direction:column;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 60px color-mix(in srgb,var(--ink) 22%,transparent);transform-origin:100% 100%}
.chat-panel:not([hidden]){animation:chatIn .45s var(--ease)}
@keyframes chatIn{from{opacity:0;transform:translateY(12px) scale(.98)}}
.chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--line)}
.chat-kicker{margin:0 0 4px;color:var(--redline);font-size:10px}
.chat-head h2{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:20px;letter-spacing:-.02em}
.chat-x{width:32px;height:32px;display:grid;place-items:center;font-size:22px;line-height:1;color:var(--muted)}
.chat-x:hover{color:var(--ink)}
.chat-log{flex:1;min-height:120px;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.msg{max-width:88%;padding:10px 13px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.bot{align-self:flex-start;background:var(--panel)}
.msg.user{align-self:flex-end;background:var(--ink);color:var(--paper)}
.msg.thinking{color:var(--muted)}
.msg.err{align-self:flex-start;border:1px solid var(--redline);color:var(--redline)}
.chat-sugg{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 12px}
.chat-sugg button{font-size:12px;padding:6px 10px;border:1px solid var(--line);color:var(--ink);transition:border-color .3s,color .3s}
.chat-sugg button:hover,.chat-sugg button:focus-visible{border-color:var(--redline);color:var(--redline)}
.chat-form{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}
.chat-form input{flex:1;min-width:0;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0}
.chat-form input:focus{outline:none;border-color:var(--redline)}
.chat-send{padding:0 14px;background:var(--redline);color:var(--on-red);font-size:12px}
.chat-send:hover,.chat-send:focus-visible{background:var(--ink);color:var(--paper)}
.chat-send:disabled,.chat-form input:disabled{opacity:.5;cursor:not-allowed}
.chat-note{margin:0;padding:0 18px 12px;font-size:11px;color:var(--muted)}
.has-cursor .chat,.has-cursor .chat *{cursor:auto}
.has-cursor .chat button{cursor:pointer}
.has-cursor .chat input{cursor:text}
/* chat answer blocks: the AI picks these layouts, the site draws them */
.chat-panel{transition:width .5s var(--ease),max-height .5s var(--ease)}
.chat-panel.is-wide{width:min(540px, calc(100vw - 32px));max-height:min(720px, calc(100vh - 120px))}
.msg.rich{max-width:100%;width:100%;white-space:normal;display:flex;flex-direction:column;gap:12px;padding:14px 15px}
.msg-prose{display:flex;flex-direction:column;gap:8px}
.msg-p{margin:0}
.msg.rich strong{font-weight:600}
.blk{margin:0;padding:0;list-style:none;animation:blkIn .55s var(--ease) both}
.blk>*{animation:blkIn .55s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms + 60ms)}
@keyframes blkIn{from{opacity:0;transform:translateY(8px)}}
.blk-none{display:none}
.blk-wait{display:flex;align-items:center;gap:10px;padding:12px;border:1px dashed var(--line);color:var(--muted);font-size:10px}
.blk-wait i{width:10px;height:10px;border:1px solid var(--redline);animation:blkSpin 1.1s linear infinite}
@keyframes blkSpin{to{transform:rotate(360deg)}}
/* list */
.blk-list{display:flex;flex-direction:column;gap:7px}
.blk-list li{position:relative;padding-left:18px}
.blk-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--redline)}
/* cards */
.blk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.blk-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:13px 14px 14px;background:var(--card);border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease)}
.blk-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.blk-card-t{font-family:var(--f-display);font-weight:800;font-stretch:106%;font-size:15px;letter-spacing:-.01em;line-height:1.2}
.blk-tag{color:var(--redline);font-size:10px}
.blk-go{margin-top:auto;padding-top:6px;font-size:10px;color:var(--muted);transition:color .3s}
.blk-card.is-link:hover,.blk-card.is-link:focus-visible{border-color:var(--redline);transform:translateY(-2px)}
.blk-card.is-link:hover .blk-go,.blk-card.is-link:focus-visible .blk-go{color:var(--redline)}
.blk-card::before,.blk-card::after{content:"";position:absolute;width:7px;height:7px;border:0 solid var(--redline);opacity:0;transition:opacity .3s}
.blk-card::before{top:-1px;left:-1px;border-width:1px 0 0 1px}.blk-card::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.blk-card.is-link:hover::before,.blk-card.is-link:hover::after{opacity:1}
/* accordion */
.blk-acc{border-top:1px solid var(--line)}
.blk-acc details{border-bottom:1px solid var(--line)}
.blk-acc summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;cursor:pointer;list-style:none;font-weight:600;font-size:14px;transition:color .3s}
.blk-acc summary::-webkit-details-marker{display:none}
.blk-acc summary:hover,.blk-acc details[open] summary{color:var(--redline)}
.blk-acc-ico{font-style:normal;font-family:var(--f-mono);font-size:15px;width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);flex:none;transition:border-color .3s}
.blk-acc details[open] .blk-acc-ico{border-color:var(--redline)}
.blk-acc details p{margin:0;padding:0 2px 13px;color:var(--muted);font-size:13.5px;animation:blkIn .45s var(--ease)}
/* steps */
.blk-steps{display:flex;flex-direction:column;counter-reset:s}
.blk-steps li{position:relative;display:grid;grid-template-columns:30px 1fr;gap:10px;padding-bottom:14px}
.blk-steps li:last-child{padding-bottom:0}
.blk-steps li:not(:last-child)::after{content:"";position:absolute;left:12px;top:26px;bottom:2px;width:1px;background:var(--line)}
.blk-n{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--redline);color:var(--redline);font-size:10px;background:var(--panel);position:relative;z-index:1}
.blk-steps b{display:block;font-size:14px;line-height:1.3;padding-top:3px}
.blk-steps p,.blk-time p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
/* timeline */
.blk-time{position:relative;padding-left:18px;display:flex;flex-direction:column;gap:13px}
.blk-time::before{content:"";position:absolute;left:3px;top:6px;bottom:6px;width:1px;background:var(--line)}
.blk-time li{position:relative}
.blk-time li::before{content:"";position:absolute;left:-18px;top:5px;width:7px;height:7px;background:var(--panel);border:1px solid var(--redline)}
.blk-time li:first-child::before{background:var(--redline)}
.blk-when{display:block;color:var(--redline);font-size:10px;margin-bottom:1px}
.blk-time b{font-size:14px;line-height:1.3}
/* stats */
.blk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.blk-stats>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.blk-stats b{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:28px;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.blk-stats span{font-size:10px;color:var(--muted)}
/* quote */
.blk-quote{padding:4px 0 4px 14px;border-left:2px solid var(--redline)}
.blk-quote blockquote{margin:0;font-family:var(--f-display);font-weight:600;font-size:16px;line-height:1.4;letter-spacing:-.01em}
.blk-quote figcaption{margin-top:8px;font-size:10px;color:var(--muted)}
/* buttons */
.blk-btns{display:flex;flex-wrap:wrap;gap:6px}
.blk-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;font-size:11px;border:1px solid var(--ink);color:var(--ink);transition:background-color .3s,color .3s,border-color .3s}
.blk-btn .arr{transition:transform .4s var(--ease)}
.blk-btn:hover .arr,.blk-btn:focus-visible .arr{transform:translateX(3px)}
.blk-btn:hover,.blk-btn:focus-visible{border-color:var(--redline);color:var(--redline)}
.blk-btn.is-primary{background:var(--ink);color:var(--paper)}
.blk-btn.is-primary:hover,.blk-btn.is-primary:focus-visible{background:var(--redline);border-color:var(--redline);color:var(--on-red)}
.has-cursor .chat a,.has-cursor .chat summary{cursor:pointer}
@media (prefers-reduced-motion: reduce){.blk,.blk>*,.blk-acc details p,.blk-wait i{animation:none}.chat-panel{transition:none}}
@media (max-width:700px){.chat{right:max(16px, env(safe-area-inset-right,0px));bottom:max(16px, env(safe-area-inset-bottom,0px))}.chat-fab{padding:12px 14px}.chat-panel{max-height:calc(100vh - 140px)}}
/* ---------- view switch curtain ---------- */
.vt{position:fixed;inset:0;z-index:105;pointer-events:none;visibility:hidden}
.vt.on{visibility:visible;pointer-events:auto}
.vt-slats{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr)}
.vt-slats i{background:var(--ink);transform:scaleY(0);transform-origin:50% 100%;margin-inline:-1px;will-change:transform}
.vt-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--paper);font-size:14px;letter-spacing:.24em;opacity:0;white-space:nowrap}
[hidden]{display:none!important}
/* ---------- case study view ---------- */
.cs{position:fixed;inset:0;z-index:140;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);transform:translateY(100%);transition:transform .9s var(--ease);-webkit-overflow-scrolling:touch}
.cs.open{transform:none}
.cs-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--gr) 14px var(--gl);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.cs-close{display:inline-flex;align-items:center;gap:10px;padding:8px 0;color:var(--ink);transition:color .3s}
.cs-close:hover,.cs-close:focus-visible{color:var(--redline)}
.cs-count{color:var(--muted);font-variant-numeric:tabular-nums}
.cs-bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--redline);transform:scaleX(0);transform-origin:0 50%}
.cs-hero{padding-top:clamp(56px,8vw,120px);padding-bottom:clamp(32px,4vw,56px)}
.cs-title{margin:22px 0 0;font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(44px,8vw,132px);line-height:.92;letter-spacing:-.035em;text-wrap:balance}
.cs-sub{margin:22px 0 0;max-width:46ch;font-size:clamp(18px,1.6vw,24px);line-height:1.45;color:var(--muted)}
.cs-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px;margin:clamp(36px,4vw,56px) 0 0;padding:0}
.cs-meta div{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.cs-meta dt{color:var(--muted)}
.cs-meta dd{margin:0;color:var(--ink);text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:15px;font-weight:500}
.cs-visual .case-vis{aspect-ratio:16/8;width:100%}
.cs-visual .case-vis .br{opacity:1;transform:none}
.cs-sec{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:20px clamp(24px,4vw,64px);padding-block:clamp(48px,6vw,96px);border-top:1px solid var(--line);margin-top:clamp(48px,6vw,96px)}
.cs-sec + .cs-sec{margin-top:0}
.cs-sec .eyebrow{margin:0;align-self:start;padding-top:.3em}
.cs-lead{margin:0;font-family:var(--f-display);font-weight:500;font-size:clamp(22px,2.4vw,38px);line-height:1.2;letter-spacing:-.015em;max-width:34ch;text-wrap:pretty}
.cs-text{margin:0;font-size:clamp(17px,1.4vw,21px);line-height:1.6;max-width:58ch;color:var(--ink)}
.cs-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cs-chips li{border:1px solid var(--line);padding:8px 12px;font-size:11px}
.cs-users{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.cs-users li{border-top:1px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.cs-users strong{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.015em}
.cs-users span{color:var(--muted)}
.cs-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.cs-steps>li{display:grid;grid-template-columns:56px minmax(0,5fr) minmax(0,7fr);gap:8px 32px;align-items:baseline;padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--line)}
.cs-steps>li>span{color:var(--redline)}
.cs-steps h3{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(20px,2vw,30px);letter-spacing:-.02em;line-height:1.1}
.cs-steps p{margin:0;color:var(--muted);line-height:1.6}
.cs-out .cs-lead{color:var(--ink)}
.cs-ext{display:inline-block;margin-top:24px;color:var(--redline);border-bottom:1px solid currentColor;padding-bottom:4px}
.cs-take{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.cs-take li{position:relative;padding-left:28px;font-size:clamp(17px,1.4vw,21px);line-height:1.5;max-width:58ch}
.cs-take li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:1px;background:var(--redline)}
.cs-c{display:flex;flex-direction:column;gap:clamp(20px,2vw,28px);min-width:0}
.cs-c>.cs-ext{margin-top:0;align-self:flex-start}
.cs-c>.cs-label{margin-bottom:calc(clamp(20px,2vw,28px) * -.5)}
.cs-label{margin:0;color:var(--muted);font-size:11px}
.cs-mini{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.cs-mini li{position:relative;padding-left:18px;line-height:1.5;color:var(--ink)}
.cs-mini li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--redline)}
.cs-users .cs-mini li{color:var(--muted)}
.cs-sb{display:flex;flex-direction:column;gap:14px;min-width:0}
.cs-sb .cs-label{margin-bottom:-6px}
.cs-sb>.cs-mini{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:6px 24px}
.cs-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:20px 28px}
.cs-cols>div{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.cs-res{margin:0;display:flex;flex-direction:column;gap:6px;padding-left:16px;border-left:2px solid var(--redline);color:var(--ink)!important;line-height:1.55;max-width:58ch}
.cs-res span{color:var(--redline);font-size:11px}
.cs-cap{margin:0;color:var(--muted)!important;font-size:11px}
.cs-take strong{font-weight:600}
.cs-note{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:clamp(24px,3vw,40px);border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 3%,transparent)}
.cs-note p{margin:0;font-size:clamp(17px,1.4vw,21px);line-height:1.55;max-width:52ch}
.cs-next{border-top:1px solid var(--ink);margin-top:clamp(48px,6vw,96px);padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(56px,7vw,110px);display:flex;flex-direction:column;gap:22px}
.cs-next .eyebrow{margin:0}
.cs-next-link{display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.cs-next-title{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(40px,7vw,120px);line-height:.95;letter-spacing:-.035em;transition:color .45s var(--ease)}
.cs-next-arrow{font-size:clamp(32px,5vw,80px);color:var(--redline);transition:transform .55s var(--ease)}
.cs-next-link:hover .cs-next-title,.cs-next-link:focus-visible .cs-next-title{color:var(--redline)}
.cs-next-link:hover .cs-next-arrow{transform:translateX(12px)}
.cs-back{align-self:flex-start;color:var(--muted);padding:8px 0}
.cs-back:hover{color:var(--redline)}
.cs-rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.cs-rv.in{opacity:1;transform:none}
@media (max-width:899px){
  .cs-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-sec{grid-template-columns:minmax(0,1fr)}
  .cs-users{grid-template-columns:minmax(0,1fr)}
  .cs-steps>li{grid-template-columns:40px minmax(0,1fr)}
  .cs-steps .cs-sb{grid-column:2}
  .cs-visual .case-vis{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){.cs{transition:none}.cs-rv{opacity:1;transform:none;transition:none}}
/* ---------- view toggle + activities ---------- */
.toggle{position:relative;display:flex;padding:3px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 80%,transparent);isolation:isolate}
.toggle button{position:relative;z-index:1;padding:9px 16px;font-family:var(--f-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);font-weight:500;transition:color .45s var(--ease)}
.toggle button.is-on{color:var(--paper)}
.toggle:not(.ready) button.is-on{background:var(--ink)}
.toggle button:not(.is-on):hover{color:var(--redline)}
.toggle-ind{position:absolute;z-index:0;top:3px;bottom:3px;left:0;width:0;background:var(--ink);transition:transform .55s var(--ease),width .55s var(--ease)}
/* In the field (activities view) */
.is-field #hero,.is-field .band{display:none}
.is-field .fld-intro{padding-top:clamp(120px,12vw,180px)}
.fld-intro{padding-block:clamp(96px,11vw,160px) clamp(32px,4vw,56px)}
.fld-intro .sec-head{align-items:flex-end}
.fld-eyebrow{margin:0;flex-direction:column;align-items:flex-start;gap:12px}
.fld-eyebrow::before{flex:none}
.fld-eb{display:flex;flex-direction:column;gap:6px}
.fld-eb>span{white-space:nowrap}
.fld-eb-m{display:none}
@media (max-width:700px){.fld-eb-d{display:none}.fld-eb-m{display:flex}}
.fld-intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(32px,6vw,96px);align-items:end}
.fld-lead{margin:0;font-family:var(--f-display);font-weight:500;font-size:clamp(20px,2vw,30px);line-height:1.25;letter-spacing:-.01em;max-width:34ch;text-wrap:pretty}
.fld-index{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.fld-index a{display:flex;gap:16px;align-items:center;min-height:44px;border-bottom:1px solid var(--line);transition:color .35s var(--ease),padding .5s var(--ease)}
.fld-index a span{color:var(--redline)}
.fld-index a:hover,.fld-index a:focus-visible{color:var(--redline);padding-left:8px}
.fld-sec{padding-block:clamp(56px,7vw,112px);border-top:1px solid var(--line)}
.fld-head{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(28px,3.4vw,48px)}
.fld-n{color:var(--redline)}
.fld-title{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:clamp(28px,3.6vw,56px);line-height:1;letter-spacing:-.025em}
.fld-sub{margin:-12px 0 clamp(28px,3vw,40px);color:var(--muted);max-width:52ch}
.fld-kicker{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--redline)}
.fld-live{width:7px;height:7px;border-radius:50%;background:var(--redline);animation:fldPulse 1.8s ease-in-out infinite}
@keyframes fldPulse{50%{opacity:.25}}
.fld-pill{border:1px solid currentColor;padding:3px 8px;font-size:10px;color:var(--redline)}
.fld-pill.is-past,.fld-pill.is-draft{color:var(--muted)}
.fld-pill.is-draft{border-style:dashed}
.fld-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);border-bottom:1px solid var(--ink);align-self:flex-start;transition:color .35s var(--ease),border-color .35s var(--ease)}
.fld-link:hover,.fld-link:focus-visible{color:var(--redline);border-color:var(--redline)}
.fld-org{margin:0;color:var(--muted)}
/* photo strip */
.fld-gallery{padding-block:clamp(8px,1vw,16px) clamp(56px,7vw,112px)}
.fld-gal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.fld-gal-head .eyebrow{margin:0;font-weight:400}
.fld-gal-nav{display:flex;gap:8px}
.fld-gal-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ink);font-family:var(--f-mono);transition:background .35s var(--ease),color .35s var(--ease)}
.fld-gal-btn:hover,.fld-gal-btn:focus-visible{background:var(--ink);color:var(--paper)}
.fld-gal-btn:disabled{opacity:.3;pointer-events:none}
.fld-strip{list-style:none;margin:0;display:flex;gap:clamp(12px,1.4vw,20px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  padding:0 var(--gr) 14px var(--gl);scroll-padding-inline:var(--gl);scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.fld-strip:focus-visible{outline-offset:-1px}
.fld-shot-item{flex:none;scroll-snap-align:start}
.fld-shot-item figure{margin:0;display:flex;flex-direction:column;gap:12px}
.fld-strip{--h:clamp(280px,32vw,460px)}
.fld-shot-item img{display:block;width:min(84vw,calc(var(--h) * 4 / 3));height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--pos,50% 50%);background:var(--panel);border:1px solid var(--line)}
.fld-shot-item img.is-slide{object-fit:contain;background:#FBF9F4}
.fld-shot-item img.is-poster{object-fit:contain;background:#FFFFFF}
.fld-shot-item .fld-shot-shot{width:min(84vw,calc(var(--h) * 4 / 3));aspect-ratio:4/3;display:grid;place-items:center;border:1px solid var(--line);
  background:radial-gradient(120% 90% at 50% 110%,rgba(20,168,0,.16),transparent 60%),#EEF1EA}
.fld-shot-item .fld-shot-shot img{width:84%;height:auto;aspect-ratio:auto;object-fit:contain;border:0;background:#fff;border-radius:14px;
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 40px -12px rgba(0,30,0,.28)}
.fld-shot-item figcaption{display:flex;flex-direction:column;gap:4px;max-width:min(36ch,82vw)}
.fld-shot-item figcaption b{font-family:var(--f-display);font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.2}
.fld-shot-item figcaption .mono{color:var(--muted);font-size:11px}
.fld-shot-item .fld-role{align-self:flex-start;border:1px solid var(--line);padding:2px 7px;font-size:10px}
.fld-shot-item .fld-role.is-led{color:var(--redline);border-color:currentColor}
.fld-entry-shot{margin:4px 0 0;max-width:520px;width:100%}
.fld-entry-shot img{display:block;width:100%;height:auto;border:1px solid var(--line)}
@media (max-width:700px){.fld-gal-nav{display:none}.fld-strip{--h:300px}}
/* featured upcoming */
.fld-feature{display:grid;grid-template-columns:minmax(150px,3fr) minmax(0,9fr);background:var(--card);border:1px solid var(--line)}
.fld-date{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:clamp(20px,2.4vw,32px);background:var(--ink);color:var(--paper)}
.fld-date b{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:clamp(88px,11vw,180px);line-height:.8;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.fld-date .mono:last-child{color:color-mix(in srgb,var(--paper) 70%,transparent)}
.fld-feature-body{padding:clamp(22px,3vw,48px);display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.fld-feature h4{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:clamp(34px,4.6vw,72px);line-height:.95;letter-spacing:-.03em;text-wrap:balance}
.fld-desc{margin:0;color:var(--muted);font-size:18px}
.fld-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:8px 0 12px;width:100%}
.fld-meta div{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.fld-meta dt{color:var(--muted);font-size:11px}
.fld-meta dd{margin:0;line-height:1.4}
.fld-empty{margin:0;padding:24px 0;border-top:1px solid var(--ink);color:var(--muted)}
.fld-empty a{color:var(--ink);border-bottom:1px solid var(--redline)}
/* past workshops log */
.fld-log{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.fld-item{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,7fr) minmax(0,3fr);gap:12px clamp(20px,3vw,48px);padding:clamp(22px,2.6vw,36px) 0;border-bottom:1px solid var(--line);align-items:baseline}
.fld-when{color:var(--muted)}
.fld-what{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.fld-what h4{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:clamp(24px,2.6vw,40px);line-height:1.05;letter-spacing:-.02em}
.fld-what p{margin:0;color:var(--muted);max-width:60ch}
.fld-what .tags{margin:0}
.fld-item .fld-org{text-align:right}
/* cards */
.fld-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,40px)}
.fld-notes{grid-template-columns:repeat(3,minmax(0,1fr))}
.fld-card{border-top:1px solid var(--ink);padding-top:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.fld-card h4{margin:0;font-family:var(--f-display);font-weight:700;font-stretch:105%;font-size:clamp(22px,2vw,30px);line-height:1.1;letter-spacing:-.015em;text-wrap:balance}
.fld-card p:not(.mono){margin:0;color:var(--muted);max-width:44ch}
.fld-cards>.fld-card .fld-kicker{color:var(--muted)}
.fld-cards>.fld-card .fld-kicker .fld-pill:not(.is-past):not(.is-draft){color:var(--redline)}
.fld-notes>.fld-card .fld-kicker{color:var(--redline)}
.fld-card.is-draft{border-top-style:dashed;border-top-color:var(--muted)}
.fld-card.is-draft h4{color:var(--muted)}
.fld-rows .row h3{font-size:clamp(22px,2.2vw,34px)}
.fld-rows .fld-more{border-bottom-style:dashed}
.fld-rows .fld-more h3{color:var(--muted);font-weight:500}
.fld-rows .fld-more .arrow{color:var(--muted)}
.fld-rows .fld-more:hover .arrow{transform:none}
@media (max-width:1024px){
  .fld-intro-grid{grid-template-columns:minmax(0,1fr)}
  .fld-item{grid-template-columns:minmax(0,1fr)}
  .fld-item .fld-org{text-align:left;order:3}
  .fld-notes{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .fld-feature{grid-template-columns:minmax(0,1fr)}
  .fld-date{flex-direction:row;align-items:flex-end;justify-content:flex-start;gap:16px}
  .fld-date b{font-size:88px;order:-1}
  .fld-date span{padding-bottom:6px}
  .fld-meta{grid-template-columns:minmax(0,1fr);gap:12px}
  .fld-feature .btn{width:100%;justify-content:center}
  .fld-cards{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.fld-live{animation:none}}
@media (prefers-reduced-motion:reduce){
  .grain,.pulse,.edge::after,.playhead,.mail-ico,.mail-ico path,.chat-dot,.chat-panel{animation:none}
  *{transition-duration:.01ms!important}
}
