*{box-sizing:border-box}
html{min-width:320px;background:var(--cream);scroll-behavior:smooth}
body{min-height:100vh;margin:0;background:radial-gradient(circle at 82% 22%,rgba(255,255,255,.7),transparent 38%),radial-gradient(circle at 12% 88%,rgba(243,237,225,.68),transparent 32%),var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;isolation:isolate}
button,input{font:inherit}button,a{color:inherit}button{cursor:pointer}
.skip-link{position:fixed;left:16px;top:-70px;z-index:100;padding:11px 16px;border-radius:var(--r-pill);background:var(--teal);color:#fff;text-decoration:none}.skip-link:focus{top:16px}
.page-shell{width:min(1180px,calc(100% - 40px));margin:16px auto 28px}
.masthead{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:56px}
.wordmark{display:inline-flex;align-items:center;gap:1px;color:var(--ink);font-family:var(--serif);font-size:28px;line-height:1;text-decoration:none;letter-spacing:-.03em}
.wordmark svg{width:19px;height:24px;color:var(--gold);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}
.primary-nav{display:flex;align-items:center;gap:clamp(22px,3.1vw,42px)}
.primary-nav a,.primary-nav button{min-height:40px;padding:9px 0;border:0;background:transparent;color:var(--ink);font-size:12px;text-decoration:none}
.primary-nav a:hover,.primary-nav button:hover{color:var(--teal-d)}
.mobile-menu{display:none;position:relative;z-index:20}.mobile-menu summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{position:absolute;right:0;top:48px;display:grid;width:220px;padding:10px;border:1px solid var(--line2);border-radius:var(--r);background:var(--paper);box-shadow:var(--sh)}
.mobile-menu a,.mobile-menu button{display:flex;align-items:center;min-height:44px;padding:10px;border:0;background:transparent;text-align:left;text-decoration:none}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(330px,.87fr);min-height:350px;border:1px solid var(--line2);border-radius:var(--r);background:rgba(255,255,255,.62);box-shadow:var(--sh);overflow:hidden}
.hero-copy{position:relative;z-index:3;align-self:center;padding:38px clamp(34px,5.1vw,70px)}
.hero h1{max-width:580px;margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(51px,5.9vw,76px);font-weight:400;letter-spacing:-.035em;line-height:.91}
.lede{margin:13px 0 0;color:var(--ink2);font-size:18px}.proof{display:flex;align-items:center;gap:8px;margin:13px 0 0;color:var(--ink2);font-size:13px}.proof span{color:var(--gold);font-size:16px}.proof b{color:var(--gold-text);font-weight:400}
.hero-actions{display:flex;align-items:center;gap:14px;margin-top:19px;font-size:13px}
.primary-button,.dialog-primary,.button.primary,.leave-info>button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border:1px solid var(--teal);border-radius:var(--r-md);background:var(--teal);box-shadow:0 2px 6px rgba(62,127,120,.28);color:#fff;font-weight:600;text-decoration:none}
.primary-button:hover,.dialog-primary:hover,.button.primary:hover,.leave-info>button[type="submit"]:hover{background:var(--teal-d)}
.quiet-link{display:inline-flex;align-items:center;min-height:42px;padding:0;border:0;background:transparent;text-decoration:none}.quiet-link:hover{text-decoration:underline;text-underline-offset:4px}
.hero-visual{position:relative;z-index:2;display:grid;place-items:center;min-width:0}.portal-pill{position:absolute;right:17px;top:14px;display:flex;align-items:center;gap:7px;min-height:29px;padding:6px 11px;border:1px solid var(--line2);border-radius:var(--r-pill);background:rgba(255,255,255,.86);color:var(--ink2);font-size:10px;box-shadow:var(--sh);backdrop-filter:blur(8px)}
.portal-pill span{width:7px;height:7px;border-radius:50%;background:var(--green)}.portal-pill b{color:var(--gold-text);font-weight:500}
.tooth-mark{width:min(73%,285px);color:var(--gold)}.tooth-mark svg{display:block;width:100%;overflow:visible}.circle-line,.tooth-line,.base-line,.sparkle{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.circle-line{stroke-width:1.7}.tooth-line{stroke-width:2.2}.base-line{stroke-width:1.3}.sparkle{stroke-width:1;opacity:.7}
/* Alex and Yogi (playground.js) live behind the page and never take input. */
.playground{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
/* Phones: the pair plays in its own strip under the cards instead of behind them. */
.pet-stage{position:relative;height:0}.pet-stage .playground{position:absolute;z-index:0}
@media(max-width:900px){.pet-stage{height:124px;margin-top:4px}}
.critter,.ball{position:absolute;left:0;top:0;will-change:transform}
.playground.is-away .critter,.playground.is-away .ball{opacity:0}
.critter svg,.ball svg{display:block;width:100%;height:100%;overflow:visible}
.playground-toggle{position:fixed;right:14px;bottom:14px;z-index:40;min-height:34px;padding:6px 13px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--paper);box-shadow:var(--sh);color:var(--ink2);font-size:11px}
.playground-toggle:hover{color:var(--teal-d)}
.process-strip{position:relative;margin-top:11px;padding:12px 26px 14px;border:1px solid var(--line2);border-radius:var(--r-md);background:rgba(255,255,255,.72);box-shadow:var(--sh)}
.process-strip h2{position:absolute;left:50%;top:-8px;display:flex;align-items:center;gap:13px;width:242px;margin:0;transform:translateX(-50%);color:var(--ink2);font-size:10px;font-weight:600;letter-spacing:.24em;text-align:center;white-space:nowrap}.process-strip h2 span{flex:1;height:1px;background:var(--gold)}
.steps{display:grid;grid-template-columns:repeat(3,1fr)}.steps article{position:relative;display:flex;align-items:center;justify-content:center;gap:13px;min-height:55px;padding:7px 28px}.steps article b{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-text);font-family:var(--serif);font-size:18px;font-weight:400}.steps p{margin:0;font-size:13px;line-height:1.22}.steps small{display:block;margin-top:2px;color:var(--ink2);font-size:11px}.steps i{position:absolute;right:8px;color:var(--gold-text);font-size:24px;font-style:normal;font-weight:300}
.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}.feature-cards a,.feature-cards button{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;min-height:62px;padding:12px 16px;border:1px solid var(--line2);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--sh);text-align:left;text-decoration:none}.feature-cards a:hover,.feature-cards button:hover{border-color:var(--teal);background:var(--teal-s)}.feature-cards svg{width:26px;height:26px;fill:none;stroke:var(--gold-text);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.feature-cards span{font-size:12px}.feature-cards b{color:var(--gold-text);font-size:20px;font-weight:300}
.site-footer{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:20px 0 28px;border-top:1px solid var(--line);color:var(--ink2);font-size:12px}.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 22px}.site-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.site-footer a:hover{color:var(--teal-d);text-decoration:underline;text-underline-offset:4px}
dialog{width:min(570px,calc(100% - 28px));max-height:calc(100% - 28px);margin:auto;padding:0;border:1px solid var(--line2);border-radius:var(--r);background:var(--paper);color:var(--ink);box-shadow:var(--sh-lg)}dialog::backdrop{background:rgba(31,29,26,.46);backdrop-filter:blur(4px)}.dialog-inner{position:relative;padding:42px}.dialog-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:var(--sand);font-size:24px}.eyebrow{margin:0;color:var(--gold-text);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.dialog-inner h2{margin:9px 0 0;font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-.03em}.dialog-inner>p:not(.eyebrow){margin:13px 0;color:var(--ink2);line-height:1.55}.dialog-primary{margin-top:10px}.portal-linkish{display:block;min-height:44px;margin-top:14px;padding:0;border:0;background:transparent;color:var(--teal-d);text-decoration:underline;text-underline-offset:4px}.leave-info{display:grid;gap:11px;margin-top:18px}.leave-info p{margin:0;color:var(--ink2);line-height:1.5}.leave-info input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--cream);color:var(--ink);font-size:16px}.leave-info input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-s)}.leave-info>button[type="submit"]{border-radius:var(--r-md)}.leave-info>button:disabled{opacity:.55}.privacy-note,.leave-info-note{font-size:12px}.leave-info-note.error{color:var(--red)}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
@media(max-width:900px){.primary-nav{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:38px 34px 20px}.hero h1{font-size:clamp(52px,11vw,74px)}.hero-visual{min-height:210px}.tooth-mark{width:min(45%,220px)}.portal-pill{right:12px}.steps article{padding-inline:10px}.feature-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.page-shell{width:min(100% - 20px,1180px);margin:8px auto 20px}.masthead{min-height:56px}.wordmark{font-size:25px}.hero{border-radius:12px}.hero-copy{padding:32px 22px 12px}.hero h1{font-size:clamp(47px,14.1vw,58px);line-height:.94}.lede{margin-top:12px;font-size:16px}.proof{align-items:flex-start;margin-top:12px;font-size:12px;line-height:1.35}.hero-actions{flex-wrap:wrap;gap:7px 12px;margin-top:15px}.primary-button,.quiet-link{min-height:40px}.hero-visual{min-height:172px}.portal-pill{top:3px}.tooth-mark{width:min(45%,174px);transform:translateY(4px)}.process-strip{padding:27px 12px 10px}.process-strip h2{top:9px}.steps{grid-template-columns:1fr}.steps article{justify-content:flex-start;min-height:54px;padding:5px 12px}.steps article:not(:last-child)::after{content:"";position:absolute;left:28px;bottom:-5px;width:1px;height:11px;background:var(--gold)}.steps i{display:none}.feature-cards{grid-template-columns:1fr}.feature-cards a,.feature-cards button{min-height:58px}.site-footer{width:calc(100% - 20px);padding-bottom:68px}.site-footer nav{width:100%;gap:0 18px}.dialog-inner{padding:36px 24px 28px}.dialog-inner h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.playground,.playground-toggle{display:none!important}}
