:root{
  color-scheme:light;
  --ink:#0d0d0f;--ink2:#5a5a61;--ink3:#6c6c73;--line:#e9e9e6;--white:#fff;--soft:#f6f6f4;--soft2:#efefec;
  --coral:#ff6a3d;--green:#4dbb76;--pink:#ff6fd8;--yellow:#f8d966;--lilac:#b9a7ff;
  --g:max(16px,env(safe-area-inset-left,0px));--gr:max(16px,env(safe-area-inset-right,0px));
  --r-xl:32px;--r-l:24px;--r-m:18px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:#fff;scroll-padding-top:88px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.55 Geist,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;hyphens:manual}
h1,h2,h3,p,ul,ol,fieldset{margin:0;padding:0;border:0}ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:8px}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;font-weight:500;font-size:14px}
.skip:focus{top:10px}
.wrap{max-width:1360px;margin-inline:auto;padding-left:var(--g);padding-right:var(--gr)}
@media (min-width:760px){.wrap{padding-left:max(28px,var(--g));padding-right:max(28px,var(--gr))}}

/* Mesh surface: CSS gradient at rest, a canvas takes over when JavaScript runs; film grain on top */
.mesh{position:relative;isolation:isolate;overflow:hidden;background-color:#ffd9c7}
.mesh>canvas.mc{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-2;pointer-events:none}
.mesh::after{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/grain.svg?v=6e29a999a3);mix-blend-mode:soft-light;opacity:.55;pointer-events:none}
.m-rush-hour{background-color:#fff0b8;background-image:radial-gradient(60% 70% at 15% 15%,#f8d966,transparent 70%),radial-gradient(55% 60% at 85% 25%,#ffb648,transparent 70%),radial-gradient(70% 70% at 45% 95%,#cfe67c,transparent 72%),radial-gradient(50% 50% at 90% 85%,#fff3df,transparent 70%)}
.m-half-rush{background-color:#ffb18c;background-image:radial-gradient(60% 70% at 15% 20%,#ff6a3d,transparent 70%),radial-gradient(55% 60% at 85% 20%,#ffb648,transparent 70%),radial-gradient(70% 70% at 50% 95%,#ff4d2e,transparent 72%),radial-gradient(50% 50% at 90% 85%,#ffc4a3,transparent 70%)}
.m-rush-day{background-color:#ffbfa6;background-image:radial-gradient(55% 65% at 12% 15%,#f8d966,transparent 70%),radial-gradient(55% 65% at 90% 25%,#ff6fd8,transparent 70%),radial-gradient(70% 70% at 25% 90%,#ff6a3d,transparent 72%),radial-gradient(55% 55% at 85% 90%,#ffb648,transparent 70%)}
.m-rush-sprint{background-color:#bff0cf;background-image:radial-gradient(60% 70% at 15% 20%,#cfe67c,transparent 70%),radial-gradient(55% 60% at 85% 25%,#4dbb76,transparent 70%),radial-gradient(70% 70% at 50% 95%,#2fa98a,transparent 72%),radial-gradient(50% 50% at 90% 85%,#f8d966,transparent 70%)}
.m-rush-week{background-color:#ffc9ec;background-image:radial-gradient(60% 70% at 15% 20%,#b9a7ff,transparent 70%),radial-gradient(55% 60% at 85% 25%,#ff6fd8,transparent 70%),radial-gradient(70% 70% at 45% 95%,#ff94c2,transparent 72%),radial-gradient(50% 50% at 92% 85%,#ff6a3d,transparent 66%)}
.m-green{background-color:#a9e6bd;background-image:radial-gradient(60% 70% at 15% 20%,#4dbb76,transparent 70%),radial-gradient(55% 60% at 85% 25%,#a9e6bd,transparent 70%),radial-gradient(70% 70% at 45% 95%,#cfe67c,transparent 72%)}
.m-banner{background-color:#ffb26e;background-image:radial-gradient(55% 70% at 10% 20%,#f8d966,transparent 70%),radial-gradient(55% 70% at 90% 20%,#ff6fd8,transparent 70%),radial-gradient(70% 70% at 30% 95%,#ff6a3d,transparent 72%),radial-gradient(55% 55% at 85% 90%,#ffb648,transparent 70%)}
.m-agent{background-color:#ffd0ea;background-image:radial-gradient(60% 70% at 15% 20%,#ff6fd8,transparent 70%),radial-gradient(55% 60% at 85% 25%,#f8d966,transparent 70%),radial-gradient(70% 70% at 45% 95%,#b9a7ff,transparent 72%)}
.m-tool{background-color:#d9ecd0;background-image:radial-gradient(60% 70% at 15% 20%,#cfe67c,transparent 70%),radial-gradient(55% 60% at 85% 25%,#a9e6bd,transparent 70%),radial-gradient(70% 70% at 45% 95%,#f8d966,transparent 72%)}
.m-pack{background-color:#ffb68c;background-image:radial-gradient(60% 70% at 15% 20%,#ff6a3d,transparent 70%),radial-gradient(55% 60% at 85% 25%,#ffb648,transparent 70%),radial-gradient(70% 70% at 45% 95%,#f8d966,transparent 72%)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:999px;font-weight:500;font-size:15px;line-height:1.2;text-align:center;transition:transform .25s var(--ease),background .2s,color .2s,box-shadow .2s}
.ar{flex:none;transition:transform .25s var(--ease)}
a:hover>.ar{transform:translateX(3px)}
.btn:active{transform:scale(.97)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#2a2a2e}
.btn-line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #dcdcd8}.btn-line:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:var(--ink);color:#fff}
.btn-l{min-height:56px;padding:14px 28px;font-size:17px}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:500;line-height:1.3;border-bottom:1px solid currentColor;padding-bottom:2px}
.ul{text-decoration:underline;text-underline-offset:3px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.3}
.pill i{flex:none;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--yellow),transparent 62%),radial-gradient(circle at 75% 35%,var(--pink),transparent 65%),radial-gradient(circle at 45% 85%,var(--green),transparent 62%),var(--coral)}
.dot{flex:none;display:inline-block;width:22px;height:22px;border-radius:7px;vertical-align:-5px;margin-right:8px}
.tile{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);flex:none}
.t-coral{background:#ffe4d9}.t-yellow{background:#fff2c7}.t-green{background:#e0f4e6}.t-pink{background:#ffe2f6}.t-lilac{background:#ece7ff}
.t-dark{background:#fff;color:var(--ink)}
.fit{display:inline-block;padding:5px 11px;border-radius:999px;background:#fff;font-size:12.5px;font-weight:500;line-height:1.25;color:var(--ink)}

/* Header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.top .wrap{display:flex;align-items:center;gap:14px;min-height:68px;position:relative}
.word{font-weight:600;font-size:21px;letter-spacing:-.045em;line-height:1;padding:6px 0}
.nav{display:flex;gap:22px;margin-left:22px;font-size:14px;color:var(--ink2);font-weight:500}
.nav a{transition:color .2s;line-height:1.3}.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.spacer{flex:1}
.langs{display:flex;gap:1px;padding:3px;border-radius:999px;background:var(--soft);font-size:12.5px;font-weight:500}
.langs a{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:0 6px;border-radius:999px;color:var(--ink2);transition:background .2s,color .2s}
.langs a[aria-current]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.signin{font-size:14px;font-weight:500;padding:8px 4px}
.top .topcta{min-height:40px;padding:8px 18px;font-size:14px;white-space:nowrap}
.menu{display:none}
.menu summary{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center}
.drawer{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:6px var(--gr) 20px var(--g);box-shadow:0 24px 40px -24px rgba(0,0,0,.2);max-height:calc(100vh - 64px);overflow:auto}
.drawer a:not(.btn){display:block;padding:13px 0;font-size:18px;font-weight:500;letter-spacing:-.01em;border-bottom:1px solid var(--soft2)}
.drawer .btn{display:flex;margin-top:16px;min-height:48px;font-size:15px}
@media (max-width:1240px){
  .nav,.signin,.top .topcta{display:none}.menu{display:block}
  .top .wrap{gap:10px;min-height:62px}
}

/* Page openers */
.hero{padding:clamp(40px,6.2vw,84px) 0 clamp(32px,4vw,56px);text-align:center}
.hero h1{font-weight:500;font-size:clamp(40px,6.9vw,100px);line-height:1;letter-spacing:-.052em;max-width:1120px;margin:22px auto 0;text-wrap:balance}
.hero h1 .ln{display:block}
.hero h1 em{font-style:normal;background:linear-gradient(95deg,#ee5a2a 8%,#ec3f7c 52%,#df3fb6 100%);-webkit-background-clip:text;background-clip:text;color:#e8473f;-webkit-text-fill-color:transparent;padding-right:.04em;padding-bottom:.08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .sub,.sub{max-width:640px;margin:22px auto 0;font-size:clamp(16px,1.35vw,18px);color:var(--ink2);text-wrap:pretty}
.hero .cta,.cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.hero-page{padding-bottom:clamp(24px,3vw,44px)}
.hero-page h1{font-size:clamp(38px,6.2vw,88px)}
.sec-t{padding-top:clamp(8px,1.5vw,16px)}
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .9s var(--ease) both}
  .r1{animation-delay:90ms}.r2{animation-delay:180ms}.r3{animation-delay:270ms}.r4{animation-delay:360ms}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

.pg-home .hero h1{font-size:clamp(38px,6.1vw,88px);line-height:1.02}

/* Composer: radio inputs, works without JavaScript; the canvas follows the choice when it runs */
.composer{max-width:980px;margin:clamp(30px,4vw,52px) auto 0;padding:clamp(10px,1.5vw,22px);border-radius:32px;text-align:left;box-shadow:0 40px 80px -48px rgba(255,90,80,.55)}
.cr{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.panel{background:linear-gradient(118deg,#fff 50%,rgba(255,255,255,.72) 100%);border-radius:20px;padding:clamp(14px,1.8vw,20px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px -18px rgba(0,0,0,.28)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:6px 13px 6px 8px;border-radius:12px;background:var(--soft);font-size:14px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .2s,color .2s}
.chip:hover{background:var(--soft2)}
.chip b{font-weight:500;color:var(--ink3);margin-left:6px}
.chip .dot{margin-right:8px;vertical-align:0}
.say{display:none}
.saytext{padding:clamp(22px,3vw,36px) clamp(4px,1vw,12px) clamp(22px,3vw,34px);min-height:clamp(150px,14vw,176px)}
.say .p{font-size:clamp(25px,3vw,40px);line-height:1.1;letter-spacing:-.035em;font-weight:500;text-wrap:balance}
.caret{display:inline-block;width:2.5px;height:.9em;margin-left:5px;vertical-align:-.08em;background:var(--coral);border-radius:2px}
@media (prefers-reduced-motion:no-preference){.caret{animation:blink 1.15s steps(2,jump-none) infinite}@keyframes blink{from{opacity:1}to{opacity:0}}}
.say .f{margin-top:10px;color:var(--ink2);font-size:clamp(15px,1.3vw,17px)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--soft2)}
.amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding-left:clamp(4px,1vw,12px)}
.amount strong{font-weight:500;font-size:26px;letter-spacing:-.03em;line-height:1.1}
.amount span{font-size:14px;color:var(--ink3)}
#cp-rush-hour:checked~.panel .say-rush-hour,#cp-half-rush:checked~.panel .say-half-rush,#cp-rush-day:checked~.panel .say-rush-day,#cp-rush-sprint:checked~.panel .say-rush-sprint,#cp-rush-week:checked~.panel .say-rush-week{display:block}
#cp-rush-hour:checked~.panel .chip-rush-hour,#cp-half-rush:checked~.panel .chip-half-rush,#cp-rush-day:checked~.panel .chip-rush-day,#cp-rush-sprint:checked~.panel .chip-rush-sprint,#cp-rush-week:checked~.panel .chip-rush-week{background:var(--ink);color:#fff}
#cp-rush-hour:checked~.panel .chip-rush-hour b,#cp-half-rush:checked~.panel .chip-half-rush b,#cp-rush-day:checked~.panel .chip-rush-day b,#cp-rush-sprint:checked~.panel .chip-rush-sprint b,#cp-rush-week:checked~.panel .chip-rush-week b{color:#c9c9cf}
#cp-rush-hour:focus-visible~.panel .chip-rush-hour,#cp-half-rush:focus-visible~.panel .chip-half-rush,#cp-rush-day:focus-visible~.panel .chip-rush-day,#cp-rush-sprint:focus-visible~.panel .chip-rush-sprint,#cp-rush-week:focus-visible~.panel .chip-rush-week{outline:2px solid var(--ink);outline-offset:2px}
.cr:focus-visible{outline:none}
.composer:has(#cp-rush-hour:checked):not(.live){background-image:radial-gradient(60% 70% at 15% 15%,#f8d966,transparent 70%),radial-gradient(55% 60% at 85% 25%,#ffb648,transparent 70%),radial-gradient(70% 70% at 45% 95%,#cfe67c,transparent 72%);background-color:#fff0b8}
.composer:has(#cp-half-rush:checked):not(.live){background-image:radial-gradient(60% 70% at 15% 20%,#ff6a3d,transparent 70%),radial-gradient(55% 60% at 85% 20%,#ffb648,transparent 70%),radial-gradient(70% 70% at 50% 95%,#ff4d2e,transparent 72%);background-color:#ffb18c}
.composer:has(#cp-rush-sprint:checked):not(.live){background-image:radial-gradient(60% 70% at 15% 20%,#cfe67c,transparent 70%),radial-gradient(55% 60% at 85% 25%,#4dbb76,transparent 70%),radial-gradient(70% 70% at 50% 95%,#2fa98a,transparent 72%);background-color:#bff0cf}
.composer:has(#cp-rush-week:checked):not(.live){background-image:radial-gradient(60% 70% at 15% 20%,#b9a7ff,transparent 70%),radial-gradient(55% 60% at 85% 25%,#ff6fd8,transparent 70%),radial-gradient(70% 70% at 45% 95%,#ff94c2,transparent 72%);background-color:#ffc9ec}
@media (max-width:560px){.bar .btn{width:100%}.hero .cta .btn{flex:1 1 auto}}

/* Section heads */
section{scroll-margin-top:84px}
.sec{padding-top:clamp(64px,8vw,112px)}
.head{text-align:center;max-width:780px;margin:0 auto clamp(30px,3.6vw,50px)}
.head h2{font-weight:500;font-size:clamp(31px,4.2vw,58px);line-height:1.04;letter-spacing:-.045em;margin-top:16px;text-wrap:balance}
.head p:not(.pill){margin:16px auto 0;max-width:620px;color:var(--ink2);font-size:clamp(16px,1.25vw,17px);text-wrap:pretty}
.tray{background:var(--soft);border-radius:var(--r-xl);padding:clamp(12px,2.4vw,32px)}
.more{text-align:center;margin-top:clamp(20px,2.4vw,32px)}
.note{margin-top:18px;text-align:center;font-size:13.5px;color:var(--ink2);text-wrap:balance}

/* Home: what is RushLap, and the needs guide */
.head p.lead{max-width:760px;font-size:clamp(18px,1.7vw,23px);line-height:1.38;letter-spacing:-.015em;color:var(--ink)}
.points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.point{background:var(--soft);border-radius:var(--r-l);padding:clamp(18px,1.9vw,26px)}
.point h3{font-weight:500;font-size:clamp(20px,1.7vw,24px);letter-spacing:-.025em;line-height:1.15}
.point p{margin-top:10px;font-size:15px;color:var(--ink2);text-wrap:pretty}
.guide{margin-top:12px;border-radius:var(--r-xl);padding:clamp(10px,1.5vw,22px);scroll-margin-top:84px;box-shadow:0 40px 80px -48px rgba(255,90,80,.55)}
.guide-p{background:#fff;border-radius:22px;padding:clamp(18px,3vw,44px)}
.guide-h{text-align:center;max-width:760px;margin:0 auto clamp(18px,2.6vw,34px)}
.guide-h h2{font-weight:500;font-size:clamp(31px,4.2vw,58px);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}
.guide-h p{margin-top:12px;color:var(--ink2);font-size:clamp(16px,1.25vw,17px);text-wrap:pretty}
.needs{display:grid;gap:8px}
.need{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) 44px;align-items:center;gap:clamp(14px,2.4vw,36px);min-height:84px;padding:14px 14px 14px clamp(14px,1.6vw,22px);background:var(--soft);border-radius:var(--r-m);transition:background .2s,color .2s}
.need-t{display:flex;align-items:center;gap:4px;font-weight:500;font-size:clamp(18px,1.75vw,24px);line-height:1.2;letter-spacing:-.022em;text-wrap:pretty}
.need-t .dot{width:28px;height:28px;border-radius:9px;margin-right:10px}
.need-m{display:grid;grid-template-columns:minmax(120px,auto) minmax(112px,auto);gap:clamp(14px,2.4vw,36px);align-items:baseline;white-space:nowrap}
.need-p b,.need-a b{font-weight:500}
.need-p b{display:block;font-size:16px;letter-spacing:-.015em}
.need-p span{display:block;font-size:13.5px;color:var(--ink2)}
.need-a{text-align:right}
.need-a b{font-size:clamp(22px,1.9vw,27px);letter-spacing:-.035em}
.need-a span{font-size:13px;color:var(--ink2)}
.need-go{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center}
.need:hover{background:var(--ink);color:#fff}
.need:hover .need-p span,.need:hover .need-a span{color:#d6d6da}
.need:hover .need-go{background:#fff;color:var(--ink)}
@media (max-width:1100px){.points{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.points{grid-template-columns:minmax(0,1fr)}.guide{border-radius:26px}.guide-p{border-radius:18px;padding:18px 10px 10px}.need{grid-template-columns:minmax(0,1fr) 44px;gap:12px;padding:16px 12px 14px 14px}.need-t{grid-column:1/-1;align-items:flex-start}.need-t .dot{margin-top:1px}.need-m{grid-template-columns:minmax(0,1fr) auto;gap:10px}}

/* Home: how */
.how{display:grid;grid-template-columns:5fr 7fr;gap:12px}
.lap{position:relative;background:#fff;border-radius:var(--r-l);padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;justify-content:flex-end;min-height:320px}
.lap img{position:absolute;left:50%;top:44%;width:min(86%,500px);height:auto;transform:translate(-50%,-50%);mix-blend-mode:multiply;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.lap img{animation:drift 14s ease-in-out infinite alternate}@keyframes drift{from{transform:translate(-50%,-50%) rotate(-3deg)}to{transform:translate(-50%,-52%) rotate(3deg)}}}
.lap p{position:relative;font-size:17px;line-height:1.4;letter-spacing:-.012em;max-width:420px;text-wrap:pretty}
.steps{display:grid;gap:12px}
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px 28px;padding:clamp(20px,2.2vw,30px);background:#fff;border-radius:var(--r-l);align-items:end}
.step .big{font-weight:500;font-size:clamp(30px,3.2vw,46px);line-height:1;letter-spacing:-.045em;text-wrap:balance}
.step h3{font-weight:500;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.step p{margin-top:8px;font-size:15px;color:var(--ink2);text-wrap:pretty}
.step .tl{display:flex;flex-direction:column;justify-content:space-between;gap:30px;height:100%}
.step .tile{background:#f2f2ef}
.step.mesh{background-color:#a9e6bd}
.step.mesh p{color:#0e2a1a}
.step.mesh .tile{background:rgba(255,255,255,.78)}
@media (max-width:980px){.how{grid-template-columns:minmax(0,1fr)}.lap{min-height:clamp(400px,62vw,520px)}.lap img{top:40%;width:min(70%,460px)}}
@media (max-width:560px){.lap{min-height:372px}.lap img{top:40%;width:92%}.step{grid-template-columns:minmax(0,1fr);gap:18px}.step .tl{gap:14px;flex-direction:row;align-items:center;justify-content:flex-start;height:auto}.tray{border-radius:26px}}

/* Package cards */
.pk-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.pk{grid-column:span 6;border-radius:var(--r-l);padding:12px;display:flex;gap:12px;transition:transform .45s var(--ease),box-shadow .45s var(--ease);scroll-margin-top:90px}
.pk:hover{transform:translateY(-3px);box-shadow:0 30px 50px -32px rgba(20,10,10,.4)}
.pk.small{grid-column:span 3;flex-direction:column}
.pk .face{flex:1 1 42%;min-width:0;padding:14px 12px 12px;display:flex;flex-direction:column;min-height:280px}
.pk.small .face{flex:0 0 auto;min-height:262px}
.tag{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;font-weight:500;line-height:1.25;margin-bottom:10px}
.tag i{width:7px;height:7px;border-radius:50%;background:var(--coral)}
.hrs{white-space:nowrap;font-weight:500;font-size:clamp(76px,7.6vw,112px);line-height:.86;letter-spacing:-.07em;margin-top:auto}
.hrs small{font-size:.42em;letter-spacing:-.03em;margin-left:.08em;font-weight:500}
.pk.large .hrs{font-size:clamp(88px,8.6vw,124px)}
.pk.day .hrs{font-size:clamp(110px,14vw,204px)}
.pkt{font-weight:500;font-size:clamp(22px,1.9vw,26px);letter-spacing:-.03em;line-height:1.1;margin-top:14px}
.dur{font-size:14px;line-height:1.3;margin-top:2px}
.pk .pr{margin-top:5px;font-size:15.5px;line-height:1.3;font-weight:500;letter-spacing:-.008em;text-wrap:balance}
.pk .in{flex:1 1 58%;min-width:0;background:#fff;border-radius:var(--r-m);padding:18px;display:flex;flex-direction:column}
.pk.small .in{flex:1 1 auto}
.fw{font-weight:500;font-size:15.5px;line-height:1.3;letter-spacing:-.012em;text-wrap:pretty}
.ticks{margin:14px 0 18px;display:grid;gap:9px;align-content:start}
.ticks li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;font-size:14px;line-height:1.38;color:var(--ink2)}
.ticks svg{margin-top:2px;color:var(--ink)}
.pk.day .in{padding:26px 24px 20px}
.pk.day .fw{font-size:clamp(20px,1.9vw,27px);line-height:1.14;letter-spacing:-.032em}
.pk.day .ticks{margin:22px 0 20px;gap:13px}
.pk.day .ticks li{font-size:15.5px;color:var(--ink);grid-template-columns:18px minmax(0,1fr);gap:11px}
.buy{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--soft2)}
.amt{font-size:12.5px;line-height:1.35;color:var(--ink3)}
.amt strong{font-weight:500;font-size:clamp(25px,2.2vw,30px);line-height:1.1;letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.buy .btn{min-height:42px;padding:9px 16px;font-size:14.5px}
@media (max-width:1180px){.pk.small,.pk.large,.pk.day{grid-column:span 6;flex-direction:column}.pk .face,.pk.small .face{flex:0 0 auto;min-height:262px}.pk .in{flex:1 1 auto}.pk.day .hrs{font-size:clamp(110px,16vw,160px)}#pkg-rush-week{grid-column:span 12;flex-direction:row}#pkg-rush-week .face{flex:1 1 42%}#pkg-rush-week .in{flex:1 1 58%}}
@media (max-width:720px){.pk.small,.pk.large,.pk.day,#pkg-rush-week{grid-column:span 12;flex-direction:column}.pk .face,.pk.small .face,.pk.day .face,#pkg-rush-week .face{flex:0 0 auto;min-height:216px}.hrs,.pk.large .hrs,.pk.day .hrs{font-size:92px}#pkg-rush-week .in{flex:1 1 auto}}

/* Examples */
.ex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ex{background:var(--soft);border-radius:var(--r-l);padding:22px;display:flex;flex-direction:column;min-height:236px;position:relative}
.ex.mesh{background-color:#ffd0ea}
.ex.w{grid-column:span 2}
.ex h3{font-weight:500;font-size:clamp(19px,1.55vw,21px);letter-spacing:-.022em;line-height:1.18;margin-top:auto;padding-top:34px;text-wrap:balance}
.ex p{margin-top:7px;font-size:14.5px;line-height:1.42;color:var(--ink2);text-wrap:pretty}
.ex.mesh p{color:var(--ink)}
.ex.w h3{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.035em;line-height:1.08;max-width:18ch}
.ex.w p{max-width:44ch}
.ex-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ex .fit{text-align:right}
.disc{display:block;max-width:760px;margin:20px auto 0;text-align:center;font-size:14px;color:var(--ink2);text-wrap:balance}
@media (max-width:1000px){.ex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ex-grid{grid-template-columns:minmax(0,1fr)}.ex,.ex.w{grid-column:auto;min-height:0}.ex h3{padding-top:26px}}

/* Packs */
.packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1120px;margin-inline:auto}
.pack{background:#fff;border-radius:var(--r-l);padding:10px;display:flex;flex-direction:column}
.pack .hd{border-radius:var(--r-m);background:var(--soft);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:500;font-size:15px;line-height:1.25;min-height:60px}
.pack .hd h3{font:inherit}
.pack .hd b{font-weight:500;font-size:24px;letter-spacing:-.04em;white-space:nowrap}
.pack .bd{padding:22px 14px 14px;display:flex;flex-direction:column;flex:1}
.pack .price{font-weight:500;font-size:clamp(38px,3.7vw,52px);line-height:1;letter-spacing:-.05em}
.pack .price span{font-size:14px;letter-spacing:0;color:var(--ink3)}
.pack .dur{margin-top:6px;color:var(--ink2)}
.pack .promise{margin-top:14px;font-size:15.5px;line-height:1.35;font-weight:500;letter-spacing:-.01em}
.pack .fw{margin-top:6px;font-size:14.5px;line-height:1.4;color:var(--ink2);font-weight:400}
.pack .btn{margin-top:auto;width:100%}
@media (max-width:860px){.packs{grid-template-columns:minmax(0,1fr)}}

/* Referral band */
.refer{border-radius:var(--r-xl);text-align:center;padding:clamp(56px,8vw,112px) clamp(18px,4vw,48px)}
.refer .pill{background:rgba(255,255,255,.9);box-shadow:none}
.refer h2{font-weight:500;font-size:clamp(32px,5.2vw,74px);line-height:1.02;letter-spacing:-.05em;max-width:940px;margin:18px auto 0;text-wrap:balance}
.refer .rb{max-width:620px;margin:18px auto 26px;font-size:clamp(16px,1.3vw,18px);line-height:1.45;color:#1a0f0a;text-wrap:pretty}
@media (max-width:560px){.refer{border-radius:26px}}

/* FAQ */
.faq{max-width:860px;margin-inline:auto;display:grid;gap:8px}
.q{background:var(--soft);border-radius:var(--r-m);transition:background .25s;scroll-margin-top:90px}
.q[open]{background:var(--soft2)}
.q summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 20px;font-weight:500;font-size:clamp(17px,1.4vw,19px);letter-spacing:-.018em;line-height:1.25;border-radius:var(--r-m)}
.qq{text-wrap:balance}
.pm{flex:none;width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .35s var(--ease),background .25s,color .25s}
.q[open] .pm,.det[open] .pm{transform:rotate(45deg);background:var(--ink);color:#fff}
.q .a p{padding:0 68px 20px 20px;color:var(--ink2);font-size:15.5px;text-wrap:pretty}
@media (max-width:560px){.q .a p{padding-right:20px}}
.faqpage{padding:clamp(32px,5vw,72px) 0 0}
.faq2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:start}
.fstick{position:sticky;top:92px}
.fside h1{font-weight:500;font-size:clamp(38px,4.8vw,70px);line-height:1;letter-spacing:-.05em;margin-top:18px;text-wrap:balance}
.fside .sub{margin:18px 0 0}
.more-l{margin-top:20px}
.fblob{height:clamp(120px,14vw,190px);border-radius:var(--r-l);margin-top:clamp(20px,3vw,36px)}
.faq-all{max-width:none}
.fsearch{margin-bottom:12px}
.fsearch label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.fsearch input{width:100%;min-height:48px;padding:10px 18px;border-radius:999px;border:1px solid #cfcfca;background:#fff}
.fsearch input:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:999px}
.nomatch{margin-top:12px;color:var(--ink2)}
@media (max-width:900px){.faq2{grid-template-columns:minmax(0,1fr)}.fstick{position:static}.fblob{display:none}}

/* Packages page */
.ruler{display:flex;gap:8px;margin-top:clamp(28px,4vw,48px);text-align:left}
.seg{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-width:0;height:clamp(180px,20vw,280px);padding:clamp(12px,1.6vw,20px);border-radius:var(--r-l);transition:transform .35s var(--ease)}
.seg:hover{transform:translateY(-4px)}
.seg b{font-weight:500;font-size:clamp(34px,4.4vw,68px);line-height:.9;letter-spacing:-.06em}
.seg b small{font-size:.5em;letter-spacing:-.02em;margin-left:.06em}
.seg span{font-weight:500;font-size:clamp(13px,1.1vw,15px);line-height:1.2}
.seg-1{flex:1.15}.seg-2{flex:1.4}.seg-3{flex:1.8}.seg-4{flex:2.6}.seg-5{flex:3.3}
@media (max-width:760px){.ruler{flex-direction:column}.seg{height:auto;flex:none;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:12px;padding:16px}.seg-1{min-height:60px}.seg-2{min-height:72px}.seg-3{min-height:88px}.seg-4{min-height:108px}.seg-5{min-height:128px}.seg b{font-size:40px}.seg span{font-size:15px}}
.tablebox{overflow-x:auto;border-radius:var(--r-l);background:var(--soft);padding:clamp(6px,1vw,12px)}
.tablebox:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--r-l)}
.cmp{border-collapse:separate;border-spacing:0;width:100%;min-width:880px;background:#fff;border-radius:var(--r-m);font-size:14.5px;line-height:1.35}
.cmp th,.cmp td{padding:14px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--soft2);font-weight:400}
.cmp thead th{font-size:12.5px;font-weight:500;color:var(--ink2);vertical-align:bottom}
.cmp tbody th{font-weight:500;white-space:nowrap;position:sticky;left:0;background:#fff}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp .num{white-space:nowrap;font-variant-numeric:tabular-nums}
.cmp .wide{min-width:220px;color:var(--ink2)}
.yes{display:inline-flex;width:26px;height:26px;border-radius:50%;background:#e0f4e6;align-items:center;justify-content:center;position:relative}
.dets{display:grid;gap:8px}
.det{background:var(--soft);border-radius:var(--r-l);scroll-margin-top:90px}
.det summary{display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);padding:10px clamp(12px,1.6vw,20px) 10px 10px;border-radius:var(--r-l)}
.swatch{flex:none;display:flex;align-items:flex-end;width:clamp(72px,9vw,120px);height:clamp(64px,7vw,84px);padding:8px 10px;border-radius:var(--r-m)}
.swatch b{font-weight:500;font-size:clamp(26px,3vw,38px);line-height:1;letter-spacing:-.05em}
.swatch small{font-size:.5em;margin-left:.05em}
.dh{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}
.dtitle{font-weight:500;font-size:clamp(19px,2vw,27px);letter-spacing:-.03em;line-height:1.15}
.dpr{color:var(--ink2);font-size:clamp(14px,1.2vw,16px);line-height:1.3}
.det-b{padding:8px 10px 10px}
.dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dcol{background:#fff;border-radius:var(--r-m);padding:18px}
.dcol h3{font-size:13.5px;font-weight:500;letter-spacing:-.005em;color:var(--ink);padding-bottom:2px}
.dcol .ticks{margin:12px 0 0}
.det-c{display:flex;justify-content:flex-end;padding:12px 4px 4px}
@media (max-width:1000px){.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.dgrid{grid-template-columns:minmax(0,1fr)}.det-c .btn{width:100%}}
.tiers{display:grid;grid-template-columns:1.6fr 1.1fr .7fr;gap:12px;align-items:stretch}
.tier{background:var(--soft);border-radius:var(--r-l);padding:10px 10px 18px}
.tier-b{display:flex;align-items:flex-end;min-height:clamp(120px,14vw,190px);padding:14px 16px;border-radius:var(--r-m)}
.tier-b strong{font-weight:500;font-size:clamp(40px,5vw,76px);line-height:.9;letter-spacing:-.06em;white-space:nowrap}
.tl1{margin:14px 10px 0;font-weight:500;font-size:16px;line-height:1.25}
.tl2{margin:4px 10px 0;font-size:14px;line-height:1.35;color:var(--ink2)}
@media (max-width:760px){.tiers{grid-template-columns:minmax(0,1fr)}}

/* How it works page */
.laptrack{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:12px;align-items:start}
.lapside{position:sticky;top:88px}
.lapstick{border-radius:var(--r-l);aspect-ratio:1/1.1;display:flex;align-items:center;justify-content:center;padding:16px}
.lapstick img{width:100%;height:auto;mix-blend-mode:multiply}
@media (prefers-reduced-motion:no-preference){.lapstick img{animation:drift2 14s ease-in-out infinite alternate}@keyframes drift2{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}}
.ten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.st{background:#fff;border-radius:var(--r-l);padding:clamp(18px,1.9vw,26px);display:flex;flex-direction:column;gap:clamp(22px,3vw,44px);min-height:230px;justify-content:space-between;scroll-margin-top:90px}
.st.n1,.st.n4,.st.n7,.st.n10{grid-column:span 2}
.st .tile{background:#f2f2ef}
.st.n1,.st.n10{flex-direction:row;align-items:flex-start;justify-content:flex-start;min-height:0;gap:clamp(18px,3vw,36px)}
.st .num{font-weight:500;font-size:clamp(46px,5vw,76px);line-height:.9;letter-spacing:-.06em}
.st h2{font-weight:500;font-size:clamp(20px,1.9vw,26px);letter-spacing:-.03em;line-height:1.14;margin-top:12px;text-wrap:balance}
.stb{margin-top:8px;font-size:15px;color:var(--ink2);text-wrap:pretty;max-width:60ch}
.st.mesh .stb{color:var(--ink)}
.st.mesh .tile{background:rgba(255,255,255,.8)}
.rulecards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rule{background:var(--soft);border-radius:var(--r-l);padding:clamp(20px,2.2vw,30px)}
.rule h3{font-weight:500;font-size:clamp(21px,2vw,28px);letter-spacing:-.03em;line-height:1.12;text-wrap:balance}
.rule p{margin-top:10px;font-size:15px;color:var(--ink2);text-wrap:pretty}
.thp{display:block;font-size:clamp(17px,1.5vw,21px);color:var(--ink);letter-spacing:-.02em;margin-bottom:4px}
.refund{min-width:760px}
.ctaband{margin-top:12px;border-radius:var(--r-xl);padding:clamp(40px,6vw,76px) 16px;display:flex;justify-content:center}
@media (max-width:980px){.laptrack{grid-template-columns:minmax(0,1fr)}.lapside{position:static}.lapstick{aspect-ratio:auto;height:clamp(240px,50vw,360px)}.lapstick img{width:auto;height:100%}}
@media (max-width:760px){.ten{grid-template-columns:minmax(0,1fr)}.st,.st.n1,.st.n4,.st.n7,.st.n10{grid-column:auto;min-height:0}.rulecards{grid-template-columns:minmax(0,1fr)}}

/* What I build */
.rail{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;background:var(--soft);border-radius:var(--r-m);padding:10px 14px}
.rail-t{font-size:13.5px;font-weight:500;color:var(--ink2)}
.rail ul{display:flex;flex-wrap:wrap;gap:6px}
.rail a{display:inline-flex;align-items:center;min-height:38px;padding:5px 12px 5px 7px;border-radius:11px;background:#fff;font-size:14px;font-weight:500;line-height:1.2}
.rail a:hover{background:var(--soft2)}
.rail .dot{width:20px;height:20px;margin-right:7px;vertical-align:0}
.filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:12px;padding:0 14px}
.filter[hidden],.filter [hidden]{display:none}
.filter-l{font-size:13.5px;font-weight:500;color:var(--ink2)}
.filter .chip{cursor:pointer;min-height:36px;padding:5px 12px;font-size:13.5px}
.filter .chip .dot{width:16px;height:16px;border-radius:5px;margin-right:6px}
.filter .chip[aria-pressed="true"]{background:var(--ink);color:#fff}
.cats{display:grid;gap:12px;margin-top:12px}
.cat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px;background:var(--soft);border-radius:var(--r-xl);padding:12px;scroll-margin-top:90px}
.cat.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.cat.rev .cat-face{order:2}
.cat-face{border-radius:var(--r-l);padding:clamp(18px,2.2vw,30px);display:flex;flex-direction:column;min-height:clamp(260px,26vw,360px)}
.cat-face .tile{background:rgba(255,255,255,.82)}
.cat-face h3{margin-top:auto;font-weight:500;font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:-.05em;padding-top:32px}
.cat-face p{margin-top:12px;font-size:clamp(15px,1.25vw,17px);line-height:1.35;font-weight:500;letter-spacing:-.01em;max-width:34ch;text-wrap:pretty}
.cat-list{display:grid;gap:8px;align-content:stretch}
.cat-list li{transition:opacity .25s}
.cat-list li.dim{opacity:.28}
.cat-list a{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:var(--r-m);padding:14px 16px 14px 20px;transition:box-shadow .2s}
.cat-list a:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.cat-list .w{font-weight:500;font-size:clamp(16px,1.4vw,19px);line-height:1.22;letter-spacing:-.015em;text-wrap:pretty}
.cat-list .fit{flex:none;background:var(--soft);text-align:right;max-width:48%}
.notdo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:18px 32px;background:var(--ink);color:#fff;border-radius:var(--r-xl);padding:clamp(24px,3.4vw,48px);margin-top:12px}
.notdo h2{margin-top:18px;font-weight:500;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.04em;line-height:1.04;text-wrap:balance}
.notdo p{font-size:clamp(16px,1.4vw,19px);line-height:1.45;color:#dcdce0;text-wrap:pretty;align-self:end}
@media (max-width:860px){.cat,.cat.rev,.notdo{grid-template-columns:minmax(0,1fr)}.cat.rev .cat-face{order:0}.cat-face{min-height:220px}.cat{border-radius:26px;padding:10px}.cat-list a{flex-direction:column;align-items:flex-start;gap:8px}.cat-list .fit{max-width:none;text-align:left}}

/* Affiliate */
.afh{padding-top:clamp(12px,2vw,24px)}
.afbox{border-radius:var(--r-xl);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:12px;padding:clamp(20px,4vw,64px)}
.aftext h1{font-weight:500;font-size:clamp(38px,6vw,88px);line-height:1;letter-spacing:-.052em;margin-top:18px;text-wrap:balance}
.aftext .pill{background:rgba(255,255,255,.9);box-shadow:none}
.aftext .sub{margin:18px 0 0;color:#1a0f0a;max-width:520px}
.aftext .cta{justify-content:flex-start}
.afpic{background:#fff;border-radius:var(--r-l);padding:clamp(8px,1vw,16px);box-shadow:0 30px 60px -36px rgba(120,30,20,.45)}
.afimg{display:block;width:100%;height:auto}
.af3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.af-s{background:var(--soft);border-radius:var(--r-l);padding:clamp(20px,2.2vw,30px)}
.afn{display:block;font-weight:500;font-size:clamp(60px,7vw,104px);line-height:.9;letter-spacing:-.06em}
.af-s h2{margin-top:clamp(22px,3vw,44px);font-weight:500;font-size:clamp(21px,2vw,28px);letter-spacing:-.03em;line-height:1.12}
.af-s p{margin-top:10px;font-size:15px;color:var(--ink2);text-wrap:pretty}
.rewardhead{display:flex;justify-content:space-between;gap:16px;padding:0 8px 12px;font-size:13.5px;font-weight:500;color:var(--ink2)}
.rw{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rwt{border-radius:var(--r-l);padding:clamp(14px,1.5vw,20px);min-height:clamp(170px,17vw,230px);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.rwt b{font-weight:500;font-size:clamp(52px,6.6vw,96px);line-height:.86;letter-spacing:-.07em}
.rwt small{font-size:.42em;letter-spacing:-.02em;margin-left:.06em}
.rwi{background:rgba(255,255,255,.88);border-radius:12px;padding:9px 12px}
.rwt h3{font-weight:500;font-size:15px;line-height:1.2;letter-spacing:-.01em}
.rwt p{font-size:13.5px;line-height:1.3}
.six{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.afbox{grid-template-columns:minmax(0,1fr)}.afpic{max-width:480px;width:100%;margin-inline:auto}.rw{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.af3,.six{grid-template-columns:minmax(0,1fr)}.afbox{border-radius:26px}}

/* Contact */
.ctgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.ctmain{grid-column:span 12;border-radius:var(--r-xl);min-height:clamp(220px,26vw,360px);display:flex;align-items:center;justify-content:center;padding:24px 16px}
.ctc{grid-column:span 6;background:var(--soft);border-radius:var(--r-l);padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ctc h2{margin-top:clamp(18px,3vw,36px);font-weight:500;font-size:clamp(25px,2.6vw,36px);letter-spacing:-.035em;line-height:1.08}
.ctc p{color:var(--ink2);font-size:15.5px}
.mailaddr{font-weight:500;font-size:clamp(20px,2.2vw,30px);letter-spacing:-.03em;color:var(--ink);border-bottom:1px solid currentColor;overflow-wrap:anywhere}
@media (max-width:760px){.ctc{grid-column:span 12}}

/* Legal */
.lg-h{padding-top:clamp(12px,2vw,24px)}
.ribbon{height:clamp(84px,11vw,150px);border-radius:var(--r-l)}
.lg-h h1{margin-top:clamp(24px,3.4vw,44px);font-weight:500;font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.05em;text-wrap:balance}
.lg-h .sub{margin:14px 0 0;max-width:760px}
.vnote{margin-top:16px;background:#e0f4e6;border-radius:var(--r-m);padding:14px 18px;max-width:760px;font-size:15px;line-height:1.45}
.lg-g{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(24px,5vw,72px);margin-top:clamp(28px,4vw,56px);align-items:start}
.toc{position:sticky;top:88px;background:var(--soft);border-radius:var(--r-m);padding:14px 16px;font-size:14px;max-height:calc(100vh - 110px);overflow:auto}
.toc summary{font-weight:500}
.toc ol{margin-top:10px;display:grid;gap:7px}
.toc a{color:var(--ink2);line-height:1.3;display:block}.toc a:hover{color:var(--ink)}
.prose{max-width:760px;min-width:0}
.prose section{padding-bottom:clamp(22px,2.6vw,36px)}
.prose h2{font-weight:500;font-size:clamp(21px,2vw,27px);letter-spacing:-.025em;line-height:1.15;margin-bottom:10px;text-wrap:balance}
.prose p{margin-top:10px;font-size:16px;color:#34343a;text-wrap:pretty}
.prose ul{margin-top:10px;display:grid;gap:7px}
.prose li{position:relative;padding-left:18px;color:#34343a}
.prose li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:3px;background:var(--coral)}
.prose a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media (max-width:900px){.lg-g{grid-template-columns:minmax(0,1fr)}.toc{position:static;max-height:none}}

/* 404 */
.nf{padding-top:clamp(12px,2vw,24px)}
.nfbox{border-radius:var(--r-xl);text-align:center;padding:clamp(28px,5vw,64px) 16px clamp(40px,6vw,88px)}
.nfnum{font-weight:500;font-size:clamp(120px,27vw,400px);line-height:.92;letter-spacing:-.075em}
.nfbox h1{font-weight:500;font-size:clamp(30px,4.4vw,64px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.nfbox .sub{color:#1a0f0a;margin-top:14px}
.nfw{margin-top:24px;font-weight:500}
.nfbox .cta{margin-top:12px}

/* Footer */
.ft{margin-top:clamp(64px,8vw,112px)}
.ft-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px clamp(24px,5vw,72px);padding-bottom:clamp(20px,3vw,36px)}
.tg{font-weight:500;font-size:clamp(23px,2.2vw,30px);letter-spacing:-.035em;line-height:1.1;max-width:15em;text-wrap:balance}
.hook{margin-top:20px;border-radius:var(--r-m);padding:16px 18px;font-size:14.5px;line-height:1.4;max-width:440px}
.hook-t{font-weight:500;font-size:16px;letter-spacing:-.01em;margin-bottom:4px}
.hook .lnk{margin-top:10px;font-size:14px}
.cols{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:28px clamp(32px,5vw,80px)}
.cols h2{font-size:13px;font-weight:500;color:var(--ink3);margin-bottom:12px}
.cols li+li{margin-top:9px}
.cols li a{font-size:14.5px;line-height:1.3;transition:color .2s}.cols li a:hover{color:#c93a12}
.legalline{font-size:12.5px;color:var(--ink3);padding-bottom:clamp(14px,2vw,22px)}
@media (max-width:860px){.ft-top{grid-template-columns:minmax(0,1fr)}.cols{justify-content:flex-start}}
/* Giant wordmark: white layer with black type in screen blend, the surface shows only through the letters */
.giant{position:relative;isolation:isolate;overflow:hidden;display:block;background-color:#fff;background-image:linear-gradient(95deg,#ffb648,#f8d966 26%,#ff94c2 46%,#ff6fd8 60%,#ff6a3d 88%)}
.giant canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.cut{position:relative;display:block;background:#fff;color:#000;mix-blend-mode:screen;font-weight:600;font-size:23.6vw;line-height:.98;letter-spacing:-.065em;text-align:center;white-space:nowrap;padding:0 0 .03em;transform:translateZ(0)}

/* Open Graph card */
.og{width:1200px;height:630px;margin:0;overflow:hidden}
.ogbox{width:1200px;height:630px;padding:42px;display:flex}
.ogpanel{flex:1;background:linear-gradient(118deg,#fff 50%,rgba(255,255,255,.7) 100%);border-radius:30px;padding:56px;display:flex;flex-direction:column;justify-content:space-between}
.ogw{font-weight:600;font-size:40px;letter-spacing:-.045em}
.ogt{font-weight:500;font-size:78px;line-height:1.02;letter-spacing:-.052em;max-width:980px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation:none!important;scroll-behavior:auto!important}}
