@font-face{font-family:OpenSansFull;src:url('/assets/OpenSans-complete.ttf');font-weight:100 900}
@font-face{font-family:OpenSans1;src:url('/assets/OpenSans-Regular-p1.ttf')}@font-face{font-family:OpenSans2;src:url('/assets/OpenSans-Regular-p2.ttf')}@font-face{font-family:OpenSans3;src:url('/assets/OpenSans-Regular-p3.ttf')}@font-face{font-family:OpenSans4;src:url('/assets/OpenSans-Regular-p4.ttf')}@font-face{font-family:OpenSans5;src:url('/assets/OpenSans-Regular-p5.ttf')}@font-face{font-family:OpenSans6;src:url('/assets/OpenSans-Regular-p6.ttf')}@font-face{font-family:PlexBold;src:url('/assets/IBMPlexSans-Bold-p1.ttf');font-weight:700}@font-face{font-family:LiberationBold;src:url('/assets/LiberationSans-Bold-p2.ttf');font-weight:700}
*{box-sizing:border-box}body{margin:0;color:#121310;background:white;font-family:system-ui,-apple-system,sans-serif}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #151515;outline-offset:4px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1{font-weight:400}button{color:inherit}small{font-size:14px}.muted,.intro,.eyebrow{color:#787878}.tagline{font-family:PlexBold,sans-serif;font-weight:700;color:#717171;font-size:10px;line-height:1.2}.brand{width:90px;height:auto}.arrow{font-family:Arial,sans-serif;font-size:29px;font-weight:400;line-height:1}.customer{background:#fff;font-size:16px;line-height:1.5}.customer.page-1{font-family:OpenSans1,OpenSansFull,sans-serif}.customer.page-2{font-family:OpenSans2,OpenSans3,OpenSansFull,sans-serif}.customer.page-3{font-family:OpenSans3,OpenSansFull,sans-serif}.customer.page-4{font-family:OpenSans4,OpenSansFull,sans-serif}.customer.page-5{font-family:OpenSans5,OpenSansFull,sans-serif}.customer.page-6{font-family:OpenSans6,OpenSansFull,sans-serif}.screen{width:100%;max-width:390px;min-height:844px;margin:0 auto;position:relative;background:#fff}.client-header{height:95px;padding:27px 24px 0}.client-header button{padding:0;border:0;background:none;display:block}.client-main{padding:0 24px 120px}.client-main h1{font-size:32px;line-height:1.24;letter-spacing:0}.client-main h2{font-size:20px;line-height:1.4;font-weight:400}.intro{font-size:16px;line-height:23px;margin-top:13px}.bottom-nav{position:absolute;bottom:0;left:0;width:100%;height:66px;display:flex;align-items:flex-start;border-top:1px solid #e3e3e3;background:white;padding:17px 0 0;z-index:5}.bottom-nav a{position:relative;flex:1;white-space:nowrap;text-align:center;text-decoration:none;color:#777;font-size:10px;padding:4px 2px 10px;line-height:20px}.bottom-nav a[aria-current=page]{color:#191919}.bottom-nav a[aria-current=page]:before{content:'';height:2px;background:#141414;position:absolute;top:-8px;left:16px;right:16px}.eyebrow{font-size:13px;line-height:20px}.page-2 h1{margin-top:0}.countdown{margin-top:22px}.countdown>p:last-child{font-size:16px;margin-top:4px;line-height:23px}.home-photo{margin-top:28px;width:100%;height:215px;object-fit:cover}.before{margin-top:19px}.before h2{font-family:LiberationBold,Arial,sans-serif;font-weight:700;font-size:16px;line-height:20px}.before p{font-size:14px;line-height:21px;margin-top:1px}.plan-row{width:100%;background:none;border:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;text-align:left;position:relative;margin-top:27px;padding:16px 0 19px;font-size:20px}.plan-row .arrow{position:absolute;right:0;top:21px}.plan-row small{display:block;font-size:13px;margin-top:3px}.home-divider{border-top:1px solid #ddd;margin-top:28px}.page-2 .client-main{padding-bottom:110px}.page-3 .intro{margin-top:12px;line-height:24px}.important{border-top:1px solid #ddd;margin-top:28px;padding-top:20px}.important p{font-size:14px;line-height:21px;margin-top:9px}.wedding-cards{margin-top:39px;display:grid;gap:17px}.border-card{position:relative;width:100%;min-height:85px;border:1px solid #ddd;background:white;text-align:left;padding:11px 22px 24px 31px;display:block;text-decoration:none}.border-card:before{content:'';position:absolute;top:13px;left:10px;width:9px;height:9px;border-top:2px solid #111;border-left:2px solid #111}.card-title{display:block;font-size:16px;line-height:22px}.border-card .muted{display:block;font-size:12px;line-height:18px}.border-card .arrow{position:absolute;right:11px;bottom:10px;font-size:25px}.page-3 .client-main{padding-bottom:90px}.page-4 .intro{margin-top:12px;line-height:23px}.memories-photo{width:100%;height:235px;object-fit:cover;margin-top:40px}.memory-row{position:relative;display:block;width:100%;border:0;background:none;text-align:left;font-size:20px;padding:10px 0 21px;border-bottom:1px solid #ddd;text-decoration:none}.memory-row .arrow{position:absolute;right:8px;top:14px}.memory-row small{display:block;font-size:14px;margin-top:5px}.share-row{position:relative;width:100%;border:0;background:none;display:flex;align-items:flex-start;text-align:left;padding:20px 0 0;text-decoration:none;gap:18px}.share-row img{width:148px;height:141px;object-fit:cover}.share-text{display:block;font-size:19px;white-space:nowrap;padding-top:9px}.share-text small{display:block;font-size:13px;line-height:20px;margin-top:6px}.share-row .arrow{position:absolute;right:8px;top:32px}.page-4 .client-main{padding-bottom:127px}.page-5 .intro{font-size:14px;line-height:22px;margin-top:13px}.album-collage{display:grid;grid-template-columns:1.72fr 1fr;gap:7px;margin-top:14px;height:302px}.album-collage>img{width:100%;height:302px;object-fit:cover}.album-collage>div{display:grid;grid-template-rows:202px 93px;gap:7px}.album-collage>div img{width:100%;height:100%;object-fit:cover}.client-main .album-title{font-size:20px;margin-top:9px;line-height:27px}.album-description{font-size:14px;line-height:21px;margin-top:2px}.album-steps{display:flex;justify-content:space-between;border-top:1px solid #ddd;margin-top:51px;padding-top:22px;font-size:12px;color:#777}.album-steps span:first-child{color:#222}.black-link{color:white;background:#11120f;text-decoration:none;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border:0;width:100%;font-size:16px;line-height:31px}.page-5 .black-link{margin-top:32px}.page-5 .client-main{padding-bottom:90px}.page-6 .intro{font-size:14px;line-height:21px;margin-top:13px}.space-links{margin-top:30px}.space-row{display:block;position:relative;text-align:left;border:0;border-top:1px solid #ddd;background:white;text-decoration:none;width:100%;min-height:123px;padding:18px 16px 20px 0;font-size:20px}.space-row:last-child{border-bottom:1px solid #ddd}.space-row small{display:block;font-size:12px;line-height:17px;margin-top:15px}.space-row .arrow{position:absolute;right:9px;top:46px}.signature-area{height:205px;position:relative}.signature-area img{position:absolute;top:72px;left:121px;width:100px;height:auto}.signature-area .tagline{position:absolute;left:0;top:153px}.decorative-arrow{position:absolute;top:42px;right:9px;font-family:Arial;font-size:26px}.page-6 .client-main{padding-bottom:102px}.welcome{padding:25px 24px 41px}.welcome .brand{width:170px}.welcome-photo{width:100%;height:345px;object-fit:cover;margin-top:69px}.welcome-copy{margin-top:33px}.welcome h1{font-size:32px;line-height:1.22;margin-top:3px}.welcome-copy>.muted{font-size:14px;line-height:22px;margin-top:30px}.welcome .black-link{margin-top:43px}.preview-bar{max-width:760px;margin:0 auto;padding:8px 16px;background:#f4f4f4;font:13px/1.5 system-ui;display:flex;justify-content:space-between;gap:15px}.data-dialog{font:16px/1.55 system-ui,sans-serif;width:calc(100% - 32px);max-width:550px;max-height:85vh;overflow:auto;padding:24px;border:1px solid #ddd;color:#171717}.data-dialog::backdrop{background:#0007}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-head h2{font-size:23px;font-weight:500}.dialog-head button{background:none;border:0;font-size:28px;line-height:1}.saved-list{list-style:none;padding:0;margin:0}.saved-list li{padding:12px 0;border-bottom:1px solid #ddd}.saved-list time{margin-right:12px}.saved-list p{white-space:pre-wrap}.balance{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0 24px}.balance span{font-size:14px;color:#666}.balance strong{display:block;font-size:24px;color:#111;font-weight:500;margin-top:4px}#notice{position:fixed;z-index:30;left:50%;bottom:80px;transform:translateX(-50%);width:calc(100% - 32px);max-width:400px;color:#fff;background:#171717;padding:16px;font:14px/1.5 system-ui;box-shadow:0 4px 25px #0003}.utility{background:white}.auth{max-width:450px;padding:45px 24px;margin:0 auto}.auth .brand{margin-bottom:40px}.auth h1{font-size:28px;margin-bottom:15px}.auth p{font-size:15px;line-height:1.65;margin-bottom:20px}label{display:block;font-size:14px;line-height:1.5;color:#333;margin-bottom:18px}input:not([type=hidden]):not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #bcbcbc;border-radius:0;padding:11px 12px;background:white;color:#111;margin-top:6px;min-height:46px;font-size:16px}textarea{resize:vertical}input:focus,textarea:focus{outline-offset:1px}input[type=checkbox]{width:18px;height:18px;margin:0 8px 0 0}.checkbox{display:flex;align-items:center}.primary,.outline{display:inline-block;padding:12px 18px;border:1px solid #111;background:#111;color:white;font-size:14px;line-height:21px;text-decoration:none}.outline{background:white;color:#111}.text-button{background:none;border:0;padding:8px 0;text-decoration:underline;font-size:14px;text-underline-offset:3px}.form-feedback{font-size:14px;color:#594121;min-height:0;margin:10px 0!important;line-height:1.5}.form-feedback:empty{display:none}.admin{background:#fafafa}.admin-top{min-height:95px;background:white;border-bottom:1px solid #ddd;display:flex;gap:30px;padding:24px 5%;align-items:center;font-size:14px}.admin-top>span{margin-left:auto;color:#666}.admin-main{max-width:1050px;padding:40px 24px 70px;margin:0 auto}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.admin-heading h1{font-size:36px;line-height:1.25}.admin-heading .eyebrow{margin-bottom:9px}.admin-section{background:white;padding:28px;border:1px solid #ddd;margin-top:22px}.admin-section h2{font-size:22px;font-weight:500;margin-bottom:20px}.admin-section h3{font-size:17px;font-weight:500;margin-bottom:8px}.admin-section p{line-height:1.6}.wedding-list>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #ddd;text-decoration:none}.wedding-list strong{font-size:20px;font-weight:500}.wedding-list small{display:block;color:#777;margin-top:7px}.wedding-list .arrow{vertical-align:middle;margin-left:15px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.help{color:#777;font-size:14px;margin:0 0 20px!important}.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.member{border:1px solid #ddd;padding:20px;min-width:0;overflow-wrap:anywhere}.member p{font-size:14px;margin-bottom:10px}.member form{margin-top:15px}.payment{padding:24px 0;border-top:1px solid #ddd}.payment>p{margin-bottom:15px}.empty{padding:20px 0;color:#777}.admin details{padding-top:20px;padding-bottom:20px}.admin summary{cursor:pointer;font-size:18px;padding-bottom:8px}.admin details[open]>summary{margin-bottom:18px}.audit-list{list-style:none;padding:0;margin:0}.audit-list li{border-top:1px solid #eee;padding:10px 0}.audit-list small{display:block;color:#777;margin-top:4px}.audit-list span{text-transform:capitalize}.back{font-size:14px}#invitation-result{margin-top:24px;border:1px solid #aaa;padding:20px;overflow-wrap:anywhere}#invitation-result>a{display:block;margin:15px 0}#invitation-result>p{font-size:14px;color:#666;margin:15px 0}
@media(min-height:845px){.screen{min-height:100svh}}@media(max-width:600px){.admin-top{gap:18px;padding:20px;flex-wrap:wrap}.admin-top>span{margin-left:0;font-size:12px}.admin-main{padding:25px 16px}.admin-heading{display:block}.admin-heading h1{font-size:30px}.admin-heading .outline{margin-top:18px}.admin-section{padding:20px}.field-grid,.member-grid{grid-template-columns:1fr}.balance{gap:18px}.balance strong{font-size:21px}}@media(max-width:360px){.client-main{padding-left:20px;padding-right:20px}.client-header{padding-left:20px}.client-main h1,.welcome h1{font-size:29px}.card-title{font-size:14px}.share-row{gap:12px}.share-row img{width:125px}.share-text{font-size:16px}.share-row .arrow{right:0}.bottom-nav a{font-size:9px}}
/* Measurements checked against the supplied 390 × 844 PDF pages. */
.bottom-nav{height:72px;padding-top:14px}
.arrow{font-size:22px}
.countdown{margin-top:14px}
.home-photo{margin-top:23px}
.home-divider{margin-top:48px}
.space-row{min-height:100px;padding-top:18px;padding-bottom:20px}
.space-row .arrow{font-size:20px;top:28px;right:2px}
.signature-area img{top:90px;left:119px;width:104px}
.decorative-arrow{font-size:20px;top:22px;right:2px}
.page-5 .client-header{height:86px}
.album-collage{margin-top:12px}
.album-collage>img{object-position:38.2% center}
.album-top{position:relative;overflow:hidden}
.album-collage .album-top img{position:absolute;width:201px;height:300px;max-width:none;left:calc(50% - 100.5px);bottom:0;object-fit:cover}
.space-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;height:100px;min-height:100px;padding:20px 16px 0 0}
.space-row small{margin-top:6px}
.bottom-nav a[aria-current=page]:before{right:auto;left:50%;transform:translateX(-50%);width:30px}
.bottom-nav a:nth-child(1)[aria-current=page]:before,.bottom-nav a:nth-child(5)[aria-current=page]:before{width:25px}
.bottom-nav a:nth-child(2)[aria-current=page]:before{width:38px}
.bottom-nav a:nth-child(3)[aria-current=page]:before{width:50px}
.page-4 .intro{font-size:14px}
.memories-photo{margin-top:37px;height:236px}
.memory-row{padding-bottom:16px;font-size:19px}
.share-text{font-size:17px}
.share-text small{font-size:12px}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);max-width:390px}
.editor-help{font-size:14px;line-height:1.6;color:#666;margin-bottom:22px}
.editable-entry{padding:16px 0;border-bottom:1px solid #ddd;overflow-wrap:anywhere}
.editable-entry>p{white-space:pre-wrap;margin:5px 0 10px}
.entry-editor details,.add-entry,.removed-entries{padding:16px 0}
.data-dialog summary{cursor:pointer;font-size:16px}
.data-dialog details[open]>summary{margin-bottom:18px}
.data-dialog .add-entry{border-top:1px solid #ddd;margin-top:22px}
.removed-entries{border-top:1px solid #ddd;margin-top:16px}
.notification-draft{border-top:1px solid #ddd}
.draft-state{font-size:12px;color:#666;display:inline-block;margin-left:8px}
.draft-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.7;padding:18px;background:#fafafa;border:1px solid #eee}
.album-work{font-family:OpenSansFull,Arial,sans-serif;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.album-status{font-weight:700;border-bottom:1px solid #d6d6d6;padding-bottom:12px}
.album-work details{margin:18px 0}.album-work summary{cursor:pointer;font-weight:600}
.album-work form{margin:20px 0}.album-work label{display:block;margin:14px 0}
.album-work form button{background:#111;color:#fff;border:0;padding:13px 18px;font-size:14px}
.album-work input:not([type=checkbox]),.album-work textarea{display:block;width:100%;box-sizing:border-box}
.album-text{white-space:pre-wrap}.album-review{margin:24px 0;padding-top:12px;border-top:1px solid #ddd}
.album-version,.album-history li{padding:14px 0;border-bottom:1px solid #ddd}
.album-work small{display:block;color:#666}.album-history{padding-left:18px}
.album-tabs{display:flex;gap:8px;border-bottom:1px solid #ddd;margin-bottom:20px}
.album-tabs button{background:white;border:0;border-bottom:2px solid transparent;padding:12px 16px;font:inherit}
.album-tabs button[aria-selected=true]{border-bottom-color:#111;font-weight:700}
.album-work [hidden]{display:none!important}.album-work .outline{margin:16px 0}
.album-actions{display:grid;gap:12px;margin-top:20px}.album-actions .black-link{margin-top:0}
.album-actions .album-secondary{background:white;color:#111;border:1px solid #111}
.gallery-status{border-top:1px solid #ddd;margin-top:22px;padding-top:18px}
.gallery-status h3{margin-bottom:8px;font-size:18px}.gallery-status ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-status li{border:1px solid #ddd;padding:12px}.gallery-status li span{display:block;font-size:13px;color:#666;margin-top:6px}
.gallery-overview>p{margin:12px 0}.gallery-overview>form{margin:18px 0}
@media(max-width:600px){.gallery-status ul{grid-template-columns:1fr}}
.shop-work{font-family:OpenSansFull,Arial,sans-serif;overflow-wrap:anywhere}
.shop-work h3{font-size:18px;font-weight:500;margin:14px 0}
.shop-tabs{display:flex;gap:8px;border-bottom:1px solid #ddd;margin-bottom:20px}
.shop-tabs button{background:white;border:0;border-bottom:2px solid transparent;padding:12px 16px;font:inherit}
.shop-tabs button[aria-pressed=true]{border-bottom-color:#111;font-weight:700}
.shop-work [hidden]{display:none!important}.shop-work .outline{margin:0 0 18px}
.order-line{min-width:0;margin:20px 0;padding:16px;border:1px solid #ddd}
.order-line legend{font-size:14px;padding:0 6px}.order-fields{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.shop-order{border-top:1px solid #ddd;padding:20px 0;overflow-wrap:anywhere}
.shop-order h3{margin-bottom:8px}.shop-order .help{margin-top:6px!important}
.shop-order form{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:16px}
.order-note{white-space:pre-wrap;margin:14px 0}
.shop-history{margin-top:30px}.shop-history>h3{margin-bottom:8px}

/* Administration: review local email drafts. */
.notice-filters select{font:inherit;width:100%;padding:12px;border:1px solid #ccc;border-radius:0;background:#fff;color:#121310;min-width:0}
.notice-filters select:focus-visible{outline:2px solid #151515;outline-offset:4px}
.notice-card{border-top:1px solid #ddd;padding-top:20px;overflow-wrap:anywhere}
.notice-card>.help{margin-bottom:0!important}
.notice-pages{display:flex;justify-content:space-between;gap:16px;margin-top:20px;flex-wrap:wrap}

/* Montserrat is bundled locally. Only text typography changes; brand images and layout stay intact. */
@font-face{font-family:Montserrat;src:url('/assets/Montserrat-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--text-font:Montserrat,Arial,sans-serif}
body,.customer.page-1,.customer.page-2,.customer.page-3,.customer.page-4,.customer.page-5,.customer.page-6,
.tagline,.before h2,.preview-bar,.data-dialog,#notice,.album-work,.shop-work{font-family:var(--text-font)}
select{font-family:inherit}
