/* Homepage responsive states: reading flow, compact (<1100), phone (<768).
   Desktop composition stays in the original sheets. Tablet continuity uses the
   same media targets when there is at least 900px of height. */
.site-menu-toggle{display:none}
.site-header nav>a{min-width:44px;justify-content:center;display:inline-flex;align-items:center;min-height:44px}
.site-header .header-auth-actions>.button-sm{min-height:44px;height:auto}
.site-header .site-brand{flex-shrink:0}
.scrolly .vault-frame,.scrolly .vault-frame *{min-width:0}

/* Every non-pinned state is a complete narrative, including reduced motion on
   a wide display. Intrinsic heights replace viewport-sized clipping boxes. */
body:not(.motion-story) .scene{min-height:0;height:auto;overflow:visible}
body:not(.motion-story) #beginning{padding:clamp(144px,18svh,200px) 5vw 72px}
body:not(.motion-story) #beginning .hero-photo{width:min(1060px,100%)}
body:not(.motion-story) #pieces{padding:64px 5vw 88px;overflow:hidden}
body:not(.motion-story) #pieces .archive-scatter{width:min(1100px,100%);height:640px}
body:not(.motion-story) #pieces .problem-conclusion{margin-top:64px}
body:not(.motion-story) #family-record{min-height:72svh;justify-content:center;padding:88px 5vw}
body:not(.motion-story) #family-record .solution-explanation{width:min(805px,100%);margin-top:36px}
body:not(.motion-story) #family-record .support{font-size:17px;line-height:1.65}
/* Desktop explanation has its own reading weight; the story measures its clearance. */
@media(min-width:1100px){
 #beginning .hero-copy p,.motion-story #beginning .hero-copy p{max-width:920px;font-size:19px;line-height:1.6}
 #pieces .problem-conclusion p{font-size:19px;line-height:1.6}
 #family-record .solution-explanation,body:not(.motion-story) #family-record .solution-explanation{width:min(840px,90vw)}
 #family-record .solution-explanation .support{max-width:840px;margin:0 auto;font-size:1.75rem;line-height:1.43;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
 #family-record .solution-outcome{display:block}
}
body:not(.motion-story) #memory{padding:32px 4vw 56px;gap:64px}
body:not(.motion-story) #timeline{padding:48px 4vw 80px}
body:not(.motion-story) .vault-frame{width:min(1200px,100%);height:auto}
body:not(.motion-story) .vault-board,body:not(.motion-story) .vault-detail-board{height:auto}
body:not(.motion-story) .vault-overview-featured{height:auto;--overview-feature-height:310px}
body:not(.motion-story) .vault-overview-featured .vault-tile-jump>.photo-slot,
body:not(.motion-story) .vault-overview-featured .vault-tile-log>.vault-media,
body:not(.motion-story) .vault-overview-strip .vault-media,
body:not(.motion-story) .vault-detail-main>.photo-slot{width:100%}
body:not(.motion-story) .vault-overview-strip .vault-media-deed{width:min(100%,104px)}
body:not(.motion-story) .vault-overview-strip{margin-top:12px}
body:not(.motion-story) .vault-detail-description blockquote{font-size:16px;line-height:1.6}
body:not(.motion-story) .vault-timeline .vault-timeline-board{--timeline-media-height:120px}
body:not(.motion-story) .vault-timeline .vault-timeline-board>.vault-tile{max-width:none}
body:not(.motion-story) .vault-tile>figcaption>strong{font-size:14px;line-height:1.4}
body:not(.motion-story) .vault-tile figcaption>span{font-size:12px;line-height:1.45}
body:not(.motion-story) .vault-detail-facts,body:not(.motion-story) .vault-description-source{font-size:13px}
body:not(.motion-story) .vault-detail-photo-meta{flex-wrap:wrap;font-size:12px}
body:not(.motion-story) .vault-small-label{font-size:12px}
body:not(.motion-story) .vault-detail-people{flex-wrap:wrap}
body:not(.motion-story) .vault-person{font-size:13px}
body:not(.motion-story) .vault-detail-attachments .vault-media-audio{height:108px}
body:not(.motion-story) .vault-audio-owner{font-size:13px}
body:not(.motion-story) .vault-audio-duration,body:not(.motion-story) .vault-audio-duration b{font-size:12px}
body:not(.motion-story) .vault-timeline-context{margin-top:16px}
body:not(.motion-story) .vault-timeline-context p{font-size:14px}
body:not(.motion-story) .vault-timeline-context .vault-small-label{font-size:12px}
body:not(.motion-story) .vault-timeline-context .vault-tile{min-width:0}
body:not(.motion-story) .vault-timeline-context .vault-tile>figcaption{max-width:none}

