/* Home completion: production, agreement, journal and answers. */
.content-sheet>section[tabindex="-1"]:focus{outline:none}
.production-stage{background:var(--navy);color:var(--paper);min-height:100svh;padding-block:clamp(32px,4.5svh,64px);display:flex;scroll-margin-top:-100px}
.production-inner{display:flex;flex-direction:column;justify-content:center;gap:24px}
.production-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:end}
.production-heading h2{font-size:clamp(40px,4vw,58px);max-width:18ch}
.production-heading p{font-size:16px;line-height:1.7;color:var(--on-dark-muted);max-width:48ch}
.production-heading .text-link{margin-top:16px;color:var(--paper);font-size:14px;gap:18px}
.production-collection{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px;flex:1;min-height:410px}
.collection-card{display:grid;flex-direction:column;grid-template-rows:minmax(200px,1fr) auto;min-width:0;text-decoration:none;border-radius:var(--radius);overflow:hidden;background:var(--paper);color:var(--ink)}
.collection-image{display:block;position:relative;min-height:200px;overflow:hidden;background:var(--navy-soft)}
.collection-image img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.collection-body{display:flex;flex-direction:column;align-items:start;padding:26px;min-height:244px}
.collection-body h3{font-size:28px;line-height:1.15;letter-spacing:-.04em;text-wrap:initial}
.collection-body p{font-size:15px;line-height:1.65;color:var(--muted);margin-top:10px;max-width:40ch;flex:1}
.collection-action{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;min-width:170px;padding:12px 17px;margin-top:22px;background:var(--navy);color:var(--paper);font-size:13px;font-weight:500;border-radius:var(--radius);transition:background .2s}
.collection-action .icon{width:18px;height:18px;transition:transform .2s}
.collection-card:hover img,.collection-card:focus-visible img{transform:scale(1.035)}
.collection-card:hover .collection-action,.collection-card:focus-visible .collection-action{background:var(--ink)}
.collection-card:hover .collection-action .icon,.collection-card:focus-visible .collection-action .icon{transform:translate(3px,-3px)}
.production-stage a:focus-visible{outline-color:var(--paper)}
.production-stage .collection-card:focus-visible{outline-offset:5px}
.production-caption{display:flex;justify-content:space-between;gap:40px;align-items:center;color:var(--on-dark-muted);font-size:12px;line-height:1.7}
.production-caption p{max-width:65ch}
.production-caption a{min-height:44px;display:inline-flex;align-items:center;gap:16px;flex-shrink:0;text-decoration:none}
.production-caption a:hover{text-decoration:underline}
.production-caption .route-button{font-size:13px;min-height:48px;color:var(--navy)}

.agreement-section{padding-block:86px 80px}
.agreement-section .section-heading{margin-bottom:40px}
.agreement-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch}
.agreement-visual{position:relative;min-height:430px;overflow:hidden;border-radius:var(--radius);background:var(--bg)}
.agreement-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:40% center}
.agreement-points{margin:0;padding:0;list-style:none}
.agreement-points li{padding:20px 0;border-bottom:1px solid var(--line)}
.agreement-points li:first-child{padding-top:0}
.agreement-points h3{font-size:23px;line-height:1.3}
.agreement-points p{font-size:16px;line-height:1.7;color:var(--muted);max-width:55ch;margin-top:8px}
.agreement-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.agreement-actions .text-link{font-size:13px}

.journal-section{background:var(--bg);padding-block:76px}
.journal-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:36px}
.journal-heading h2{max-width:21ch}
.journal-heading p{font-size:16px;line-height:1.7;color:var(--muted);max-width:54ch;margin-top:20px}
.journal-heading .route-button{flex-shrink:0}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.journal-card{display:flex;flex-direction:column;text-decoration:none;min-width:0}
.journal-photo{display:block;aspect-ratio:1.7;overflow:hidden;background:var(--navy-soft);border-radius:var(--radius)}
.journal-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.journal-copy{display:flex;flex-direction:column;align-items:start;flex:1;padding-top:22px}
.journal-category{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:12px}
.journal-copy :is(h2,h3){font-size:26px;line-height:1.22;letter-spacing:-.035em;text-wrap:initial}
.journal-copy p{font-size:16px;line-height:1.7;color:var(--muted);margin-top:14px;flex:1}
.journal-read{display:inline-flex;align-items:center;gap:26px;min-height:46px;font-size:13px;font-weight:500;margin-top:17px;border-bottom:1px solid var(--control-line)}
.journal-read .icon{width:17px;height:17px;transition:transform .2s}
.journal-card:hover .journal-read,.journal-card:focus-visible .journal-read{color:var(--action);border-color:var(--action)}
.journal-card:hover img,.journal-card:focus-visible img{transform:scale(1.03)}
.journal-card:hover .icon,.journal-card:focus-visible .icon{transform:translate(3px,-3px)}

