:root{--paper:#f8f7f3;--ink:#23271e;--muted:#676a61;--line:#d8d8cf;--bronze:#806847;--deep:#293026;--white:#fff;--max:1340px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--bronze);outline-offset:4px}
.wrap{width:min(calc(100% - 96px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-100px;z-index:10;padding:10px 16px;background:var(--deep);color:white}
.skip-link:focus{top:12px}
.site-header{height:105px;display:flex;justify-content:space-between;align-items:center}
.brand,.footer-brand{display:block;overflow:hidden;position:relative;flex:none;border-radius:14px}
.brand{width:54px;height:54px}
.brand img,.footer-brand img{display:block;width:100%;height:100%;object-fit:cover}
.header-link{font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap}
.header-link span,.promise a span{margin-left:8px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);grid-template-rows:auto auto;gap:0 clamp(46px,6vw,104px);align-items:center;min-height:calc(100svh - 105px);padding-top:50px;padding-bottom:90px}
.hero-content{grid-column:1;grid-row:1;padding-bottom:25px}
.intro-line{font-size:14px;font-weight:700;color:var(--bronze);letter-spacing:.015em;margin:0 0 25px}
h1,h2,p{margin-top:0}
h1,h2{font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}
h1{font-size:clamp(58px,5.8vw,94px);line-height:1.05;letter-spacing:-.075em;font-weight:600;margin:0 0 27px}
.hero-description{font-size:clamp(18px,1.55vw,22px);line-height:1.5;color:var(--muted);max-width:590px;margin:0}
.signup{grid-column:1;grid-row:2;scroll-margin-top:30px;padding-bottom:25px}
.signup h2{font-size:22px;letter-spacing:-.045em;line-height:1.25;font-weight:700;margin:0 0 5px}
.signup>p{color:var(--muted);margin:0 0 20px;font-size:15px}
.waitlist-form{max-width:570px}
.waitlist-form label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}
.field-row{display:flex;gap:9px}
.field-row input{min-width:0;flex:1;height:58px;padding:0 18px;background:white;border:1px solid #bcbeb4;border-radius:8px;color:var(--ink);font-size:16px}
.field-row input::placeholder{color:#90948b}
.field-row input[aria-invalid=true]{border-color:#aa4030}
.field-row button,.button{border:1px solid var(--ink);height:58px;padding:0 22px;border-radius:8px;background:var(--ink);color:white;font-weight:700;font-size:14px;white-space:nowrap;transition:background .18s ease,transform .18s ease}
.field-row button:hover:not(:disabled),.button:hover:not(:disabled){background:#42493c;transform:translateY(-1px)}
.field-row button:disabled,.button:disabled{cursor:default;opacity:.65}
.form-status{min-height:23px;margin:8px 0 0!important;font-size:14px!important;color:var(--ink)!important}
.form-status[data-kind=error]{color:#a2392a!important}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.privacy-line{font-size:13px!important;line-height:1.5;color:var(--muted);margin:11px 0 0!important}
.privacy-line a{text-underline-offset:3px}
.hero-visual{grid-column:2;grid-row:1 / span 2;min-width:0}
.gallery{position:relative;aspect-ratio:1.1;overflow:hidden;border-radius:18px;background:#e8e4da}
.gallery-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:translateX(9%);transition:transform .7s cubic-bezier(.22,.75,.3,1),opacity .7s ease,visibility .7s}
.gallery-slide.is-active{opacity:1;visibility:visible;transform:translateX(0)}
.gallery-slide img{width:100%;height:100%;object-fit:cover}
.gallery-slide figcaption{display:none}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:17px;color:var(--muted);font-size:13px}
.gallery-buttons{display:flex;gap:6px}
.gallery-dot{width:28px;height:28px;border:0;background:transparent;display:grid;place-items:center;padding:0}
.gallery-dot::after{content:'';width:7px;height:7px;border-radius:50%;background:#c6c7bd;transition:background .2s,transform .2s}
.gallery-dot.is-active::after{background:var(--ink);transform:scale(1.35)}
.promise{background:#ecece4;border-top:1px solid #e4e4db}
.promise-inner{padding-top:65px;padding-bottom:67px;display:flex;align-items:end;justify-content:space-between;gap:36px}
.promise h2{font-size:clamp(28px,3vw,44px);line-height:1.18;letter-spacing:-.055em;font-weight:600;max-width:560px;margin:0 0 12px}
.promise p{color:var(--muted);font-size:17px;margin:0;max-width:520px}
.promise a{font-weight:700;text-underline-offset:5px;white-space:nowrap;margin-bottom:5px}
.site-footer{min-height:150px;display:flex;align-items:center;gap:35px}
.footer-brand{width:42px;height:42px;margin-right:auto;border-radius:11px}
.site-footer nav{display:flex;gap:26px}
.site-footer a:not(.footer-brand){font-size:13px;color:var(--muted);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer p{font-size:13px;color:var(--muted);white-space:nowrap;margin:0}

/* Account email landing and recovery pages share the visual language. */
.account-page{min-height:100svh;display:flex;flex-direction:column}
.account-main{width:min(calc(100% - 48px),590px);margin:auto;padding:70px 0 100px}
.account-main .intro-line{margin-bottom:20px}
.account-main h1{font-size:clamp(44px,6vw,68px);margin-bottom:24px}
.account-main p{font-size:18px;color:var(--muted);max-width:520px}
.account-main .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:18px}
.account-main .secondary-link{display:block;margin-top:26px;font-size:14px;color:var(--bronze);text-underline-offset:4px}
.account-main .account-message{min-height:54px}
.account-main .account-device-note{font-size:15px;margin-top:22px}
.reset-form{display:grid;gap:10px;max-width:440px;margin-top:28px}
.reset-form[hidden]{display:none}
.reset-form label{font-size:14px;font-weight:600;margin-top:10px}
.reset-form input{width:100%;min-height:54px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;padding:12px 15px}
.reset-form input:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.reset-form .password-visibility{justify-self:start;border:0;background:transparent;color:var(--bronze);font-size:14px;font-weight:700;padding:5px 0;text-decoration:underline;text-underline-offset:3px}
.reset-form .reset-hint{font-size:13px;margin:0}
.reset-form .button{justify-self:start;cursor:pointer}
.reset-form .button:disabled{opacity:.65;cursor:wait}

@media(max-width:900px){
  .wrap{width:min(calc(100% - 48px),var(--max))}
  .site-header{height:82px}
  .hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:auto;gap:44px;padding:48px 0 72px}
  .hero-content,.hero-visual,.signup{grid-column:1;grid-row:auto}
  .hero-content{padding:0}
  h1{font-size:clamp(54px,9vw,82px)}
  .hero-description{margin-bottom:0}
  .hero-visual{max-width:720px}
  .signup{padding-bottom:0}
}
@media(max-width:600px){
  .wrap{width:calc(100% - 40px)}
  .site-header{height:72px}
  .brand{width:48px;height:48px;border-radius:12px}
  .header-link{font-size:12px}
  .hero{padding:42px 0 58px;gap:35px}
  .intro-line{margin-bottom:19px}
  h1{font-size:clamp(53px,12vw,74px);letter-spacing:-.078em;margin-bottom:22px}
  .hero-description{font-size:17px;margin-bottom:0}
  .field-row{flex-direction:column}
  .field-row input{flex:none;min-height:58px;width:100%}
  .field-row button{width:100%}
  .gallery{aspect-ratio:1.13;border-radius:13px}
  .promise-inner{display:block;padding-top:49px;padding-bottom:53px}
  .promise p{font-size:16px}
  .promise a{display:inline-block;margin-top:28px}
  .site-footer{display:grid;grid-template-columns:1fr auto;gap:10px 20px;padding:30px 0 35px}
  .footer-brand{grid-column:1/-1}
  .site-footer nav{gap:14px;flex-wrap:wrap}
  .site-footer p{justify-self:end}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
