/* Wagadoo landing — committed light. Palette per brand spec:
   bg #FCFCFA · alt #F5F7F8 · navy #17263E · muted #526176 · helper #8491A3
   accent turquoise #087F91 · borders/dividers #E5E9ED · cards/inputs #FFFFFF. */
:root{
  color-scheme:light;
  --bg:#FCFCFA; --surface:#FFFFFF; --surface-2:#F5F7F8;
  --ink:#17263E; --muted:#526176; --faint:#8491A3;
  --border:#E5E9ED; --hair:#E5E9ED;
  --accent:#087F91; --accent-soft:#E2F1F2; --accent-border:rgba(8,127,145,.26);
  --on-accent:#FFFFFF;
  --shadow:0 1px 2px rgba(23,38,62,.04), 0 14px 40px rgba(23,38,62,.07);
  --radius:14px;
  --f-display:"Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--f-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%}
.wrap{ width:100%; max-width:1040px; margin-inline:auto;
  padding-left:max(20px, env(safe-area-inset-left,0px));
  padding-right:max(20px, env(safe-area-inset-right,0px)); }
a{color:inherit}

/* Header */
header.site{
  position:sticky; top:env(safe-area-inset-top,0px); z-index:20;
  background:color-mix(in srgb, var(--bg) 84%, transparent);
  backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--hair);
}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--bg)}
header.site .bar{ display:flex; align-items:center; justify-content:space-between; padding-block:15px; }
.logo{ height:30px; width:auto; display:block; }
.logo-sm{ height:22px; width:auto; margin:0 auto 10px; }
/* Secondary CTA — white bg, navy text */
.nav-cta{ font-family:var(--f-body); font-weight:600; font-size:14px; color:var(--ink); text-decoration:none;
  border:1px solid var(--border); border-radius:999px; padding:9px 16px; background:var(--surface);
  transition:border-color .2s, background .2s; }
.nav-cta:hover{ border-color:var(--accent-border); background:var(--surface-2); }

/* Hero */
.hero{ position:relative; padding-block:84px 44px; text-align:center; overflow:hidden; }
.hero::before{ content:""; position:absolute; inset:-30% 0 auto 0; height:620px; z-index:0;
  background:radial-gradient(52% 58% at 50% 0%, rgba(8,127,145,.10), transparent 72%);
  pointer-events:none; }
.hero > *{ position:relative; z-index:1; }
h1{ font-family:var(--f-display); font-weight:700; letter-spacing:-.035em;
  font-size:clamp(44px, 8vw, 76px); line-height:1.0; margin:0 0 22px; text-wrap:balance; }
.lede{ font-size:clamp(17px,2.3vw,20px); line-height:1.55; color:var(--muted);
  max-width:46ch; margin:0 auto 30px; text-wrap:pretty; }
.invite{ font-family:var(--f-display); font-style:italic; font-weight:500; font-size:15px;
  color:var(--accent); letter-spacing:.01em; margin:0 0 16px; }

/* Form */
.signup{ max-width:480px; margin:0 auto; }
.field-row{ display:flex; gap:10px; }
.field-row input[type=email]{ flex:1; min-width:0; font-family:var(--f-body); font-size:16px;
  color:var(--ink); background:var(--surface); border:1px solid var(--border);
  border-radius:12px; padding:15px 16px; transition:border-color .2s, box-shadow .2s; }
.field-row input[type=email]::placeholder{ color:var(--faint); }
.field-row input[type=email]:focus{ outline:none; border-color:var(--accent);
  box-shadow:0 0 0 4px var(--accent-soft); }
/* Primary CTA — navy. Bottom-section CTA overridden to turquoise below. */
button.submit{ font-family:var(--f-body); font-weight:650; font-size:15px; white-space:nowrap;
  color:var(--on-accent); background:var(--ink); border:1px solid var(--ink);
  border-radius:12px; padding:0 22px; cursor:pointer; transition:transform .15s, filter .2s; }
