
:root{
  --bg:#efe8dc;--surface:#fffdf9;--ink:#1c1917;--muted:#6b6358;
  --accent:#c94e2a;--accent-ink:#a83a18;--teal:#0f766e;--teal-bg:#e2f1ef;
  --border:#e8e1d4;--field:#f6f1e8;--good:#15803d;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);
  background:radial-gradient(1200px 700px at 50% -15%,#f7f1e6,var(--bg)) no-repeat,var(--bg);
  min-height:100vh;line-height:1.55}
.wip{background:var(--ink);color:#f4ece0;text-align:center;font-size:13px;font-weight:600;
  padding:9px 14px;letter-spacing:.2px}
.wip b{color:#ffb38a}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
header{padding:26px 0 8px}
.brand{font-family:'Fraunces',serif;font-weight:700;font-size:22px;letter-spacing:-.3px}
.brand b{color:var(--accent)}
.hero{padding:46px 0 34px;max-width:760px}
.hero h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(34px,6vw,60px);
  line-height:1.05;letter-spacing:-1px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:clamp(16px,2.2vw,20px);color:#4a4034;max-width:620px}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--teal-bg);color:var(--teal);
  font-weight:700;font-size:12.5px;padding:7px 13px;border-radius:30px;margin-bottom:22px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--teal);animation:p 1.8s infinite}
@keyframes p{0%,100%{opacity:1}50%{opacity:.35}}
/* progress */
.panel{background:var(--surface);border:1.5px solid var(--border);border-radius:22px;
  padding:30px;margin:14px 0;box-shadow:0 14px 40px rgba(70,45,20,.06)}
.panel h2{font-family:'Fraunces',serif;font-weight:600;font-size:26px;margin-bottom:4px}
.panel .sub{color:var(--muted);font-size:14px;margin-bottom:22px}
.meter{height:12px;background:var(--field);border-radius:10px;overflow:hidden;border:1px solid var(--border)}
.meter>i{display:block;height:100%;width:0;border-radius:10px;
  background:linear-gradient(90deg,var(--accent),#f08a5d);transition:width 1.4s ease}
.pct{font-family:'Fraunces',serif;font-weight:700;font-size:15px;color:var(--accent-ink);margin:10px 0 4px}
.milestones{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-top:22px}
@media(max-width:640px){.milestones{grid-template-columns:1fr}}
.ms{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;padding:5px 0}
.ms .ic{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;margin-top:1px}
.ms.done .ic{background:var(--teal-bg);color:var(--teal)}
.ms.now .ic{background:#fdebe2;color:var(--accent)}
.ms.todo .ic{background:var(--field);color:var(--muted)}
.ms.now .label{font-weight:600}
.ms small{display:block;color:var(--muted);font-weight:400;font-size:12.5px}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:6px}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:18px}
.stat .n{font-family:'Fraunces',serif;font-weight:700;font-size:28px;color:var(--accent-ink);line-height:1}
.stat .l{color:var(--muted);font-size:12.5px;margin-top:6px;font-weight:600}
/* community */
.community{padding:24px 30px;background:linear-gradient(180deg,#fffdf9,#fbf1e4)}
.community-top{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.community-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px}
.community-stats b{display:block;font-family:'Fraunces',serif;font-weight:700;
  font-size:clamp(30px,5vw,42px);line-height:1;color:var(--ink)}
.community-stats span{display:block;color:var(--muted);font-size:12.5px;font-weight:600;margin-top:6px}
.community-note{color:var(--muted);font-size:12.5px;margin-top:14px;line-height:1.45}
@media(max-width:520px){.community{padding:20px}.community-stats{gap:10px}
  .community-stats b{font-size:28px}.community-stats span{font-size:11px}}
/* screens */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
@media(max-width:800px){.gallery{grid-template-columns:1fr 1fr}}
.gallery img{width:100%;border-radius:16px;border:1.5px solid var(--border);background:#fff;display:block;
  aspect-ratio:390/844;object-fit:cover;object-position:top;box-shadow:0 10px 30px rgba(70,45,20,.07)}
.gallery a{display:block;transition:transform .18s}
.gallery a:hover{transform:translateY(-3px)}
.arch{margin-top:16px}
.arch img{width:100%;border-radius:16px;border:1.5px solid var(--border)}
/* waitlist */
.cta-panel{background:linear-gradient(180deg,#fff,#fdf6ec);text-align:center}
.form{display:flex;gap:10px;max-width:460px;margin:18px auto 0}
@media(max-width:520px){.form{flex-direction:column}}
.form input{flex:1;background:var(--field);border:1.5px solid var(--border);border-radius:12px;
  padding:14px 15px;font:inherit;font-size:15px;outline:none}
.form input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(221,92,53,.12)}
.form button{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px 22px;
  font:inherit;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap}
.form button:hover{background:var(--accent-ink)}
.note{color:var(--muted);font-size:12.5px;margin-top:12px}
.ok{color:var(--good);font-weight:600}
h2.sec{font-family:'Fraunces',serif;font-weight:600;font-size:24px;margin:40px 0 4px}
.secsub{color:var(--muted);font-size:14px;margin-bottom:16px}
footer{color:var(--muted);font-size:12.5px;text-align:center;padding:40px 0 30px}
footer b{color:var(--accent)}
footer a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
footer a:hover{color:var(--accent-ink)}
header{display:flex;align-items:center;justify-content:space-between}
.openapp{background:var(--ink);color:#fff;border-radius:30px;padding:10px 17px;font-weight:700;
  font-size:13.5px;text-decoration:none;transition:.15s;white-space:nowrap}
.openapp:hover{background:#332e28;color:#fff}
.hero-cta{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.hero-cta .go{background:var(--accent);color:#fff;border-radius:14px;padding:14px 22px;font-weight:700;
  font-size:15px;text-decoration:none;box-shadow:0 8px 20px rgba(221,92,53,.26)}
.hero-cta .go:hover{background:var(--accent-ink)}
.hero-cta .hint{color:var(--muted);font-size:12.5px;font-weight:600}
.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.langswitch{display:inline-flex;border:1.5px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}
.langswitch a{padding:8px 11px;font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;line-height:1}
.langswitch a.on{background:var(--ink);color:#fff}
.langswitch a:hover{color:var(--accent-ink)}
.langswitch a.on:hover{color:#fff}
@media(max-width:520px){
  .openapp{padding:9px 13px;font-size:12.5px}
  .langswitch a{padding:7px 9px}
  .head-actions{gap:7px}
}

.gallery img,.arch img{height:auto}
.skip{position:absolute;left:12px;top:-48px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;
  font-weight:700;font-size:13px;z-index:100;transition:top .15s}
.skip:focus{top:10px}
main{display:block}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--accent-ink);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* self-hosted variable fonts (latin) */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 700;font-display:swap;src:url('/assets/fonts/fraunces-var.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:'Plus Jakarta Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/plus-jakarta-sans-var.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}