@media(max-width:1099px){
 .site-header{padding-inline:4vw}
 .site-header nav{gap:clamp(14px,2vw,24px)}
 .site-header .site-brand img{width:clamp(208px,26vw,250px)}
 .site-header .header-auth-actions{gap:8px}
 .scrolly{--vault-width:92vw;--vault-height:640px}
 #beginning .hero-copy h1{max-width:17ch;font-size:clamp(48px,6.7vw,72px);line-height:1.07}
 #beginning .hero-copy p{max-width:660px;font-size:17px;line-height:1.6}
 #beginning .hero-copy p br{display:none}
 #beginning .hero-photo{width:100%}
 body:not(.motion-story) #beginning{padding-top:148px;padding-bottom:64px}
 body:not(.motion-story) #pieces .archive-scatter{max-width:720px;display:grid;grid-template-columns:1.15fr 1fr;grid-template-areas:'jump jump' 'log video' 'log audio';gap:24px;align-items:center;height:auto;margin-top:12px}
 body:not(.motion-story) #pieces .archive-fragment,body:not(.motion-story) #pieces .pieces-photo{position:relative;inset:auto;width:100%;transform:none;margin:0;padding:0}
 body:not(.motion-story) #pieces .pieces-photo{grid-area:jump;box-shadow:none;background:transparent}
 body:not(.motion-story) #pieces .archive-log{grid-area:log;width:80%;justify-self:center;transform:rotate(-3deg);box-shadow:none}
 body:not(.motion-story) #pieces .archive-video{grid-area:video;transform:rotate(2deg)}
 body:not(.motion-story) #pieces .archive-audio{grid-area:audio;transform:rotate(-2deg)}
 body:not(.motion-story) #pieces :is(.archive-summers,.archive-postcard,.archive-deed,.archive-again,.archive-written-note){display:none}
 #family-record h2{font-size:clamp(48px,6.7vw,72px)}
 .vault-search,.vault-view-label,.vault-private,.vault-category-sidebar,.vault-detail-browser{display:none}
 .vault-members>span{display:none}
 .vault-topbar{height:56px;padding:14px 24px}
 .vault-topbar>img{width:170px}
 .vault-name{font-size:12px}
 .vault-navigation{top:76px;right:24px;max-width:calc(100% - 48px)}
 .vault-navigation>span{font-size:12px;padding:7px 10px}
 .vault-navigation>span:first-child{display:none}
 .vault-album-title{height:84px;padding:16px 24px}
 .vault-album-title h3{font-size:24px}
 .vault-album-title p{font-size:12px}
 .vault-overview-board{display:block;padding:0 24px 28px}
 .vault-overview-featured{grid-template-columns:1.4fr .6fr;gap:24px}
 .vault-overview-featured .vault-tile-log>.vault-media{max-width:160px}
 .vault-overview-context{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px}
 .vault-family-context{grid-column:1/-1}
 .vault-overview-context .vault-media-audio{height:104px}
 .vault-excerpt blockquote{font-size:21px}
 .vault-excerpt>.vault-small-label,.vault-excerpt-source{font-size:12px}
 .vault-overview-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .vault-detail-board{grid-template-columns:1fr 1fr;padding:4px 24px 28px;gap:24px}
 .vault-detail-title{flex-wrap:wrap;gap:8px;padding-bottom:16px}
 .vault-detail-title h3{font-size:24px}
 .vault-detail-title>span{font-size:12px}
 .vault-detail-facts{display:flex;gap:10px 16px}
 .vault-attachment-grid{grid-template-columns:70px minmax(0,1fr);gap:16px}
 .vault-attachment-grid .vault-media-log{width:70px}
 .vault-timeline .vault-timeline-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;padding:20px 24px 28px}
 .vault-timeline .vault-timeline-board>.vault-tile{grid-row:auto}
 .vault-timeline .vault-timeline-board>.vault-tile>.vault-media,
 .vault-timeline .vault-timeline-board>.vault-tile>.photo-slot{width:100%}
 .vault-timeline .vault-board:before{display:none}
 .vault-timeline-context{grid-row:auto;grid-template-columns:1fr;gap:24px}
 .vault-timeline-source,.vault-timeline-records{justify-content:space-between;gap:20px}
 .vault-timeline-context p{max-width:36ch}
}

