/* Parent page finishing pass: spacing, media controls and consistent card alignment. */
.hero-h1{max-width:14ch;text-wrap:balance;letter-spacing:-.045em;line-height:1.1;}
.hero-desc{max-width:44ch;}
.hero-btns{gap:12px;}
.hero-btn-primary,.hero-btn-ghost,.price-btn{min-height:48px;}
.section{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px);}
.h2{max-width:24ch;margin-left:auto;margin-right:auto;text-wrap:balance;line-height:1.15;}
.sub{max-width:56ch;line-height:1.65;margin-bottom:36px;}
#sample-video .video-frame{box-shadow:0 14px 36px rgba(70,50,140,.12);}
.greeting-card{gap:32px;padding:32px;margin-bottom:56px;background:linear-gradient(140deg,#fcfaff,#f5f0fc);border-color:#e5dcf2;}
.greeting-copy{font-size:15px;line-height:1.7;}
.greeting-price{margin:24px 0;}
.greeting-price strong{font-size:42px;}
.greeting-examples{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;}
.greeting-examples .greeting-slide:not([hidden]){display:contents;}
.greeting-examples .video-frame{grid-column:2;grid-row:1;border-radius:16px;}
.greeting-examples figcaption{grid-column:2;grid-row:2;text-align:center;margin-top:4px;line-height:1.5;font-size:12px;}
.greeting-examples .parent-video-direct{grid-column:2;grid-row:3;text-align:center;margin:0;font-size:11px;line-height:1.5;}
.greeting-position{grid-column:2;grid-row:4;margin:2px 0 0;font-variant-numeric:tabular-nums;color:#8a7b9e;}
.greeting-arrow{align-self:center;display:grid;place-items:center;min-height:48px;width:36px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#88739e;transition:color .18s,transform .18s;}
.greeting-arrow:hover{background:transparent;color:#7650bd;}
.greeting-prev:hover{transform:translateX(-2px);}.greeting-next:hover{transform:translateX(2px);}
.greeting-arrow svg{width:22px;height:22px;display:block;pointer-events:none;}
.greeting-arrow:focus-visible{outline:2px solid #7650bd;outline-offset:2px;border-radius:6px;}
.steps-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;}
.step-card{grid-column:span 3;border:1px solid #eeebf2;box-shadow:none;padding:24px;}
.step-card:nth-child(n+5){grid-column:span 4;}
.step-desc{font-size:14px;line-height:1.65;}
.pricing-grid{gap:20px;padding-top:14px;}
.price-card{padding:32px 24px;box-shadow:0 4px 18px #38245906;}
.price-card.popular,.price-card.popular:hover{transform:none;box-shadow:0 8px 28px rgba(118,80,189,.12);}
.price-card:hover{transform:none;}
.price-duration{line-height:1.6;}
.price-feats{gap:12px;}
.price-feats li{line-height:1.6;}
.parents-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;min-height:48px;}
.parents-faq summary::-webkit-details-marker{display:none;}
.parents-faq summary::after{content:'+';flex:0 0 20px;font-size:24px;font-weight:400;color:#7650bd;}
.parents-faq details[open] summary::after{content:'−';}
.parents-faq details p{max-width:72ch;padding-right:30px;}
.cta{padding:64px 24px;}.cta .sub{margin-bottom:28px;}
@media(max-width:1000px){.greeting-card{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;padding:24px;}}
@media(max-width:900px){.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.step-card,.step-card:nth-child(n+5){grid-column:auto;}.step-card:last-child{grid-column:1/-1;}.hero-h1{max-width:18ch;}}
@media(max-width:700px){.greeting-card{grid-template-columns:1fr;padding:24px 16px;gap:28px;}.greeting-card>div:first-child{padding:0 6px;}.greeting-copy{max-width:none;}.greeting-examples{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px;}.greeting-arrow{width:30px;}.greeting-title{font-size:27px;}.price-card{padding:28px 24px;}.pricing-grid{gap:28px;}.parents-faq summary{font-size:16px;}.parents-faq details p{font-size:15px;padding-right:0;}.video-frame{border-radius:18px;}}
@media(max-width:420px){.steps-grid{grid-template-columns:1fr;}.step-card:last-child{grid-column:auto;}.step-card{padding:22px;}.hero-btns>a,.hero-btns>button{flex:1 1 auto;text-align:center;}.greeting-examples{grid-template-columns:26px minmax(0,1fr) 26px;gap:4px;}.greeting-arrow{width:26px;}}
@media(prefers-reduced-motion:reduce){.greeting-arrow{transition:none;}.greeting-arrow:hover{transform:none;}}
