:root{
  --tan:#e6d1b4;
  --cream:#faf5ed;
  --cream-2:#fcf0e5;
  --white:#ffffff;
  --text:#1a1a1a;
  --gray:#737373;
  --gray-2:#595959;
  --accent:#f7a348;
  --content-width:1440px;
  --gutter:77px;
  --gutter-mobile:24px;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:auto;}
body{margin:0;font-family:'Satoshi',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);line-height:1.45;background:#fff;width:100%;overflow-x:hidden;}
img{max-width:100%;display:block;}
picture{display:contents;}
h1,h2,h3{margin:0;text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
ul{margin:0;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* Every section is full-bleed by default; .container caps content at 1440px, centered */
section, footer.footer{width:100%;position:relative;}
.container{max-width:var(--content-width);margin:0 auto;padding:0 var(--gutter);position:relative;}

/* ===== Scroll reveal =====
   Safe-by-default: content is fully visible unless JS explicitly arms the
   hidden pre-state (html.js-reveal) AND later reveals it (.is-visible). If JS
   never runs, or a transition never completes for any reason, nothing is ever
   stuck invisible — script.js also force-reveals everything after a timeout
   as a second failsafe. */
.reveal{opacity:1;}
html.js-reveal .reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease);}
html.js-reveal .reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  html.js-reveal .reveal{opacity:1;transform:none;transition:none;}
}

/* ===== Hero ===== */
.hero{height:825px;overflow:hidden;}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
.hero__content{position:relative;z-index:1;height:100%;}

