
@import url('https://fonts.googleapis.com/css2?family=Allura&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{
  --cream:#fbf4ea; --cream2:#f3dfc9; --paper:#fffaf4; --wine:#6c1724; --wineDark:#471017;
  --brown:#38221a; --muted:#6e5a52; --gold:#b5793a; --line:#dec7aa;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:280px;background:var(--cream);color:var(--brown);font-family:"DM Sans",Arial,sans-serif;line-height:1.45;overflow-x:hidden}
img{display:block;max-width:100%} a{color:inherit} button{font:inherit}
.kicker{color:var(--wine);font-weight:700;text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.52rem,.7vw,.68rem)}
.btn{min-height:44px;border:1px solid var(--wine);border-radius:4px;padding:11px clamp(14px,2vw,25px);display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--wine);color:white;font-size:clamp(.62rem,.8vw,.75rem);text-transform:uppercase;letter-spacing:.09em;font-weight:700;text-decoration:none;cursor:pointer}
.btn.light{background:var(--paper);color:var(--wine);border-color:rgba(108,23,36,.32)}
.site-header{height:clamp(58px,6vw,70px);background:#fffaf5;border-bottom:1px solid rgba(222,199,170,.78);display:flex;align-items:center;position:relative;z-index:30}
.nav{width:min(1160px,calc(100% - clamp(22px,4vw,54px)));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo{text-decoration:none;color:var(--wineDark);font-family:"Playfair Display",Georgia,serif;font-size:clamp(.98rem,1.7vw,1.35rem);line-height:.95}
.logo small{display:block;margin-top:5px;font-family:"DM Sans",Arial,sans-serif;font-size:clamp(.38rem,.55vw,.5rem);letter-spacing:.21em;text-transform:uppercase}
.nav-links{display:flex;gap:clamp(13px,2vw,25px);align-items:center;font-size:clamp(.61rem,.8vw,.76rem)}
.nav-links a{text-decoration:none}.menu-mark{display:none;font-size:1.45rem;color:var(--wine)}
.floral{position:absolute;pointer-events:none;user-select:none;z-index:3;height:auto}

/* PUBLIC HERO */
.landing-hero{position:relative;min-height:clamp(410px,50vw,610px);background:var(--cream);overflow:hidden;isolation:isolate}
.landing-hero-media{position:absolute;inset:0 0 0 48%;background:url("assets/images/landing-mother-baby.jpg") 48% center/cover no-repeat;z-index:0}
.landing-hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,rgba(251,244,234,.92) 10%,rgba(251,244,234,.28) 38%,rgba(251,244,234,0) 62%)}
.landing-hero-media:after{content:"You deserve\A support\A too. ♡";white-space:pre;position:absolute;right:7%;top:24%;color:#f5e8dc;font-family:"Allura","Segoe Script",cursive;font-size:clamp(1.2rem,3.1vw,2.45rem);line-height:.82;text-align:center;transform:rotate(-3deg);text-shadow:0 1px 8px rgba(0,0,0,.18)}
.landing-hero-copy{position:relative;z-index:4;width:min(54%,650px);min-height:inherit;padding:clamp(34px,6vw,75px) clamp(18px,4vw,48px) clamp(32px,5vw,60px) max(clamp(22px,4vw,50px),calc((100vw - 1120px)/2));display:flex;flex-direction:column;justify-content:center}
.landing-hero h1{margin:clamp(9px,1.5vw,16px) 0 clamp(12px,1.8vw,19px);color:var(--wineDark);font:500 clamp(2rem,5.1vw,5rem)/.93 "Playfair Display",Georgia,serif;letter-spacing:-.035em}
.landing-hero h1 em{display:block;font-family:"Allura","Segoe Script",cursive;font-weight:400;font-size:1.05em;line-height:.86;color:var(--wine);margin-top:.13em}
.landing-hero p{margin:0 0 clamp(14px,2vw,23px);max-width:520px;color:#5d4941;font-size:clamp(.70rem,1.2vw,.95rem)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.landing-hero .floral-left{width:clamp(128px,23vw,330px);left:0;top:0;transform:translate(-21%,-10%)}
.landing-hero .floral-right{width:clamp(90px,15vw,210px);right:0;bottom:0;transform:translate(20%,20%)}

/* reusable grids */
.service-grid,.client-feature-grid{background:#fffaf5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
.service-card,.client-feature{text-align:center;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line);padding:clamp(16px,2.2vw,28px) clamp(12px,1.7vw,22px)}
.service-card{min-height:clamp(120px,12vw,165px)} .client-feature{min-height:clamp(108px,11vw,150px)}
.service-card:last-child,.client-feature:last-child{border-right:0}
.symbol{color:var(--wine);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1;margin-bottom:7px}
.service-card h3,.client-feature h3{margin:0 0 5px;color:var(--wineDark);font:500 clamp(.9rem,1.35vw,1.18rem)/1 "Playfair Display",Georgia,serif}
.service-card p,.client-feature p{margin:0;color:var(--muted);font-size:clamp(.62rem,.86vw,.76rem)}

.real-support{position:relative;min-height:clamp(280px,31vw,390px);display:grid;grid-template-columns:minmax(42%,1.05fr) minmax(42%,.95fr);background:#fffaf5}
.real-photo{background:url("assets/images/mug.jpg") center/cover no-repeat}
.real-copy{padding:clamp(30px,5vw,62px);display:flex;flex-direction:column;justify-content:center;position:relative}
.real-copy h2{margin:0 0 12px;color:var(--wineDark);font:500 clamp(1.75rem,3.3vw,3rem)/.98 "Playfair Display",Georgia,serif}
.real-copy h2 em{font-family:"Allura","Segoe Script",cursive;font-weight:400;color:var(--wine);font-size:1.05em}
.real-copy p{margin:0 0 18px;color:var(--muted);font-size:clamp(.68rem,1vw,.84rem);max-width:450px}
.line-sprig{position:absolute;right:2%;top:5%;width:clamp(80px,14vw,160px);height:auto;opacity:.85}
.line-sprig path,.line-sprig ellipse{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.value-band{position:relative;overflow:hidden;min-height:clamp(135px,16vw,185px);display:grid;grid-template-columns:minmax(38%,.9fr) minmax(48%,1.1fr);background:linear-gradient(110deg,#521019,#711827);color:white}
.value-band .quote{display:flex;align-items:center;padding:clamp(20px,3vw,35px) clamp(26px,4vw,52px);font:400 clamp(1.7rem,3.3vw,3rem)/.92 "Allura","Segoe Script",cursive;border-right:1px solid rgba(255,255,255,.22)}
.value-band .values-copy{display:flex;justify-content:center;flex-direction:column;padding:clamp(20px,3vw,36px) clamp(26px,4vw,52px)}
.value-band .values-copy .kicker{color:#e9c895;margin-bottom:8px}
.value-band .values-copy p{margin:0;color:#f1ddd6;font-size:clamp(.68rem,1vw,.82rem);line-height:1.65}
.value-band .floral-left{width:clamp(90px,16vw,185px);left:0;bottom:0;transform:translate(-28%,34%)}
.value-band .floral-right{width:clamp(90px,14vw,170px);right:0;bottom:0;transform:translate(22%,32%)}

.how-section{position:relative;overflow:hidden;text-align:center;padding:clamp(32px,5vw,58px) clamp(18px,4vw,50px);background:#fff9f1}
.how-section h2{margin:5px 0 clamp(22px,3vw,34px);font:500 clamp(1.7rem,3vw,2.5rem)/1 "Playfair Display",Georgia,serif;color:var(--wineDark)}
.steps-grid{width:min(900px,100%);margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.step-card{padding:clamp(12px,2vw,25px);text-align:center}.step-card + .step-card{border-left:1px solid var(--line)}
.step-num{width:29px;height:29px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;color:var(--wine);font-family:Georgia,serif;font-size:.8rem}
.step-card h3{margin:0 0 5px;font:500 clamp(.9rem,1.35vw,1.1rem)/1.05 "Playfair Display",Georgia,serif;color:var(--wineDark)}
.step-card p{margin:0;color:var(--muted);font-size:clamp(.64rem,.88vw,.75rem)}
.how-section .floral-left{width:clamp(70px,11vw,135px);left:0;bottom:0;transform:translate(-28%,14%)}
.how-section .floral-right{width:clamp(70px,11vw,135px);right:0;bottom:0;transform:translate(24%,14%)}

.landing-footer-band{position:relative;overflow:hidden;min-height:clamp(240px,29vw,350px);display:grid;grid-template-columns:minmax(35%,.6fr) minmax(50%,1fr);background:#2c1b16;color:white}
.pregnancy-photo{background:url("assets/images/pregnancy.jpg") center/cover no-repeat}
.landing-footer-copy{padding:clamp(34px,5vw,65px);display:flex;flex-direction:column;justify-content:center}
.landing-footer-copy h2{margin:0 0 18px;font:500 clamp(1.8rem,3.4vw,3rem)/1.02 "Playfair Display",Georgia,serif;color:white}
.landing-footer-band .floral-right{width:clamp(95px,16vw,200px);right:0;bottom:0;transform:translate(22%,27%)}

/* CLIENT HERO — SAME CORE COMPOSITION AT ALL WIDTHS */
.client-hero{position:relative;isolation:isolate;min-height:clamp(310px,43vw,500px);background:var(--cream);overflow:hidden}
.client-hero-media{position:absolute;inset:0 0 0 41%;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat}
.medicaid .client-hero-media{background-image:url("../../assets/images/medicaid-mother-baby.jpg")}
.private .client-hero-media{background-image:url("../../assets/images/private-mother-baby.jpg")}
.client-hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,rgba(251,244,234,.98) 11%,rgba(251,244,234,.75) 32%,rgba(251,244,234,.22) 57%,rgba(251,244,234,0) 76%)}
.client-hero-copy{position:relative;z-index:5;width:min(58%,680px);min-height:inherit;padding:clamp(28px,5vw,60px) clamp(16px,3vw,36px) clamp(26px,4vw,45px) max(clamp(24px,4vw,52px),calc((100vw - 1120px)/2));display:flex;flex-direction:column;justify-content:center}
.client-hero h1{margin:8px 0 2px;color:var(--wineDark);font:500 clamp(1.7rem,4.2vw,4.2rem)/.94 "Playfair Display",Georgia,serif;letter-spacing:-.03em}
.client-hero .welcome{margin:.10em 0 .34em;color:var(--wine);font:400 clamp(1.2rem,2.8vw,2.6rem)/.94 "Allura","Segoe Script",cursive}
.client-hero p{margin:0;max-width:500px;color:#604e47;font-size:clamp(.61rem,1vw,.80rem)}
.client-hero .floral-left{width:clamp(110px,20vw,255px);left:0;top:0;transform:translate(-24%,-6%)}
.client-hero .floral-right{width:clamp(70px,12vw,145px);right:0;bottom:0;transform:translate(19%,23%)}
.client-hero .gold-sprig{position:absolute;right:2%;bottom:1%;z-index:4;width:clamp(70px,10vw,125px);height:auto;opacity:.8}

.next-section{text-align:center;background:var(--cream2);padding:clamp(25px,4vw,44px) clamp(14px,3vw,34px) clamp(20px,3vw,34px)}
.section-title{margin:0;color:var(--wineDark);font:500 clamp(1.65rem,2.7vw,2.4rem)/1 "Playfair Display",Georgia,serif}
.section-sub{margin:6px 0 18px;color:var(--muted);font-size:clamp(.60rem,.85vw,.73rem)}
.next-grid{width:min(920px,100%);margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:9px}
.next-card{min-height:clamp(118px,12vw,145px);background:rgba(255,250,244,.82);border:1px solid #ead5bd;border-radius:4px;padding:clamp(14px,2vw,19px)}
.next-card .dot{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:var(--wine);color:white;font-size:.73rem}
.next-card h3{margin:0 0 5px;color:var(--wineDark);font:500 clamp(.85rem,1.15vw,1rem)/1.05 "Playfair Display",Georgia,serif}
.next-card p{margin:0;color:var(--muted);font-size:clamp(.59rem,.78vw,.68rem)}

.documents{position:relative;overflow:hidden;text-align:center;background:var(--cream2);padding:5px clamp(14px,3vw,34px) clamp(24px,3.5vw,38px)}
.documents .section-title{margin-bottom:15px}
.docs-grid{width:min(920px,100%);margin:auto;position:relative;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:10px}
.doc-card{min-height:clamp(140px,14vw,170px);background:#fffaf5;border:1px solid #ead5bd;border-radius:4px;padding:clamp(14px,2vw,19px);display:flex;flex-direction:column;align-items:center}
.doc-icon{color:var(--wine);font-size:1.65rem;margin-bottom:7px}
.doc-card h3{margin:0 0 10px;min-height:2.6em;color:var(--wineDark);font-size:clamp(.66rem,.85vw,.75rem);line-height:1.3}
.doc-card .btn{width:100%;margin-top:auto;padding:9px 8px;font-size:clamp(.53rem,.67vw,.62rem)}
.documents .line-left,.documents .line-right{position:absolute;bottom:0;width:clamp(85px,13vw,160px);height:auto;opacity:.75}
.documents .line-left{left:0}.documents .line-right{right:0;transform:scaleX(-1)}

.submit-section{text-align:center;background:#fff9f2;padding:clamp(23px,3vw,35px) clamp(14px,3vw,34px) clamp(29px,4vw,45px)}
.submit-card{width:min(920px,100%);margin:auto;position:relative;overflow:hidden;min-height:clamp(120px,13vw,155px);border:1px solid #d9b88e;background:#fffaf5;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;align-items:center;justify-content:center}
.submit-card .doc-icon{font-size:1.8rem;margin-bottom:8px}
.submit-card .btn{min-width:min(330px,85%)}
.submit-flow{margin-top:11px;color:var(--wine);font-size:clamp(.61rem,.8vw,.72rem);font-weight:600}
.submit-card .line-left,.submit-card .line-right{position:absolute;bottom:0;width:clamp(80px,12vw,145px);height:auto;opacity:.78}
.submit-card .line-left{left:0}.submit-card .line-right{right:0;transform:scaleX(-1)}

.client-quote{position:relative;overflow:hidden;min-height:clamp(170px,20vw,225px);padding:clamp(28px,4vw,45px) clamp(70px,13vw,165px);display:grid;place-items:center;text-align:center;background:linear-gradient(100deg,#4a241a,#754129,#3b2018);color:white}
.client-quote blockquote{position:relative;z-index:4;margin:0;max-width:700px;font:400 clamp(1.45rem,2.8vw,2.5rem)/1.02 "Allura","Segoe Script",cursive}
.client-quote .floral-left{width:clamp(110px,20vw,245px);left:0;bottom:0;transform:translate(-17%,31%)}
.client-quote .floral-right{width:clamp(110px,20vw,245px);right:0;bottom:0;transform:translate(14%,34%)}
.client-footer{text-align:center;background:#fff9f2;padding:10px 15px 20px;color:#816b62;font-size:clamp(.55rem,.75vw,.67rem)}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(27,10,12,.78);z-index:1000}
.modal.open{display:flex}
.modal-card{position:relative;width:min(760px,96vw);max-height:93vh;overflow:auto;background:#fffaf5;border-radius:10px;box-shadow:0 30px 100px rgba(0,0,0,.3)}
.modal-head{padding:24px 25px 8px}
.modal-head h2{margin:0;color:var(--wineDark);font:500 2rem/1 "Playfair Display",Georgia,serif}
.modal-head p{margin:8px 0 0;color:var(--muted);font-size:.8rem}
.modal-close{position:absolute;right:10px;top:7px;border:0;background:none;color:var(--wine);font-size:1.8rem;cursor:pointer}
.tally-frame{width:100%;height:780px;border:0;background:#fff}


/* =========================================================
   RESPONSIVE REFLOW — ONE PAGE / ONE URL
   Wide screens keep the approved desktop composition.
   Narrow screens reflow to the approved phone composition.
   ========================================================= */
@media(max-width:640px){
  .nav-links{display:none}
  .menu-mark{display:block}

  /* PUBLIC LANDING PHONE MOCKUP:
     photo first, then headline/copy/buttons */
  .landing-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:visible;
  }
  .landing-hero-media{
    position:relative;
    inset:auto;
    width:100%;
    min-height:185px;
    height:32vw;
    max-height:230px;
    background-position:center 40%;
    order:1;
  }
  .landing-hero-media:before{display:none}
  .landing-hero-media:after{
    right:8%;
    top:20%;
    font-size:1.45rem;
  }
  .landing-hero-copy{
    order:2;
    width:100%;
    min-height:0;
    padding:18px 22px 22px;
    text-align:left;
  }
  .landing-hero h1{
    font-size:2.15rem;
    line-height:.93;
    margin:7px 0 11px;
  }
  .landing-hero h1 em{font-size:1.03em}
  .landing-hero p{font-size:.73rem}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .hero-actions .btn{width:100%}
  .landing-hero .floral-left{
    width:135px;
    left:0;top:172px;
    transform:translate(-28%,-18%);
  }
  .landing-hero .floral-right{
    width:95px;
    right:0;bottom:5px;
    transform:translate(30%,18%);
  }

  .service-grid{grid-template-columns:1fr}
  .service-card{
    min-height:105px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .service-card:last-child{border-bottom:0}

  .real-support{
    grid-template-columns:1fr;
    min-height:0;
  }
  .real-photo{min-height:220px}
  .real-copy{padding:24px 22px 28px}
  .real-copy h2{font-size:1.75rem}
  .line-sprig{width:85px;right:2px;top:5px}

  .value-band{
    grid-template-columns:1fr;
    min-height:0;
  }
  .value-band .quote{
    min-height:120px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.22);
    padding:22px;
    font-size:2rem;
  }
  .value-band .values-copy{padding:20px 22px}

  .how-section{padding:28px 18px 32px}
  .how-section h2{font-size:1.75rem}
  .steps-grid{grid-template-columns:1fr}
  .step-card{padding:15px 18px}
  .step-card + .step-card{
    border-left:0;
    border-top:1px solid var(--line);
  }

  .landing-footer-band{
    grid-template-columns:1fr;
    min-height:0;
  }
  .pregnancy-photo{min-height:220px}
  .landing-footer-copy{padding:28px 22px 32px}
  .landing-footer-copy h2{font-size:1.85rem}

  /* CLIENT PHONE MOCKUP:
     photo at top, copy directly below, then vertical feature cards */
  .client-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:visible;
  }
  .client-hero-media{
    position:relative;
    inset:auto;
    order:1;
    width:100%;
    min-height:185px;
    height:33vw;
    max-height:230px;
    background-position:center 43%;
  }
  .client-hero-media:before{display:none}
  .client-hero-copy{
    order:2;
    width:100%;
    min-height:0;
    padding:18px 22px 23px;
  }
  .client-hero h1{
    font-size:2.05rem;
    line-height:.93;
    margin:7px 0 2px;
  }
  .client-hero .welcome{
    font-size:1.72rem;
    margin:.08em 0 .30em;
  }
  .client-hero p{
    font-size:.70rem;
    line-height:1.5;
  }
  .client-hero .floral-left{
    width:125px;
    left:0;
    top:172px;
    transform:translate(-30%,-24%);
  }
  .client-hero .floral-right{
    width:92px;
    right:0;
    bottom:4px;
    transform:translate(30%,20%);
  }
  .client-hero .gold-sprig{
    width:72px;
    right:2px;
    top:115px;
    bottom:auto;
  }

  .client-feature-grid{
    grid-template-columns:1fr;
  }
  .client-feature{
    min-height:105px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .client-feature:last-child{border-bottom:0}

  .next-section{padding:26px 16px 22px}
  .section-title{font-size:1.65rem}
  .next-grid{
    grid-template-columns:1fr;
    gap:8px;
  }
  .next-card{
    min-height:105px;
    padding:14px 16px;
  }

  .documents{padding:5px 16px 26px}
  .docs-grid{
    grid-template-columns:1fr;
    gap:8px;
  }
  .doc-card{min-height:130px}
  .documents .line-left,.documents .line-right{
    width:85px;
  }

  .submit-section{padding:24px 16px 30px}
  .submit-card{min-height:130px;padding:24px 18px}
  .submit-card .btn{
    min-width:0;
    width:min(320px,86%);
  }
  .submit-card .line-left,.submit-card .line-right{width:82px}

  .client-quote{
    min-height:200px;
    padding:34px 68px 40px;
  }
  .client-quote blockquote{font-size:1.65rem}
  .client-quote .floral-left,.client-quote .floral-right{
    width:135px;
  }
}

@media(max-width:360px){
  .landing-hero h1{font-size:1.95rem}
  .client-hero h1{font-size:1.86rem}
}
