*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blush-pink:#e8c4b8;--deep-blush:#d4a898;--deep-blush-dark:#b8897a;--cream:#f5f0eb;--sage:#8b9a7b;--sage-dark:#7a8a6c;--charcoal:#2c2c2c;--text:#3d2b24;--text-light:#7a5c52;--hero-dark:#2c1f1a;--white:#fff;--font-heading:"Cormorant Garamond", Georgia, serif;--font-body:"Jost", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius:16px;--radius-lg:24px;--radius-xl:32px;--shadow-sm:0 2px 10px #b8897a1f;--shadow:0 4px 20px #b8897a2e;--shadow-lg:0 8px 40px #b8897a38;--transition:.2s ease;--container-max:1140px;--section-pad-y:5.5rem}html{scroll-behavior:smooth;scroll-padding-top:64px}body{font-family:var(--font-body);color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.6}#root{flex-direction:column;width:100%;min-height:100svh;display:flex}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul{list-style:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.section-header{text-align:center;margin-bottom:3rem}.section-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--deep-blush-dark);margin-bottom:12px;font-size:.6875rem;font-weight:700;display:block}.section-heading{font-family:var(--font-heading);color:var(--text);margin-bottom:16px;font-size:clamp(2rem,5vw,3rem);font-weight:400;line-height:1.1}.section-sub{color:var(--text-light);font-size:1.0625rem}.btn{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;padding:15px 32px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--deep-blush-dark);color:var(--white);box-shadow:0 4px 18px #b8897a66}.btn--primary:hover{background:#a57869;box-shadow:0 6px 28px #b8897a80}.btn--ghost{color:var(--text);background:0 0;border:2px solid #3d2b2466}.btn--ghost:hover{background:var(--text);color:var(--white);border-color:var(--text)}.btn--buy{background:var(--sage);color:var(--white);padding:12px 20px;font-size:.875rem;box-shadow:0 4px 16px #8b9a7b59}.btn--buy:hover{background:var(--sage-dark);box-shadow:0 6px 24px #8b9a7b73}.btn--coming-soon{opacity:.45;cursor:default;pointer-events:none}.nav{z-index:200;-webkit-backdrop-filter:blur(14px);background:#2c1f1af7;border-bottom:1px solid #e8c4b81f;position:sticky;top:0}.nav__inner{max-width:var(--container-max);justify-content:space-between;align-items:center;margin:0 auto;padding:1rem 1.5rem;display:flex;position:relative}.nav__brand{font-family:var(--font-heading);color:var(--blush-pink);letter-spacing:.02em;font-size:1.125rem;font-weight:600}.nav__menu{background:var(--hero-dark);border-bottom:1px solid #e8c4b81f;flex-direction:column;padding:.5rem 0 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav--open .nav__menu{display:flex}.nav__menu a{letter-spacing:.08em;text-transform:uppercase;color:#e8c4b8bf;padding:.7rem 1.5rem;font-size:.8125rem;transition:background .15s,color .15s}.nav__menu a:hover{color:var(--blush-pink);background:#e8c4b814}.nav__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;display:flex}.burger__line{background:var(--blush-pink);border-radius:2px;width:22px;height:1.5px;transition:transform .3s,opacity .3s;display:block}.nav--open .burger__line:first-child{transform:translateY(6.5px)rotate(45deg)}.nav--open .burger__line:nth-child(2){opacity:0;transform:scaleX(0)}.nav--open .burger__line:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (width>=768px){.nav__menu{background:0 0;border:none;flex-direction:row;align-items:center;gap:2.5rem;padding:0;position:static;display:flex!important}.nav__menu a{letter-spacing:.08em;color:#e8c4b8bf;padding:0;font-size:.8125rem;transition:color .2s}.nav__menu a:hover{color:var(--blush-pink);background:0 0}.nav__book-btn{border-radius:50px;background:var(--deep-blush-dark)!important;color:var(--white)!important;letter-spacing:.05em!important;padding:10px 22px!important;font-size:.8125rem!important;font-weight:600!important}.nav__book-btn:hover{color:var(--white)!important;background:#a57869!important;box-shadow:0 4px 14px #b8897a59!important}.nav__burger{display:none}}.hero{background:linear-gradient(150deg, var(--hero-dark) 0%, #3d2b24 60%, #e8c4b880 100%);text-align:center;justify-content:center;align-items:center;min-height:100svh;padding:6rem 1.5rem 5rem;display:flex;position:relative;overflow:hidden}.hero__bg{pointer-events:none;position:absolute;inset:0}.hero__orb{border-radius:50%;position:absolute}.hero__orb--1{background:radial-gradient(circle,#e8c4b82e 0%,#0000 65%);width:480px;height:480px;top:-160px;right:-140px}.hero__orb--2{background:radial-gradient(circle,#8b9a7b1a 0%,#0000 65%);width:300px;height:300px;bottom:-80px;left:-60px}.hero__orb--3{display:none}@media (width>=768px){.hero__orb--1{width:700px;height:700px}.hero__orb--2{width:440px;height:440px}}.hero__content{z-index:1;max-width:680px;position:relative}.hero__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#e8c4b8a6;margin-bottom:1.5rem;font-size:.6875rem;font-weight:600}.hero__heading{font-family:var(--font-heading);color:var(--white);letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(3rem,11vw,6rem);font-weight:400;line-height:1.04}.hero__heading em{color:var(--blush-pink);font-style:italic}.hero__tagline{font-family:var(--font-heading);color:#e8c4b899;letter-spacing:.05em;margin-bottom:1.75rem;font-size:clamp(1.2rem,3vw,1.75rem);font-style:italic;font-weight:300}.hero__body{color:#e8c4b899;max-width:540px;margin:0 auto 2.75rem;font-size:1rem;line-height:1.85}.hero__ctas{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero .btn--ghost{color:var(--blush-pink);background:0 0;border:2px solid #e8c4b880}.hero .btn--ghost:hover{color:var(--white);border-color:var(--blush-pink);background:#e8c4b81f}.classes{background:var(--blush-pink);padding:var(--section-pad-y) 0}.classes .section-eyebrow{color:var(--text);opacity:.6}.classes .section-heading{color:var(--text)}.classes .section-sub{color:var(--text-light)}.class-cards-stack{flex-direction:column;gap:1.5rem;max-width:640px;margin:0 auto;display:flex}.class-card{background:var(--white);border-radius:var(--radius);width:100%;max-width:640px;box-shadow:var(--shadow-sm);margin:0 auto;padding:2.5rem}.class-card__header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.class-card__badge{background:var(--deep-blush-dark);color:var(--white);letter-spacing:.18em;text-transform:uppercase;border-radius:50px;padding:5px 13px;font-size:.625rem;font-weight:700}.class-card__title{font-family:var(--font-heading);color:var(--text);font-size:1.625rem;font-weight:500}.class-card__info{flex-direction:column;gap:.8rem;margin-bottom:1.75rem;display:flex}.class-card__info li{color:var(--text-light);align-items:flex-start;gap:.75rem;font-size:.9375rem;line-height:1.5;display:flex}.info-icon{text-align:center;flex-shrink:0;width:1.25rem}.class-card__note{border-left:3px solid var(--deep-blush);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);background:#e8c4b847;margin-bottom:2rem;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.65}.plans{background:linear-gradient(160deg, #f5ebe6 0%, var(--cream) 100%);padding:var(--section-pad-y) 0}.plans-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=580px){.plans-grid{grid-template-columns:1fr 1fr}}@media (width>=1024px){.plans-grid{grid-template-columns:repeat(4,1fr)}}.plan-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1.5px solid #0000;flex-direction:column;padding:2rem 2rem 2rem 2.375rem;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.plan-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.plan-card:before{content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.plan-card[data-plan=pregnancy]:before{background:var(--blush-pink)}.plan-card[data-plan=postnatal]:before{background:var(--sage)}.plan-card[data-plan=birth-ready]:before{background:var(--deep-blush-dark)}.plan-card[data-plan=mum-baby]:before{background:var(--deep-blush)}.plan-card[data-plan=bundle]:before{background:#ffffff59}.plan-card--featured{background:linear-gradient(160deg, var(--text) 0%, #5c3e36 100%);border-color:#0000}.plan-card--featured:hover{box-shadow:var(--shadow-lg)}.plan-card--featured .plan-card__tag{color:var(--blush-pink)}.plan-card--featured .plan-card__name{color:var(--white)}.plan-card--featured .plan-card__desc{color:#ffffffb3}.plan-card--featured .plan-card__price{color:var(--white)}.plan-card--featured .btn--buy{background:var(--white);color:var(--text);box-shadow:none}.plan-card--featured .btn--buy:hover{background:var(--cream);box-shadow:var(--shadow-sm)}.plan-card__ribbon{color:var(--white);letter-spacing:.15em;text-transform:uppercase;background:#ffffff2e;border:1px solid #ffffff47;border-radius:50px;padding:.25rem .65rem;font-size:.6rem;font-weight:700;position:absolute;top:1rem;right:1rem}.plan-card__tag{letter-spacing:.18em;text-transform:uppercase;color:var(--deep-blush-dark);margin-bottom:8px;font-size:.625rem;font-weight:700}.plan-card__name{font-family:var(--font-heading);color:var(--text);margin-bottom:10px;font-size:1.375rem;font-weight:500;line-height:1.2}.plan-card__desc{color:var(--text-light);flex:1;margin-bottom:22px;font-size:.875rem;line-height:1.65}.plan-card__footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;display:flex}.plan-card__price{font-family:var(--font-heading);color:var(--text);font-size:2.25rem;font-weight:600;line-height:1}.about{background:linear-gradient(145deg, #8b9a7b12 0%, var(--cream) 70%);padding:var(--section-pad-y) 0}.about__inner{flex-direction:column;align-items:center;gap:3rem;display:flex}@media (width>=900px){.about__inner{flex-direction:row;align-items:flex-start;gap:5rem}}.about__visual{flex-shrink:0;justify-content:center;display:flex}.about__avatar{background:linear-gradient(145deg, var(--blush-pink), var(--deep-blush));width:220px;height:220px;font-family:var(--font-heading);color:#ffffffeb;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:5.5rem;font-style:italic;font-weight:300;display:flex}@media (width>=900px){.about__avatar{width:300px;height:300px;font-size:7.5rem}}.about__copy{flex:1}.about__heading{text-align:left;margin-bottom:1.5rem}.about__copy p{color:var(--text-light);margin-bottom:1rem;font-size:1.0625rem;line-height:1.82}.credentials{border-top:1px solid #b8897a33;flex-wrap:wrap;gap:2rem;margin-top:2rem;padding-top:2rem;display:flex}.credential{flex-direction:column;gap:.2rem;display:flex}.credential strong{color:var(--text);font-size:.875rem;font-weight:600}.credential span{color:var(--text-light);font-size:.8rem}.about__socials{flex-direction:column;gap:10px;margin-top:24px;display:flex}.about__social-link{font-family:var(--font-body);color:var(--deep-blush-dark);letter-spacing:.02em;transition:color var(--transition);font-size:.875rem;font-weight:500;text-decoration:none}.about__social-link:hover{color:var(--text)}.footer{background:var(--charcoal);color:#fffc;margin-top:auto}.footer__inner{max-width:var(--container-max);flex-direction:column;gap:3rem;margin:0 auto;padding:4rem 1.5rem 3rem;display:flex}@media (width>=768px){.footer__inner{flex-direction:row;align-items:flex-start;gap:4rem}}.footer__brand{flex-shrink:0}.footer__name{font-family:var(--font-heading);color:var(--white);margin-bottom:.2rem;font-size:1.5rem;font-weight:400}.footer__tagline{font-family:var(--font-heading);color:var(--blush-pink);opacity:.85;margin-bottom:.5rem;font-size:1rem;font-style:italic}.footer__location{color:#fff6;font-size:.8125rem}.footer__links{flex-wrap:wrap;flex:1;gap:2.5rem;display:flex}.footer__col{flex-direction:column;gap:.7rem;min-width:120px;display:flex}.footer__col h4{letter-spacing:.18em;text-transform:uppercase;color:var(--blush-pink);margin-bottom:.4rem;font-size:.6875rem;font-weight:700}.footer__col a{color:#ffffffb3;font-size:.9rem;transition:color .2s}.footer__col a:hover{color:var(--blush-pink)}.footer__bottom{border-top:1px solid #ffffff12;padding:1.5rem 0}.footer__bottom-inner{text-align:center;color:#ffffff59;flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}@media (width>=768px){.footer__bottom-inner{text-align:left;flex-direction:row;justify-content:space-between}}.nav__auth-btn{cursor:pointer;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#e8c4b8bf;transition:color var(--transition);background:0 0;border:none;padding:.7rem 1.5rem;font-size:.8125rem;font-weight:500}.nav__auth-btn--ghost{color:#e8c4b866}@media (width>=768px){.nav__auth-btn{color:#e8c4b8bf;padding:0}.nav__auth-btn:hover{color:var(--blush-pink)}.nav__auth-btn--ghost{color:#e8c4b866}.nav__auth-btn--ghost:hover{color:#e8c4b8bf}}.nav__logout-btn{cursor:pointer;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#e8c4b866;transition:color var(--transition);background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:500}.nav__logout-btn:hover{color:var(--blush-pink)}.auth-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);background:#2c2c2c8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auth-modal{background:var(--cream);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem;position:relative}.auth-modal__close{cursor:pointer;color:#3d2b2466;transition:color var(--transition);background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1;position:absolute;top:1rem;right:1.25rem}.auth-modal__close:hover{color:var(--text)}.auth-modal__brand{text-align:center;margin-bottom:1.5rem}.auth-modal__logo{font-family:var(--font-heading);color:var(--text);font-size:1.375rem;font-weight:400}.auth-tabs{border-bottom:1.5px solid #b8897a33;margin-bottom:1.75rem;display:flex}.auth-tab{font-family:var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:#3d2b2473;cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2.5px solid #0000;flex:1;margin-bottom:-1.5px;padding:.6rem 0;font-size:.8125rem;font-weight:500}.auth-tab--active{color:var(--text);border-bottom-color:var(--deep-blush-dark)}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field label{color:var(--text-light);letter-spacing:.12em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.auth-field input{font-family:var(--font-body);color:var(--text);background:var(--white);border-radius:var(--radius-sm);transition:border-color var(--transition);border:1.5px solid #b8897a40;outline:none;padding:.75rem 1rem;font-size:.9375rem}.auth-field input:focus{border-color:var(--deep-blush-dark)}.auth-field input::placeholder{color:#3d2b244d}.auth-error{color:#c0392b;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fde8e8;border-left:3px solid #c0392b;padding:.6rem .875rem;font-size:.8125rem;line-height:1.5}.auth-submit{justify-content:center;width:100%;margin-top:.25rem}.auth-switch{text-align:center;color:var(--text-light);font-size:.85rem}.auth-switch__btn{cursor:pointer;font-family:var(--font-body);font-size:inherit;color:var(--deep-blush-dark);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.auth-switch__btn:hover{color:var(--text)}.dashboard-hero{background:linear-gradient(150deg, var(--hero-dark) 0%, #3d2b24 60%, #e8c4b873 100%);padding:5rem 1.5rem 3rem}.dashboard-hero__inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}@media (width>=600px){.dashboard-hero__inner{text-align:left;flex-direction:row;gap:2rem}}.dashboard-hero__avatar{background:linear-gradient(145deg, var(--deep-blush), #c49282);width:80px;height:80px;font-family:var(--font-heading);color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:500;display:flex}.dashboard-hero .ty-hero__heading{color:var(--white)}.dashboard-hero .ty-hero__heading em{color:var(--blush-pink)}.dashboard-hero .section-sub{color:#e8c4b88c}.dashboard-plans{background:var(--cream);padding:var(--section-pad-y) 0}.ty-root{flex-direction:column;min-height:100svh;display:flex}.ty-page{flex-direction:column;flex:1;display:flex}.ty-hero{text-align:center;background:linear-gradient(150deg, var(--hero-dark) 0%, #3d2b24 60%, #e8c4b873 100%);justify-content:center;align-items:center;min-height:65svh;padding:7rem 1.5rem 4rem;display:flex;position:relative;overflow:hidden}.ty-hero__bg{pointer-events:none;position:absolute;inset:0}.ty-hero__content{flex-direction:column;align-items:center;gap:1.25rem;max-width:640px;margin:0 auto;display:flex;position:relative}.ty-hero__heading{font-family:var(--font-heading);color:var(--white);letter-spacing:-.01em;font-size:clamp(2.25rem,6vw,3.75rem);font-weight:400;line-height:1.15}.ty-hero__heading em{color:var(--blush-pink);font-style:italic}.ty-hero__body{color:#e8c4b8a6;max-width:500px;font-size:1.0625rem;line-height:1.7}.ty-download-btn{background:var(--deep-blush-dark);color:var(--white);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;transition:background var(--transition), transform .15s, box-shadow var(--transition);border:none;border-radius:50px;align-items:center;gap:.5rem;margin-top:.75rem;padding:15px 36px;font-size:1.0625rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 18px #b8897a66}.ty-download-btn:hover{background:#a57869;transform:translateY(-2px);box-shadow:0 6px 28px #b8897a80}.ty-download-btn:active{transform:translateY(0)}.ty-hero__hint{color:#e8c4b873;margin-top:-.25rem;font-size:.8125rem}.ty-message{background:var(--white);padding:3.5rem 1.5rem}.ty-message__inner{align-items:flex-start;gap:1.75rem;max-width:640px;margin:0 auto;display:flex}.ty-message__avatar{background:var(--blush-pink);width:64px;height:64px;font-family:var(--font-heading);color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.625rem;font-weight:500;display:flex}.ty-message__quote{border:none;margin:0;padding:0;font-style:normal}.ty-message__quote p{color:var(--text);margin-bottom:.75rem;font-size:1rem;line-height:1.75}.ty-message__sig{font-family:var(--font-heading);color:var(--deep-blush);margin-top:.5rem;font-size:1.25rem;font-style:italic;display:block}.ty-link{color:var(--deep-blush-dark);text-underline-offset:3px;text-decoration:underline}.ty-link:hover{color:var(--text)}.ty-next{padding:var(--section-pad-y) 1.5rem}.ty-next__cards{grid-template-columns:1fr;gap:1.25rem;max-width:900px;margin:0 auto;display:grid}.ty-next__card{background:var(--white);border-radius:var(--radius);color:inherit;transition:box-shadow var(--transition), transform .15s;border:1px solid #b8897a33;flex-direction:column;gap:.625rem;padding:1.75rem;text-decoration:none;display:flex}.ty-next__card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.ty-next__icon{font-size:1.875rem}.ty-next__card h3{font-family:var(--font-heading);color:var(--text);font-size:1.375rem;font-weight:500}.ty-next__card p{color:var(--text-light);flex:1;font-size:.9375rem;line-height:1.65}.ty-next__cta{color:var(--deep-blush-dark);margin-top:.25rem;font-size:.875rem;font-weight:500}@media (width>=600px){.ty-message__inner{gap:2.5rem}}@media (width>=720px){.ty-next__cards{grid-template-columns:repeat(3,1fr)}}:focus-visible{outline:2px solid var(--deep-blush-dark);outline-offset:3px;border-radius:4px}.nf-root{background:var(--cream);flex-direction:column;min-height:100vh;display:flex}.nf-page{flex:1;justify-content:center;align-items:center;padding:80px 24px;display:flex}.nf-content{text-align:center;max-width:480px}.nf-heading{font-family:var(--font-heading);color:var(--text);margin:12px 0 16px;font-size:clamp(2.5rem,8vw,4rem);font-weight:400;line-height:1.1}.nf-body{font-family:var(--font-body);color:var(--text-light);margin-bottom:32px;font-size:1rem;line-height:1.6}
