/* Shared brand lockup, control scale, typography and interaction finish. */
.family-finish{--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-family:var(--sans);text-rendering:optimizeLegibility}
.family-finish .family-brand{display:inline-flex;flex:none;align-items:center;gap:10px;min-height:48px;letter-spacing:normal}.family-finish .family-brand>img{display:block;flex:0 0 40px;width:40px;height:40px;max-width:none;object-fit:contain}.family-finish .family-brand>span{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.family-finish .family-brand strong{font:400 32px/1 var(--serif);letter-spacing:-1.05px;margin:0;white-space:nowrap}.family-finish .family-brand small{font:500 9px/1.2 var(--sans);letter-spacing:1.8px;margin:0;white-space:nowrap;color:var(--muted)}
.family-header{min-height:88px;height:auto;padding-block:16px;gap:28px}.family-nav{gap:24px}.family-nav>a{display:inline-flex;align-items:center;min-height:44px;font:500 14px/1.4 var(--sans);white-space:nowrap}
.family-finish h1,.family-finish h2,.family-finish h3{text-wrap:balance}.family-finish p{overflow-wrap:break-word}.family-finish :is(input,textarea,button){font-family:var(--sans)}
.family-finish :is(.button,.v1p-button),.family-header .family-cta{border-radius:999px;min-height:48px;padding:13px 23px;gap:16px;font:500 15px/1.4 var(--sans);letter-spacing:-.01em;text-align:center;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;box-shadow:none}.family-finish :is(.button.outline,.button.secondary){background:transparent;color:var(--ink);border:1px solid var(--ink)}.family-finish :is(.button,.v1p-button):disabled{opacity:.55;cursor:not-allowed}.family-finish :is(.button,.v1p-button):active{filter:brightness(.94)}
.family-finish .text-link,.family-finish .v1p-text-button{font-family:var(--sans);font-size:15px;line-height:1.45;min-height:44px}.family-finish :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.family-finish :is(input[type=email],input[type=text],textarea){border-radius:8px;font-size:16px;line-height:1.5;padding:13px 15px;border:1px solid #a7b2a4;background:var(--white);color:var(--ink);box-shadow:none}.family-finish input[type=email]{min-height:52px}.family-finish textarea{resize:vertical}
.family-finish .purchase{border-radius:12px}.family-finish .purchase>h2{line-height:1.15;margin-bottom:24px}.family-finish .purchase .button{width:100%;min-height:52px}.family-finish .plan-option{border-radius:8px}.family-finish .plan-option:has(input:checked){border-color:var(--ink);background:#e9eee3}.family-finish input[type=radio]{accent-color:var(--ink);width:18px;height:18px;flex-shrink:0}
.family-finish .enlarge{border-radius:999px;min-height:44px;padding:10px 15px;font-size:13px}.family-finish .family-dialog,.ed-photo-dialog{border-radius:14px}.family-finish .dialog-actions button,.ed-photo-dialog header button{min-height:44px;padding:10px 16px;border-radius:999px;font:500 14px/1.4 var(--sans);border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.family-finish .collection-switch-options a{border-radius:8px;font-family:var(--sans)}.family-finish .alternative-card{border-radius:10px}.family-finish .alternative-card>strong{letter-spacing:-.025em}.family-finish .faq summary,.family-finish .family-help-section summary{min-height:56px;line-height:1.5;font-size:16px}.family-finish .kicker{font-size:11px;letter-spacing:.15em}
.family-finish .family-footer{padding-block:48px 34px}.family-footer .footer-inner{gap:32px}.family-footer .footer-inner>div{gap:2px}.family-footer .footer-inner>div>a:not(.family-brand){display:inline-flex;align-items:center;min-height:36px;font-size:14px}.family-footer .footer-inner>div:first-child>p{font-size:14px;line-height:1.65;margin:16px 0 8px}.family-footer .footer-bottom{font-size:12px;line-height:1.8}
.family-finish .preorder-sticky[hidden]{display:none!important}.family-finish .preorder-sticky .button{min-height:44px;padding:10px 20px}.family-finish .family-menu-toggle{border-radius:999px;min-width:72px;min-height:44px;font:500 14px/1.4 var(--sans)}
@media(hover:hover){.family-finish :is(.button.outline,.button.secondary):hover{background:#e6ebdf;color:var(--ink);border-color:var(--ink)}.family-header .family-cta:hover{background:#355548}.family-nav>a:hover,.family-footer a:hover{color:#446853}}
@media(max-width:1020px){.family-header{min-height:80px;padding:14px 24px}.family-header>.family-cta{display:none}.family-menu-toggle{display:block}.family-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 24px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 24px #17342512;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 100px);overflow-y:auto}.family-nav[data-open=true]{display:flex}.family-nav>a{padding:13px 0;min-height:48px;border-bottom:1px solid var(--line);font-size:16px}}
@media(max-width:740px){.family-header{min-height:76px;padding:12px 18px}.family-finish .family-brand>img{flex-basis:34px;width:34px;height:34px}.family-finish .family-brand{gap:9px;min-height:44px}.family-finish .family-brand strong{font-size:29px;letter-spacing:-.8px}.family-finish .family-brand small{font-size:8px;letter-spacing:1.65px}.family-finish .family-brand>span{gap:4px}.family-finish .button,.family-finish .v1p-button{font-size:15px;min-height:48px;padding:12px 20px}.family-finish .gallery-detail-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.family-finish .gallery-detail-links{gap:4px 20px;padding-bottom:10px}.family-finish .preorder-summary h1{line-height:1.1}.family-finish .preorder-summary h1 span{display:block;margin:8px 0 0;line-height:1.15}.family-finish .preorder-summary p:not(.kicker){font-size:16px;line-height:1.6}.family-finish .preorder-grid{padding-top:24px}.family-finish .included .included-basics{font-size:16px}.family-finish .purchase h2{font-size:30px}.family-finish .family-footer{padding:36px 22px 30px}.family-footer .footer-inner>div>a:not(.family-brand){min-height:44px}.family-footer .footer-bottom a{display:inline-block;padding:6px 0}.family-finish .ed-product-category,.family-finish .ed-studio-price small{font-size:12px}.family-finish .ed-together small{font-size:13px;line-height:1.65}}
.family-finish .purchase input[type=email]{border-radius:8px;font:400 16px/1.5 var(--sans);padding:13px 15px;min-height:52px}
.family-finish #main>.detail-intro{padding-top:clamp(36px,4vw,64px);padding-bottom:32px}.family-finish .album-links a{border-radius:999px;min-height:48px;font:500 15px/1.4 var(--sans)}.family-finish .help-topics a{border-radius:8px}
.family-finish .family-footer .footer-bottom>span,.family-finish .family-footer .footer-bottom>nav{margin:0;text-align:left}
.family-finish .family-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;flex-wrap:wrap}.family-finish .family-footer .footer-bottom nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px 24px}.family-finish .family-footer .footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;margin:0;font:400 12px/1.5 var(--sans)}
@media(prefers-reduced-motion:reduce){.family-finish *{scroll-behavior:auto!important;transition:none!important}}

/* Keep the existing preorder shortcut available before the longer product details. */
@media(max-width:740px){
 .family-page.family-finish.has-preorder .preorder-summary .actions{display:flex;margin-top:16px;gap:12px}
 .family-page.family-finish.has-preorder .preorder-summary .actions>.button{width:100%;min-height:48px}
}

#progress-posts:not(:empty){padding-block:32px 64px}#progress-posts .journal{padding:28px 0;border-top:1px solid #d3d8c8;display:grid;grid-template-columns:180px 1fr;gap:24px}#progress-posts time{font-size:14px}#progress-posts h2{font-size:28px}#progress-posts p{max-width:65ch}@media(max-width:640px){#progress-posts .journal{grid-template-columns:1fr;gap:12px}}

.family-footer .footer-inner{grid-template-columns:1.2fr repeat(4,1fr);gap:28px}.family-footer .footer-inner>div>a{line-height:1.5}.family-footer .footer-bottom>span>a{display:inline;padding:0}.family-footer .footer-inner>div:last-child>p{font-size:12px;line-height:1.6;margin-top:12px}@media(min-width:741px) and (max-width:1100px){.family-footer .footer-inner{grid-template-columns:repeat(4,1fr)}.family-footer .footer-inner>div:first-child{grid-column:1/-1}}@media(max-width:740px){.family-footer .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.family-footer .footer-inner>div:first-child{grid-column:1/-1}.family-footer .footer-bottom nav{column-gap:20px}}

.support-launcher{position:fixed;right:20px;bottom:20px;z-index:24;display:grid;justify-items:end;gap:10px}.support-launcher>button{border:1px solid #d6d9cb;border-radius:999px;background:#fffdf8;color:#293c32;box-shadow:0 7px 24px #22352624;min-height:46px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer}.support-launcher>button span{margin-left:6px}.support-launcher-panel{width:min(310px,calc(100vw - 32px));padding:18px 20px;border:1px solid #d6d9cb;border-radius:12px;background:#fffdf8;box-shadow:0 12px 35px #22352625;text-align:left}.support-launcher-panel strong{font-size:15px}.support-launcher-panel p{font-size:13px;margin:7px 0 13px}.support-launcher-panel a{display:block;font-size:14px;margin:8px 0 0;font-weight:600;text-decoration:none}.support-launcher-panel a:hover{text-decoration:underline}@media(max-width:700px){.support-launcher{right:12px;bottom:calc(85px + env(safe-area-inset-bottom))}.page-preorder .support-launcher{bottom:12px}.support-launcher>button{min-height:42px;font-size:12px;padding:8px 13px}.support-launcher-panel{width:min(300px,calc(100vw - 24px))}}@media(max-width:700px) and (max-height:500px){.support-launcher{bottom:12px}}
.support-launcher{font:14px/1.6 var(--sans)}.support-launcher>button{font:600 14px/1.4 var(--sans);min-height:44px}.support-launcher-panel[hidden]{display:none!important}.support-launcher-panel a{min-height:44px;display:flex;align-items:center}
/* Keep the current footer independent of legacy private-page footer colors. */
footer.family-footer.trust-footer{background:#e5e5d9;color:#203b32;padding:48px 40px 40px;margin-top:0}
footer.family-footer.trust-footer a,footer.family-footer.trust-footer h3,footer.family-footer.trust-footer .family-brand strong{color:#203b32}
footer.family-footer.trust-footer .family-brand small,footer.family-footer.trust-footer .footer-bottom{color:#526357}
footer.family-footer.trust-footer .footer-bottom a{font-size:13px}
footer.family-footer.trust-footer .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:16px 28px}
footer.family-footer.trust-footer .footer-bottom>span{font:13px/1.5 var(--sans);margin:0}
footer.family-footer.trust-footer .footer-bottom nav{width:auto;justify-content:flex-start}
@media(max-width:700px){footer.family-footer.trust-footer{padding:36px 22px 40px}}
/* Quiet, image-first browsing. The image itself remains keyboard accessible. */
.ed-photo-controls,.family-page .enlarge,.family-page .gallery-bottom-quiet{display:none!important}
[data-photo-reel],.family-page .gallery-stage{cursor:zoom-in;touch-action:pan-y}
[data-photo-reel]:focus-visible,.family-page .gallery-stage:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ed-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.ed-tabs button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-width:0;gap:8px;padding:20px 24px;vertical-align:top}
.ed-tabs .ed-tab-title{display:block;font:400 26px/1.2 var(--serif);letter-spacing:-.5px;white-space:nowrap}
.ed-tabs small{display:block;padding:0;margin:0;line-height:1.5}
.ed-relationships .ed-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.ed-relationships .ed-tabs button{align-items:center}.ed-relationships .ed-tab-title{font-size:21px;white-space:normal}
.ed-covenant-story{padding-top:72px}.ed-covenant-story .ed-photo-reel.photo-contain .ed-photo-frame:first-child img{object-fit:cover;object-position:50% 34%}
.terms-products{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:24px}.terms-products a{min-height:44px;display:flex;align-items:center}
.terms-product{scroll-margin-top:110px;padding:20px 0;border-bottom:1px solid var(--line)}.terms-product h3{font-size:28px;margin-bottom:14px}
.ed-tabs.four-products{grid-template-columns:repeat(4,minmax(0,1fr))}
.ed-grace-story{background:#eae3d7;margin-top:0;padding-block:36px}.ed-grace-story .ed-story-copy{padding-block:48px}
.ed-studio-v3{background:#e9dfcf}.ed-studio-v3 img{object-fit:contain}
.grace-how{padding-block:70px;border-top:1px solid var(--line)}.grace-how-heading{max-width:700px}.grace-how-heading h2{line-height:1.1}.grace-how-heading>p:last-child{color:var(--muted)}
.grace-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:38px 0 0;gap:32px}.grace-steps li{padding:25px 0;border-top:1px solid var(--line)}.grace-step-icon{display:block;font:italic 27px var(--serif);color:var(--accent);margin-bottom:26px}.grace-steps h3{font-size:30px;line-height:1.15}.grace-steps p{font-size:15px;color:var(--muted);line-height:1.7;max-width:32ch}.grace-development{font-size:13px;color:var(--muted);margin:24px 0 0!important}
.grace-page .preorder-summary h1 span{font-size:.52em;line-height:1.18;letter-spacing:-.03em;margin-top:14px}.grace-page .included-bonus p{font-size:15px;line-height:1.65}.grace-page .product-basics{margin-top:10px}
.family-page .collection-switch-options{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0}.family-page .collection-switch-options a{min-width:0}
.alternative-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.ed-tabs.four-products .ed-tab-title{font-size:23px}.family-page .product-subnav{display:block}.family-page .collection-switch-options{margin-top:10px}}
@media(max-width:740px){
 .ed-tabs.four-products{grid-template-columns:repeat(2,minmax(0,1fr))}.ed-tabs.four-products button{min-height:85px;padding:15px 18px;border-bottom:1px solid var(--line)}.ed-tabs.four-products .ed-tab-title{font-size:23px;white-space:normal}.ed-tabs.four-products small{font-size:12px}
 .family-page .collection-switch-options{grid-template-columns:repeat(2,minmax(0,1fr))}.family-page .collection-switch-options a{padding:10px 12px;font-size:13px}.alternative-options{grid-template-columns:1fr}
 .ed-grace-story{padding-block:32px}.ed-grace-story .ed-story-copy{padding-block:26px}.grace-how{padding-block:40px}.grace-steps{grid-template-columns:1fr;gap:0;margin-top:24px}.grace-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:22px 0}.grace-step-icon{grid-row:1/3;margin:0}.grace-steps h3{font-size:27px}.grace-steps p{margin:12px 0 0;max-width:none}.grace-page .preorder-summary h1 span{font-size:.63em}
}
@media(max-width:740px){
 .ed-brand-hero .ed-hero-photo{height:330px;flex:none}
 .ed-brand-hero .ed-hero-copy{margin:0;padding:24px 25px 32px;width:100%}
 .ed-brand-hero .ed-hero-copy .kicker{font-size:10px;line-height:1.6;margin:0 0 18px;letter-spacing:.1em}
 .ed-brand-hero .ed-hero-copy>p:not(.kicker){margin:20px 0 24px}
 .ed-covenant-story{padding-top:40px}
 .ed-tabs button{padding:16px 9px;min-height:88px;gap:6px;align-items:flex-start;justify-content:flex-start}
 .ed-tabs .ed-tab-title{font-size:clamp(15px,4.1vw,21px);line-height:1.25;letter-spacing:-.4px}
 .ed-tabs small{font-size:10px;line-height:1.5;white-space:normal}
 .ed-gift-copy h1{font-size:clamp(48px,12vw,68px);line-height:1.02}
}

/* The collection shares one editorial rhythm, including the darker home product. */
.ed-hero-photo .ed-photo-reel .photo-hero-grace img{object-fit:cover;object-position:64% center}
@media(max-width:740px){.ed-hero-photo .ed-photo-reel .photo-hero-grace img{object-position:72% center}}
.editorial-page .family-product-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);width:min(1440px,calc(100% - 80px));min-height:0;margin:0 auto 48px;padding:0;gap:0;align-items:stretch;background:#eae5d9;overflow:hidden;border-radius:14px}
.editorial-page .family-product-story:first-of-type{margin-top:64px}
.editorial-page .ed-covenant-story.family-product-story{margin-top:64px}
.family-product-story .family-story-media{min-width:0;align-self:center;position:relative;overflow:hidden;order:0}
.family-product-story .family-story-media>.ed-photo-reel{width:100%;height:auto;min-height:0;aspect-ratio:3/2;background:transparent}
.family-product-story .family-story-media .ed-photo-frame img{object-fit:contain;width:100%;height:100%;object-position:center}
.family-product-story .family-story-copy{min-width:0;padding:40px clamp(26px,3.5vw,52px);align-self:center;order:1}
.family-product-story .family-story-copy h2{font-size:clamp(32px,3.1vw,46px);line-height:1.12;letter-spacing:-.04em;margin:0}
.family-product-story .family-story-copy .kicker{margin:0 0 20px}
.family-product-story .family-story-copy>p:not(.kicker){font-size:16px;line-height:1.7;max-width:36ch;margin:22px 0 26px;color:var(--muted)}
.family-product-story .family-story-copy .button{display:inline-flex;min-height:48px;padding:13px 22px;font-size:15px}
.family-product-story.story-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.family-product-story.story-reverse .family-story-media{order:1}.family-product-story.story-reverse .family-story-copy{order:0}
.editorial-page .family-product-story.ed-sanctuary-story{background:#29382e;color:#fff5e5}
.family-product-story.ed-sanctuary-story .family-story-copy em{color:#d8b98a}
.family-product-story.ed-sanctuary-story .family-story-copy>p:not(.kicker){color:#e0dfd1}
.family-product-story.ed-sanctuary-story .family-story-copy .button.secondary{color:#fff5e5;border-color:#bdc5b8;background:transparent}
.editorial-page .family-product-story.ed-grace-story{background:#e4e7dc}
.family-page .product-subnav .collection-switch-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.grace-page .preorder-grid{grid-template-areas:'gallery summary' 'story story' 'benefits checkout' 'detail checkout'}
.grace-page .grace-how{grid-area:story;padding:44px 0 24px;margin:12px 0 0;width:100%}
.grace-how-heading h2,.grace-appearance-heading h2{font-size:clamp(34px,3.4vw,48px)}
.grace-appearance{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:center;padding-block:64px;border-top:1px solid var(--line)}
.grace-appearance-heading p:last-child{font-size:15px;line-height:1.75;color:var(--muted);max-width:36ch;margin:24px 0 0}
.grace-angle-sheet{height:auto;aspect-ratio:1247/1261;border-radius:12px;background:#e6e1d8}
@media(max-width:1000px){.editorial-page .family-product-story{width:calc(100% - 48px)}.family-product-story .family-story-copy{padding:30px}.family-product-story .family-story-copy h2{font-size:34px}.family-product-story .family-story-copy>p:not(.kicker){font-size:15px}.grace-appearance{gap:32px}}
@media(max-width:740px){
 .editorial-page .family-product-story,.editorial-page .family-product-story.story-reverse{width:calc(100% - 36px);grid-template-columns:1fr;margin-bottom:32px;border-radius:10px}
 .editorial-page .ed-covenant-story.family-product-story{margin-top:36px}
 .family-product-story .family-story-media,.family-product-story.story-reverse .family-story-media{order:0}
 .family-product-story .family-story-copy,.family-product-story.story-reverse .family-story-copy{order:1;padding:28px 25px 30px}
 .family-product-story .family-story-copy h2{font-size:35px;line-height:1.12}
 .family-product-story .family-story-copy .kicker{font-size:10px;line-height:1.6;margin-bottom:16px}
 .family-product-story .family-story-copy>p:not(.kicker){font-size:15px;line-height:1.65;margin:20px 0 24px}
 .family-product-story .family-story-copy .button{font-size:14px;padding:12px 18px}
 .family-page .product-subnav .collection-switch-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .family-page .product-subnav .collection-switch-options a{flex-direction:row;min-height:48px;padding:10px 12px;gap:8px}
 .grace-page .grace-how{order:2;padding:32px 0 12px;margin-top:0}.grace-page .included{order:3}.grace-page .purchase{order:4}.grace-page .product-basics{order:5}
 .grace-appearance{grid-template-columns:1fr;gap:30px;padding-block:40px}.grace-appearance-heading p:last-child{max-width:none}.grace-angle-sheet{max-width:100%;height:auto}
}

/* Keep progress/errors adjacent to the primary checkout action on every product. */
.family-page .purchase .checkout-feedback{font-size:15px;line-height:1.5;margin:10px 0 0;overflow-wrap:anywhere}
.family-page .purchase .checkout-feedback:empty{display:none}
.family-page .purchase .checkout-feedback[data-state="loading"],.family-page .purchase .checkout-feedback[data-state="notice"]{color:var(--muted)}
.family-page .purchase .checkout-availability-retry{margin-top:8px;min-height:44px;font-size:15px;background:transparent;color:var(--ink);cursor:pointer}
