@font-face{font-family:Montserrat;src:url('assets/montserrat.woff2') format('woff2');font-display:swap}@font-face{font-family:Playfair;src:url('assets/playfair.woff2') format('woff2');font-display:swap}:root{--ink:#202020;--paper:#fcfaf5;--pink:#c81673;--bright:#ed1685;--pale:#f5dce6;--lavender:#eae4f0;--line:#ddd3d8;--muted:#655b60}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}img{display:block;width:100%}p{line-height:1.8;margin:0 0 20px}.skip{position:absolute;top:-80px;left:15px;background:white;padding:15px;z-index:20}.skip:focus{top:10px}.brand-strip{background:var(--ink);color:white;text-align:center;font-size:10px;letter-spacing:.14em;padding:12px 18px}.brand-strip b{color:#ffa3cc;margin:0 12px}header{height:94px;padding:0 6%;display:flex;align-items:center;gap:30px;background:#fcfaf5f5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-size:19px;font-weight:800;letter-spacing:-.04em;line-height:1.15}.brand em{font-family:Playfair,Georgia,serif;font-size:35px;font-weight:400;color:var(--pink)}.brand small{display:block;font-size:8px;letter-spacing:.16em;font-weight:500;margin-top:6px}nav{display:flex;gap:25px;margin-left:auto;font-size:11px;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:49px;padding:15px 22px;background:var(--ink);color:white;font-size:11px;font-weight:600;border:1px solid transparent;border-radius:3px;cursor:pointer}.button:hover{background:#a81560}.button.light{background:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border-color:#b9aab2}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid currentColor;padding:9px 0;display:inline-flex;gap:20px;align-items:center;min-height:44px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;color:var(--pink);text-transform:uppercase;margin:0 0 22px}h1,h2,h3{margin:0;letter-spacing:-.06em}h1{font-size:clamp(58px,6.9vw,103px);font-weight:800;line-height:1.02}h1 em,h2 em{font-family:Playfair,Georgia,serif;font-weight:400;color:var(--pink)}h2{font-size:clamp(37px,4.2vw,60px);line-height:1.1;font-weight:700}h3{font-size:28px;line-height:1.15}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:730px;overflow:hidden}.hero-copy{padding:78px 5% 70px 11.5%;position:relative;z-index:2}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:460px;margin-top:29px}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}.hero-art{background:var(--lavender);position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0;isolation:isolate}.hero-art:before{content:'';position:absolute;width:105%;aspect-ratio:1;border-radius:50%;background:#f1c9af;left:3%;top:32%;z-index:-1}.hero-art img{max-width:500px;height:685px;object-fit:contain;object-position:bottom}.handwritten{position:absolute;right:4%;top:28px;font:italic 33px/1.05 Playfair,Georgia,serif;color:var(--bright);transform:rotate(6deg)}.portrait-caption{position:absolute;bottom:18px;left:22px;font-size:8px;letter-spacing:.1em;color:#4f424b}.values{padding:25px 6%;display:flex;align-items:center;justify-content:space-around;gap:15px;background:var(--ink);color:white;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.values b{color:#ff82bc}.section{padding:90px 7%}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8%;align-items:start}.intro p:not(.eyebrow){font-size:15px;color:var(--muted)}.intro .quote{font:italic 26px/1.4 Playfair,Georgia,serif;color:var(--pink);border-left:3px solid var(--pink);padding-left:22px;margin:28px 0 0}.pillars{background:#f2ebe4}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-heading>p{max-width:340px;font-size:14px;color:var(--muted);margin:0}.pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pillar{padding:28px 24px;border-top:3px solid var(--ink);background:var(--paper);min-width:0}.pillar:nth-child(2){background:var(--pale);border-color:var(--pink)}.pillar:nth-child(3){background:var(--lavender)}.number{font-size:10px;letter-spacing:.12em}.pillar h3{margin:25px 0 18px}.pillar p{font-size:13px;color:var(--muted);margin:0}.planner-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:var(--ink);color:white}.planner-section .eyebrow{color:#ffa3cc}.planner-section h2 em{color:#ff82bc}.planner-section p:not(.eyebrow){font-size:14px;color:#e1d6dc;max-width:460px;margin-top:24px}.planner-art{padding:35px;border:1px solid #6a4d5b;background:#30252b;transform:rotate(2deg)}.planner-art>p{font-size:10px!important;letter-spacing:.16em;margin:0 0 20px!important}.week-preview{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week-preview span{display:flex;align-items:center;flex-direction:column;padding:14px 3px;background:#fcfaf5;color:#202020;font-size:9px}.week-preview b{font-size:20px;margin-top:14px}.week-preview .pink{background:#ff82bc}.planner-art .note{font:italic 25px Playfair,Georgia,serif;color:#ffb5d8;margin-top:25px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px}.offer{border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;align-items:flex-start}.offer:nth-child(2){background:var(--lavender)}.tag{font-size:9px;letter-spacing:.12em;text-transform:uppercase;border:1px solid #cbb9c2;padding:7px 10px;margin-bottom:24px}.offer h3{margin-bottom:20px}.offer p{font-size:14px;color:var(--muted)}.offer a{margin-top:auto}.family{background:var(--pale);display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}.family blockquote{font:italic 38px/1.2 Playfair,Georgia,serif;color:#87204f;margin:0;letter-spacing:-.035em}.family p{font-size:14px;color:#624854}.parent{background:var(--lavender);text-align:center}.parent>p:not(.eyebrow){max-width:650px;margin:25px auto 30px;font-size:15px}.parent-parts{display:flex;justify-content:center;gap:30px;margin:35px 0;font:600 12px Montserrat,Arial}.parent-parts b{color:var(--pink)}.faq{max-width:1000px;margin:auto}.faq h2{margin-bottom:35px}details{border-bottom:1px solid var(--line);padding:0}summary{cursor:pointer;min-height:68px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;list-style:none;gap:20px}summary:after{content:'+';font-size:25px;color:var(--pink)}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);max-width:760px}.contact{background:var(--pink);color:white;text-align:center}.contact .eyebrow{color:#ffe8f3}.contact h2 em{color:white}.contact>p:not(.eyebrow){max-width:570px;margin:25px auto;font-size:14px}.contact .small{font-size:11px!important;max-width:500px!important}footer{padding:50px 7% 30px;background:var(--ink);color:white}.footer-top{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap;margin-bottom:35px}.footer-top p{font-size:12px;color:#e1d6dc;margin-top:18px;max-width:330px}.footer-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:12px}.footer-bottom{font-size:10px;line-height:1.8;color:#c7bac1;border-top:1px solid #51404a;padding-top:25px}.menu-toggle{display:none}.small-note{font-size:11px!important;color:var(--muted);margin-top:18px!important}.status-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:22px;max-width:470px}
@media(max-width:950px){header{padding:0 5%;gap:20px}nav{gap:15px}.hero-copy{padding-left:10%;padding-top:65px}h1{font-size:69px}.hero-art img{height:650px}.hero{min-height:690px}.handwritten{font-size:28px}.section{padding:70px 6%}.pillar{padding:24px 18px}.pillar h3{font-size:25px}.planner-art{padding:25px}.week-preview{gap:4px}.section-heading{align-items:start;flex-direction:column;gap:22px}}
@media(max-width:650px){.brand-strip{font-size:8px;line-height:1.7}.brand-strip b{margin:0 5px}header{height:80px;padding:0 6%;justify-content:space-between}.brand{font-size:15px}.brand em{font-size:30px}.brand small{font-size:7px}header>.button{display:none}.menu-toggle{display:block;background:transparent;border:1px solid #b9aab2;padding:12px;min-height:44px;font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:20px 6%;border-bottom:1px solid var(--line);gap:8px;flex-direction:column}nav.open{display:flex}nav a{padding:10px 0;font-size:13px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:45px 6% 35px}.hero h1{font-size:clamp(55px,15vw,78px)}.hero-copy>p:not(.eyebrow){font-size:14px;margin-top:24px}.eyebrow{font-size:8px;line-height:1.7}.hero-art{height:490px;min-height:490px}.hero-art img{height:450px;max-width:95%;object-fit:contain}.hero-art:before{width:95%;top:25%;left:2.5%}.handwritten{top:15px;right:6%;font-size:27px}.portrait-caption{font-size:7px;left:16px;bottom:10px}.actions{gap:20px}.button{font-size:11px;padding:14px 18px}.values{font-size:8px;letter-spacing:.06em;padding:20px 4%;gap:9px}.values b{font-size:11px}.section{padding:58px 6%}.intro,.planner-section,.family{grid-template-columns:1fr;gap:30px}h2{font-size:39px}.intro .quote{font-size:25px}.pillar-grid,.offer-grid{grid-template-columns:1fr;gap:18px}.pillar{padding:27px}.pillar h3{font-size:29px}.planner-art{transform:none;padding:23px;min-width:0}.week-preview span{font-size:8px}.week-preview b{font-size:16px}.offer{padding:26px}.family blockquote{font-size:32px}.section-heading{margin-bottom:30px}.parent-parts{gap:18px;font-size:11px}summary{font-size:13px}footer{padding:42px 6% 28px}.footer-top{gap:20px}.footer-links{font-size:11px;gap:18px}.footer-bottom{font-size:10px}.contact .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.family-photo{margin:0;min-width:0}.family-photo img{height:auto;aspect-ratio:1;object-fit:contain}.family-photo figcaption{font-size:11px;line-height:1.7;color:#624854;margin-top:12px}.family h2{margin-bottom:25px}.family blockquote{font-size:29px;margin:0 0 25px}.family>div>p:not(.eyebrow){margin-top:25px}@media(max-width:650px){.family blockquote{font-size:26px}}