.answers-section{padding-block:80px}
.answers-layout{display:grid;grid-template-columns:.8fr 1.35fr;gap:100px;align-items:start}
.answers-intro{position:sticky;top:48px}
.answers-intro h2{max-width:14ch}
.answers-intro p{font-size:16px;line-height:1.7;color:var(--muted);max-width:35ch;margin-top:24px}
.answers-intro .route-button{margin-top:24px}
.answers-list summary{font-size:19px;line-height:1.45;padding-block:23px;padding-right:50px}
.answers-list summary:after{right:5px;top:20px;font-size:25px;color:var(--muted)}
.answers-list details p{font-size:16px;line-height:1.75;padding:0 32px 25px 0;max-width:70ch}
.answers-list details[open] summary{color:var(--ink)}
.answers-list details[open]{border-bottom-color:var(--control-line)}
.answers-list summary:hover{color:var(--action)}

.home-footer .footer-inner{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:start;gap:52px;padding-block:30px 24px}
.footer-brand p{font-size:12px;color:var(--on-dark-muted);margin-top:18px;max-width:28ch}
.home-footer .footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:start}
.home-footer .footer-nav a{font-size:13px;min-height:40px}
.footer-contact{display:flex;flex-direction:column;align-items:start;gap:8px}
.footer-contact>a{min-height:40px;display:inline-flex;align-items:center;text-decoration:none;font-size:15px}
.footer-contact>a:hover{text-decoration:underline}
.footer-contact p{font-size:11px;color:var(--on-dark-muted);line-height:1.7;max-width:34ch}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:18px;border-top:1px solid var(--glass-line);font-size:11px;color:var(--on-dark-muted)}
.contact-alternatives{display:flex;gap:12px;flex-wrap:wrap;padding-top:14px}
.form-status[data-state=contact]{border-left-color:var(--control-line)}
.contact-alternatives[hidden]{display:none}
.contact-alternatives a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;background:var(--navy-soft);color:var(--ink);border-radius:var(--radius);font-size:13px;font-weight:500;text-decoration:none}
.contact-alternatives a:hover{background:var(--paper)}
.dialog .contact-alternatives a:hover{background:var(--line)}

