/* Self-hosted so no visitor request reaches Google before consent. Both fonts are SIL OFL 1.1. */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(fonts/bricolage-latin.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:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/figtree-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/figtree-latin.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}

/* Layout: sage page, left-aligned type. One moment: the hero prints a vase layer by layer while its slip adds up. Everything after it is plain reading. */
:root{
  --ground:#CDD8D2; --sheet:#F6F9F7; --field:#ECF1EE; --chip:#E3EAE6;
  --ink:#10201B; --ink-muted:#46574F; --line:#B9C7C0; --line-soft:#D2DCD7;
  --mint:#3DDC97; --on-mint:#06281B; --mint-deep:#076345; --leaf:#C3E8D5; --leaf-ink:#06593E;
  --plate:#1E3A31; --plate-line:#2A4038; --plate-ink:#B8C8C1;
  --beam:#FF8A3D; --beam-soft:#FFE7D6; --beam-ink:#9A3A05;
  --control:#F6F9F7; --control-on:#10201B; --control-on-ink:#F6F9F7;
  --font-display:"Bricolage Grotesque", Figtree, system-ui, sans-serif;
  --font-body:Figtree, system-ui, -apple-system, sans-serif;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ground:#0F1113; --sheet:#181A1D; --field:#1F2225; --chip:#26292D;
  --ink:#ECEEF0; --ink-muted:#A4AAB0; --line:#41464B; --line-soft:#2B2F33;
  --mint-deep:#5BE3A8; --leaf:#1B2A24; --leaf-ink:#7DEBBA;
  --plate:#1E2226; --plate-line:#33393F; --plate-ink:#B8BEC3;
  --beam-soft:#3A2618; --beam-ink:#FFB27F;
  --control:#1F2225; --control-on:#ECEEF0; --control-on-ink:#0F1113; color-scheme:dark}}
:root[data-theme="dark"]{
  --ground:#0F1113; --sheet:#181A1D; --field:#1F2225; --chip:#26292D;
  --ink:#ECEEF0; --ink-muted:#A4AAB0; --line:#41464B; --line-soft:#2B2F33;
  --mint-deep:#5BE3A8; --leaf:#1B2A24; --leaf-ink:#7DEBBA;
  --plate:#1E2226; --plate-line:#33393F; --plate-ink:#B8BEC3;
  --beam-soft:#3A2618; --beam-ink:#FFB27F;
  --control:#1F2225; --control-on:#ECEEF0; --control-on-ink:#0F1113; color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.6}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--mint-deep);outline-offset:3px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}

.btn{display:inline-flex;align-items:center;justify-content:center;font:600 1rem var(--font-body);border-radius:999px;padding:15px 26px;border:0;cursor:pointer;text-decoration:none;background:var(--ink);color:var(--sheet);transition:transform 160ms var(--ease-out)}
.btn:active{transform:scale(0.97)}
.btn.btn-mint{background:var(--mint);color:var(--on-mint)}

/* top */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:1.4rem;text-decoration:none;letter-spacing:-0.02em}
.brand svg{width:30px;height:30px}
.top-right{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.top-right .link{text-decoration:none;color:var(--ink-muted);font-weight:500}
.top-right .link:hover{color:var(--ink)}
.top-right .btn{padding:11px 20px;font-size:.95rem}
.toggle{display:flex;background:var(--control);border-radius:999px;padding:3px;gap:2px}
.toggle button{font:600 .82rem var(--font-body);color:var(--ink-muted);background:transparent;border:0;border-radius:999px;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color 160ms ease,color 160ms ease}
.toggle button svg{width:16px;height:16px;display:block}
.toggle button[aria-pressed="true"]{background:var(--control-on);color:var(--control-on-ink)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;padding-block:36px 88px}
.hero h1{font-size:clamp(3rem,7.4vw,6.2rem);line-height:.92;font-weight:800;letter-spacing:-0.045em;font-variation-settings:"opsz" 96}
:lang(pt) .hero h1{font-size:clamp(2.7rem,6.4vw,5.4rem)}
.hero .lede{font-size:1.25rem;line-height:1.5;color:var(--ink-muted);max-width:31ch;margin-top:26px}
.hero .cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:34px}
.hero .cta small{color:var(--ink-muted);font-size:.95rem;max-width:24ch;line-height:1.4}

.bench{background:var(--plate);color:#fff;border-radius:32px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:20px;min-width:0}
.bench canvas{width:100%;aspect-ratio:1/1.08;display:block;border-radius:20px;background:radial-gradient(120% 80% at 50% 100%,rgba(61,220,151,.10),transparent 60%)}
.slip{display:flex;flex-direction:column;font-size:.95rem;min-width:0}
.slip .file{color:var(--plate-ink);font-size:.85rem;padding-bottom:12px}
.slip .file b{display:block;color:#fff;font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.2;margin-bottom:2px}
.line{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--plate-line);color:var(--plate-ink)}
.line .num{color:#fff;white-space:nowrap}
.line.fee .num{color:#FFB27F}
.keep{margin-top:auto;padding-top:16px;border-top:1px solid var(--plate-line)}
.keep span{display:block;color:var(--plate-ink);font-size:.9rem}
.keep strong{display:block;font-family:var(--font-display);font-weight:800;font-size:2.9rem;line-height:1;color:var(--mint);letter-spacing:-0.03em;white-space:nowrap}
.keep strong.swap{animation:swap 260ms var(--ease-out)}
@keyframes swap{from{filter:blur(4px);opacity:.3;transform:translateY(6px)}to{filter:none;opacity:1;transform:none}}
.offsite{font-size:.82rem;line-height:1.4;color:#FFB27F;margin-top:10px}
.sell{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--plate-ink);font-size:.92rem}
.seg{display:flex;flex-wrap:wrap;background:rgba(255,255,255,.07);border-radius:999px;padding:3px;gap:2px}
.seg button{font:600 .88rem var(--font-body);color:#D7E0DB;background:transparent;border:0;border-radius:999px;padding:8px 14px;cursor:pointer;transition:background-color 160ms ease,color 160ms ease}
.seg button[aria-pressed="true"]{background:var(--mint);color:var(--on-mint)}
.again{margin-left:auto;font:500 .88rem var(--font-body);color:#D7E0DB;background:none;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* reading sections */
.feel{padding-block:96px;background:var(--sheet)}
.feel .big{font-family:var(--font-display);font-weight:400;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.25;letter-spacing:-0.02em;max-width:30ch}
.feel .big + .big{margin-top:1.1em}
.feel .then{margin-top:40px;font-size:1.15rem;color:var(--ink-muted);max-width:52ch}

.day{padding-block:96px}
.day-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.day h2,.letter h2,.join h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-0.03em;line-height:1.02;font-weight:800}
.day p{margin-top:20px;color:var(--ink-muted);max-width:44ch}
.screen{background:var(--sheet);border-radius:28px;padding:24px;box-shadow:0 24px 60px rgba(16,32,27,.16);min-width:0}
.screen-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.screen-top h3{font-size:1.5rem;font-weight:800;letter-spacing:-0.02em}
.screen-top span{color:var(--ink-muted);font-size:.9rem}
.profit{margin-top:16px;background:var(--plate);color:#fff;border-radius:20px;padding:18px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.profit span{color:var(--plate-ink);font-size:.9rem;display:block}
.profit strong{font-family:var(--font-display);font-size:2.2rem;font-weight:800;line-height:1;letter-spacing:-0.03em}
.profit em{font-style:normal;color:var(--mint);font-weight:600;font-size:.95rem}
.needs{margin-top:18px;display:flex;flex-direction:column}
.need{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line-soft)}
.need i{width:10px;height:10px;border-radius:50%;background:var(--mint)}
.need i.late{background:var(--beam)}
.need b{display:block;font-weight:600;font-size:1rem;line-height:1.35}
.need small{display:block;color:var(--ink-muted);font-size:.88rem;line-height:1.35}
.need .act{font:600 .85rem var(--font-body);background:var(--chip);color:var(--ink);border-radius:999px;padding:8px 13px;white-space:nowrap}

.letter{padding-block:96px;background:var(--leaf)}
.letter-inner{max-width:680px}
.letter h2{color:var(--leaf-ink)}
.letter p{margin-top:22px;font-size:1.15rem}
.letter .sign{margin-top:28px;font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--leaf-ink)}

.join{padding-block:96px}
.join-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.join .side p{margin-top:18px;color:var(--ink-muted);max-width:36ch}
form{background:var(--sheet);border-radius:28px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f{display:flex;flex-direction:column;gap:7px;min-width:0}
.f.wide{grid-column:1/-1}
label,.lg{font-weight:600;font-size:.95rem}
input[type=text],input[type=email],select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--field);border:1.5px solid transparent;border-radius:14px;padding:13px 15px;width:100%;transition:border-color 160ms ease}
input:focus,select:focus,textarea:focus{border-color:var(--mint-deep);outline:none}
textarea{min-height:96px;resize:vertical}
::placeholder{color:var(--ink-muted);opacity:.8}
fieldset{border:0;margin:0;padding:0;grid-column:1/-1;display:flex;flex-direction:column;gap:9px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--field);border:1.5px solid transparent;border-radius:999px;padding:8px 14px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color 160ms ease,border-color 160ms ease}
.chip:has(input:checked){background:var(--leaf);border-color:var(--mint-deep);color:var(--leaf-ink)}
.chip input{accent-color:var(--mint-deep);margin:0}
.send{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.send small{color:var(--ink-muted);font-size:.9rem;max-width:38ch;line-height:1.4}
.err{grid-column:1/-1;color:var(--beam-ink);font-size:.95rem}
.ferr{color:var(--beam-ink);font-size:.88rem;line-height:1.35}
[aria-invalid="true"]{border-color:var(--beam-ink)!important}
legend.lg{padding:0;margin-bottom:9px}
.news{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}
.news input{accent-color:var(--mint-deep);width:18px;height:18px;margin:0}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.send small a{color:var(--mint-deep);text-underline-offset:3px}
.btn:disabled{opacity:.6;cursor:progress}
.thanks{grid-column:1/-1;padding-block:20px}
.thanks h3{font-size:1.6rem;font-weight:800;letter-spacing:-0.02em}
.thanks p{margin-top:10px;color:var(--ink-muted)}

/* the small pages: confirmed, link expired, privacy */
.page{padding-block:56px 96px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.page h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-0.03em;max-width:22ch}
.page .lede{color:var(--ink-muted);max-width:52ch}
.page form{width:100%;max-width:760px;margin-top:12px}
.prose{max-width:62ch;display:flex;flex-direction:column;gap:14px}
.prose h2{font-size:1.25rem;font-weight:700;margin-top:18px}
.prose ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.foot-links a{text-underline-offset:3px}

.qs{padding-block:80px;background:var(--sheet)}
.qs h2{font-size:1.6rem;font-weight:800;letter-spacing:-0.02em}
.qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 56px;margin-top:28px}
.qa h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700}
.qa p{margin-top:6px;color:var(--ink-muted);max-width:46ch}

footer{padding-block:34px;color:var(--ink-muted);font-size:.92rem}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.foot-links{display:flex;flex-wrap:wrap;gap:18px}
.linkish{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* consent: Accept and Reject share one style on purpose, so neither is the easy click */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:10;max-width:620px;margin-inline:auto;background:var(--sheet);color:var(--ink);border-radius:22px;padding:18px 20px;border:1px solid var(--line-soft);box-shadow:0 18px 50px rgba(16,32,27,.22);display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.consent[hidden]{display:none}
.consent p{flex:1 1 300px;font-size:.95rem;line-height:1.45}
.consent a{color:var(--mint-deep);text-underline-offset:3px}
.consent-buttons{display:flex;gap:10px}
.consent .btn{padding:11px 22px;font-size:.95rem;min-width:7.5rem}

@media (max-width:960px){
  .hero,.day-grid,.join-grid{grid-template-columns:minmax(0,1fr)}
  .hero{gap:40px}
}
@media (max-width:620px){
  .bench{grid-template-columns:minmax(0,1fr);padding:16px;border-radius:26px}
  .bench canvas{aspect-ratio:1/0.9}
  .top-right .link,.top-right .btn{display:none}
  form{grid-template-columns:minmax(0,1fr);padding:20px}
  .need{grid-template-columns:10px minmax(0,1fr);row-gap:8px}
  .need .act{grid-column:2;justify-self:start}
  .qa{grid-template-columns:minmax(0,1fr)}
  .again{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  .keep strong.swap{animation:none}
}
