/* 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}}

#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}