/* Tablet: continuous shared objects in fewer lanes, only in a tall viewport. */
@media(min-width:768px) and (max-width:1099px){
 .motion-story{--tablet-story:1}
 .motion-story .scrolly{--vault-width:94vw;--vault-height:min(720px,calc(100svh - 190px));--vault-detail-height:min(720px,calc(100svh - 190px));--vault-chrome-height:128px;--vault-product-top:112px;--vault-detail-top:112px;--vault-timeline-top:200px;--opening-headline-top:21svh}
 .motion-story #beginning .hero-photo{width:var(--tablet-hero-width,90vw)}
 .motion-story #beginning .hero-photo .photo-slot,.motion-story #beginning .hero-photo .photo-crop{aspect-ratio:1.65}
 .motion-story #pieces .archive-scatter{width:94vw;height:500px}
 .motion-story #pieces .pieces-photo{width:44%;top:18%}
 .motion-story #pieces .archive-log{--fw:19%;--fx:77%;--fy:2%}
 .motion-story #pieces .archive-video{--fw:28%;--fx:65%;--fy:62%}
 .motion-story #pieces .archive-audio{--fw:28%;--fx:2%;--fy:6%}
 .motion-story #pieces .archive-written-note{display:none}
 .motion-story #family-record h2{font-size:clamp(52px,6.7vw,70px)}
 .motion-story #family-record .solution-explanation{width:min(640px,88vw)}
 .motion-story #family-record .support{font-size:22px;line-height:1.5;text-wrap:balance}
 .motion-story #timeline>.scene-heading{top:96px}
 .motion-story #timeline .scene-heading h2{font-size:40px}
 .motion-story #timeline .scene-heading .support{font-size:16px;margin-top:12px}
 .motion-story .vault-frame{height:var(--vault-current-height,var(--vault-height))}
 .motion-story .vault-timeline{--vault-current-height:min(700px,calc(100svh - 220px))}
 .motion-story .vault-topbar{height:54px}
 .motion-story .vault-album-title{height:74px}
 .motion-story .vault-navigation{top:74px}
 .motion-story .vault-overview-board{height:calc(var(--vault-current-height,var(--vault-height)) - var(--vault-chrome-height));padding:8px 24px 24px}
 .motion-story .vault-overview-featured{grid-template-columns:1.2fr .55fr 1fr;height:auto;gap:18px}
 .motion-story .vault-overview-featured .vault-tile-jump>.photo-slot{width:100%}
 .motion-story .vault-overview-featured .vault-tile-log>.vault-media{width:100%}
 .motion-story .vault-overview-context{grid-column:auto;display:flex;gap:14px}
 .motion-story .vault-overview-context .vault-media-audio{height:90px}
 .motion-story .vault-excerpt blockquote{font-size:18px}
 .motion-story .vault-family-context{display:none}
 .motion-story .vault-overview-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:12px}
 .motion-story .vault-overview-strip .vault-media{width:100%}
 .motion-story .vault-overview-strip .vault-media-deed{width:min(80px,100%)}
 .motion-story .vault-overview-featured,.motion-story .vault-overview-strip{grid-template-rows:auto auto;row-gap:0;align-items:stretch}
 .motion-story .vault-overview-featured>.vault-tile,.motion-story .vault-overview-strip>.vault-tile{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
 .motion-story .vault-overview-featured>.vault-tile>.photo-slot,.motion-story .vault-overview-featured>.vault-tile>.vault-media,.motion-story .vault-overview-strip>.vault-tile>.vault-media{align-self:end}
 .motion-story .vault-overview-featured>.vault-overview-context{grid-row:span 2;align-self:start}
 .motion-story .vault-tile>figcaption>strong,.motion-story .carrier-caption strong{font-size:13px}
 .motion-story .vault-tile figcaption>span,.motion-story .carrier-caption>span{font-size:11px}
 .motion-story .vault-detail-board{height:calc(var(--vault-current-height,var(--vault-height)) - var(--vault-chrome-height));grid-template-columns:1fr 1fr;gap:22px;padding:8px 24px 24px}
 .motion-story .vault-detail-main>.photo-slot{width:100%}
 .motion-story .vault-detail-facts{font-size:13px}
 .motion-story .vault-detail-description blockquote{font-size:15px;line-height:1.5}
 .motion-story .vault-detail-description>.vault-small-label{font-size:12px}
 .motion-story .vault-attachment-grid .vault-media-audio{height:102px}
 .motion-story .vault-timeline .vault-timeline-board,.motion-story .shared-timeline-content .vault-timeline-board{--timeline-media-height:90px;height:calc(var(--vault-current-height,var(--vault-height)) - var(--vault-chrome-height));grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:max-content max-content max-content;gap:20px 24px;padding:12px 24px 24px}
 .motion-story .shared-overview-content .vault-overview-board,.motion-story .shared-detail-content .vault-detail-board,.motion-story .shared-timeline-content .vault-timeline-board{height:100%}
 .motion-story .vault-timeline-board>.vault-tile,.motion-story .vault-timeline .vault-timeline-board>.vault-tile{grid-row:auto}
 .motion-story .vault-timeline-board>.vault-tile>.vault-media,.motion-story .vault-timeline-board>.vault-tile>.photo-slot,
 .motion-story .vault-timeline .vault-timeline-board>.vault-tile>.vault-media,.motion-story .vault-timeline .vault-timeline-board>.vault-tile>.photo-slot{width:min(100%,120px)}
 .motion-story .vault-timeline-board>.vault-tile>.vault-media-audio,.motion-story .vault-timeline .vault-timeline-board>.vault-tile>.vault-media-audio{width:100%;height:90px}
 .motion-story .vault-timeline-board>.vault-tile>.vault-media-deed,.motion-story .vault-timeline .vault-timeline-board>.vault-tile>.vault-media-deed{width:68.4px}
 .motion-story .shared-timeline-content .vault-board:before{display:none}
 .motion-story .vault-timeline-context{grid-row:3;grid-template-columns:1fr;gap:18px;padding-top:14px}
 .motion-story .artifact-carrier-audio .vault-audio-owner{font-size:calc(12px / var(--media-scale,1))}
 .motion-story .artifact-carrier-audio .vault-audio-duration{font-size:calc(11px / var(--media-scale,1))}
 .motion-story .vault-timeline-context p{font-size:12px}
 .motion-story .vault-timeline-context .vault-small-label{font-size:11px}
 .motion-story .vault-timeline-context .vault-tile{min-width:0;display:block;flex:0 0 60px}
 .motion-story .vault-timeline-context .vault-media{width:42px}
 .motion-story .vault-timeline-context .vault-tile>figcaption{display:none}
 .motion-story .vault-timeline .vault-year,.motion-story .shared-timeline-content .vault-year{margin-bottom:18px;font-size:18px}
}

