@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/barlow-condensed-900.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/dm-mono-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/dm-mono-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/inter-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/inter-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(assets/fonts/inter-900.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--paper:#f5f2e9;--ink:#111;--yellow:#f2d547;--line:#d5d2c9;--mono:'DM Mono',monospace;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #857000;outline-offset:5px}a{text-decoration:none}button{border-radius:0}.page{max-width:1800px;margin:auto;padding:0 3.1%}.mono{font-family:var(--mono);font-weight:400}.masthead{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--ink);min-height:78px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand img{border-radius:6px}.brand span{font-size:36px;line-height:1;font-weight:900;letter-spacing:-2px}.release{font-size:11px;letter-spacing:.07em}.masthead nav{display:flex;gap:30px;align-items:center;margin-left:auto;font:12px var(--mono)}.masthead nav>a{padding:16px 0}.masthead nav>a:hover,.text-link:hover{opacity:.65}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:19px 25px;min-height:54px;font:14px var(--mono);letter-spacing:.035em;transition:background .18s,color .18s}.button:hover{background:var(--yellow);color:var(--ink)}.nav-cta{padding:13px 22px;min-height:44px;font-size:12px}.hero{display:grid;grid-template-columns:42% 58%;padding:24px 0 16px}.hero-copy{padding-top:44px;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.13em;line-height:1.6;margin:0 0 18px}h1{font-family:var(--display);font-weight:900;font-size:clamp(84px,9.9vw,177px);line-height:.87;letter-spacing:-.027em;margin:0 0 25px}h1>span{display:block;white-space:nowrap}.signal{color:var(--yellow)}.intro{font:clamp(14px,1.4vw,22px)/1.65 var(--mono);margin:0 0 30px}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.text-link{font:14px var(--mono);border-bottom:1px solid var(--ink);padding:8px 0;white-space:nowrap}.text-link span{margin-left:12px}.coming{font-size:12px;margin:24px 0 22px}.hero-visual{position:relative;min-width:0;min-height:690px;padding-left:13%}.photo{height:100%;min-height:690px;overflow:hidden;background:#b5b3aa}.photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:63% center;filter:grayscale(1);mix-blend-mode:multiply}.photo{position:relative}.photo-caption{position:absolute;right:-23px;top:67%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.12em}.phone{position:absolute;left:2.5%;top:40px;width:294px;border-radius:46px;padding:8px;background:#171717;box-shadow:inset 0 0 0 2px #696967,0 20px 32px #0003,2px 2px 0 #000;z-index:3;scroll-margin-top:30px}.phone:before{content:'';position:absolute;left:-3px;top:95px;width:3px;height:24px;background:#333;border-radius:2px}.phone:after{content:'';position:absolute;right:-3px;top:145px;width:3px;height:54px;background:#333;border-radius:2px}.screen{border-radius:38px;overflow:hidden;background:var(--paper);position:relative;min-height:614px}.status-bar{display:flex;justify-content:space-between;padding:14px 22px 0;font-size:12px;font-weight:700}.status-icons{font-size:10px;display:flex;align-items:center;gap:7px}.battery{display:inline-block;width:17px;height:8px;background:#111;border:1px solid var(--paper);outline:1px solid #111;border-radius:2px}.island{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:82px;height:23px;border-radius:15px;background:#111}.app-content{padding:0 20px}.app-header{display:flex;align-items:center;justify-content:space-between;margin:23px 0 21px}.app-header strong{font-size:24px;font-weight:900;letter-spacing:-1.4px}.app-header span{font-size:10px}.today{font-size:10px;background:var(--yellow);padding:3px 5px}.phone h2{font:900 53px/.87 var(--display);letter-spacing:-1.7px;margin:10px 0 18px}.phone h2 small{display:block;font-size:34px;letter-spacing:-.7px;margin-top:5px;line-height:.94}.challenge-copy{font:11px/1.5 var(--mono);margin:0 0 15px}.challenge-meta{font-size:10px;color:#696760;border-top:1px solid var(--line);padding-top:11px}.app-button{background:var(--ink);color:var(--paper);border:0;width:100%;font:12px var(--mono);min-height:43px;margin:12px 0 13px}.app-button:hover{background:#333}.people{border-top:1px solid var(--line);padding-top:11px}.people h3{font-size:10px;font-weight:400;margin:0 0 7px;letter-spacing:.06em}.friend{display:flex;align-items:center;gap:10px;min-height:42px;font:11px var(--mono)}.avatar{height:29px;width:29px;border-radius:50%;background-image:url('assets/portraits.webp');background-size:300% 100%;filter:grayscale(1);flex-shrink:0}.avatar-one{background-position:0 0}.avatar-two{background-position:50% 0}.avatar-three{background-position:100% 0}.state{font-size:9px;margin-left:auto;border:1px solid #cfccc3;border-radius:3px;padding:5px 7px;min-width:48px;text-align:center}.state.done{background:var(--yellow);border-color:var(--yellow)}.sample{font-size:7px;text-align:center;color:#696760;letter-spacing:.02em;margin:13px -8px}.app-tabs{display:flex;border-top:1px solid var(--line);justify-content:space-around;padding:12px 8px 17px}.tab{display:flex;align-items:center;gap:5px;flex-direction:column;font:8px var(--mono)}.tab svg{height:20px;width:20px;fill:none;stroke:var(--ink);stroke-width:1.5}.tab.current svg{fill:var(--ink);stroke:none}.tab.current{font-weight:500}.commit-status{font:10px/1.4 var(--mono);margin:0 0 12px}.ritual{border-top:1px solid var(--ink);display:grid;grid-template-columns:43% 57%;gap:0;padding:26px 0 30px}.ritual .eyebrow{margin-bottom:13px}.ritual h2{font:900 clamp(40px,4.3vw,76px)/.94 var(--display);letter-spacing:-.02em;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:16px 0 3px;padding:0}.steps li{border-left:1px solid #88857c;padding:0 23px}.number{font-size:12px}.steps h3{font:800 clamp(24px,2vw,36px)/1 var(--display);margin:16px 0 13px}.steps p{font:13px/1.6 var(--mono);margin:0}footer{border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:20px;padding:17px 0 23px;font-size:10px;letter-spacing:.06em}.skip{position:absolute;left:16px;top:-100px;z-index:20;background:var(--yellow);padding:14px}.skip:focus{top:10px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:38px;width:min(500px,calc(100% - 32px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#1119;backdrop-filter:blur(4px)}dialog>img{border-radius:6px;margin-bottom:25px}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;width:44px;height:44px}dialog h2{font:900 64px/.94 var(--display);letter-spacing:-1px;margin:0 0 24px}dialog p:not(.eyebrow){font-size:16px;line-height:1.6}.dialog-note{color:#696760}dialog .button{margin-top:14px;width:100%}html:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.hero-visual,.photo{min-height:760px}.phone{width:330px;top:42px}.screen{min-height:675px}.app-header{margin-bottom:27px}.phone h2{font-size:62px}.phone h2 small{font-size:38px}.friend{min-height:47px}.app-button{min-height:48px}.app-content{padding:0 23px}.sample{margin:16px 0}.hero-copy{padding-top:48px}}
@media(max-width:1150px){.release{display:none}.masthead nav{gap:22px}h1{font-size:10.3vw}.hero{grid-template-columns:43% 57%}.hero-visual,.photo{min-height:660px}.phone{left:0;width:268px}.screen{min-height:602px}.app-content{padding:0 17px}.hero-copy{padding-top:40px}.intro{font-size:15px}.hero-actions{gap:15px}.hero-actions .button{padding:16px 18px;font-size:12px}.steps li{padding:0 16px}.steps p{font-size:12px}.phone h2{font-size:50px}.photo-caption{right:-18px}}
@media(max-width:850px){.masthead nav>a{display:none}.hero{grid-template-columns:1fr;padding-top:26px}.hero-copy{padding-top:4px;padding-bottom:25px}h1{font-size:clamp(85px,18vw,150px);margin-bottom:25px}.eyebrow{font-size:11px}.intro{font-size:17px}.hero-actions{gap:25px}.coming{margin-bottom:6px}.hero-visual{min-height:680px;padding-left:16%;margin-right:10px}.photo{min-height:680px}.phone{left:5%;top:31px;width:294px}.screen{min-height:614px}.phone h2{font-size:53px}.app-content{padding:0 20px}.ritual{grid-template-columns:1fr;padding-top:27px}.ritual h2{font-size:60px}.steps{margin-top:30px}.steps li:first-child{padding-left:0;border-left:0}.steps h3{font-size:30px}.steps p{font-size:13px}.page{padding:0 5%}.photo-caption{right:-19px}.masthead{min-height:76px}.brand span{font-size:31px}.brand img{width:36px;height:36px}.nav-cta{font-size:10px;padding:12px}.brand{gap:9px}}
@media(max-width:420px){.page{padding:0 5%}.masthead{gap:10px}.brand span{font-size:27px}.brand img{width:31px;height:31px}.nav-cta{font-size:9px;padding:10px;min-height:44px}.hero .eyebrow{font-size:9px;letter-spacing:.09em}h1{font-size:19vw}.intro{font-size:13px}.hero-actions{gap:13px}.hero-actions .button{padding:15px 12px;font-size:10px}.text-link{font-size:11px}.text-link span{margin-left:4px}.hero-visual{min-height:650px;padding-left:10%;margin-right:4px}.photo{min-height:650px}.phone{width:266px;left:0;top:22px}.screen{min-height:602px}.app-content{padding:0 16px}.photo-caption{font-size:8px;right:-14px}.ritual h2{font-size:47px}.steps{grid-template-columns:1fr;gap:20px}.steps li,.steps li:first-child{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;display:grid;grid-template-columns:30px 1fr;column-gap:8px}.steps h3{margin:0 0 9px}.steps p{grid-column:2}.number{padding-top:5px}footer{flex-direction:column;gap:9px;font-size:9px}dialog{padding:28px}dialog h2{font-size:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Readability, reflow, and touch refinements preserve the approved composition. */
.page{padding-left:max(3.1%,env(safe-area-inset-left));padding-right:max(3.1%,env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}
.masthead{flex-wrap:wrap;padding-block:12px}.masthead nav{flex-wrap:wrap}.release,.masthead nav,.nav-cta,.eyebrow,.coming,.photo-caption,footer{font-size:.75rem}
.button,.text-link{min-height:44px;font-size:.875rem}.text-link{display:inline-flex;align-items:center}.brand{min-height:44px}
.hero{align-items:stretch;grid-template-columns:minmax(0,42%) minmax(0,58%)}
.hero-copy{min-width:0}.intro{font-size:1rem}.hero-visual{display:grid;align-items:start;isolation:isolate;padding-left:0;min-height:0;padding-block:40px 20px}.photo{position:absolute;inset:0 0 0 13%;min-height:0;z-index:-1}.phone{position:relative;top:auto;left:auto;margin-left:2.5%;width:min(330px,95%);height:auto}.screen{min-height:0}.app-content{padding-inline:20px}.app-header span,.today,.challenge-meta,.people h3,.state,.sample,.tab,.commit-status,.challenge-copy{font-size:.75rem;line-height:1.5}.friend,.app-button{font-size:.875rem}.sample{margin:12px 0}.state{min-width:54px}.friend{min-height:46px}.app-button{min-height:44px}.tab{font-size:.75rem}.phone h2{font-size:3.3rem;line-height:.98}.phone h2 small{font-size:2rem;line-height:1.1}.phone .app-header strong{font-size:1.5rem}.steps p{font-size:1rem}.steps li{min-width:0}.steps p br{display:none}.steps h3{line-height:1.1}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.number{font-size:.75rem}.signal{color:var(--ink)}.signal::after{content:'';display:inline-block;width:.14em;height:.14em;background:var(--yellow);margin-left:.025em}.hero h1 .signal{font-size:0}.hero h1 .signal::after{width:clamp(10px,1.2vw,20px);height:clamp(10px,1.2vw,20px)}
footer{align-items:center;flex-wrap:wrap}footer nav{display:flex;gap:24px}footer a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain}dialog h2{font-size:clamp(2.4rem,10vw,4rem);overflow-wrap:anywhere}dialog .eyebrow{padding-right:15px}.no-script{padding:20px;border-top:1px solid var(--line)}
.document{max-width:760px;padding:32px 5%;margin:auto;line-height:1.65}.document h1{font-size:clamp(3rem,9vw,5rem);white-space:normal;line-height:1}.document h2{font-size:1.4rem}.document a{text-decoration:underline}.document .brand{margin-bottom:40px}.document footer{margin-top:32px}
@media(max-width:1150px){.hero{grid-template-columns:minmax(0,43%) minmax(0,57%)}.hero-visual,.photo{min-height:0}.phone{width:min(310px,95%)}.steps{grid-template-columns:1fr;gap:16px}.steps li{border-left:1px solid var(--line)}.steps h3{margin:5px 0 8px}.hero-actions .button{font-size:.875rem}}
@media(max-width:850px){.page{padding-inline:max(5%,env(safe-area-inset-left)) max(5%,env(safe-area-inset-right))}.hero{grid-template-columns:minmax(0,1fr)}.hero-visual{padding-block:30px;margin-right:0}.photo{inset:0 0 0 16%}.phone{width:min(330px,94%);margin-left:4%}.masthead nav>a{display:inline-flex;min-height:44px;align-items:center;padding:0}.masthead nav{justify-content:flex-start;margin:0;width:100%;gap:8px 24px}.masthead .nav-cta{margin-left:auto;font-size:.75rem}.masthead .brand{margin-right:auto}.hero .eyebrow{font-size:.75rem}.intro{font-size:1rem}.hero-actions{gap:12px 24px}.coming{font-size:.75rem}.ritual{grid-template-columns:1fr}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.steps li{border-left:1px solid var(--line)}.steps h3{font-size:1.8rem}.ritual h2{font-size:clamp(2.5rem,8vw,3.75rem)}.photo-caption{display:none}}
@media(max-width:540px){.masthead nav{font-size:.75rem;gap:8px 16px}.nav-cta{width:100%;margin-left:0!important}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{font-size:.875rem}.text-link{font-size:.875rem;align-self:flex-start}.hero-visual{padding-block:20px}.phone{margin-left:0;width:min(330px,100%)}.photo{inset:0 0 0 10%}.steps{grid-template-columns:1fr}.steps li,.steps li:first-child{border-left:0;border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px}.steps p{grid-column:2;font-size:1rem}.steps h3{margin:0}.eyebrow{overflow-wrap:anywhere}.app-content{padding-inline:16px}.phone h2{font-size:clamp(2.5rem,12vw,3.3rem)}.friend{gap:8px}.state{padding:4px}.sample{font-size:.75rem}.ritual h2{font-size:clamp(2.3rem,9vw,3rem)}footer{font-size:.75rem}.brand span{font-size:2rem}}
@media(forced-colors:active){.button,.app-button,.phone{border:2px solid ButtonText}.signal::after{background:CanvasText}.state.done{border:1px solid CanvasText}}
form{margin-top:24px}form>label{display:block;font-weight:600;margin-bottom:8px}input[type=email]{width:100%;font:1rem Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);border:1px solid #696760;border-radius:0;padding:14px;min-height:48px}input:focus-visible{outline:3px solid #857000;outline-offset:3px}.consent{display:flex!important;align-items:flex-start;gap:12px;font-size:.875rem;line-height:1.6;font-weight:400!important;margin-top:20px;min-height:44px}.consent input{width:24px;height:24px;flex-shrink:0;accent-color:var(--ink);margin:1px 0 0}.field-help{font-size:.875rem!important;line-height:1.5!important}.consent a,.field-help a{text-decoration:underline;text-underline-offset:3px}#signup-result:empty{display:none}#signup-result{font-size:1rem;line-height:1.5}button:disabled{cursor:wait;opacity:.65}.document footer{gap:16px}footer nav{flex-wrap:wrap}dialog{scrollbar-gutter:stable}
.release-badge{cursor:default}.release-badge:hover{background:var(--ink);color:var(--paper)}