/* Journal routes use the same fonts and palette, with a quiet reading layout. */
.reading-page{background:var(--paper)}
.reading-header{display:flex;align-items:center;gap:40px;padding-block:26px;border-bottom:1px solid var(--line)}
.reading-header .brand-mark{color:var(--ink)}
.reading-header nav{display:flex;gap:28px;margin-left:auto}
.reading-header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none}
.reading-header nav a:hover{text-decoration:underline}
.reading-header .route-button{font-size:12px}
.reading-crumbs{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted);padding-block:30px}
.reading-crumbs a{min-height:32px;display:inline-flex;align-items:center}
.reading-title{max-width:1070px;padding-bottom:36px}
.reading-title .journal-category{display:block;margin-bottom:18px}
.reading-title h1{font-size:clamp(38px,4.4vw,64px);line-height:1.1;max-width:25ch}
.reading-title>p{font-size:19px;color:var(--muted);line-height:1.7;max-width:67ch;margin-top:25px}
.reading-cover{width:100%;aspect-ratio:2.5;object-fit:cover;border-radius:var(--radius);margin-bottom:48px}
.reading-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(220px,1fr);gap:90px;align-items:start;padding-bottom:72px}
.reading-body h2{font-size:32px;line-height:1.2;margin-top:40px;max-width:27ch}
.reading-body h2:first-child{margin-top:0}
.reading-body p,.reading-body li{font-size:17px;line-height:1.8;color:var(--muted)}
.reading-body p{margin-top:18px}
.reading-body ul{padding-left:22px;margin-block:20px 0}
.reading-body li+li{margin-top:8px}
.reading-aside{position:sticky;top:35px;border-top:2px solid var(--navy);padding-top:22px}
.reading-aside h2{font-size:22px;line-height:1.3}
.reading-aside>a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding-block:14px;font-size:14px;line-height:1.5;text-decoration:none;border-bottom:1px solid var(--line)}
.reading-aside>a:hover{color:var(--action)}
.reading-aside .route-button{margin-top:24px;min-height:48px;display:inline-flex;font-size:12px;border-bottom:0}
.reading-next{padding-block:55px;background:var(--bg)}
.reading-next h2{font-size:34px;margin-bottom:28px}
.reading-next .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.reading-next .journal-copy :is(h2,h3){font-size:25px}
.journal-index-intro{padding-block:52px 40px}
.journal-index-intro h1{font-size:clamp(42px,5vw,68px);max-width:18ch}
.journal-index-intro>p{font-size:18px;line-height:1.7;max-width:60ch;margin-top:24px;color:var(--muted)}
.journal-index-grid{padding-bottom:80px}

