/* Consistent readable typography across the public page, booking and deliveries. */
:root{--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--muted:#4e5c54}
body{font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400}
h1,h2,h3,.brand,.price,.family-price,.footer-contact>a{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
h1,h2,h3{line-height:1.18}h1 em,h2 em,h3 em{font-family:var(--serif);font-weight:400}
.eyebrow,.tag{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.6;letter-spacing:.09em}
.family-copy>p:not(.eyebrow):not(.small):not(.micro):not(.family-price){font-family:var(--sans);font-size:18px;line-height:1.7;letter-spacing:normal;font-weight:400}
.family-copy>p.eyebrow:not(.small):not(.micro):not(.family-price){font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.6;letter-spacing:.08em}
.family-copy strong{font-weight:600}.family-copy .small{font-size:16px;line-height:1.65}.family-price{font-size:60px;line-height:1.15;margin:24px 0 20px}
.price span,.family-price span{font-family:var(--sans);font-size:14px;letter-spacing:.04em}
.button,.outline-button{font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.5}
.section-head>p,.package-lead,.package li,.daycare-note p,.acrylic-copy>p,.intro{font-family:var(--sans);font-size:16px;line-height:1.7}
.package strong{font-weight:600}.agenda h2{font-family:var(--serif);line-height:1.2}.agenda p{font-size:17px}
.brand{font-family:var(--serif);letter-spacing:-.02em}.brand span{font-size:12px;line-height:1.5;letter-spacing:.17em}.header nav a{font-size:14px;font-weight:500}
.invitation-cover h1{font-family:var(--serif);letter-spacing:-.035em;line-height:1.08}.invitation-cover .eyebrow{font-size:14px;font-weight:600}.cover-foot,.number,.micro{font-size:12px}
@media(max-width:650px){body{font-size:17px}h2{font-size:clamp(34px,9vw,42px);line-height:1.2}.invitation-cover h1{font-size:clamp(48px,14vw,68px);line-height:1.1}.invitation-cover .eyebrow{font-size:13px}.invitation-cover .intro{font-size:17px;line-height:1.65}.invitation-cover .button{font-size:16px}.family-copy>p:not(.eyebrow):not(.small):not(.micro):not(.family-price){font-size:17px;line-height:1.7}.family-copy>p.eyebrow:not(.small):not(.micro):not(.family-price){font-size:14px;line-height:1.6}.family-price{font-size:54px}.price{font-size:50px}.acrylic-copy h2{font-size:clamp(34px,9vw,42px)}.header{flex-wrap:wrap;gap:14px}.header .brand{font-size:21px}.header .brand span{font-size:10px}.header nav{gap:16px;flex-wrap:wrap}.header nav a{font-size:14px}.brand span{font-size:12px}.booking-box input,.booking-box select{font-size:16px}}
