/* Homepage chapters share Assembly's typography and materials. */
.page-home{font-weight:500;--muted:#3e4749}
[data-theme=dark] .page-home{--muted:#d0d0d5}
.page-home p,.page-home li,.page-home dd{font-weight:500}
.home-story{font-family:Cabinet,sans-serif;color:var(--ink);background:var(--paper)}
.home-chapter{padding:120px 0}.home-story h2{font-family:Cabinet,sans-serif;font-size:clamp(38px,4.6vw,68px);font-weight:700;line-height:1.04;letter-spacing:-.035em;text-wrap:balance;margin:0}.home-story h3,.home-story h4{font-family:Cabinet,sans-serif;letter-spacing:-.025em}.home-story p,.home-story li{font-size:19px;line-height:1.55;color:var(--muted)}.home-story svg{width:24px;height:24px;flex-shrink:0}.home-story a{color:inherit}.home-story a:hover{color:var(--accent)}.home-story .btn--primary{color:var(--paper)}.home-story .btn--primary:hover{color:var(--md-sys-color-on-primary)}
.home-opening{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:64px}.home-opening p{max-width:47ch;margin:0;font-size:21px}.home-opening strong{display:block;margin-top:14px;color:var(--ink);font-weight:500}
.home-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:76px 40px}.home-service{min-width:0}.home-service-image{display:block;overflow:hidden;aspect-ratio:16/9;background:#182325;border-radius:4px}.home-service-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.home-service-image:hover img{transform:scale(1.04)}.home-service-copy{padding-top:24px}.home-service h3{font-size:clamp(26px,2.45vw,37px);font-weight:700;margin:0 0 20px;line-height:1.14}.home-service h3 a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;text-decoration:none}.home-service h3 svg{width:30px;height:30px;color:var(--accent);transition:transform .25s}.home-service h3 a:hover svg{transform:translate(3px,-3px)}.home-service h4{font-size:24px;font-weight:500;margin:0 0 10px;line-height:1.2}.home-service-copy>p{margin:0 0 20px;max-width:55ch}.home-service ul{list-style:none;padding:0;margin:22px 0}.home-service li{font-size:17px;padding:9px 0;border-top:1px solid var(--line);line-height:1.4}.home-service li:last-child{border-bottom:1px solid var(--line)}.home-service .home-service-note{font-size:15px;color:var(--ink);min-height:46px;margin-bottom:16px}.home-story .text-link{min-height:44px;display:inline-flex;align-items:center;gap:16px;font-size:17px;font-weight:700;color:var(--accent)}
.home-delivery{background:var(--surface)}.home-delivery-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.home-delivery-intro>p{font-size:24px;line-height:1.4;max-width:27ch;margin:25px 0}.home-delivery-intro .home-small{font-size:18px;max-width:35ch;margin-bottom:32px}.home-delivery-steps{list-style:none;margin:0;padding:0}.home-delivery-steps li{display:grid;grid-template-columns:44px 1fr;gap:25px;border-top:1px solid var(--line);padding:28px 0 38px}.home-step-number{font-size:16px;line-height:28px;color:var(--accent);font-variant-numeric:tabular-nums}.home-delivery-steps .home-step-name{font-size:15px;margin:0 0 14px;color:var(--accent);font-weight:700}.home-delivery-steps h3{font-size:31px;line-height:1.12;margin:0 0 18px}.home-delivery-steps p{margin:0;max-width:44ch}
.home-partner{background:#15292d;color:#f4f3ef}.home-partner-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end;margin-bottom:55px}.home-partner-heading p{color:#c2d2d1;font-size:22px;max-width:43ch;margin:0}.home-partner-photo{position:relative;overflow:hidden;aspect-ratio:2.7/1;background:#1e3438}.home-partner-photo>img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.home-partner-caption{position:absolute;bottom:32px;left:32px;background:#15292d;padding:20px 24px;max-width:calc(100% - 64px)}.home-partner-caption span{font-size:27px;letter-spacing:-.02em}.home-partner-caption p{color:#c2d2d1;font-size:17px;margin:6px 0 0}.home-partner-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:36px}.home-partner-principles p{font-size:18px;color:#c2d2d1;margin:0}.home-partner-principles strong{display:block;color:#f4f3ef;font-size:21px;font-weight:500;margin-bottom:8px}
.home-extras{border-bottom:1px solid var(--line)}.home-support-grid{display:flex;border-block:1px solid var(--line)}.home-support-grid article{flex:1;min-width:0;padding:28px 32px 30px 0}.home-support-grid article+article{border-left:1px solid var(--line);padding:28px 0 30px 32px}.home-support-grid header{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px}.home-support-grid h3{font-size:32px;line-height:1.1;margin:0}.home-support-grid article>div{padding-top:22px}.home-support-grid p{max-width:48ch;margin:0 0 20px}.home-support-grid ul{padding-left:22px;margin:0 0 24px}.home-support-grid li{font-size:17px;margin:6px 0}
.home-local-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.home-local figure{margin:0}.home-local img{display:block;width:100%;height:auto;aspect-ratio:1/1.1;object-fit:cover;border-radius:4px}.home-local figcaption{font-size:14px;color:var(--muted);margin-top:14px}.home-local h2{font-size:clamp(36px,3.7vw,55px);margin-bottom:30px}.home-local p{margin:0 0 20px}.home-values{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;list-style:none;padding:0;margin:28px 0 18px}.home-values li{font-size:16px;border-top:1px solid var(--line);padding:13px 0}.home-faq{background:var(--surface)}.home-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.home-faq h2{font-size:clamp(38px,4vw,58px)}.home-faq-grid>div>p{margin-top:28px}.home-faq a{display:inline-flex;align-items:center;gap:12px;color:var(--accent);min-height:44px}.home-question{border-top:1px solid var(--line)}.home-question:last-child{border-bottom:1px solid var(--line)}.home-question summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:22px;font-weight:500;line-height:1.3;cursor:pointer;padding:25px 0}.home-question summary::-webkit-details-marker{display:none}.home-question summary svg{transform:rotate(90deg);color:var(--accent)}.home-question[open] summary svg{transform:rotate(-90deg)}.home-question .faq-a{padding:0 28px 24px 0}.home-question p{margin:0;font-size:18px}
/* The contact facts are shared; only their home-page presentation changes. */
.page-home .published-layout{--font-display:Cabinet,sans-serif;--font-body:Cabinet,sans-serif;--bg:var(--paper);--surface:var(--paper);--text:var(--ink);--accent:#087787;--accent-text:#087787;--btn-grad:#171d1e;--on-accent:#f4f3ef;background:var(--paper);font-family:Cabinet,sans-serif}.page-home .published-layout .eyebrow{display:none}.page-home .published-layout h2{font-family:Cabinet,sans-serif;font-weight:700;letter-spacing:-.035em}.page-home .published-layout .grad-text{background:none;color:var(--ink);-webkit-text-fill-color:currentColor}.page-home .published-layout .contact.section{padding:120px 0;background:var(--paper)}.page-home .published-layout .contact-info>p{font-size:20px}.page-home .published-layout .container{max-width:var(--page-width);width:calc(100% - 112px);padding:0}.page-home .published-layout .contact-map{border-radius:4px}.page-home .published-layout .contact-item-label{color:var(--accent)}
[data-theme=dark] .page-home .published-layout{--accent:#75d6dc;--accent-text:#75d6dc;--btn-grad:#f0f2ed;--on-accent:#171c1d}
@media(min-width:1600px){.home-chapter{padding:150px 0}}
@media(max-width:1000px){.home-opening,.home-partner-heading{gap:36px}.home-delivery-grid,.home-local-grid,.home-faq-grid{gap:45px}.home-service-grid{gap:60px 28px}.home-partner-principles{gap:25px}}
@media(max-width:760px){.home-chapter{padding:76px 0}.home-opening,.home-partner-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.home-story h2{font-size:clamp(37px,7vw,52px)}.home-opening p{font-size:20px}.home-service-grid{grid-template-columns:1fr;gap:56px}.home-service h3{font-size:31px}.home-service h4{font-size:23px}.home-service-note{min-height:0!important}.home-delivery-grid,.home-local-grid,.home-faq-grid{grid-template-columns:1fr;gap:45px}.home-delivery-intro>p{max-width:38ch}.home-delivery-steps li{gap:14px;grid-template-columns:30px 1fr;padding-block:25px 32px}.home-delivery-steps h3{font-size:28px}.home-partner-photo{aspect-ratio:1.25/1}.home-partner-caption{left:18px;bottom:18px;max-width:calc(100% - 36px);padding:16px}.home-partner-caption span{font-size:24px}.home-partner-caption p{font-size:16px}.home-partner-principles{grid-template-columns:1fr;gap:24px}.home-support-grid{display:block}.home-support-grid article,.home-support-grid article+article{padding:24px 0;border-left:0}.home-support-grid article+article{border-top:1px solid var(--line)}.home-support-grid h3{font-size:29px}.home-local-grid figure{order:2}.home-local img{aspect-ratio:1.3/1}.home-values{gap:0 18px}.home-question summary{font-size:21px}.page-home .published-layout .container{width:calc(100% - 36px)}.page-home .published-layout .contact.section{padding:76px 0}}
@media(prefers-reduced-motion:reduce){.home-story *{scroll-behavior:auto!important;transition:none!important}.home-service-image:hover img{transform:none}}
html[data-theme] .page-home .published-layout.home-polish .grad-text{background:none;color:var(--ink);-webkit-text-fill-color:currentColor}
html[data-theme] .page-home .published-layout.home-polish .contact-item-label{color:#087787}
html[data-theme] .page-home .published-layout.home-polish .contact-item-icon{color:#087787;background:transparent}
html[data-theme=dark] .page-home .published-layout.home-polish .contact-item-label,html[data-theme=dark] .page-home .published-layout.home-polish .contact-item-icon{color:#75d6dc}
html[data-theme] .page-home .published-layout.home-polish #contact .contact-info h2{font-family:Cabinet,sans-serif;font-size:clamp(38px,4.6vw,68px);line-height:1.04;max-width:15ch}
html[data-theme] .page-home .published-layout.home-polish #contact .contact-map{min-height:0;min-width:0;width:100%;padding:0;border:0;align-self:center;position:relative;aspect-ratio:1/1.1;border-radius:4px;overflow:hidden;box-shadow:none;background:#15292d}
.page-home .published-layout #contact .home-contact-location{display:block;width:100%;height:100%;object-fit:cover}
html[data-theme] .page-home .published-layout.home-polish #contact .map-directions{position:absolute;z-index:1;inset:auto 20px 20px;padding:18px 20px;background:#15292d;color:#f4f3ef;font-size:18px;line-height:1.4;min-height:44px}
@media(max-width:760px){html[data-theme] .page-home .published-layout.home-polish #contact .contact-info h2{font-size:clamp(37px,7vw,52px)}html[data-theme] .page-home .published-layout.home-polish #contact .contact-map{aspect-ratio:1.3/1}}

@media(min-width:1100px) and (min-height:740px) and (prefers-reduced-motion:no-preference){.approach-intro,.home-faq-intro{position:sticky;top:135px;align-self:start}}

/* Neutral obsidian surfaces in the saved dark theme. */
html[data-theme=dark] .home-partner,html[data-theme=dark] .home-partner-caption{background:#111113;color:#f2f2f2}
html[data-theme=dark] .home-partner-photo{background:#171719}
html[data-theme=dark] .home-partner p{color:#bcbcc2}
html[data-theme=dark] .page-home .published-layout.home-polish{--bg:#0c0c0e;--surface:#171719;--text:#f2f2f2;--muted:#bcbcc2;--border:#3c3c42;--on-accent:#0c0c0e}
html[data-theme=dark] .page-home .published-layout.home-polish #contact .contact-map,html[data-theme=dark] .page-home .published-layout.home-polish #contact .map-directions{background:#111113}

/* Match the stronger Field Guide reading weight without altering display headings. */
.home-story p,.home-story li{line-height:1.65}
.home-support-grid li,.home-service li{font-size:18px}
.home-values li{font-size:17px}
html[data-theme=dark] .home-partner p{color:#d0d0d5}
html[data-theme] .page-home .published-layout.home-polish{--muted:#3e4749}
html[data-theme=dark] .page-home .published-layout.home-polish{--muted:#d0d0d5}
@media(max-width:360px){.page-home .nav-inner>.brand{font-size:19px;gap:5px}.page-home .nav-inner>.brand img{width:36px;height:30px}}

/* Keep the entire coverage illustration visible at every viewport. */
.home-local .home-coverage img{aspect-ratio:1;object-fit:contain;height:auto}
.home-local .home-coverage figcaption{display:flex;justify-content:space-between;gap:20px;font-size:16px;line-height:1.4;color:var(--ink);border-top:1px solid var(--line);padding-top:14px}

/* Follow the steps whenever the delivery section has two columns and enough height. */
@media(min-width:761px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.home-delivery-intro{position:sticky;top:135px;align-self:start}}
