/* Zerrow site: ALL styles. Torn-paper craft in brand coral, blue and deep blue.
   Rules that keep it safe: hidden-until-revealed only under .js-ready, grid columns use minmax(0,1fr),
   img with width/height attrs gets height:auto, every media box has an explicit aspect ratio. */
:root{
  --paper:#FFF8F0; --white:#fff; --ink:#14181F; --ink2:#3A4350;
  --coral:#F0475A; --coral-d:#C8203A; --blue:#1E9BF0; --deep:#0E4C86;
  --coral-t:#FFE6EA; --blue-t:#DDF0FE;
  --gut:clamp(16px,2.4vw,34px);
  --sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --hand:"Caveat","Segoe Script",cursive;
  --navh:72px;
  --torn-a:polygon(0.00% 0.26%,3.85% 0.60%,7.69% 0.41%,11.54% 0.66%,15.38% 0.69%,19.23% 0.07%,23.08% 0.01%,26.92% 0.92%,30.77% 0.29%,34.62% 0.26%,38.46% 1.10%,42.31% 0.52%,46.15% 0.92%,50.00% 0.52%,53.85% 0.70%,57.69% 0.17%,61.54% 0.70%,65.38% 0.95%,69.23% 0.58%,73.08% 0.82%,76.92% 0.74%,80.77% 0.07%,84.62% 0.83%,88.46% 0.65%,92.31% 0.33%,96.15% 0.03%,99.05% 0.00%,99.48% 3.85%,99.21% 7.69%,99.03% 11.54%,99.21% 15.38%,98.99% 19.23%,99.57% 23.08%,99.12% 26.92%,99.51% 30.77%,98.97% 34.62%,99.03% 38.46%,99.89% 42.31%,99.85% 46.15%,99.76% 50.00%,98.94% 53.85%,99.52% 57.69%,99.31% 61.54%,99.67% 65.38%,99.44% 69.23%,99.58% 73.08%,99.61% 76.92%,99.36% 80.77%,99.36% 84.62%,99.01% 88.46%,99.25% 92.31%,98.98% 96.15%,100.00% 99.06%,96.15% 98.91%,92.31% 99.26%,88.46% 99.82%,84.62% 99.05%,80.77% 98.94%,76.92% 99.00%,73.08% 99.37%,69.23% 99.21%,65.38% 99.77%,61.54% 99.09%,57.69% 99.37%,53.85% 99.69%,50.00% 99.93%,46.15% 99.06%,42.31% 98.91%,38.46% 99.90%,34.62% 99.12%,30.77% 99.55%,26.92% 99.83%,23.08% 99.68%,19.23% 99.15%,15.38% 99.04%,11.54% 99.95%,7.69% 99.32%,3.85% 99.95%,0.79% 100.00%,0.36% 96.15%,0.97% 92.31%,1.08% 88.46%,0.56% 84.62%,1.10% 80.77%,0.34% 76.92%,0.08% 73.08%,0.66% 69.23%,0.03% 65.38%,0.22% 61.54%,0.45% 57.69%,0.67% 53.85%,0.17% 50.00%,0.05% 46.15%,0.95% 42.31%,0.35% 38.46%,1.05% 34.62%,0.99% 30.77%,0.42% 26.92%,0.51% 23.08%,0.57% 19.23%,0.71% 15.38%,0.66% 11.54%,0.62% 7.69%,0.68% 3.85%);
  --torn-b:polygon(0.00% 0.51%,3.85% 0.41%,7.69% 0.15%,11.54% 0.95%,15.38% 0.01%,19.23% 0.55%,23.08% 0.99%,26.92% 0.09%,30.77% 0.61%,34.62% 0.68%,38.46% 0.04%,42.31% 0.42%,46.15% 0.77%,50.00% 0.50%,53.85% 0.80%,57.69% 0.17%,61.54% 0.26%,65.38% 0.12%,69.23% 0.56%,73.08% 1.02%,76.92% 0.65%,80.77% 0.85%,84.62% 0.42%,88.46% 0.82%,92.31% 0.11%,96.15% 0.32%,99.26% 0.00%,99.20% 3.85%,99.54% 7.69%,99.90% 11.54%,99.71% 15.38%,99.77% 19.23%,99.69% 23.08%,99.11% 26.92%,99.78% 30.77%,99.02% 34.62%,99.03% 38.46%,99.94% 42.31%,99.58% 46.15%,99.46% 50.00%,99.97% 53.85%,99.53% 57.69%,99.00% 61.54%,99.88% 65.38%,99.34% 69.23%,99.87% 73.08%,99.36% 76.92%,99.02% 80.77%,99.78% 84.62%,99.99% 88.46%,99.91% 92.31%,99.41% 96.15%,100.00% 99.98%,96.15% 99.91%,92.31% 99.45%,88.46% 98.99%,84.62% 99.54%,80.77% 99.56%,76.92% 99.30%,73.08% 99.90%,69.23% 99.36%,65.38% 99.81%,61.54% 99.33%,57.69% 98.95%,53.85% 99.94%,50.00% 99.39%,46.15% 99.33%,42.31% 99.84%,38.46% 99.70%,34.62% 98.91%,30.77% 98.90%,26.92% 99.87%,23.08% 99.22%,19.23% 98.95%,15.38% 99.74%,11.54% 99.33%,7.69% 99.95%,3.85% 99.60%,0.74% 100.00%,0.65% 96.15%,0.85% 92.31%,0.10% 88.46%,0.38% 84.62%,0.95% 80.77%,0.64% 76.92%,0.50% 73.08%,0.44% 69.23%,1.08% 65.38%,0.63% 61.54%,0.02% 57.69%,0.88% 53.85%,0.36% 50.00%,0.48% 46.15%,0.23% 42.31%,0.49% 38.46%,0.36% 34.62%,0.10% 30.77%,0.69% 26.92%,0.11% 23.08%,0.86% 19.23%,0.03% 15.38%,0.86% 11.54%,0.89% 7.69%,0.55% 3.85%);
  --torn-c:polygon(0.00% 0.18%,3.85% 0.76%,7.69% 0.70%,11.54% 0.53%,15.38% 0.24%,19.23% 0.87%,23.08% 0.89%,26.92% 0.56%,30.77% 0.56%,34.62% 0.26%,38.46% 0.00%,42.31% 0.41%,46.15% 0.64%,50.00% 0.08%,53.85% 0.87%,57.69% 0.26%,61.54% 0.26%,65.38% 0.05%,69.23% 1.10%,73.08% 0.81%,76.92% 0.96%,80.77% 0.68%,84.62% 0.04%,88.46% 0.36%,92.31% 0.55%,96.15% 0.13%,98.95% 0.00%,99.59% 3.85%,99.83% 7.69%,99.10% 11.54%,99.86% 15.38%,98.98% 19.23%,99.50% 23.08%,99.39% 26.92%,99.62% 30.77%,99.47% 34.62%,99.79% 38.46%,99.96% 42.31%,99.05% 46.15%,99.74% 50.00%,99.14% 53.85%,99.77% 57.69%,98.93% 61.54%,99.02% 65.38%,99.17% 69.23%,99.16% 73.08%,99.36% 76.92%,99.20% 80.77%,99.87% 84.62%,99.48% 88.46%,99.09% 92.31%,99.78% 96.15%,100.00% 98.98%,96.15% 99.02%,92.31% 99.55%,88.46% 99.60%,84.62% 99.50%,80.77% 99.58%,76.92% 98.91%,73.08% 99.57%,69.23% 99.97%,65.38% 99.90%,61.54% 99.21%,57.69% 98.91%,53.85% 99.45%,50.00% 99.46%,46.15% 99.39%,42.31% 99.18%,38.46% 99.76%,34.62% 99.33%,30.77% 99.39%,26.92% 99.32%,23.08% 99.80%,19.23% 99.81%,15.38% 99.62%,11.54% 98.98%,7.69% 99.62%,3.85% 99.34%,0.34% 100.00%,0.11% 96.15%,0.07% 92.31%,0.90% 88.46%,0.85% 84.62%,0.41% 80.77%,0.75% 76.92%,0.74% 73.08%,0.99% 69.23%,1.05% 65.38%,0.45% 61.54%,1.09% 57.69%,1.06% 53.85%,0.65% 50.00%,0.97% 46.15%,0.54% 42.31%,0.41% 38.46%,0.27% 34.62%,0.96% 30.77%,0.18% 26.92%,0.08% 23.08%,0.89% 19.23%,0.85% 15.38%,0.53% 11.54%,0.92% 7.69%,0.06% 3.85%);
  --brush-closed:polygon(1% 8%,0 0,0 6%,0 0,0 10%,0 92%,0 100%,0 93%,0 100%,0 88%);
  --brush-open:polygon(1% 8%,22% 0,48% 6%,75% 0,99% 10%,100% 92%,76% 100%,50% 93%,24% 100%,0 88%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:70px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
main:focus{outline:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;z-index:300}
.skip:focus{left:16px}
.label{display:block;color:var(--coral-d);font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:20px}
.h-xl{font-weight:800;text-transform:uppercase;line-height:.96;letter-spacing:-.03em;font-size:clamp(34px,5.4vw,88px);overflow-wrap:normal;hyphens:manual}
.h-lg{font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:-.025em;font-size:clamp(28px,4vw,60px);overflow-wrap:normal;hyphens:manual}
.h-xl em,.h-lg em{font-style:normal;color:var(--coral)}
.mono{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase}

/* Reveal: hidden only when JS is up, always recoverable */
.js-ready .slide:not(.in),.js-ready .rise:not(.in){opacity:0}
.js-ready .slide:not(.in){transform:translateX(-40px)}
.js-ready .rise:not(.in){transform:translateY(30px)}
.js-ready .slide:not(.done),.js-ready .rise:not(.done){transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.force-show .slide,.force-show .rise{opacity:1!important;transform:none!important}

/* Brush-stroke buttons */
.brush{--c1:var(--coral);--c2:var(--deep);--fg:#fff;--fgh:#fff;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 28px;font-family:var(--sans);font-weight:800;font-size:19px;line-height:1.1;letter-spacing:-.005em;text-decoration:none;color:var(--fg);background:none;border:0;transition:color .25s;white-space:nowrap;filter:drop-shadow(0 3px 5px rgba(14,76,134,.2))}
.brush::before,.brush::after{content:"";position:absolute;inset:0;z-index:-1}
.brush::before{background:var(--c1);clip-path:var(--brush-open)}
.brush::after{background:var(--c2);clip-path:var(--brush-closed);transition:clip-path .55s cubic-bezier(.6,.05,.2,1)}
.brush:hover,.brush:focus-visible{color:var(--fgh)}
.brush:hover::after,.brush:focus-visible::after{clip-path:var(--brush-open)}
.brush.ghost{--c1:var(--blue-t);--c2:var(--blue);--fg:var(--ink);--fgh:var(--ink)}
.brush.dark{--c1:rgba(255,255,255,.14);--c2:#fff;--fg:#fff;--fgh:var(--ink);filter:none}
.brush.sm{min-height:44px;padding:8px 20px;font-size:17px}
.brush[disabled]{opacity:.7;cursor:progress}
.linkb{display:inline-flex;align-items:center;min-height:44px;font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;color:var(--deep);border-bottom:2px solid var(--coral)}
.linkb:hover{color:var(--coral-d)}

/* Torn paper dividers: one reusable edge */
.tear{position:absolute;left:0;top:-47px;width:100%;height:48px;pointer-events:none;z-index:3;color:var(--bg);filter:drop-shadow(0 -2px 3px rgba(14,76,134,.16))}
.tear.flip{transform:scaleX(-1)}
.tear-down{top:-1px;transform:scaleY(-1)}
.sec{--bg:var(--paper);position:relative;background:var(--bg);padding:clamp(120px,10vw,150px) var(--gut) clamp(84px,10vw,150px)}
.sec>*:not(.tear){position:relative}
.bg-blue{--bg:var(--blue-t)}
.bg-coral{--bg:var(--coral-t)}
.bg-deep{--bg:var(--deep);color:#fff}
.bg-deep .label{color:#FFB3BD}

/* Torn frames, tape */
.pframe{filter:drop-shadow(0 12px 16px rgba(14,76,134,.22));position:relative}
.pframe .in{background:#fff;padding:10px;clip-path:var(--torn-a)}
.pframe.b .in{clip-path:var(--torn-b)}
.pframe.c .in{clip-path:var(--torn-c)}
.tape{position:absolute;z-index:4;width:104px;height:28px;background-color:rgba(240,71,90,.78);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.3) 0 6px,transparent 6px 12px);box-shadow:0 1px 3px rgba(0,0,0,.15);clip-path:polygon(0 8%,4% 0,8% 10%,12% 0,100% 0,96% 40%,100% 70%,97% 100%,6% 100%,0 85%,3% 50%)}
.tape.blue{background-color:rgba(30,155,240,.62)}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--navh);background:var(--paper);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 var(--gut);transition:height .3s}
.nav.compact{--navh:58px}
.nav-tear{position:absolute;left:0;top:100%;width:100%;height:16px;margin-top:-1px;transform:scaleY(-1);color:var(--paper);filter:drop-shadow(0 -2px 2px rgba(14,76,134,.16));pointer-events:none}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;line-height:1}
.brand img{width:38px;height:38px;border-radius:50%}
.brand b{font-weight:800;font-size:25px;letter-spacing:-.03em}
.brand small{display:block;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.03em;color:var(--deep);margin-top:3px;text-transform:uppercase}
.nav-links{display:flex;gap:6px;list-style:none;align-items:center}
.nav-links>li>a,.dd-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-weight:700;font-size:16px;text-decoration:none;position:relative;background:none;border:0}
.nav-links>li>a::after,.dd-btn::before{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links>li>a:hover::after,.dd-btn:hover::before,.has-dd.open .dd-btn::before{transform:scaleX(1)}
.dd-btn svg{transition:transform .25s}
.has-dd.open .dd-btn svg{transform:rotate(180deg)}
.has-dd{position:relative}
.dd{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(390px,90vw);list-style:none;background:var(--paper);border-radius:16px;box-shadow:0 18px 40px rgba(14,28,50,.3);padding:8px;z-index:110}
.has-dd.open .dd,html:not(.js-ready) .has-dd:hover .dd,html:not(.js-ready) .has-dd:focus-within .dd{display:block}
.dd-h{padding:8px 14px 2px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--coral-d)}
.dd a{display:flex;flex-direction:column;gap:1px;min-height:44px;padding:9px 14px;border-radius:10px;text-decoration:none}
.dd a b{font-weight:800;font-size:16px;line-height:1.2}
.dd a span{font-size:14px;line-height:1.3;color:var(--ink2)}
.dd a:hover,.dd a:focus-visible{background:var(--blue-t)}
.dd a[aria-current=page]{background:var(--coral-t)}
.nav-r{justify-self:end;display:flex;align-items:center;gap:8px}
.nav-r .brush{min-height:44px;padding:8px 22px;font-size:17px}
#menuBtn{display:none;min-width:44px;min-height:44px;background:none;border:2px solid var(--ink);border-radius:12px;font-weight:800;font-size:15px;padding:0 14px}
.menu{position:fixed;inset:0;z-index:90;background:var(--deep);color:#fff;display:none;padding:100px var(--gut) 40px;overflow:auto}
.menu.open{display:block}
.menu ol,.menu-pages{list-style:none}
.menu a{display:flex;align-items:baseline;gap:14px;font-weight:800;font-size:clamp(28px,7vw,52px);letter-spacing:-.03em;text-transform:uppercase;line-height:1.05;text-decoration:none;padding:6px 0;min-height:44px}
.menu a span{font-family:var(--mono);font-size:14px;color:#FFB3BD;font-weight:700}
.menu a:hover{color:#FFB3BD}
.menu-h{color:#FFB3BD;margin:30px 0 8px}
.foot-cols nav .mono+.foot-pages{margin-bottom:14px}
.menu-pages a{font-size:22px;text-transform:none;letter-spacing:-.01em;padding:4px 0}
.menu-pages a[aria-current=page]{color:#FFB3BD}
/* scroll progress, with a plane at its head */
.prog{position:fixed;left:0;right:0;top:0;height:5px;z-index:120;pointer-events:none}
.prog i{position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(90deg,var(--blue),var(--coral));transform-origin:left;transform:scaleX(var(--p,0))}
.prog svg{position:absolute;top:2px;left:calc(var(--p,0) * 100%);width:26px;height:20px;transform:translate(-70%,-35%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}

/* HERO: two videos on two sheets of paper, split by a hand-torn seam. Geometry is set by site.js from the page's hero config. */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;background:var(--paper);overflow:hidden;isolation:isolate}
.stage{position:absolute;left:0;right:0;top:76px;bottom:0;background:#dfe5ec;overflow:hidden}
.sheet{position:absolute;inset:0;overflow:hidden}
.sheet video{position:absolute;max-width:none;left:0;top:0;height:100%;width:auto;aspect-ratio:16/9;object-fit:cover;will-change:transform}
.sheet-l{background:#cfd7e0;clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}
.sheet-r{background:#f2e2d1;clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%)}
.wash{position:absolute;inset:0;pointer-events:none}
.sheet[data-grade=quiet] video{filter:saturate(.62) contrast(.95) brightness(.92)}
.sheet[data-grade=quiet] .wash{background:linear-gradient(100deg,rgba(70,90,120,.12) 0%,rgba(70,90,120,.12) 28%,rgba(70,90,120,.26) 60%)}
.sheet[data-grade=bright] video{filter:brightness(1.1) saturate(1.12) contrast(1.03) sepia(.12)}
.sheet[data-grade=bright] .wash{background:linear-gradient(180deg,rgba(255,236,214,.55) 0%,rgba(255,226,196,.22) 22%,rgba(255,214,170,.06) 45%,rgba(255,214,170,0) 62%);mix-blend-mode:screen}
.sheet[data-grade=bright]::after{content:"";position:absolute;inset:0;background:rgba(255,170,110,.07);pointer-events:none}
.flash{position:absolute;inset:0;background:rgba(255,238,220,.92);opacity:0;transition:opacity .3s;pointer-events:none;z-index:2}
.flash.on{opacity:1}
.seam{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.seam #lip{fill:#fff}
.seam #shade{fill:none;stroke:rgba(14,28,50,.5);stroke-width:12;stroke-linejoin:round;filter:blur(5px)}
.seam #fibre{fill:none;stroke:#ECE2D4;stroke-width:1.6;stroke-linejoin:round}
.stage:not(.live)::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:7px;margin-left:-3px;background:#fff;box-shadow:-3px 0 8px rgba(14,28,50,.35);z-index:3}
.grip{position:absolute;z-index:5;top:0;bottom:0;width:44px;margin-left:-22px;left:50%;touch-action:pan-y;cursor:ew-resize;outline:none}
.grip:focus-visible .knob{outline:3px solid var(--blue);outline-offset:4px}
.knob{position:absolute;left:50%;top:var(--kt,30%);width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:var(--paper);border:3px solid var(--coral);box-shadow:0 5px 14px rgba(14,28,50,.35);display:grid;place-items:center;transition:transform .2s}
.grip:hover .knob{transform:scale(1.08)}
.knob svg{width:26px;height:16px}
.hint{position:absolute;left:calc(50% + 36px);top:calc(var(--kt,30%) + 22px);width:150px;display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:6px;text-align:left;font-family:var(--hand);font-weight:600;font-size:25px;line-height:1;color:#fff;text-shadow:0 1px 6px rgba(14,28,50,.7);pointer-events:none;transform:rotate(3deg)}
.hint svg{flex:none;width:46px;height:30px;overflow:visible;transform:scaleX(-1)}
/* chips: .x = always on its own side, .m = stacked layout only, .d = above the card, wide layout only */
.hchips{position:absolute;z-index:4;display:flex;flex-direction:column;gap:4px;align-items:flex-start;pointer-events:none}
.hchips.d{display:none}
.hchips.l{left:var(--gut);right:auto;top:calc(var(--sy,310px) - 66px);bottom:auto;max-width:calc(88% - 97px)}
.hchips.r{left:16px;right:auto;top:calc(var(--sy,310px) + 8px);bottom:auto;max-width:calc(88% - 97px)}
.cm{display:inline-flex;align-items:center;gap:8px;background:var(--paper);color:var(--ink);font-weight:700;font-size:14px;line-height:1.2;padding:6px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(14,28,50,.3)}
.cm i{width:10px;height:10px;border-radius:50%;background:var(--coral);flex:none}
.hchips.r .cm i{background:var(--blue)}
.cs{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.03em;text-transform:uppercase;background:rgba(20,24,31,.74);color:#fff;padding:3px 9px;border-radius:6px;white-space:nowrap}
.hcard-w{position:absolute;z-index:6;bottom:26px;width:clamp(380px,37vw,560px);transform:rotate(-1deg);filter:drop-shadow(0 16px 22px rgba(14,28,50,.38))}
.hero.card-left .hcard-w{left:var(--gut)}
.hero.card-right .hcard-w{right:var(--gut);transform:rotate(1deg)}
.hcard-w .tape{top:-14px;left:50%;margin-left:-52px;rotate:2deg}
.hcard{background:var(--paper);padding:24px 28px 20px;clip-path:var(--torn-a)}
.kick{display:block;font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--coral-d);margin-bottom:10px}
.hcard h1{font-weight:800;text-transform:uppercase;font-size:clamp(25px,2.8vw,43px);line-height:.98;letter-spacing:-.03em;margin-bottom:12px;overflow-wrap:break-word}
.hcard h1 em{font-style:normal;color:var(--coral)}
.hcard h1 .u{background:linear-gradient(transparent 62%,var(--blue-t) 62% 92%,transparent 92%)}
.hcard .sub{font-size:16.5px;line-height:1.4;color:var(--ink2);margin-bottom:14px;max-width:34em}
.hbtn{display:flex;flex-wrap:wrap;gap:6px 12px;margin-left:-6px}
.hbtn .brush{min-height:46px;padding:8px 18px;font-size:17px}
.hfine{margin-top:10px;font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.01em;color:var(--ink2)}
.outcomes{background:var(--paper);padding:26px var(--gut) 30px;display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;justify-content:center}
.outcomes .mono{color:var(--deep);margin-right:6px}
.pill{display:inline-flex;align-items:center;min-height:48px;padding:8px 24px;border-radius:999px;font-weight:800;font-size:19px;letter-spacing:-.01em;transition:transform .35s cubic-bezier(.3,1.5,.5,1),box-shadow .3s}
.pill.c{background:var(--coral);color:#fff}
.pill.b{background:var(--blue);color:var(--ink)}
.pill.d{background:var(--deep);color:#fff}
.pill.on{transform:scale(1.07) rotate(-1deg);box-shadow:0 8px 16px rgba(14,76,134,.28)}

/* Marquee */
.marq{--bg:var(--deep);background:var(--deep);color:#fff;position:relative}
.marq .mw{overflow:hidden;padding:24px 0 20px}
.marq .track{display:flex;width:max-content;animation:mq 60s linear infinite}
.marq:hover .track{animation-duration:120s}
.marq span{font-weight:800;font-size:clamp(32px,4.4vw,60px);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;padding:0 .35em;line-height:1.1}
.marq i{color:#FFB3BD;font-style:normal}
.marq b{display:inline-block;vertical-align:middle;background:var(--coral);color:var(--ink);font-weight:800;font-size:.5em;line-height:1;padding:.3em .7em;border-radius:999px;letter-spacing:0}
@keyframes mq{to{transform:translateX(-50%)}}

/* Help, services and other numbered rows */
.p-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--gut);align-items:end;margin-bottom:clamp(44px,6vw,90px)}
.p-head p{font-size:20px;max-width:28em;color:var(--ink2)}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);max-width:1120px;margin:0 auto clamp(54px,7vw,110px)}
.pair figure:nth-child(2){margin-top:clamp(40px,8vw,110px)}
.pair figure{position:relative;min-width:0}
.pair .tape{top:-12px;left:50%;margin-left:-52px;rotate:-4deg}
.pair figure:nth-child(2) .tape{rotate:5deg;background-color:rgba(30,155,240,.62)}
.ph{aspect-ratio:5/4;overflow:hidden;background:var(--blue-t)}
.ph img{width:100%;height:100%;object-fit:cover}
.pair figcaption{padding:10px 4px 2px;font-size:15px;line-height:1.35;font-weight:500;color:var(--ink2)}
.pair figcaption b{font-family:var(--mono);font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--deep);display:block;margin-bottom:2px}
.rows{list-style:none}
.row{display:grid;grid-template-columns:150px minmax(0,1.1fr) minmax(0,1fr);gap:12px var(--gut);align-items:baseline;padding:20px 12px;border-top:2px dashed rgba(14,76,134,.35);border-radius:6px;transition:background .3s,translate .3s;position:relative}
.row:last-child{border-bottom:2px dashed rgba(14,76,134,.35)}
.row:hover{background:var(--blue-t);translate:8px 0}
.row .t{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--coral-d);text-transform:uppercase}
.row h3{font-weight:800;font-size:clamp(26px,3vw,44px);line-height:1.02;letter-spacing:-.03em;overflow-wrap:break-word;min-width:0}
.row p{font-size:18px;color:var(--ink2)}
.row.has-link h3 a{text-decoration:none;display:inline-block;min-height:44px}
.row.has-link h3 a::after{content:"";position:absolute;inset:0}
.row.has-link h3 a:focus-visible{outline:none}
.row.has-link:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.row.has-link h3 a:hover{color:var(--coral-d)}

/* Rail */
.cat-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.cat-ctl{display:flex;gap:10px;align-items:center}
.cat-ctl .hint2{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-right:6px;color:var(--deep)}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut) * -1);padding:8px var(--gut) 24px;scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
.rail.drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.rail.drag a{pointer-events:none}
.cat{position:relative;flex:0 0 clamp(260px,26vw,380px);height:clamp(500px,66vh,580px);scroll-snap-align:start;overflow:hidden;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;box-shadow:0 14px 26px rgba(14,76,134,.18);transition:transform .35s}
.cat:hover,.cat:focus-visible{transform:translateY(-6px) rotate(-.6deg)}
.cat .ph{position:relative;flex:1;min-height:0;aspect-ratio:auto;overflow:hidden;background:var(--blue-t)}
.cat .ph img{max-width:none;position:absolute;top:0;left:-10%;width:120%;height:100%;object-fit:cover;will-change:transform;-webkit-user-drag:none}
.cat .ct{position:absolute;z-index:2;top:14px;left:14px;background:var(--paper);font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.03em;padding:5px 10px;border-radius:999px}
.cat .pn{position:relative;margin-top:-12px;background:var(--paper);padding:22px 20px 18px;clip-path:polygon(0 9px,8% 2px,17% 10px,29% 3px,41% 11px,55% 2px,68% 9px,80% 1px,91% 8px,100% 3px,100% 100%,0 100%)}
.cat .pn .tg{font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--coral-d)}
.cat h3{font-weight:800;font-size:clamp(26px,2.3vw,32px);line-height:1.02;letter-spacing:-.03em;margin:4px 0 10px}
.cat ul{list-style:none;font-size:15px;line-height:1.3;font-weight:500;color:var(--ink2)}
.cat li{padding:4px 0;border-top:1px dashed rgba(14,76,134,.3)}

/* Journey */
.journey{--bg:var(--deep);position:relative;padding:0;background:var(--deep);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.journey .vbox{position:absolute;inset:0;overflow:hidden}
.journey .vbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.journey .vbox::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(14,76,134,.92) 0%,rgba(14,76,134,.78) 40%,rgba(14,76,134,.15) 70%,rgba(14,76,134,0) 100%)}
.j-in{position:relative;z-index:2;padding:170px var(--gut) 100px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--gut);align-items:center}
.j-in .label{color:#FFB3BD;margin-bottom:16px}
.j-title{font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.035em;font-size:clamp(40px,8vw,128px);overflow-wrap:normal;hyphens:manual}
.j-title em,.book-h em,.confirm h3 em{font-style:normal;background:var(--coral);color:#fff;padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.j-sub{margin-top:18px;max-width:26em;font-size:19px;color:#E6F1FB}
.j-lines{list-style:none;font-size:18px;line-height:1.35;max-width:500px;justify-self:end;background:rgba(255,248,240,.96);color:var(--ink);padding:14px 22px;clip-path:var(--torn-b)}
.j-lines li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px dashed rgba(14,76,134,.35)}
.j-lines li:first-child{border-top:0}
.j-lines b{font-family:var(--mono);color:var(--coral-d);font-size:13px;letter-spacing:.02em;text-transform:uppercase;font-weight:700;padding-top:3px}

/* Work */
.w-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gut);align-items:end;margin-bottom:clamp(34px,4vw,60px)}
.w-head p{font-size:19px;max-width:30em;color:var(--ink2)}
.ba-w{max-width:1240px;margin:0 auto;filter:drop-shadow(0 18px 24px rgba(14,76,134,.25))}
.ba{position:relative;aspect-ratio:1440/900;background:#fff;clip-path:var(--torn-c)}
.ba .layer{position:absolute;inset:0;overflow:hidden}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 3px rgba(14,28,50,.35))}
.ba svg polyline{fill:none;stroke:#fff;stroke-linejoin:round}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y;-webkit-appearance:none;appearance:none}
.ba-w:focus-within{outline:3px solid var(--blue);outline-offset:6px}
.ba .tagb{pointer-events:none;position:absolute;bottom:18px;z-index:3;background:var(--deep);color:#fff;padding:6px 12px;border-radius:999px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.ba .tagb.l{left:20px}.ba .tagb.r{right:20px;background:var(--coral);color:var(--ink)}
.ba .grab{position:absolute;top:50%;z-index:3;transform:translate(-50%,-50%);background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:999px;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;box-shadow:0 4px 14px rgba(14,28,50,.35);pointer-events:none;white-space:nowrap}
.ba-note{max-width:1240px;margin:16px auto 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:15px;align-items:center}
.editor{max-width:1120px;margin:clamp(54px,7vw,100px) auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);align-items:center}
.editor p{font-size:19px;color:var(--ink2);margin-top:12px;max-width:26em}
.editor video{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--blue-t)}
.editor .tape{top:-12px;left:18%;rotate:-6deg}
.samples-h{max-width:1240px;margin:clamp(70px,9vw,130px) auto 28px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.samples-h p{font-size:16px;color:var(--ink2);max-width:30em}
.honest{display:inline-block;margin-top:12px;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;border:2px dashed var(--deep);color:var(--deep);padding:6px 12px;border-radius:10px}
.samples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,42px);max-width:1240px;margin:0 auto}
.sm{position:relative;background:#fff;padding:12px 12px 14px;border-radius:12px;box-shadow:0 12px 22px rgba(14,76,134,.18);transition:translate .35s,rotate .35s,box-shadow .35s;rotate:-1.2deg;min-width:0}
.sm:nth-child(even){rotate:1.1deg}
.sm:nth-child(3n){rotate:-.4deg}
.sm:hover{rotate:0deg;translate:0 -6px;box-shadow:0 18px 30px rgba(14,76,134,.25)}
.sm .tape{top:-13px;left:50%;margin-left:-45px;width:90px;rotate:2deg}
.sm:nth-child(even) .tape{background-color:rgba(30,155,240,.62);rotate:-3deg}
.sm .media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--blue-t);border-radius:6px}
.sm .media img,.sm .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.sm .media.contain{background:#fff}
.sm .media.contain img{object-fit:contain;padding:12px}
.sm .media.contain video{object-fit:contain}
img[loading=lazy]{background:var(--blue-t)}
.sm .cap{display:flex;justify-content:space-between;gap:10px;padding:12px 4px 0;font-weight:700;font-size:16px;letter-spacing:-.005em}
.sm .cap em{font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--coral-d);padding-top:3px;text-align:right}
.cap-note{padding:4px 4px 0;font-size:14px;line-height:1.35;color:var(--ink2)}
.cs-b{padding:14px 4px 4px;display:flex;flex-direction:column;gap:6px}
.cs-b .tg{font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--coral-d)}
.cs-b h4{font-weight:800;font-size:22px;line-height:1.1;letter-spacing:-.02em}
.cs-b p{font-size:16px;color:var(--ink2)}