/* Phone: a composed vertical story, full-size photograph, legible product views. */
@media(max-width:767px){
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:80px;padding:18px 5vw;gap:12px;background:var(--paper)}
 .site-header .site-brand{min-width:0;max-width:100%}
 .site-header .site-brand img{width:clamp(185px,48vw,235px);max-width:100%}
 .site-header .site-tagline{font-size:10px}
 .site-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:64px;padding:8px 10px;border:1px solid var(--line);border-radius:99px;background:var(--paper);font:500 14px/1 var(--sans)}
 .site-menu-toggle svg{width:16px;height:16px}
 .site-header nav{grid-column:1/-1;width:100%;display:flex;align-items:stretch;flex-direction:column;gap:0;padding-top:16px}
 .site-header nav>a:not(.button){display:flex;justify-content:flex-start;min-height:48px;padding:10px 14px}
 .site-header .header-auth-actions{padding:12px 14px;gap:12px}
 .site-header .header-auth-actions>.secondary-gray{display:inline-flex}
 .navigation-ready .site-header nav{position:absolute;top:calc(100% + 8px);left:5vw;right:5vw;width:auto;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 28px -10px color-mix(in srgb,var(--shadow-color) 18%,transparent)}
 .navigation-ready .site-header nav{max-height:calc(100dvh - var(--site-header-height,80px) - 24px);overflow-y:auto;overscroll-behavior:contain}
 .navigation-ready .site-header nav:not(.is-open){display:none}
 body:not(.navigation-ready) .site-header{position:relative}
 body:not(.navigation-ready) .site-menu-toggle{display:none}
 body:not(.motion-story) #beginning{padding:128px 5vw 56px}
 body:not(.navigation-ready):not(.motion-story) #beginning{padding-top:40px}
 #beginning .hero-copy h1{font-size:clamp(40px,9vw,58px);line-height:1.06;max-width:16ch}
 #beginning .hero-copy p{font-size:16px;line-height:1.65;max-width:36ch;margin:22px auto 0}
 #beginning .hero-copy{padding-bottom:0}
 #beginning .hero-actions{margin:24px 0 32px}
 #beginning .hero-actions .button{min-height:48px;padding:12px 22px;font-size:15px}
 #beginning .hero-photo .photo-slot,#beginning .hero-photo .photo-crop{aspect-ratio:4/3}
 #beginning .hero-photo .photo-crop img{object-fit:cover;object-position:50% 50%}
 body:not(.motion-story) #pieces{padding:40px 6vw 72px}
 #pieces .scene-heading{margin-bottom:30px}
 .scene-heading h2,.problem-conclusion h2{font-size:clamp(34px,8.4vw,44px);line-height:1.12;text-wrap:balance}
 body:not(.motion-story) #pieces .archive-scatter{grid-template-columns:.9fr 1.1fr;gap:18px;margin-top:0}
 body:not(.motion-story) #pieces .archive-log{width:100%}
 .archive-audio .vault-media-audio{aspect-ratio:auto;height:104px}
 .archive-audio .raw-audio-art{padding:10px;gap:6px}
 .archive-audio .raw-audio-file{font-size:11px;gap:5px;overflow-wrap:anywhere}
 .archive-audio .raw-audio-file .icon{width:13px;height:13px}
 .archive-audio .raw-audio-art .vault-wave{height:26px}
 .archive-audio .raw-audio-controls{font-size:11px}
 .raw-video-overlay{font-size:10px;left:8px;top:8px}
 body:not(.motion-story) #pieces .problem-conclusion{margin-top:56px}
 .problem-conclusion p{font-size:16px;line-height:1.65;margin-top:20px}
 .problem-conclusion br{display:none}
 body:not(.motion-story) #family-record{min-height:78svh;padding:80px 7vw}
 #family-record h2{font-size:clamp(40px,9.4vw,56px);line-height:1.08}
 #family-record h2 br{display:none}
 body:not(.motion-story) #family-record .solution-explanation{margin-top:32px}
 body:not(.motion-story) #family-record .support{font-size:20px;line-height:1.5;text-wrap:balance}
 body:not(.motion-story) #memory{padding:16px 4vw 44px;gap:48px}
 body:not(.motion-story) #timeline{padding:32px 4vw 64px}
 #timeline .scene-heading{padding-inline:4vw;margin-bottom:32px}
 #timeline .scene-heading h2{font-size:clamp(34px,8.5vw,44px)}
 #timeline .scene-heading .support{font-size:16px;line-height:1.6}
 .vault-topbar{height:auto;min-height:62px;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:18px 20px 14px}
 .vault-topbar>img{width:142px}
 .vault-name{font-size:12px;gap:6px}
 .vault-members{display:none}
 .vault-navigation{position:static;width:max-content;max-width:calc(100% - 40px);margin:14px auto 0;padding:3px;flex-wrap:wrap;justify-content:center;border-radius:12px}
 .vault-navigation>span{font-size:12px;padding:8px 9px}
 .vault-album-title{height:auto;padding:22px 20px 24px}
 .vault-album-title h3{font-size:23px}
 .vault-album-title p{font-size:13px}
 .vault-overview-board{padding:0 20px 24px}
 .vault-overview-featured{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}
 .vault-overview-featured>.vault-tile-jump{grid-column:1/-1}
 .vault-overview-featured .vault-tile-log>.vault-media{max-width:130px}
 .vault-overview-context{display:contents}
 .vault-overview-context>.vault-tile-audio{grid-column:2;grid-row:2}
 .vault-overview-context .vault-media-audio{height:160px}
 .vault-overview-context .vault-audio-art{padding:12px;gap:10px}
 .vault-overview-context .vault-audio-wave{height:30px;gap:6px}
 .vault-overview-context .vault-audio-play{display:none}
 .vault-overview-context .vault-audio-duration{flex-wrap:wrap;gap:6px}
 .vault-overview-context .vault-excerpt{grid-column:1/-1;margin:0}
 .vault-excerpt blockquote{font-size:22px}
 .vault-family-context{gap:20px;padding-top:16px}
 .vault-family-context .vault-small-label{font-size:12px}
 .vault-person-reference,.vault-place-context strong{font-size:13px}
 .vault-overview-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 /* The album establishes the formats; the complete dated photo sequence
    appears in the Timeline below. Avoid repeating that gallery twice. */
 .vault-overview-strip .vault-tile-summers,.vault-overview-strip .vault-tile-postcard,.vault-overview-strip .vault-tile-again{display:none}
 .vault-overview-strip .vault-media-deed{width:100%}
 .vault-deed-art{font-size:12px}
 /* The small document preview keeps its title; its complete record label is in
    the caption. Secondary paper details do not compete at thumbnail scale. */
 .vault-album .vault-overview-strip .vault-deed-art{justify-content:center;font-size:14px}
 .vault-album .vault-overview-strip .vault-deed-art>:not(.deed-title){display:none}
 .vault-album .vault-overview-strip .vault-deed-art .deed-title{margin:0}
 .deed-record-kind,.deed-sample{white-space:normal;font-size:.8em}
 .vault-detail-board{display:block;padding:0 20px 26px}
 .vault-detail-context{padding-left:0;margin-top:28px}
 .vault-detail-title{align-items:center}
 .vault-detail-title h3{font-size:25px}
 body:not(.motion-story) .vault-detail-description blockquote{font-size:16px;line-height:1.65;padding-left:14px}
 .vault-description-source{line-height:1.5}
 .vault-attachment-grid{grid-template-columns:72px minmax(0,1fr);gap:18px}
 .vault-attachment-grid .vault-media-log{width:72px}
 body:not(.motion-story) .vault-detail-attachments .vault-media-audio{height:130px}
 .vault-attachment-grid .vault-audio-wave{gap:6px}
 .vault-attachment-grid .vault-audio-play{width:22px;height:22px}
 .vault-attachment-grid .vault-audio-duration{flex-wrap:wrap}
 /* A chronological spine: each year gets a readable image and label. */
 .vault-timeline .vault-timeline-board{display:block;padding:0 22px 26px 34px}
 .vault-timeline .vault-timeline-board>.vault-tile{position:relative;display:grid;grid-template-columns:minmax(0,1fr);border-left:1px solid var(--brand-100);padding:0 0 30px 22px;margin:0;max-width:none;width:100%}
 .vault-timeline .vault-timeline-board>.vault-tile>.vault-media,.vault-timeline .vault-timeline-board>.vault-tile>.photo-slot{width:100%;max-width:340px}
 .vault-timeline .vault-timeline-board>.vault-tile>.vault-media-audio{height:120px}
 /* Keep the document a compact record, with its meaning in the full caption. */
 .vault-timeline .vault-timeline-board>.vault-tile>.vault-media-deed{width:min(136px,100%)}
 .vault-timeline .vault-tile-deed .vault-deed-art{justify-content:center;font-size:12px}
 .vault-timeline .vault-tile-deed .vault-deed-art>:not(.deed-title){display:none}
 .vault-timeline .vault-year{margin:0 0 14px;font:500 21px/1.4 var(--sans)}
 .vault-timeline .vault-year:after,.vault-timeline .vault-tile-jump .vault-year:after{left:-26px;top:10px;bottom:auto;width:7px;height:7px}
 .vault-timeline .vault-tile-jump:before{inset:36px -10px 20px 12px}
 .vault-timeline .vault-audio-art{padding:14px}
 .vault-timeline .vault-audio-play{width:28px;height:28px;font-size:10px}
 .vault-timeline-context{display:grid;gap:24px;padding-top:24px;margin-top:0}
 .vault-timeline-source,.vault-timeline-records{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:16px}
 .vault-timeline-context .vault-tile{display:flex;gap:14px;align-items:center;min-width:0}
 .vault-timeline-context .vault-tile>.vault-media{width:64px;flex-shrink:0}
 .vault-timeline-context .vault-deed-art{font-size:7px}
 body:not(.motion-story) .vault-timeline-context .vault-tile figcaption>span{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
 /* The complete reading layout above is the causal equivalent of the pin. */
 html{scroll-behavior:auto}
 .site-menu-toggle,.site-header nav{transition:none}
}
/* Scoped lower-homepage refinements. Load after the existing section styles.
   Desktop widths >=1100px retain the current composition. */