button.submit:hover{ transform:translateY(-1px); filter:brightness(1.08); }
button.submit:active{ transform:translateY(0); }
button.submit[disabled]{ opacity:.6; cursor:default; transform:none; }
.microcopy{ font-size:13px; color:var(--faint); margin-top:12px; min-height:18px; text-align:center; }
.microcopy.err{ color:#c0493f; }
.ok-state{ background:var(--surface); border:1px solid var(--accent-border); border-radius:14px;
  padding:22px 20px; box-shadow:var(--shadow); }
.ok-state .tick{ width:40px; height:40px; border-radius:50%; background:var(--accent-soft);
  color:var(--accent); display:grid; place-items:center; margin:0 auto 12px; font-size:20px; }
.ok-state strong{ display:block; font-family:var(--f-display); font-weight:600; font-size:18px; margin-bottom:4px; }
.ok-state span{ color:var(--muted); font-size:14.5px; }

/* Sections */
section{ padding-block:clamp(48px,7vw,84px); }
/* Alternating background on the features section */
section:has(.features){ background:var(--surface-2); }
.section-head{ text-align:center; margin-bottom:42px; }
h2{ font-family:var(--f-display); font-weight:600; letter-spacing:-.025em;
  font-size:clamp(26px,4vw,36px); line-height:1.12; margin:0; text-wrap:balance; }
.divider{ height:1px; background:var(--hair); border:0; margin:0; }

/* Features */
.features{ display:grid; grid-template-columns:1fr 1fr; gap:30px 24px; align-items:start; }
.feat-col{ display:flex; flex-direction:column; gap:12px; }
.feat-col-title{ font-family:var(--f-display); font-weight:600; font-size:12.5px; letter-spacing:.07em;
  text-transform:uppercase; color:var(--accent); margin:0 0 4px; }
.feat{ display:flex; gap:13px; align-items:flex-start; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius); padding:15px 17px; }
.feat.lead{ background:var(--surface); border-color:var(--border); }
.feat .ic{ flex:none; width:24px; height:24px; border-radius:7px; background:var(--accent-soft);
  color:var(--accent); display:grid; place-items:center; margin-top:1px; font-size:13px; }
.feat p{ margin:0; font-size:15px; line-height:1.4; color:var(--ink); font-weight:450; }

/* Trust */
.trust{ text-align:center; }
.trust .big{ font-family:var(--f-display); font-weight:600; letter-spacing:-.02em;
  font-size:clamp(22px,3.4vw,30px); line-height:1.2; max-width:22ch; margin:0 auto 18px; text-wrap:balance; }
.trust p.sub{ color:var(--muted); max-width:54ch; margin:0 auto; font-size:16.5px; }

/* Replace pills */
.replace{ text-align:center; }
.replace .label{ font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--faint); margin-bottom:22px; }
.pills{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:820px; margin:0 auto; }
.pill{ font-size:14px; font-weight:500; color:var(--muted); background:var(--surface);
  border:1px solid var(--border); border-radius:999px; padding:8px 15px; }

/* Closing — turquoise bottom-section CTA */
.closing{ position:relative; overflow:hidden; background:var(--surface); border:1px solid var(--accent-border);
  border-radius:24px; text-align:center; padding:clamp(40px,6vw,60px) clamp(22px,5vw,52px); box-shadow:var(--shadow); }
.closing::before{ content:""; position:absolute; inset:auto 0 -60% 0; height:380px; z-index:0;
  background:radial-gradient(50% 70% at 50% 100%, rgba(8,127,145,.10), transparent 70%); pointer-events:none; }
.closing > *{ position:relative; z-index:1; }
.closing h2{ margin-bottom:18px; }
.closing .invite{ margin-bottom:16px; }

/* Footer */
footer.site{ padding-block:40px 48px; text-align:center; color:var(--faint); font-size:13.5px; }

@media (max-width:640px){
  .features{ grid-template-columns:1fr; }
  .field-row{ flex-direction:column; }
  button.submit{ padding:14px 22px; }
  .hero{ padding-block:56px 30px; }
}
@media (prefers-reduced-motion: reduce){ *{transition:none!important} }