/* Process: the animated route. Finished state by default; the hidden start states live under .anim only. */
.route-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:26px}
.lede{font-size:20px;max-width:28em;color:var(--ink2)}
.strip{position:relative;display:inline-block;margin:6px 0 0;background:#fff;color:var(--ink);font-weight:800;font-size:clamp(19px,2vw,27px);line-height:1.15;letter-spacing:-.02em;padding:18px 28px;rotate:-1.2deg;clip-path:var(--torn-b)}
.strip-w{display:inline-block;position:relative;filter:drop-shadow(0 8px 10px rgba(14,76,134,.25));max-width:100%}
.strip-w .tape{top:-12px;left:30px;rotate:-5deg}
.route-wrap{position:relative}
.rsteps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding-top:76px;position:relative;margin-top:34px}
.freeband{position:absolute;left:0;top:8px;height:50px;width:calc((100% - 64px)/5*3 + 32px);background:#fff;border:2px dashed var(--coral);color:var(--coral-d);border-radius:99px;display:flex;align-items:center;padding-left:22px;rotate:-.6deg;box-shadow:0 4px 10px rgba(14,76,134,.12)}
.freeband span{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.route-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.r-track{fill:none;stroke:#7fa3c4;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 9}
.r-prog{fill:none;stroke:var(--coral);stroke-width:4;stroke-linecap:round}
.rplane{position:absolute;left:0;top:0;width:32px;height:32px;margin:-16px 0 0 -16px;pointer-events:none;z-index:4;opacity:0;will-change:transform}
.rplane svg{filter:drop-shadow(0 2px 4px rgba(240,71,90,.45))}
.anim .rplane{opacity:1}
.trail{display:none;position:absolute;left:0;top:0;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--coral);pointer-events:none;z-index:2}
.anim .trail{display:block}
.rstep{position:relative;z-index:2;display:flex;flex-direction:column;min-height:480px;translate:0 var(--lift,0px);rotate:var(--rot,0deg);transition:translate .45s cubic-bezier(.2,.8,.2,1),opacity .5s,rotate .5s}
.rstep:nth-of-type(odd){--rot:-.8deg}
.rstep:nth-of-type(even){--rot:.9deg}
.rstep:hover{rotate:0deg}
.anim .rstep:not(.reached){opacity:.5}
.anim .rstep.reached{--lift:-6px}
.rcard{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 22px rgba(14,76,134,.16)}
.rcard-in{padding:22px;display:flex;flex-direction:column;flex:1}
.step-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.step-n{font-weight:800;font-size:46px;line-height:.9;letter-spacing:-.04em;color:var(--deep)}
.rcard h3{font-weight:800;font-size:clamp(24px,2.1vw,30px);line-height:1.02;letter-spacing:-.03em;padding-top:18px;overflow-wrap:break-word}
.rcard p{color:var(--ink2);font-size:16.5px;margin-top:8px;margin-bottom:14px}
.rcard .meta{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;margin-top:auto;padding-top:12px;display:flex;align-items:flex-start;gap:8px;color:var(--deep)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--coral);display:inline-block;flex:none;margin-top:4px}
.nb{white-space:nowrap}
.stag{white-space:nowrap;display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:99px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--blue-t);color:var(--deep);text-align:center}
.stag.free{background:var(--blue);color:var(--ink)}
.stag.call{background:var(--coral);color:var(--ink)}
.node{position:absolute;left:50%;top:-56px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px #fff;z-index:3;translate:0 calc(var(--lift,0px) * -1);transition:background .3s,box-shadow .3s,translate .45s cubic-bezier(.2,.8,.2,1)}
.node::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);transition:opacity .2s}
.rstep:nth-of-type(even) .node{top:-32px}
.anim .rstep:not(.reached) .node{background:#fff;box-shadow:0 0 0 2px #7fa3c4,0 0 0 6px #fff}
.anim .rstep:not(.reached) .node::after{opacity:0}
.rstep.reached .node{animation:nodePop .6s cubic-bezier(.2,1.4,.4,1)}
@keyframes nodePop{0%{transform:scale(.5)}55%{transform:scale(1.4)}100%{transform:scale(1)}}
.route-caption{display:flex;align-items:center;justify-content:center;gap:8px;margin:26px auto 0;width:fit-content;max-width:100%;background:#fff;border-radius:99px;padding:11px 22px;font-size:17px;font-weight:600;box-shadow:0 8px 24px rgba(14,76,134,.18);text-align:center}
.route-caption .rc-k{color:var(--coral-d);font-weight:800}
#rcTxt{transition:opacity .22s}#rcTxt.fade{opacity:0}
.go-strip{margin-top:26px;background:var(--coral);color:var(--ink);border-radius:20px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;rotate:-.5deg}
.go-strip .big{display:block;font-weight:800;font-size:clamp(28px,3.4vw,46px);line-height:1;letter-spacing:-.03em}
.go-strip p{margin-top:6px;font-size:19px}
.go-strip .brush{--c1:var(--paper);--c2:var(--deep);--fg:var(--ink);--fgh:#fff}
/* route mini scenes */
.rscene{position:relative;height:124px;margin:-22px -22px 14px;overflow:hidden;font-size:12px}
.sc-1{background:var(--coral-t)}.sc-2{background:var(--blue-t)}.sc-3{background:var(--paper)}.sc-4{background:var(--coral-t)}.sc-5{background:var(--blue-t)}
.bub{position:absolute;max-width:84%;padding:6px 10px;border-radius:12px;font-weight:600;line-height:1.2;font-size:13px}
.b1{left:10px;top:9px;background:#fff;border-bottom-left-radius:3px}
.b2{right:10px;top:42px;background:var(--deep);color:#fff;border-bottom-right-radius:3px}
.tdots{position:absolute;left:10px;top:42px;display:flex;gap:4px;padding:8px 10px;background:#fff;border-radius:12px;opacity:0}
.tdots i{width:5px;height:5px;border-radius:50%;background:#999;animation:dotB .6s ease-in-out 2}
@keyframes dotB{50%{transform:translateY(-3px)}}
.rnote{position:absolute;left:10px;right:10px;bottom:8px;height:42px;background:#fff;border:1.5px dashed var(--deep);border-radius:6px;padding:5px 8px;rotate:-1.5deg;box-shadow:0 3px 8px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:2px;overflow:hidden}
.rnote small{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--coral-d)}
.rnote .typ{font-family:var(--hand);font-size:17px;font-weight:600;line-height:1;white-space:nowrap}
.sc-2 svg,.sc-3 svg{position:absolute;left:0;top:4px;width:100%;height:100px}
.dr{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.dr.ck{stroke:var(--coral);stroke-width:2}
.dr.tot{stroke-width:2.4}
.cur{transform:translate(172px,30px)}
.btnj{transform-box:fill-box;transform-origin:center}
.badge{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);white-space:nowrap;background:#fff;border-radius:99px;padding:2px 9px;font-size:12px;font-weight:700;color:var(--ink2);box-shadow:0 2px 6px rgba(0,0,0,.1)}
.shk{position:absolute;inset:0}
.tgl{position:absolute;left:14px;top:16px;width:46px;height:24px;border-radius:99px;background:#c9d4df}
.tgl::before{content:"";position:absolute;inset:0;border-radius:99px;background:var(--coral)}
.tgl i{position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transform:translateX(22px);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.tgl-l{position:absolute;left:68px;top:17px;font-weight:700;font-size:14px}
.stamp2{position:absolute;left:50%;bottom:14px;margin-left:-58px;width:116px;text-align:center;font-weight:800;text-transform:uppercase;font-size:19px;letter-spacing:-.01em;line-height:1;color:var(--coral-d);border:3px solid var(--coral-d);border-radius:8px;padding:7px 0 6px;transform:rotate(-8deg);background:rgba(255,255,255,.55)}
.blk{position:absolute;left:14px;width:48%;height:24px;border-radius:6px;display:flex;align-items:center;padding-left:10px;font-weight:700;font-size:13px}
.k1{top:10px;background:var(--coral-t);box-shadow:inset 0 0 0 1.5px var(--coral)}.k2{top:38px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--blue)}.k3{top:66px;background:var(--blue-t);box-shadow:inset 0 0 0 1.5px var(--deep)}
.okd{position:absolute;left:calc(48% + 24px);width:18px;height:18px;border-radius:50%;background:var(--coral)}
.okd::after{content:"";position:absolute;left:6px;top:2.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.o1{top:13px}.o2{top:41px}.o3{top:69px}
.exl{position:absolute;right:10px;top:8px;background:#fff;border-radius:99px;padding:1px 8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4a5563}
.bars{position:absolute;right:14px;bottom:10px;height:70px;display:flex;gap:6px;align-items:flex-end}
.bars i{display:block;width:12px;height:var(--h);background:#fff;border-radius:3px 3px 0 0;transform-origin:bottom}
.bars i:last-child{background:var(--coral)}
.anim .rstep:not(.play) .rscene .a,.anim .rstep:not(.play) .rscene .fl,.anim .rstep:not(.play) .rscene .badge,.anim .rstep:not(.play) .rscene .cur{opacity:0}
.anim .rstep:not(.play) .rscene .dr{stroke-dashoffset:1}
.anim .rstep:not(.play) .bars i{transform:scaleY(0)}
.anim .rstep:not(.play) .tgl i{transform:none}
.anim .rstep:not(.play) .tgl::before{opacity:0}
.rstep.play .sc-1 .a{animation:popUp .45s cubic-bezier(.2,1.3,.4,1) var(--d,0s) both}
.rstep.play .sc-1 .tdots{animation:dotsLife 1s var(--d,0s) both}
.rstep.play .dr{animation:draw .7s cubic-bezier(.4,0,.2,1) var(--d,0s) both}
.rstep.play .fl{animation:fadeIn .4s var(--d,0s) both}
.rstep.play .cur{animation:curMove 1.2s 1.9s both}
.rstep.play .btnj{animation:btnPress .3s 2.9s both}
.rstep.play .badge{animation:fadeIn .4s 2.2s both}
.rstep.play .tgl i{animation:knob .45s .3s cubic-bezier(.3,1.4,.5,1) both}
.rstep.play .tgl::before{animation:fadeIn .3s .35s both}
.rstep.play .stamp2{animation:stampThunk .5s var(--d,0s) cubic-bezier(.2,.9,.3,1) both}
.rstep.play .sc-4 .shk{animation:shake .32s 1.3s both}
.rstep.play .blk{animation:blkSnap .6s var(--d,0s) both}
.rstep.play .okd{animation:popUp .35s var(--d,0s) cubic-bezier(.2,1.4,.4,1) both}
.rstep.play .bars i{animation:barUp .7s cubic-bezier(.2,.9,.3,1) both}
.rstep.play .bars i:nth-child(1){animation-delay:.1s}.rstep.play .bars i:nth-child(2){animation-delay:.2s}.rstep.play .bars i:nth-child(3){animation-delay:.3s}.rstep.play .bars i:nth-child(4){animation-delay:.4s}.rstep.play .bars i:nth-child(5){animation-delay:.5s}
@keyframes popUp{from{opacity:0;transform:translateY(8px) scale(.85)}}
@keyframes dotsLife{0%{opacity:0}15%{opacity:1}85%{opacity:1}100%{opacity:0}}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fadeIn{from{opacity:0}}
@keyframes curMove{0%{opacity:0;transform:translate(120px,78px)}12%{opacity:1}70%{transform:translate(172px,30px)}82%{transform:translate(172px,31px) scale(.85)}100%{opacity:1;transform:translate(172px,30px)}}
@keyframes btnPress{50%{transform:scale(.88)}}
@keyframes knob{from{transform:translateX(0)}}
@keyframes stampThunk{from{opacity:0;transform:rotate(-8deg) scale(2.4)}65%{opacity:1;transform:rotate(-8deg) scale(.93)}to{opacity:1;transform:rotate(-8deg) scale(1)}}
@keyframes blkSnap{0%{opacity:0;transform:translateY(-34px)}55%{opacity:1;transform:translateY(3px)}75%{transform:translateY(-1px)}100%{opacity:1;transform:none}}
@keyframes barUp{from{transform:scaleY(0)}}
@keyframes shake{0%,100%{transform:none}20%{transform:translate(2px,-2px)}40%{transform:translate(-2px,1px)}60%{transform:translate(1px,2px)}80%{transform:translate(-1px,-1px)}}

/* Approach cards */
.acards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1240px;margin:0 auto}
.acard{position:relative;background:#fff;border-radius:16px;padding:40px 22px 26px;box-shadow:0 12px 22px rgba(14,76,134,.16);rotate:-1.4deg;transition:rotate .4s cubic-bezier(.3,1.3,.4,1)}
.acard:nth-child(even){rotate:1.2deg}
.acard:hover{rotate:0deg}
.acard .tape{top:-13px;left:50%;margin-left:-45px;width:90px;rotate:-3deg}
.acard .t{display:block;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--coral-d);margin-bottom:8px}
.acard h3{font-weight:800;font-size:clamp(26px,2.2vw,32px);line-height:1.02;letter-spacing:-.03em;margin-bottom:10px}
.acard p{font-size:17px;color:var(--ink2)}

/* Industries (home) */
.grp{color:var(--deep);margin:0 0 18px}
.icards+.grp{margin-top:clamp(40px,5vw,70px)}
.icards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px}
.icard{position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 22px rgba(14,76,134,.16);display:flex;flex-direction:column;transition:translate .35s,rotate .35s}
.icard:hover{translate:0 -6px;rotate:-.5deg}
.icard .ph{aspect-ratio:3/2}
.icard .pn{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.icard .tg{font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--coral-d)}
.icard h3{font-weight:800;font-size:clamp(24px,2vw,30px);line-height:1.05;letter-spacing:-.03em}
.icard h3 a{text-decoration:none;display:inline-block;min-height:44px}
.icard h3 a::after{content:"";position:absolute;inset:0}
.icard:focus-within{outline:3px solid var(--blue);outline-offset:3px}
.icard h3 a:focus-visible{outline:none}
.icard p{font-size:16.5px;color:var(--ink2)}
.icard .go{margin-top:auto;padding-top:8px;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--deep)}
.icard .go::after{content:" \2192"}

/* Marker moment */
.mark{--bg:var(--deep);position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden;background:var(--deep);padding:100px var(--gut) 70px}
.mark>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 14%}
.mark::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,76,134,0) 40%,rgba(14,76,134,.5) 100%)}
.mark>.tear{--bg:var(--paper)}
.mark-in{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.banner{width:min(760px,100%);filter:drop-shadow(0 14px 18px rgba(14,28,50,.4));rotate:-2deg}
.banner svg{width:100%;height:auto;overflow:visible}
.banner .txt{font-family:var(--sans);font-weight:800;font-style:italic;paint-order:stroke;stroke-width:2.5px;stroke-linejoin:round}
.js-ready .banner .write{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.4,.1,.2,1)}
.js-ready .mark.in .banner .write,.force-show .banner .write{clip-path:inset(0 0 0 0)}
.banner .scrib{fill:none;stroke:var(--blue);stroke-width:7;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s ease 1.8s}
.js-ready .banner .scrib{stroke-dashoffset:1}
.js-ready .mark.in .banner .scrib,.force-show .banner .scrib{stroke-dashoffset:0}
.mark-cap{max-width:24em;background:var(--paper);padding:20px 24px;border-radius:16px;box-shadow:0 12px 24px rgba(14,28,50,.35);rotate:1.2deg}
.mark-cap p{font-size:18px;color:var(--ink2);margin-bottom:12px}

/* Plane clip video */
.motion{overflow-x:clip}
.m-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:clamp(20px,3vw,40px)}
.tip{display:block;text-align:center;margin-top:10px;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--deep)}
.tip svg{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-left:6px;animation:bob 1.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(4px)}}
.plane-stage{display:grid;place-items:center;padding:20px 0 10px}
.plane{position:relative;width:min(1100px,100%);aspect-ratio:16/9;transform-origin:center;will-change:transform}
.plane .clip{position:absolute;inset:0;clip-path:url(#planeClip);overflow:hidden;background:var(--blue-t)}
.plane video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform-origin:center;will-change:transform}
.plane svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;filter:drop-shadow(0 10px 14px rgba(14,76,134,.3))}
.plane svg polygon{fill:none;stroke:var(--deep);stroke-width:3;stroke-linejoin:round}
.plane svg polyline{fill:none;stroke:#fff;stroke-width:2;opacity:.3}
.m-sub{margin:0 auto;max-width:36em;font-size:19px;color:var(--ink2);text-align:center}
.m-sub em{font-style:normal;font-weight:700;color:var(--coral-d)}

/* Calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);margin-top:clamp(34px,4vw,60px);align-items:start}
.ctl{margin-bottom:30px}
.ctl label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}
.ctl output{font-family:var(--sans);font-weight:800;font-size:40px;letter-spacing:-.03em;line-height:1;color:var(--deep);text-transform:none}
.ctl input[type=range]{width:100%;height:44px;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.ctl input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--deep);border-radius:6px}
.ctl input[type=range]::-moz-range-track{height:6px;background:var(--deep);border-radius:6px}
.ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;background:var(--coral);border:4px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(14,28,50,.4)}
.ctl input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--coral);border:4px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(14,28,50,.4)}
.res{background:#fff;border-radius:16px;padding:18px 22px;margin-bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;box-shadow:0 10px 18px rgba(14,76,134,.14)}
.res .tg{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.res:nth-child(1) .tg{background:var(--coral);color:var(--ink)}
.res:nth-child(2) .tg{background:var(--blue);color:var(--ink)}
.res:nth-child(3) .tg{background:var(--deep);color:#fff}
.res .k small{display:block;font-size:16px;color:var(--ink2);margin-top:6px}
.res .v{font-weight:800;font-size:clamp(36px,5vw,76px);line-height:.95;letter-spacing:-.04em;text-align:right}
.illus{display:block;margin-top:14px;background:#fff;border:2px dashed var(--deep);border-radius:12px;padding:10px 14px;font-size:15.5px;font-weight:500;max-width:34em}
.illus b{font-family:var(--mono);font-size:12.5px;color:var(--coral-d);letter-spacing:.03em;text-transform:uppercase;margin-right:6px}

/* Proof */
.proof-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--gut);align-items:center;margin-bottom:clamp(30px,4vw,56px)}
.clutch{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.clutch .big{font-weight:800;font-size:clamp(90px,12vw,190px);line-height:.85;letter-spacing:-.05em;color:var(--coral)}
.badges{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center}
.badges img{height:96px;width:auto}
.badges img.feat{height:150px}
.badges.few{justify-content:center}
.quotes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);margin:clamp(40px,5vw,70px) 0}
.q-w{position:relative;filter:drop-shadow(0 12px 16px rgba(14,76,134,.2));rotate:-1deg}
.q-w:nth-child(even){rotate:.9deg}
.q-w .tape{top:-13px;left:50%;margin-left:-52px;rotate:-3deg}
.q-w:nth-child(even) .tape{background-color:rgba(30,155,240,.62);rotate:3deg}
.q{position:relative;padding:44px 28px 24px;background:#fff;clip-path:var(--torn-a)}
.q-w:nth-child(odd) .q{clip-path:var(--torn-b)}
.q::before{content:"\201C";position:absolute;top:6px;left:22px;font-family:var(--sans);font-weight:800;font-size:90px;line-height:1;color:var(--coral)}
.q p{font-size:21px;line-height:1.35;font-weight:500;margin-bottom:16px}
.q cite{font-style:normal;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--deep)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.logos .lg{flex:0 1 calc((100% - 70px) / 6);aspect-ratio:3/2;display:grid;place-items:center;padding:8px 10px;background:#fff;border-radius:14px;box-shadow:0 6px 12px rgba(14,76,134,.12);min-width:0;min-height:0;overflow:hidden}
.logos img{max-width:min(92%,170px);max-height:76px;width:auto;height:auto;object-fit:contain}
.proof-note{margin-top:22px;font-size:15px;color:var(--ink2);max-width:46em}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(30px,5vw,80px)}
.faq details{border-top:2px dashed rgba(14,76,134,.4)}
.faq details:last-child{border-bottom:2px dashed rgba(14,76,134,.4)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;font-weight:800;font-size:clamp(21px,2.2vw,30px);line-height:1.1;letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"[ + ]";font-family:var(--mono);font-size:15px;font-weight:700;color:var(--coral-d);flex:none}
.faq details[open] summary::after{content:"[ - ]"}
.faq details p{padding:0 0 22px;max-width:36em;font-size:18px;color:var(--ink2)}

/* FOOTER + BOOKING */
.foot{--bg:var(--deep);position:relative;background:var(--deep);color:#fff;padding:clamp(100px,10vw,150px) var(--gut) 24px;overflow-x:clip}
.foot>*:not(.tear){position:relative;z-index:2}
.book-h{font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.035em;font-size:clamp(44px,8vw,130px);margin-bottom:clamp(30px,4vw,56px);overflow-wrap:break-word}
.book-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(30px,5vw,90px);align-items:start}
.book-side p{font-size:20px;color:#E6F1FB;max-width:24em}
.book-side ol{list-style:none;margin:26px 0}
.book-side li{display:grid;grid-template-columns:54px minmax(0,1fr);padding:14px 0;border-top:2px dashed rgba(255,255,255,.35);font-size:17px;color:#E6F1FB}
.book-side li b{font-family:var(--mono);font-weight:700;font-size:18px;color:#FFB3BD;line-height:1.4}
.book-side li strong{display:block;color:#fff;font-weight:800;font-size:18px;letter-spacing:-.01em}
.mail{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid #FFB3BD;overflow-wrap:anywhere}
.mail:hover{color:#FFB3BD}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.f{min-width:0}
.f.full,fieldset.full{grid-column:1/-1}
.f label,.f legend,fieldset legend{display:block;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#E6F1FB;margin-bottom:6px;padding:0}
fieldset{border:0;min-width:0}
.req{color:#FFB3BD}
.f input,.f select,.f textarea{width:100%;background:rgba(255,255,255,.08);border:0;border-bottom:2px solid rgba(255,255,255,.6);border-radius:10px 10px 0 0;padding:10px 12px;min-height:48px;font-size:18px;color:#fff;font-weight:500}
.f select{appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E") right 14px center no-repeat}
.f select option{color:#000}
.f textarea{min-height:100px;resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:#B5CBE0}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-bottom-color:#FFB3BD;background:rgba(255,255,255,.14)}
.f.invalid input{border-bottom-color:#FFB3BD}
.err{display:none;color:#FFC9D0;font-size:15px;font-weight:700;margin-top:4px}
.f.invalid .err{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid rgba(255,255,255,.45);border-radius:999px;font-size:16px;font-weight:700;transition:background .2s,border-color .2s,color .2s}
.chip:hover span{border-color:#fff}
.chip input:checked+span{background:#fff;border-color:var(--coral);color:var(--ink)}
.chip input:checked+span::before{content:"\2713";color:var(--coral-d);margin-right:8px;font-weight:800}
.chip input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.slots{display:grid;gap:8px}
.day{display:grid;grid-template-columns:104px repeat(3,minmax(0,1fr));gap:8px;align-items:center}
.day-h{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#E6F1FB;line-height:1.15}
.day-h b{display:block;color:#fff;font-size:16px}
.day .chip span{width:100%;justify-content:center;padding:0 6px;font-size:15px}
.tz{font-size:15px;color:#CFE0F0;margin-top:8px}
.form-error{display:none;color:#FFC9D0;font-weight:700;margin-top:16px}
.form-error.show{display:block}
.form-fail{display:none;margin-top:16px;padding:16px 18px;border:2px dashed #FFB3BD;border-radius:14px;color:#fff}
.form-fail.show{display:block}
.form-fail p{margin-bottom:12px;font-size:17px}
.submit-row{margin-top:30px}
.assure{margin-top:12px;font-size:16px;color:#E6F1FB}
.confirm{display:none;padding:34px;border:2px dashed rgba(255,255,255,.7);border-radius:20px;transform:rotate(-.8deg)}
.confirm.show{display:block}
.confirm h3{font-weight:800;text-transform:uppercase;font-size:clamp(38px,5vw,76px);line-height:.95;letter-spacing:-.035em;margin-bottom:12px;overflow-wrap:break-word}
.confirm p{font-size:20px;max-width:30em;color:#E6F1FB}
.slot-sum{margin:16px 0;font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase}
.nexts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.nexts span{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:2px solid rgba(255,255,255,.5);padding:6px 12px;border-radius:999px}
.foot-bottom{margin-top:clamp(40px,6vw,80px)}
.foot-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--gut);margin-top:clamp(20px,3vw,40px);padding-top:18px;border-top:2px dashed rgba(255,255,255,.35)}
.foot-cols .mono{color:#FFB3BD;margin-bottom:6px}
.foot-pages{list-style:none;display:flex;flex-wrap:wrap;gap:0 26px}
.foot-pages a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:17px;text-decoration:none}
.foot-pages a:hover,.foot-pages a[aria-current=page]{color:#FFB3BD}
.foot-contact p:last-child{font-size:16px;color:#CFE0F0}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 30px;margin-top:20px;padding-top:6px;font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.foot-links a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.foot-links a:hover{color:#FFB3BD}
.foot-links .sp{margin-left:auto;display:flex;align-items:center;min-height:44px}
.credits{font-size:14px;color:#CFE0F0;margin-top:4px;max-width:60em}
.wm-wrap{margin:10px calc(var(--gut) * -1) -10px;padding:0 var(--gut);overflow:hidden;text-align:center}
.wm{display:inline-block;font-weight:800;text-transform:uppercase;letter-spacing:-.04em;font-size:30vw;line-height:1.02;white-space:nowrap;background:var(--wm,url("/media/lib/photo4/friendly-7988240.jpg")) 50% 100%/cover;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px rgba(255,248,240,.6)}

/* Free-offer note: gutter tab on desktop, slim bar on mobile */
.note{position:fixed;right:22px;bottom:22px;width:min(380px,calc(100vw - 32px));z-index:60;transform:translateY(130%) rotate(-2deg);opacity:0;visibility:hidden;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s,visibility 0s .8s;background:#fff;padding:30px 26px 22px;box-shadow:0 18px 40px rgba(14,28,50,.3);border-radius:6px}
.note.open{transform:rotate(-2deg);opacity:1;visibility:visible;transition-delay:0s}
.note::before{content:"";position:absolute;inset:10px;border:2px dashed var(--deep);border-radius:4px;pointer-events:none}
.note .tape{top:-14px;left:50%;margin-left:-52px;rotate:3deg}
.note .x{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;background:none;display:grid;place-items:center;z-index:2}
.note .x svg{width:18px;height:18px}
.note-k{position:relative;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--coral-d);margin:0 40px 6px 8px}
.note-t{position:relative;font-weight:800;font-size:23px;line-height:1.1;letter-spacing:-.025em;margin:0 30px 14px 8px}
.note-b{position:relative;display:flex;flex-wrap:wrap;gap:4px 8px;margin-left:-4px}
.note .brush{padding:8px 16px;font-size:16px;min-height:44px}
.note .first .sm2{display:none}
.note-tab{position:fixed;right:0;top:50%;z-index:59;transform:translate(110%,-50%);width:44px;min-height:168px;background:var(--paper);border:2px dashed var(--deep);border-right:0;border-radius:14px 0 0 14px;writing-mode:vertical-rl;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--deep);box-shadow:-6px 8px 18px rgba(14,28,50,.2);transition:transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s .5s;visibility:hidden;padding:12px 0}
.note-tab.show{transform:translate(0,-50%);visibility:visible;transition-delay:0s}
.note-tab:hover{background:var(--blue-t)}

/* 404 */
.nf{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;padding:60px var(--gut);max-width:720px;margin:0 auto}
.nf h1{font-weight:800;text-transform:uppercase;font-size:clamp(36px,6vw,64px);line-height:.98;letter-spacing:-.03em}
.nf ul{list-style:none}
.nf li a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}


/* Marker banner at the top, for photos whose faces sit low */
.mark.at-top{align-items:flex-start;padding-top:clamp(120px,12vw,150px)}
.mark.at-top::before{background:linear-gradient(0deg,rgba(14,76,134,0) 40%,rgba(14,76,134,.45) 100%)}
.mark.at-top .mark-in{align-items:flex-start}

/* Calculator: 4 sliders and the "today" figure */
.calc[data-inputs="4"] .ctl{margin-bottom:22px}
.res.base{background:transparent;border:2px dashed var(--deep);box-shadow:none}
.res.base .tg{background:#fff!important;color:var(--deep)!important;border:2px solid var(--deep)}
.res .today{display:inline-block;margin-left:8px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--coral-d)}

/* Donate concept demo */
.dn-wrap{position:relative;max-width:720px;margin:clamp(30px,4vw,56px) auto 0;filter:drop-shadow(0 16px 20px rgba(14,76,134,.22));rotate:-.6deg}
.dn-wrap .tape{top:-14px;left:50%;margin-left:-52px;rotate:2deg}
.dn{background:#fff;padding:clamp(28px,4vw,44px) clamp(22px,4vw,46px) clamp(28px,4vw,40px);clip-path:var(--torn-a)}
.dn-flag{display:inline-block;margin:0 0 18px;padding:6px 12px;border:2px dashed var(--coral-d);border-radius:10px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--coral-d)}
.dn-flag b{margin-right:8px;background:var(--coral-d);color:#fff;padding:1px 8px;border-radius:99px}
.dn-org{font-weight:800;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em;margin-bottom:14px}
.dn fieldset{border:0;min-width:0;margin:0 0 16px}
.dn-lg{display:block;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--deep);margin-bottom:10px;padding:0}
.dn-freq{display:inline-flex;border:2px solid var(--deep);border-radius:999px;overflow:hidden}
.dn-freq label{position:relative;display:block}
.dn-freq input,.dn-pill input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.dn-freq span{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:104px;padding:0 20px;font-weight:800;font-size:17px;color:var(--deep)}
.dn-freq input:checked+span{background:var(--deep);color:#fff}
.dn-freq input:focus-visible+span,.dn-pill input:focus-visible+span{outline:3px solid var(--blue);outline-offset:-3px}
.dn-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.dn-pill{position:relative}
.dn-pill span{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:84px;padding:0 18px;border-radius:999px;background:var(--blue-t);border:2px solid var(--blue);font-weight:800;font-size:20px;letter-spacing:-.01em;transition:background .2s,translate .2s}
.dn-pill:hover span{translate:0 -2px}
.dn-pill input:checked+span{background:var(--coral);border-color:var(--coral);color:#fff}
.dn-custom{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dn-custom label{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--deep)}
.dn-in{position:relative;display:block}
.dn-in input{width:150px;min-height:48px;padding:0 14px 0 30px;border:2px solid var(--blue);border-radius:12px;background:#fff;font-size:20px;font-weight:700}
.dn-in input:focus{outline:3px solid var(--blue);outline-offset:2px}
.dn-cur{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:800;font-size:20px;color:var(--deep);pointer-events:none}
.dn-impact{display:flex;align-items:flex-start;gap:12px;min-height:76px;margin:6px 0 20px;padding:14px 16px;background:var(--blue-t);border-radius:14px;font-size:17px;line-height:1.35}
.dn-ex{flex:none;display:inline-block;padding:2px 9px;border:2px dashed var(--deep);border-radius:8px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--deep);background:#fff}
.dn-go{width:100%}
.dn-thanks{display:none;text-align:center;outline:none}
.dn.done .dn-form{display:none}
.dn.done .dn-thanks{display:block}
.dn-thanks h3{font-weight:800;text-transform:uppercase;font-size:clamp(36px,5vw,60px);line-height:.95;letter-spacing:-.035em;margin:6px 0 10px;color:var(--coral-d)}
.dn-thanks p{max-width:32em;margin:0 auto 12px;color:var(--ink2)}
.dn-thanks .dn-sum{font-family:var(--mono);font-weight:700;font-size:13.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--deep)}
.dn-thanks .dn-ex-h{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;color:var(--ink)}
.dn-steps{list-style:none;counter-reset:s;text-align:left;max-width:30em;margin:0 auto 20px}
.dn-steps li{counter-increment:s;display:grid;grid-template-columns:34px minmax(0,1fr);padding:10px 0;border-top:2px dashed rgba(14,76,134,.35);font-size:17px}
.dn-steps li::before{content:"0" counter(s);font-family:var(--mono);font-weight:700;color:var(--coral-d)}
.dn-sprout{width:110px;height:100px;margin:0 auto 4px;overflow:visible}
.dn-sprout path{stroke:var(--deep);stroke-width:4;stroke-dasharray:1;stroke-dashoffset:0}
.dn-sprout .sp-l1{fill:var(--blue-t);stroke:var(--blue)}
.dn-sprout .sp-l2{fill:var(--coral-t);stroke:var(--coral)}
.anim .dn.done .sp-g,.anim .dn.done .sp-s{animation:draw .6s ease both}
.anim .dn.done .sp-l1{animation:draw .7s ease .5s both}
.anim .dn.done .sp-l2{animation:draw .7s ease .8s both}
.dn-thanks .dn-flag{margin:20px 0 0}
@media (max-width:640px){
  .dn-wrap{rotate:0deg}
  .dn-pill span{min-width:72px;padding:0 14px}
  .dn-in input{width:140px}
  .dn-freq span{min-width:92px}
}
@media (prefers-reduced-motion:reduce){.dn-pill span{transition:none}}

/* ---------- Responsive ---------- */
@media (min-width:1200px){
  .hero{height:calc(100vh - 92px);height:calc(100svh - 92px);min-height:600px}
  .hchips.m{display:none}
  .hchips.d{display:flex;flex-direction:row;align-items:center;gap:8px;max-width:none;top:auto;bottom:calc(100% + 14px)}
  .hchips.d.l{left:8px;right:auto}
  .hchips.d.r{right:8px;left:auto;flex-direction:row-reverse}
  .hchips.x{flex-direction:row;align-items:center;gap:8px;max-width:none;top:18px;bottom:auto}
  .hchips.x.l{left:var(--gut);right:auto}
  .hero.cp-l-bottom .hchips.x.l,.hero.cp-r-bottom .hchips.x.r{top:auto;bottom:18px}
  .hchips.x.r{right:var(--gut);left:auto;flex-direction:row-reverse}
  .cm{font-size:15px;padding:8px 14px}
}
@media (max-height:800px) and (min-width:1200px){
  .hcard .sub{display:none}
  .hcard{padding:20px 26px 16px}
  .hcard h1{font-size:clamp(24px,2.3vw,34px)}
}
@media (max-width:1279px){.hint{display:none}}
@media (max-width:1100px){
  .rsteps{grid-template-columns:minmax(0,1fr);padding:0 0 0 46px;gap:18px;margin-top:20px}
  .freeband{left:0;top:0;width:34px;height:var(--fb-h,40%);padding:0;justify-content:center;border-radius:99px}
  .freeband span{writing-mode:vertical-rl;transform:rotate(180deg);padding:8px 0}
  .rstep:nth-of-type(odd) .node,.rstep:nth-of-type(even) .node{left:-37px;top:26px;margin-left:0}
  .rstep{min-height:0}
  .route-caption{display:none}
  .acards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
  .p-head,.w-head,.calc,.faq-wrap,.book-grid,.j-in,.editor,.route-head,.foot-cols{grid-template-columns:minmax(0,1fr)}
  .j-lines{justify-self:start}
  .samples{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logos .lg{flex-basis:calc((100% - 42px) / 4)}
  .row{grid-template-columns:110px minmax(0,1fr)}
  .row p{grid-column:2}
}
@media (max-width:1199px){
  .nav-links{display:none}
  .nav{grid-template-columns:1fr auto}
  #menuBtn{display:inline-flex;align-items:center;justify-content:center}
  /* hero: first video on top, second below, horizontal torn seam, headline card under the videos */
  .hero{height:auto;min-height:0;padding-bottom:0}
  .stage{position:relative;top:auto;left:auto;right:auto;bottom:auto;height:620px;margin-top:76px}
  .sheet-l{clip-path:polygon(0 0,100% 0,100% 50%,0 50%)}
  .sheet-r{clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%)}
  .grip{top:50%;left:0;right:0;bottom:auto;width:auto;height:44px;margin:-22px 0 0;touch-action:pan-x;cursor:ns-resize}
  .knob{left:88%;top:50%}
  .hcard-w{position:relative;left:auto;bottom:auto;transform:rotate(-.6deg);width:calc(100% - 32px);max-width:720px;margin:-30px auto 0;z-index:7}
  .hero.card-left .hcard-w,.hero.card-right .hcard-w{left:auto;right:auto;transform:rotate(-.6deg)}
  .hcard{padding:26px 22px 22px}
  .hcard h1{font-size:clamp(28px,7.4vw,42px)}
  .hero.rc-bottom .hchips.r{top:auto;bottom:46px}
  .stage:not(.live)::after{left:0;right:0;top:50%;bottom:auto;width:auto;height:7px;margin:-3px 0 0}
}
@media (max-width:640px){
  body{font-size:17px}
  .stage{height:560px}
  .hcard .sub{display:none}
  .hcard{display:flex;flex-direction:column}
  .hcard .kick{order:0}
  .hcard .hfine{order:1;margin:0 0 10px;font-size:12.5px;color:var(--deep)}
  .hcard h1{order:2}
  .hcard .hbtn{order:3}
  .nav-r .brush{display:none}
  .brand b{font-size:22px}
  .brand small{display:none}
  .sec{padding-top:96px}
  .sec:not(#faq):not(#book){padding-bottom:88px}
  .pair{gap:12px}
  .pair figure:nth-child(2){margin-top:30px}
  .pair figcaption{font-size:13.5px}
  .samples{grid-template-columns:minmax(0,1fr)}
  .logos{gap:10px}
  .logos .lg{flex-basis:calc((100% - 20px) / 3)}
  .logos img{max-height:56px}
  .quotes{grid-template-columns:minmax(0,1fr)}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .day{grid-template-columns:78px repeat(3,minmax(0,1fr))}
  .proof-top{grid-template-columns:minmax(0,1fr)}
  .badges img{height:72px}
  .badges img.feat{height:110px}
  .badges{justify-content:center}
  .acards{grid-template-columns:minmax(0,1fr)}
  .j-in{padding:110px var(--gut) 60px}
  .j-lines{padding:10px 16px}
  .j-lines li{grid-template-columns:86px minmax(0,1fr)}
  .tear{height:28px;top:-27px}
  .tear-down{top:-1px}
  .cat{flex-basis:78vw}
  .mark{min-height:700px;padding:80px var(--gut) 60px}
  .mark>img{object-position:52% 0}
  .mark-in{flex-direction:column;align-items:stretch;gap:20px}
  .note-tab{display:none}
  .note{left:16px;right:16px;bottom:12px;width:auto;min-height:52px;padding:0 14px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
  .note.open{transform:rotate(-1deg)}
  .note::before{inset:5px}
  .note .note-t,.note .x,.note .tape,.note .note-b .brush:not(.first){display:none}
  .note .note-k{margin:0;line-height:1.2;white-space:nowrap;font-size:11.5px;letter-spacing:.01em}
  .note .first .lg{display:none}
  .note .first .sm2{display:inline}
  .note .note-b{margin:0 0 0 auto}
  .note .brush{padding:6px 12px}
  .strip-w .tape{display:none}
  .ba .grab{font-size:12px;padding:6px 10px}
  .ba .tagb{font-size:12px;padding:4px 8px}
  .wm{padding:.04em 0;line-height:.9;background-size:auto 210%;background-position:50% 100%}
  .wm .l1,.wm .l2{display:block;line-height:.9}
  .pill{font-size:18px;min-height:46px}
  .go-strip{padding:24px 20px}
  .res{padding:16px;grid-template-columns:minmax(0,1fr)}
  .res .v{text-align:left;font-size:44px}
  .ctl output{font-size:34px}
}
@media (max-width:480px){
  .brush{white-space:normal;text-align:center}
}
@media (min-width:1001px){
  .sec,.j-in{padding-right:max(var(--gut),64px)}
  .book-grid>div:first-child{position:sticky;top:110px;align-self:start}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marq .track{animation:none}
  .js-ready .slide,.js-ready .rise{opacity:1!important;transform:none!important;transition:none!important}
  .js-ready .banner .write{clip-path:none;transition:none}
  .js-ready .banner .scrib{stroke-dashoffset:0;transition:none}
  .tip svg{animation:none}
  .note,.note-tab{transition:none}
  .brush::before,.brush::after{transition:none}
  .pill{transition:none}
  .rstep,.node{transition:none}
}