/* Full-size content on tablets, with a visible invitation to the next story. */
@media (min-width:601px) and (max-width:900px){
 .proof-rail{--proof-card-width:min(560px,calc(var(--proof-viewport)*.74))}
}

/* An editorial intro beside its short explanation, then the full-width list. */
@media (min-width:701px) and (max-width:899px){
 .faq-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:36px;align-items:start}
 .faq-eyebrow{grid-column:1/-1}
 .faq-intro h2{grid-column:1;grid-row:2/4}
 .faq-support{grid-column:2;grid-row:2;max-width:none;margin-top:0}
 .faq-contact{grid-column:2;grid-row:3;margin-top:18px}
}

/* These are public controls, so their entire hit areas remain comfortably sized. */
@media (max-width:1099px){
 .proof-video-close{width:44px;height:44px}
 .proof-video-external{display:inline-flex;align-items:center;min-height:44px}
 .proof-video-dialog{max-height:calc(100svh - 24px);overflow-y:auto}
}

/* A stable small viewport avoids changing the final panel as mobile chrome
   appears/disappears. The section can still grow to fit its actual content. */
@media (max-width:1024px){
 .homepage-ending{min-height:100svh}
}

@media (max-width:700px){
 .life-essentials{padding-inline:20px}
 .preservation-section{padding-inline:20px}
 .faq-section{padding-inline:20px}
}

