/* Montserrat, self-hosted under the SIL Open Font License (fonts/OFL.txt). */
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/montserrat-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020-2021,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/montserrat-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--type-body:15px;--type-h1:clamp(40px,4.1vw,64px);--type-h2:clamp(30px,2.7vw,42px);--type-h3:clamp(22px,1.8vw,27px)}
body,h1,h2,h3,h4,.brand>span,.brand small,.package .price,.floating-note b,.steps b,.stats strong,.paper b,.couple-names i,.countdown b,.story-grid span,.wedding-monogram,.site-footer strong{font-family:Montserrat,Arial,Helvetica,sans-serif}
body{font-size:var(--type-body);font-weight:400;line-height:1.8;font-synthesis:none}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.035em;line-height:1.25;text-wrap:balance}
h1,.hero-copy h1,.page-intro h1{font-size:var(--type-h1)}
h2,.center h2{font-size:var(--type-h2);line-height:1.3}
h3,.services h3,.steps h3,.package h3,.card-body h3,.design-card h3{font-size:var(--type-h3);line-height:1.35}
h4{font-size:19px;letter-spacing:-.02em;line-height:1.45}
em{font-style:normal;font-weight:600}
p{font-size:15px;line-height:1.85}
.brand>span{font-size:25px;font-weight:600;letter-spacing:-1.1px;line-height:1.1}
.brand small{font-size:9px;font-weight:500;letter-spacing:3.5px}
.site-header nav{font-size:12px;gap:24px;font-weight:500}
.button,.button.small{font-size:12px;font-weight:600;line-height:1.5}
.text-link{font-size:12px;font-weight:600}
.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.6;font-weight:600}
.hero-copy p{font-size:15px;line-height:1.85;max-width:480px}
.hero-copy h1{line-height:1.18;margin:20px 0 27px;letter-spacing:-.045em}
.hero-note p{font-size:11px;line-height:1.8}
.hero-note small{font-size:10px}
.floating-note{padding:22px 25px;min-width:235px}
.floating-note b{font-size:18px;font-style:normal;font-weight:500;line-height:1.5;letter-spacing:-.03em}
.floating-note small,.floating-note span{font-size:8px;line-height:1.6;letter-spacing:1.5px}
.section-heading>p{font-size:14px;max-width:360px;line-height:1.85}
.services p,.card-body p,.steps p{font-size:14px;line-height:1.85}
.services p{min-height:105px}
.services b{font-size:12px;font-weight:500}
.card-body small:not(.eyebrow){font-size:11px}
.photo-card figcaption,.image-label{font-size:10px}
.package .price{font-size:34px;font-weight:600;line-height:1.3;letter-spacing:-.04em}
.package ul{font-size:13px;line-height:1.8}
.steps b{font-size:34px;font-weight:500;font-style:normal;letter-spacing:-.03em}
.fineprint,.site-footer p,.site-footer>div{font-size:12px;line-height:1.85}
.site-footer strong{font-size:21px;font-weight:600;letter-spacing:-.03em}
.site-footer small{font-size:11px}
.paper b{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.045em}
.paper i{font-style:normal;font-size:20px}
.paper small{font-size:7px;font-weight:500}
.prose h2,.panel h2{font-size:25px;line-height:1.4;letter-spacing:-.025em}
.prose p{font-size:15px}
.filters a{font-size:12px}
.admin-layout>aside .brand>span{font-size:22px}
.admin-layout aside nav a{font-size:12px;line-height:1.6}
.admin-heading h1{font-size:clamp(28px,2.7vw,38px);line-height:1.3}
.admin-heading .eyebrow{font-size:10px}
.stats strong{font-size:37px;font-weight:600;line-height:1.3;letter-spacing:-.035em}
.stats small{font-size:12px}
.admin-cards p,.panel>p,.panel ul{font-size:13px;line-height:1.8}
.panel h3{font-size:21px}
label{font-size:12px;font-weight:600;line-height:1.65}
input,select,textarea{font-size:14px;font-weight:400;line-height:1.65}
.check{font-size:12px;line-height:1.8}
.login-card h1{font-size:33px;line-height:1.3}
.login-card>p{font-size:13px}
.wedding-cover h1{font-size:clamp(48px,4.9vw,74px);font-weight:500;line-height:1.15;letter-spacing:-.045em}
.wedding-cover h1 i{font-style:normal;font-size:33px;line-height:1.2}
.wedding-cover .guest-greeting{font-size:12px;line-height:1.8}
.guest-greeting strong{font-size:15px;font-weight:500}
.couple-names h3{font-size:28px}
.couple-names i{font-style:normal;font-size:32px}
.couple-names p{font-size:13px;line-height:1.8}
.countdown b{font-size:29px;font-weight:500}
.countdown small{font-size:10px;letter-spacing:1.5px}
.story-grid span{font-size:28px;font-weight:500;font-style:normal}
.story-grid p{font-size:14px;line-height:1.85}
.wedding-monogram{font-size:80px;font-weight:500}
@media(max-width:1100px){.site-header nav{font-size:11px;gap:16px}.hero-copy h1{font-size:clamp(39px,4.4vw,53px)}}
@media(max-width:800px){.hero-copy h1{font-size:38px}.hero-copy p{font-size:14px}.hero-copy .button{font-size:11px}.floating-note{min-width:195px;padding:18px}.floating-note b{font-size:16px}.section-heading>p{font-size:13px}.services p{min-height:150px;font-size:13px}.services h3,.design-card h3{font-size:23px}.site-header .brand>span{font-size:23px}.wedding-cover h1{font-size:54px}.site-header nav{font-size:13px}.section-heading>p{max-width:300px}}
@media(max-width:560px){:root{--type-body:14px;--type-h1:clamp(34px,9vw,41px);--type-h2:clamp(28px,7.5vw,33px);--type-h3:23px}p{font-size:14px;line-height:1.85}.hero-copy h1,.page-intro h1{font-size:var(--type-h1);line-height:1.22;letter-spacing:-.045em;margin:17px 0 23px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:1.5px}.hero-copy p,.page-intro p{font-size:14px;line-height:1.85}.hero .actions{gap:18px}.hero .button{font-size:11px;padding:14px 16px}.hero .text-link{font-size:11px}.hero-note p{font-size:10px}.hero-note small{font-size:10px}.hero-art{width:85%}.floating-note{min-width:200px}.floating-note b{font-size:16px}.section-heading>p{font-size:14px;max-width:100%}.services h3,.steps h3,.design-card h3{font-size:23px}.services p{min-height:0;font-size:14px}.services b{font-size:12px}.card-body p,.steps p{font-size:14px}.package h3{font-size:26px}.package .price{font-size:31px}.package ul{font-size:13px}.fineprint{font-size:12px}.site-footer>div{font-size:11px}.site-footer strong{font-size:19px}.site-footer p{font-size:12px}.paper b{font-size:29px}.admin-heading h1{font-size:28px}.admin-layout aside .brand>span{font-size:21px}.admin-layout aside nav a{font-size:11px}.stats strong{font-size:31px}.stats small{font-size:11px}.panel h2{font-size:23px}.login-card h1{font-size:29px}.wedding-cover h1{font-size:55px}.wedding-cover h1 i{font-size:28px}.wedding-cover p{font-size:14px}.couple-names h3{font-size:27px}.countdown b{font-size:26px}.countdown small{font-size:9px}.wedding-section>p{font-size:14px}.wedding-monogram{font-size:65px}}
