/* generated by tools/css.py from the canvas stylesheets */
/* from design/pty.css */
/* pass the year, one-pager canvas. Tokens from the "pass the year" design system (ds/pty/tokens.json). */
@font-face{font-family:Guton;src:url("/_site/fonts/Guton-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Guton;src:url("/_site/fonts/Guton-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Guton;src:url("/_site/fonts/Guton-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Guton;src:url("/_site/fonts/Guton-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
:root{
  --bg:#eff5f1; --band:#e6efe9; --card:#fff; --fg:#0c231b; --muted:#33544a; --faint:#556f64;
  --primary:#05614b; --primary-hover:#053429; --tint:#e2efe9; --hair:rgb(16 32 27 / .09);
  --invert:#053429; --invert-fg:#dff0e7; --invert-muted:#9dbcae; --highlight:#bdffec;
  --promo-tint:#fbe9e5; --promo:#b4351f;
  --display:Guton,Inter,system-ui,sans-serif; --body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --elev-card:0 2px 6px -2px rgb(30 60 50 / .1),0 14px 34px -12px rgb(30 60 50 / .16);
  --elev-float:0 10px 24px -8px rgb(30 60 50 / .16),0 30px 60px -18px rgb(30 60 50 / .22);
}
body{margin:0;font-family:var(--body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-hover)}

/* the phone frame (storyboard) */
.ph{width:390px;height:844px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;position:relative}

/* type */
.h1{margin:0;font:700 46px/1 var(--display);letter-spacing:-.035em}
.h2{margin:0;font:600 34px/1.04 var(--display);letter-spacing:-.03em}
.h3{margin:0;font:600 21px/1.15 var(--display);letter-spacing:-.015em}
.lede{margin:14px 0 0;font-size:17px;line-height:1.5;color:var(--muted)}
.small{font-size:14px;line-height:1.45;color:var(--muted)}
.faint{font-size:13px;color:var(--faint)}
.mark{background:var(--highlight);padding:0 .12em;border-radius:6px}

/* the one button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 26px;border-radius:var(--r-sm);border:0;
  background:linear-gradient(180deg,var(--primary-mid),var(--primary));color:#fff;font:600 17px/1 var(--body);cursor:pointer;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .18),0 10px 22px -10px rgb(5 97 75 / .7);transition:transform .15s var(--ease),box-shadow .15s}
.btn:hover{color:#fff}
.btn--block{width:100%}
.btn--quiet{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--hair-2)}
.btn--quiet:hover{color:var(--fg);box-shadow:var(--ring-on)}
.link{font-weight:600;font-size:15px}
/* each Pass's own button (the Passes board, L3.b) */
.btn--turbo{background:linear-gradient(180deg,#2F6E58,#1D4F3E);color:#fff;box-shadow:inset 0 1px 0 rgb(255 255 255 / .18),0 10px 22px -10px rgb(29 79 62 / .7)}
.btn--max{background:linear-gradient(180deg,#2B302C,#161917);color:#E8F5EF;box-shadow:inset 0 1px 0 rgb(255 255 255 / .12),0 10px 22px -10px rgb(0 0 0 / .6)}
.btn--max:hover{color:#E8F5EF}
.btn--trial{background:#F4EFE3;color:#234F3D;box-shadow:inset 0 0 0 1.5px rgb(181 156 123 / .55)}
.btn--trial:hover{color:#234F3D}

/* the Pass */
.pass{position:relative;aspect-ratio:1000/700;container-type:inline-size}
.pass img{position:absolute;inset:0;width:100%;height:100%;display:block}
.pass__name{position:absolute;left:5.4%;top:66%;font:600 7.2cqw/1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.pass__holder{position:absolute;left:5.4%;top:80%;font:500 3.6cqw/1 var(--body);opacity:.72}
.pass--max .pass__name{background:linear-gradient(100deg,#EEEBE2,#9FE3C6 50%,#EEEBE2);-webkit-background-clip:text;background-clip:text;color:transparent}
.pass--lift{filter:drop-shadow(0 26px 30px rgb(14 42 34 / .28)) drop-shadow(0 4px 6px rgb(14 42 34 / .18))}

/* ticks */
.ok{flex:none;display:inline-block;width:20px;height:20px;border-radius:50%;background:var(--primary);position:relative}
.ok::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.no{flex:none;display:inline-block;width:12px;height:2px;background:var(--hair-2)}
.soon{flex:none;font:600 12px/1 var(--body);padding:5px 8px;border-radius:999px;background:var(--promo-tint);color:var(--promo)}

/* ===== the one-pager: sections ===== */
.sec{padding:clamp(80px,10vw,150px) clamp(20px,6vw,80px);background:var(--bg)}
.sec--band{background:var(--band)}

.wrap{max-width:1120px;margin:0 auto}
.narrow{max-width:680px;margin:0 auto}
.sec-h{margin:0;font:600 clamp(36px,5vw,60px)/1.02 var(--display);letter-spacing:-.035em}
.sec-lede{margin:18px 0 0;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--muted);max-width:56ch}

/* header */
.site-h{position:sticky;top:0;z-index:5;background:rgb(239 245 241 / .86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--hair)}
.site-h__in{height:64px;max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px);display:flex;align-items:center;gap:28px}
.site-h__logo{height:20px;display:block}
.site-h__nav{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:500}
.site-h__nav a{color:var(--muted)}.site-h__nav a:hover{color:var(--fg)}
.site-h__login{font-size:14px;font-weight:600;color:var(--fg)}
.btn--sm{height:44px;padding:0 16px;font-size:14px;border-radius:var(--r-sm)}
@media (max-width:860px){.site-h__nav,.site-h__login{display:none}.site-h__in .btn--sm{margin-left:auto}}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center;max-width:1160px;margin:0 auto}
.hero__h{margin:16px 0 0;font:700 var(--display-1)/.98 var(--display);letter-spacing:-.045em}
.hero__media{position:relative;justify-self:center;width:min(100%,380px)}
.vid{position:relative;aspect-ratio:9/16;border-radius:30px;overflow:hidden;background:var(--fg);box-shadow:var(--elev-float);z-index:2}
.vid video{width:100%;height:100%;object-fit:cover;display:block}
.vid__sound{position:absolute;right:14px;bottom:14px;height:40px;padding:0 14px;border:0;border-radius:999px;background:rgb(255 255 255 / .9);color:var(--fg);font:600 14px/1 var(--body);display:flex;align-items:center;gap:8px;cursor:pointer}

@media (max-width:900px){.hero{grid-template-columns:1fr}}

/* steps, cards */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:64px}

.card{background:var(--card);border-radius:var(--r-card);padding:clamp(24px,3vw,36px)}

.door{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:center}
@media (max-width:760px){.steps,.door{grid-template-columns:1fr}}

/* reviews */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:56px}
.quote{background:var(--card);border-radius:var(--r-card);padding:28px;display:flex;flex-direction:column;gap:18px}
.quote p{margin:0;font:500 19px/1.4 var(--display);letter-spacing:-.01em}
.quote cite{font-style:normal;font-size:14px;color:var(--faint)}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}
.foot{padding:40px clamp(20px,6vw,80px);border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;font-size:14px;color:var(--faint)}
.foot a{color:var(--muted)}

/* from design/v2.css */
/* v2 · Find your year: the finder, the Pass sheet and the program-year page. Uses pty.css's tokens. */
.code{display:inline-grid;place-items:center;min-width:34px;height:22px;padding:0 7px;border-radius:6px;background:var(--fg);color:var(--accent-mint);font:700 11px/1 var(--body);letter-spacing:.04em}

/* the finder */
.fd{background:var(--card);border-radius:var(--r-card);padding:24px;box-shadow:var(--elev-card);display:grid;gap:20px}

.fd-uni{border:0;cursor:pointer;min-height:44px;padding:0 16px;border-radius:999px;background:var(--band);color:var(--fg);font:600 14px/1 var(--body);display:inline-flex;align-items:center;gap:8px}
.fd-uni.on{background:var(--fg);color:#fff}
.fd-uni.soon{background:transparent;color:var(--faint);box-shadow:var(--ring)}
.fd-uni.soon.on{background:var(--paper-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--paper-line)}
.fd-uni small{font:600 11px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:var(--promo-tint);color:var(--promo)}

.fd-soon{margin:0;padding:14px 16px;border-radius:var(--r-in);background:var(--paper-2);color:var(--paper-ink);font-size:14px;line-height:1.45}
.fd-soon a{font-weight:600}
@media (max-width:560px){.fd{padding:18px;border-radius:var(--r-card)}}

/* the sheet a Pass button opens */
.scrim{position:absolute;inset:0;background:var(--scrim);display:grid;place-items:center;padding:24px}
.sheet{width:min(560px,100%);background:var(--bg);border-radius:var(--r-card);padding:26px;box-shadow:var(--elev-float);display:grid;gap:18px}
.sheet-top{display:flex;align-items:center;gap:14px}
.sheet-top img{width:88px;display:block;filter:drop-shadow(0 6px 8px rgb(14 42 34 / .2))}
.sheet-x{margin-left:auto;width:44px;height:44px;border:0;border-radius:50%;background:var(--card);cursor:pointer;font-size:20px;color:var(--muted)}

.yp .opt{border:0;cursor:pointer;width:100%;text-align:left;display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:14px 16px;border-radius:var(--r-in);background:var(--card);box-shadow:var(--ring);transition:box-shadow .2s}
.yp .opt img{width:110px;display:block}
.yp .opt b{display:block;font:600 18px/1.1 var(--display);color:var(--fg)}
.yp .opt b + span{display:block;margin-top:5px;font-size:14px;color:var(--faint)}
.yp .opt em{font-style:normal;font:600 17px/1 var(--display);color:var(--fg);white-space:nowrap}
.yp .opt--sm{grid-template-columns:72px 1fr auto;gap:12px;padding:12px}
.yp .opt--sm img{width:72px}
.yp .opt.on{box-shadow:var(--ring-on)}
.yp .opt .radio{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--hair-3)}
.yp .opt.on .radio{box-shadow:inset 0 0 0 7px var(--primary)}
.yp .ls{border:0;cursor:pointer;width:100%;text-align:left;display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-in);background:var(--card);box-shadow:var(--ring)}
.yp .ls .box{flex:none;width:24px;height:24px;border-radius:7px;box-shadow:inset 0 0 0 2px var(--hair-3);position:relative}
.yp .ls.on{box-shadow:inset 0 0 0 2px var(--ls);background:var(--paper)}
.yp .ls.on .box{background:var(--ls);box-shadow:none}
.yp .ls.on .box::after{content:"";position:absolute;left:8px;top:4px;width:6px;height:11px;border-right:2.4px solid #fff;border-bottom:2.4px solid #fff;transform:rotate(45deg)}
.yp .ls b{display:block;font:600 16px/1.15 var(--display);color:var(--fg)}
.yp .ls b + span{display:block;margin-top:4px;font-size:13px;color:var(--faint)}
.yp .ls em{margin-left:auto;font-style:normal;font:600 16px/1 var(--display);color:var(--fg)}

.sum{position:sticky;top:24px;background:var(--card);border-radius:var(--r-card);padding:24px;box-shadow:var(--elev-card);display:grid;gap:14px}
.sum-row{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.sum-row > span:last-child{font-weight:600}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px solid var(--hair)}
.sum-total b{font:600 30px/1 var(--display);letter-spacing:-.02em}
.yp .bar{position:absolute;left:0;right:0;bottom:0;padding:14px 20px 22px;background:rgb(239 245 241 / .94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hair);display:flex;align-items:center;gap:14px}
.yp .bar p{margin:0;font-size:13px;color:var(--faint);line-height:1.3}
.yp .bar p b{display:block;font:600 20px/1.1 var(--display);color:var(--fg)}
.yp .bar .btn{margin-left:auto;min-width:0}

/* the page order */
.ord{display:grid;gap:10px}

.tag{font:600 11px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:999px;white-space:nowrap}

/* pain rows */
.pr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center;margin-top:96px}

/* the finder as dropdowns (after Slim Academy and Athena: one bar, each field unlocks the next) */
.dd{position:relative;display:flex;align-items:stretch;gap:8px;padding:8px;background:var(--card);border-radius:var(--r-card);box-shadow:var(--elev-float)}
.dd-fields{flex:1;display:grid;grid-template-columns:1.25fr 1.25fr .7fr;min-width:0}
.dd-field{position:relative;min-width:0}
.dd-field + .dd-field{border-left:1px solid var(--hair)}
.dd-btn{width:100%;height:100%;min-height:64px;border:0;background:none;cursor:pointer;text-align:left;padding:10px 40px 10px 18px;border-radius:16px;display:grid;align-content:center;gap:5px;position:relative}
.dd-btn:hover{background:var(--bg)}
.dd-label{font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.dd-value{font:600 16px/1.2 var(--body);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dd-chev{position:absolute;right:16px;top:50%;margin-top:-7px;color:var(--faint);transition:transform .2s}
.dd-field.is-open .dd-chev{transform:rotate(180deg)}
.dd-field.off .dd-btn{cursor:default}
.dd-field.off .dd-label,.dd-field.off .dd-value{color:var(--hair-3)}
.dd-field.off .dd-btn:hover{background:none}
.dd-menu{position:absolute;z-index:10;left:0;top:calc(100% + 10px);min-width:100%;width:max-content;max-width:340px;background:var(--card);border-radius:var(--r-in);padding:6px;box-shadow:var(--elev-float);display:grid}
.dd-opt{border:0;background:none;cursor:pointer;text-align:left;min-height:44px;padding:10px 12px;border-radius:var(--r-sm);display:flex;align-items:center;gap:10px;font:500 15px/1.25 var(--body);color:var(--fg)}
.dd-opt:hover{background:var(--bg)}
.dd-opt.on{background:var(--tint);font-weight:600}
.dd-opt.soon .dd-opt-t{color:rgb(16 32 27 / .4)}
.dd-opt small{margin-left:auto;font:600 11px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:var(--promo-tint);color:var(--promo);white-space:nowrap}

.dd-note{position:absolute;left:8px;right:8px;top:calc(100% + 12px)}
.dd--stack{flex-direction:column}
.dd--stack .dd-fields{grid-template-columns:1fr}
.dd--stack .dd-field + .dd-field{border-left:0;border-top:1px solid var(--hair)}

.dd--stack .dd-note{position:static;margin:4px 0 0}
.dd--stack .dd-menu{max-width:none;width:100%}

.dd--row{flex-direction:column;padding:6px;border-radius:var(--r-card)}
.dd--row .dd-fields{grid-template-columns:1fr 1.35fr .75fr}
.dd--row .dd-btn{min-height:58px;padding:8px 34px 8px 14px}
.dd--row .dd-chev{right:12px}

.dd--row .dd-note{position:static;margin:2px 0 0}