/* At the smallest portrait widths, readable contact/document details replace
   the paired miniature artifacts. The deed keeps a compact document shape. */
@container (max-width:400px){
 .life-composition{grid-template-columns:minmax(0,1fr);grid-template-areas:'person' 'contact' 'deed' 'instructions' 'property' 'accounts' 'care' 'wishes';gap:18px}
 .life-module{padding:16px}
 .life-contact{flex-direction:row;align-items:center;justify-content:flex-start;padding:16px;gap:12px}
 .life-piece-label,.life-contact .life-piece-label,.life-contact-role,.life-deed-place{font-size:13px}
 .life-deed{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:10px 16px;padding:16px}
 .life-document-top,.life-deed-place{grid-column:1/-1}
 .life-document-top .life-piece-label{font-size:13px}
 .life-deed h4{margin:0;font-size:30px}
 .life-document-lines{margin:0;gap:9px}
 .life-deed-place{margin:0}
 .life-instructions,.life-wishes{padding:16px}
 .life-instruction-copy,.life-wishes p{font-size:21px;line-height:1.4}
}

@media (max-width:430px){
 .customer-proof-intro{width:calc(100% - 40px)}
 .customer-proof-stat{align-items:flex-start;flex-direction:column;gap:8px}
 .customer-proof-stat p{max-width:32ch}
 .proof-rail{--proof-side-gutter:20px;--proof-gap:14px;--proof-card-width:calc(var(--proof-viewport) - 52px)}
 .proof-card,.customer-proof .customer-proof-feature{padding:20px}
 .customer-proof-name{font-size:15px}
 .faq-contact br{display:none}
 .faq-contact a{margin-left:6px}
}