.hero__nav{position:absolute;top:26px;left:19px;right:19px;height:81px;background:rgba(255,255,255,0.5);border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.hero__logo{height:26px;width:auto;display:block;}
.hero__nav-cta{background:#fff;border-radius:50px;padding:13px 26px;font-family:'Satoshi';font-weight:500;font-size:18px;color:#000;white-space:nowrap;}

.hero__copy{position:absolute;left:77px;top:234px;width:641px;}
.hero__kicker{font-family:'Satoshi';font-weight:700;font-size:24px;color:#fff;margin-bottom:16px;}
.hero__headline{font-family:'Satoshi';font-weight:700;font-size:50px;line-height:1.18;color:#fff;margin-bottom:32px;}

.hero__form{width:507px;height:56px;background:rgba(255,255,255,0.2);border:1px solid rgba(255,255,255,0.25);border-radius:100px;display:flex;align-items:center;padding:6px 6px 6px 26px;}
.hero__form input{flex:1;min-width:0;background:none;border:none;outline:none;font-family:'Satoshi';font-weight:500;font-size:14px;color:#fff;}
.hero__form input::placeholder{color:rgba(255,255,255,0.6);}
.hero__form button{height:100%;flex-shrink:0;background:#fff;border-radius:100px;padding:0 26px;font-family:'Satoshi';font-weight:700;font-size:14px;color:#000;white-space:nowrap;display:flex;align-items:center;justify-content:center;}
.hero__form-msg{margin-top:16px;font-family:'Satoshi';font-size:13px;color:#fff;}

/* ===== Press bar ===== */
.press{background:linear-gradient(to bottom,var(--tan),var(--cream));padding:44px 0;overflow:hidden;}
.press .container{display:flex;flex-direction:column;align-items:center;gap:24px;}
.press__label{font-family:'Satoshi';font-weight:500;font-size:20px;letter-spacing:0.04em;color:#000;white-space:nowrap;}
.press__logos{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(24px,4vw,52px);}
.press__logo{height:40px;width:110px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.press__logo img{height:100%;width:100%;object-fit:contain;}
.press__marquee{display:none;}

/* ===== Quote (night lamp) ===== */
.quote{height:548px;overflow:hidden;}
.quote__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.quote .container{height:100%;display:flex;align-items:center;z-index:1;}
.quote p{width:490px;max-width:100%;font-family:'Satoshi';font-weight:700;font-size:30px;line-height:1.35;color:#fff;}

/* ===== Bedtime with Buddy ===== */
.bedtime{padding:93px 0 110px;background:linear-gradient(to bottom,var(--tan),var(--cream) 90%);text-align:center;}
.bedtime h2{font-family:'Satoshi';font-weight:700;font-size:48px;margin-bottom:84px;}
.bedtime__grid{display:grid;grid-template-columns:repeat(3,minmax(0,349px));grid-auto-rows:auto;row-gap:56px;column-gap:30px;justify-content:center;align-items:start;}
.bedtime__card img{width:100%;height:236px;object-fit:cover;border-radius:20px;}
.bedtime__card p{margin-top:24px;font-family:'Satoshi';font-size:20px;color:#000;padding:0 8px;}

/* ===== AI Companion ===== */
.companion{height:548px;overflow:hidden;}
.companion__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.companion .container{z-index:1;padding-top:125px;}
.companion h2{max-width:508px;font-family:'Satoshi';font-weight:700;font-size:48px;color:#fff;margin-bottom:20px;}
.companion p{max-width:508px;font-family:'Satoshi';font-weight:400;font-size:30px;color:#fff;}

/* ===== Why Families Love Buddy ===== */
.families{padding:93px 0 58px;background:linear-gradient(to bottom,var(--cream-2),var(--tan));text-align:center;}
.families .container{padding:0 30px;}
.families h2{font-family:'Satoshi';font-weight:700;font-size:48px;margin-bottom:61px;}
.families__grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:44px;max-width:1380px;margin:0 auto;}
.families__card{position:relative;border-radius:20px;overflow:hidden;height:400px;width:100%;min-width:0;}
.families__card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.families__card .scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 46%,rgba(0,0,0,0.6) 95%);}
.families__card .caption{position:absolute;left:0;right:0;bottom:24px;padding:0 10px;color:#fff;text-align:center;}
.families__card .caption h3{font-family:'Satoshi';font-weight:700;font-size:20px;margin-bottom:8px;}
.families__card:nth-child(2) .caption h3,.families__card:nth-child(3) .caption h3{font-size:14px;white-space:nowrap;}
.families__card .caption p{font-family:'Satoshi';font-size:15px;line-height:1.4;}

/* ===== Parents Have Full Visibility and Control ===== */
.parents{position:relative;padding:96px 0 100px;background:var(--tan);text-align:center;}
.parents h2{font-family:'Satoshi';font-weight:700;font-size:48px;margin-bottom:51px;}
.parents__grid{display:flex;justify-content:center;flex-wrap:nowrap;gap:clamp(16px,2.6vw,40px);max-width:1225px;margin:0 auto;text-align:center;}
.parents__item{flex:1 1 0;min-width:0;max-width:260px;}
.parents__item img{width:100%;height:auto;border-radius:20px;margin-bottom:24px;}
.parents__item h3{font-family:'Satoshi';font-weight:700;font-size:16px;color:#1a1a1a;margin-bottom:8px;}
.parents__item p{font-family:'Satoshi';font-size:13px;color:var(--gray);line-height:1.5;}
.parents__phone-wrap{position:relative;}
.parents__badge{position:absolute;top:120px;left:50%;transform:translateX(-50%);width:130%;max-width:none;background:#fff;border-radius:16px;padding:14px 22px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,0.15);white-space:nowrap;}
.parents__badge span:first-child{font-family:'Satoshi';font-weight:700;font-size:16px;color:var(--text);}
.parents__badge span:last-child{font-family:'Satoshi';font-weight:700;font-size:12px;color:#fff;background:var(--accent);border-radius:50px;padding:4px 10px;}

/* ===== Built To Evolve ===== */
.evolve{padding:93px 0;background:linear-gradient(to bottom,var(--tan),var(--cream) 77%);text-align:center;}
.evolve h2{font-family:'Satoshi';font-weight:700;font-size:48px;margin-bottom:63px;}
.evolve__grid{display:flex;justify-content:center;flex-wrap:nowrap;gap:clamp(16px,3vw,40px);max-width:822px;margin:0 auto;}
.evolve__card{flex:1 1 0;min-width:0;max-width:256px;}
.evolve__card img{width:100%;height:250px;object-fit:cover;border-radius:20px;margin-bottom:12px;}
.evolve__card h3{font-family:'Satoshi';font-weight:700;font-size:16px;margin-bottom:12px;}
.evolve__card ul{list-style:disc;padding-left:19.5px;text-align:left;font-family:'Satoshi';font-size:13px;color:var(--gray);line-height:1.7;}

/* ===== Child Safety ===== */
.safety{padding:93px 0;background:linear-gradient(to top,var(--cream),#fff);text-align:center;}
.safety h2{font-family:'Satoshi';font-weight:700;font-size:48px;margin-bottom:72px;}
.safety__grid{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;}
.safety__card{flex:1 1 300px;max-width:360px;background:var(--tan);border-radius:12px;padding:24px 20px;}
.safety__card h3{font-family:'Satoshi';font-weight:700;font-size:17px;margin-bottom:18px;}
.safety__card p{font-family:'Satoshi';font-size:14px;color:var(--gray);line-height:1.5;}

/* ===== Footer ===== */
.footer{padding:72px 0;background:linear-gradient(to bottom,#fff,var(--tan));}
.footer .container{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.footer__logo{height:24px;width:auto;margin-bottom:20px;}
.footer__left{max-width:400px;}
.footer__left p{font-family:'Satoshi';font-size:22px;color:#000;max-width:340px;margin-bottom:31px;}
.footer__right{display:flex;gap:60px;flex-wrap:wrap;}
.footer__col h4{font-family:'Satoshi';font-weight:700;font-size:16px;margin-bottom:17px;}
.footer__col a{display:block;font-family:'Satoshi';font-size:14px;color:var(--gray-2);margin-bottom:14px;transition:color 0.2s;}
.footer__col a:hover{color:var(--text);}
.footer__social{display:flex;gap:14px;margin-top:18px;}
.footer__social img{width:24px;height:24px;}
.footer__form{background:rgba(255,255,255,0.5);border-radius:100px;height:56px;display:flex;align-items:center;padding:6px 6px 6px 24px;max-width:380px;}
.footer__form input{flex:1;min-width:0;background:none;border:none;outline:none;font-family:'Satoshi';font-size:16px;color:rgba(0,0,0,0.5);}
.footer__form button{height:100%;flex-shrink:0;background:#fff;border-radius:100px;padding:0 24px;font-family:'Satoshi';font-weight:700;font-size:14px;color:#000;white-space:nowrap;display:flex;align-items:center;justify-content:center;}
.footer__msg{margin-top:16px;font-family:'Satoshi';color:#1a7a4c;font-size:15px;font-weight:700;}
.footer__links-compact,.footer__social--compact{display:none;}

/* ===== Sticky bottom CTA ===== */
.sticky-cta{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:calc(100% - 40px);max-width:1399px;height:81px;background:rgba(255,255,255,0.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(0,0,0,0.12);z-index:50;opacity:0;pointer-events:none;transition:opacity 0.3s ease;}
.sticky-cta.is-shown{opacity:1;pointer-events:auto;}
.sticky-cta button{background:#fff;border-radius:50px;padding:13px 26px;font-family:'Satoshi';font-weight:500;font-size:18px;color:#000;}

/* =========================================================
   MOBILE (matches Figma "Deposit Landing Page — Mobile")
   ========================================================= */
@media (max-width: 767px){
  :root{ --gutter: var(--gutter-mobile); }

  .hero{height:520px;}
  .hero__bg{object-position:78% 35%;}
  .hero__nav{top:0;left:0;right:0;height:56px;border-radius:0;background:rgba(255,255,255,0.6);padding:0 18px;}
  .hero__logo{height:20px;}
  .hero__nav-cta{padding:9px 18px;font-size:14px;}
  .hero__copy{position:absolute;left:24px;right:24px;top:auto;bottom:110px;width:auto;text-align:center;}
  .hero__kicker{font-size:16px;margin-bottom:10px;}
  .hero__headline{font-size:26px;margin-bottom:24px;}
  .hero__form{width:100%;height:52px;margin:0 auto;}
  .hero__form input{font-size:13px;}
  .hero__form button{padding:0 18px;font-size:13px;}
  .hero__form-msg{text-align:center;}

  .press{padding:32px 0;}
  .press__label{font-size:14px;}
  .press__logos{display:none;}
  .press__marquee{display:block;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);}
  .press__track{display:flex;width:max-content;gap:36px;animation:marquee 22s linear infinite;}
  .press__track .press__logo{height:28px;width:90px;}
  @keyframes marquee{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion: reduce){
    .press__track{animation:none;}
  }

  .quote{height:532px;}
  .quote__bg{object-position:center 78%;}
  .quote .container{align-items:flex-end;text-align:center;padding-bottom:48px;}
  .quote p{width:100%;font-size:19px;}

  .bedtime{padding:56px 0;}
  .bedtime h2{font-size:26px;margin-bottom:36px;}
  .bedtime__grid{grid-template-columns:repeat(2,minmax(0,163px));grid-auto-rows:auto;row-gap:26px;column-gap:16px;}
  .bedtime__card img{height:163px;border-radius:12px;}
  .bedtime__card p{margin-top:14px;font-size:13px;padding:0;line-height:1.35;}

  .companion{height:545px;}
  .companion__bg{object-position:80% 15%;transform:scale(1.15);transform-origin:80% 50%;}
  .companion::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.65),rgba(0,0,0,0.15) 40%,rgba(0,0,0,0) 55%);z-index:0;}
  .companion .container{text-align:center;padding-top:40px;}
  .companion h2{max-width:100%;font-size:22px;margin:0 auto 10px;}
  .companion p{max-width:280px;font-size:15px;margin:0 auto;}

  .families{padding:56px 0;}
  .families .container{padding:0 var(--gutter-mobile);}
  .families h2{font-size:24px;margin-bottom:32px;}
  .families__grid{grid-template-columns:repeat(2,1fr);max-width:100%;gap:16px 14px;}
  .families__card{width:100%;height:auto;display:flex;flex-direction:column;border-radius:0;overflow:visible;}
  .families__card img{position:static;width:100%;height:163px;border-radius:12px;object-fit:cover;}
  .families__card .scrim{display:none;}
  .families__card .caption{position:static;padding:12px 4px 0;text-align:center;color:var(--text);}
  .families__card .caption h3,
  .families__card:nth-child(2) .caption h3,.families__card:nth-child(3) .caption h3{font-size:14px;white-space:normal;color:var(--text);}
  .families__card .caption p{font-size:12px;color:var(--gray);}

  .parents{padding:56px 0 64px;}
  .parents h2{font-size:24px;margin-bottom:36px;padding:0 12px;}
  .parents__grid{flex-direction:column;align-items:center;gap:48px;text-align:center;max-width:280px;}
  .parents__item{max-width:100%;width:100%;}
  .parents__item h3{text-align:center;}
  .parents__item p{text-align:center;}
  .parents__badge{top:112px;width:130%;max-width:none;padding:12px 18px;}

  .evolve{padding:56px 0;}
  .evolve h2{font-size:24px;margin-bottom:36px;padding:0 12px;}
  .evolve__grid{flex-direction:column;align-items:center;gap:36px;max-width:100%;}
  .evolve__card{flex:0 0 auto;max-width:320px;width:100%;}

  .safety{padding:56px 0;}
  .safety h2{font-size:24px;margin-bottom:36px;padding:0 12px;}
  .safety__grid{flex-direction:column;align-items:center;}
  .safety__card{flex:0 0 auto;width:100%;max-width:400px;}

  .footer{padding:56px 0;}
  .footer .container{flex-direction:column;gap:28px;}
  .footer__left,.footer__left p{max-width:100%;text-align:center;}
  .footer__logo{margin-left:auto;margin-right:auto;}
  .footer__form{margin:0 auto;}
  .footer__right{display:none;}
  .footer__links-compact{display:block;text-align:center;font-family:'Satoshi';font-size:13px;color:var(--gray-2);}
  .footer__links-compact span{margin:0 8px;}
  .footer__social--compact{display:flex;justify-content:center;}

  .sticky-cta{height:64px;bottom:14px;width:calc(100% - 28px);}
  .sticky-cta button{padding:11px 22px;font-size:15px;}
}