@media(min-width:1600px){.production-collection{min-height:544px}.collection-image{min-height:300px}.collection-body{min-height:244px}.collection-body h3{font-size:32px}}
@media(max-width:1190px){.production-heading{gap:64px}.production-collection{gap:18px;grid-template-columns:1.3fr 1fr 1fr}.collection-body{padding:22px}.collection-body h3{font-size:25px}.collection-action{min-width:160px}.agreement-grid{gap:44px}.journal-grid{gap:22px}.journal-copy :is(h2,h3){font-size:24px}.answers-layout{gap:64px}.reading-layout{gap:55px}.home-footer .footer-inner{gap:32px}}
@media(max-width:920px){.production-stage{min-height:auto;padding-block:56px}.production-heading{gap:40px}.production-heading h2{font-size:42px}.production-collection{grid-template-columns:1fr 1fr;min-height:0;flex:none}.collection-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr}.collection-card:first-child .collection-image img{height:100%;min-height:290px;max-height:none}.collection-card:first-child .collection-body{padding:30px;justify-content:center}.collection-image{min-height:220px;flex:none;height:220px}.collection-image img{min-height:220px}.collection-body{min-height:215px;flex:1}.production-caption{align-items:start}.agreement-grid{gap:36px}.agreement-visual{min-height:500px}.agreement-points h3{font-size:22px}.agreement-points p{font-size:14px}.agreement-actions{gap:12px}.journal-heading{gap:30px}.journal-grid{gap:20px}.journal-photo{aspect-ratio:1.45}.journal-copy :is(h2,h3){font-size:22px}.journal-copy p{font-size:14px}.answers-layout{grid-template-columns:.75fr 1.3fr;gap:42px}.answers-intro h2{font-size:38px}.answers-intro p{font-size:15px}.answers-list summary{font-size:18px}.answers-list details p{font-size:15px}.reading-layout{grid-template-columns:minmax(0,1fr);gap:40px}.reading-aside{position:static;max-width:760px}.home-footer .footer-inner{grid-template-columns:.8fr 1.2fr}.footer-contact{grid-column:1/-1;flex-direction:row;align-items:center;gap:28px;flex-wrap:wrap}.footer-contact p{max-width:45ch}.reading-header{gap:25px}.reading-header nav{gap:22px}}
@media(max-width:700px){.production-stage{padding-block:52px}.production-inner{gap:28px}.production-heading{grid-template-columns:1fr;gap:24px}.production-heading h2{font-size:38px;max-width:17ch}.production-heading p{font-size:16px}.production-heading .text-link{margin-top:14px}.production-collection{grid-template-columns:1fr;gap:24px}.collection-card:first-child{display:flex;grid-column:auto}.collection-image,.collection-card:first-child .collection-image{height:auto;min-height:0;aspect-ratio:1.7}.collection-image img,.collection-card:first-child .collection-image img{height:100%;min-height:0;max-height:none}.collection-body,.collection-card:first-child .collection-body{padding:25px;min-height:205px}.collection-body h3{font-size:28px}.collection-body p{font-size:15px}.collection-action{min-height:50px;width:100%;font-size:14px;margin-top:22px}.production-caption{flex-direction:column;gap:10px;font-size:12px}.agreement-section{padding-block:56px}.agreement-section .section-heading{margin-bottom:28px}.agreement-grid{grid-template-columns:1fr;gap:30px}.agreement-visual{min-height:0;aspect-ratio:1.4}.agreement-points li{padding-block:22px}.agreement-points h3{font-size:23px}.agreement-points p{font-size:16px}.agreement-actions{gap:20px}.agreement-actions .route-button{width:100%;justify-content:space-between}.agreement-actions .text-link{font-size:14px}.journal-section{padding-block:54px}.journal-heading{flex-direction:column;align-items:start;gap:24px;margin-bottom:30px}.journal-heading h2{font-size:36px;max-width:17ch}.journal-heading p{font-size:16px;margin-top:20px}.journal-grid{grid-template-columns:1fr;gap:40px}.journal-photo{aspect-ratio:1.7}.journal-copy{padding-top:20px}.journal-copy :is(h2,h3){font-size:27px;max-width:29ch}.journal-copy p{font-size:16px;margin-top:13px}.journal-category{font-size:12px}.journal-read{margin-top:15px;min-height:46px;font-size:14px}.answers-section{padding-block:54px}.answers-layout{grid-template-columns:1fr;gap:32px}.answers-intro{position:static}.answers-intro h2{font-size:36px;max-width:17ch}.answers-intro p{font-size:16px;max-width:42ch;margin-top:20px}.answers-intro .route-button{margin-top:22px}.answers-list summary{font-size:18px;padding-block:23px;padding-right:42px}.answers-list details p{font-size:16px;padding-right:8px;padding-bottom:24px}.home-footer .footer-inner{grid-template-columns:1fr;gap:28px;padding-block:26px}.footer-brand{display:flex;align-items:center;gap:25px}.footer-brand p{margin-top:0;font-size:12px;max-width:27ch}.home-footer .footer-nav{gap:4px 28px}.home-footer .footer-nav a{min-height:44px;font-size:14px}.footer-contact{grid-column:auto;flex-direction:column;align-items:start;gap:2px}.footer-contact>a{font-size:17px;min-height:44px}.footer-contact p{font-size:12px;margin-top:8px}.footer-bottom{font-size:11px;flex-direction:column;gap:8px}.reading-header{padding-block:20px;gap:20px;justify-content:space-between}.reading-header nav{display:none}.reading-header .route-button{min-height:44px;font-size:12px;padding-inline:15px}.reading-crumbs{font-size:11px;padding-block:24px;gap:10px}.reading-title{padding-bottom:28px}.reading-title h1{font-size:37px;max-width:25ch}.reading-title>p{font-size:17px;margin-top:22px}.reading-cover{aspect-ratio:1.4;margin-bottom:32px}.reading-layout{padding-bottom:50px;gap:36px}.reading-body h2{font-size:28px;margin-top:32px}.reading-body p,.reading-body li{font-size:16px;line-height:1.8}.reading-next{padding-block:46px}.reading-next h2{font-size:31px}.reading-next .journal-grid{grid-template-columns:1fr}.reading-next .journal-copy :is(h2,h3){font-size:25px}.journal-index-intro{padding-block:34px}.journal-index-intro h1{font-size:42px}.journal-index-intro>p{font-size:17px}.journal-index-grid{padding-bottom:56px}}
@media(prefers-reduced-motion:reduce){.collection-image img,.collection-action,.collection-action .icon,.journal-photo img,.journal-read .icon{transition:none;transform:none!important}}
@media(min-width:701px) and (max-width:920px){.collection-card:first-child .collection-image{height:auto;align-self:stretch}.collection-card:first-child .collection-image img{min-height:0}}
@media(max-width:700px){.production-stage{scroll-margin-top:-32px}}