/* Keep the four centered closing groups, but remove excess phone whitespace.
   Minimum height remains intrinsic: short phones scroll rather than clip. */
@media (max-width:800px){
 .closing-body{padding:40px 20px 32px}
 .closing-subhead{margin-top:20px}
 .closing-actions{margin-top:24px}
 .closing-mobile{margin-top:28px}
 .closing-mobile>p{font-size:12px}
 .homepage-footer{padding:8px 20px 24px}
 .footer-navigation{margin-top:16px;font-size:13px}
 .footer-copyright{margin-top:12px;font-size:12px}
}
@media (min-width:375px) and (max-width:800px){
 .footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr));width:min(460px,100%);column-gap:14px}
}
@media (max-width:374px){
 .closing-downloads{gap:8px}
 .store-badge{min-height:44px}
 .footer-navigation{column-gap:16px}
}

/* Extra space goes to the product content, not wider chrome. */
@media(min-width:1100px){
 .scrolly{--vault-width:min(1320px,90vw)}
 .motion-story .carrier-caption strong{font-size:14px}
 .motion-story .carrier-caption>span{font-size:12px}
 .motion-story .vault-detail-description blockquote{font-size:14px;line-height:1.55}
}
@media(max-width:767px){
 .faq-ending{--faq-lip:32px}
 .homepage-ending{padding-top:32px}
 .homepage-footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}

.footer-navigation>a{min-width:44px}
