/* A light, architectural opening followed by a clear installation story. */
.installation-draft { --installation-ink:#242b2e; --installation-muted:#626b6f; }
.installation-draft main .wrap { max-width:1160px; }
.installation-draft main .installation-eyebrow { color:#5c676b; font-size:12px; line-height:1.5; font-weight:500; margin:0 0 22px; letter-spacing:.035em; }
.installation-draft .installation-opening { display:grid; grid-template-columns:1.1fr .9fr; gap:10%; align-items:end; padding-block:72px 22px; }
.installation-draft .installation-opening h1 { font-size:clamp(40px,4.25vw,59px); line-height:1.1; letter-spacing:-.043em; }
.installation-draft .installation-opening-copy { padding-bottom:2px; }
.installation-draft .installation-opening-copy p { font-size:17px; line-height:1.65; max-width:440px; }
.installation-draft .installation-opening-copy .text-link { margin-top:18px; }
.installation-draft .installation-photo { margin:0; background:#f8f8f7; }
.installation-draft .installation-photo img { display:block; width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; object-position:center; }
.installation-draft .installation-photo figcaption { color:#62696c; font-size:11px; line-height:1.5; padding-block:12px 18px; }
.installation-draft .installation-index { padding-block:27px; }
.installation-draft .installation-index ol { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; gap:36px; }
.installation-draft .installation-index a { display:flex; align-items:center; gap:12px; min-height:48px; font-size:14px; border-bottom:1px solid #dce0e1; padding-bottom:12px; }
.installation-draft .installation-index a span:first-child { color:#6d777a; font-size:11px; }
.installation-draft .installation-index a span:last-child { margin-left:auto; color:#6d777a; }
.installation-draft .installation-index a:hover { border-color:#242b2e; }
.installation-draft .installation-step { display:grid; grid-template-columns:1fr 1fr; gap:14%; align-items:start; padding-block:92px; scroll-margin-top:30px; }
.installation-draft main h2 { font-size:clamp(33px,3.4vw,46px); line-height:1.13; letter-spacing:-.037em; }
.installation-draft .installation-step-copy>p:not(.installation-eyebrow) { max-width:480px; margin-top:25px; }
.installation-draft .installation-number { display:inline-block; margin-right:13px; font-variant-numeric:tabular-nums; color:#55656c; }
.installation-draft .installation-agreement { padding-top:4px; }
.installation-draft .installation-agreement h3 { font-size:17px; font-weight:500; letter-spacing:-.02em; margin:0 0 10px; }
.installation-draft dl { margin:0; }
.installation-draft .installation-agreement dl>div { display:grid; grid-template-columns:105px 1fr; gap:24px; padding-block:23px; border-bottom:1px solid #dfe3e4; }
.installation-draft dt { font-size:15px; line-height:1.5; font-weight:500; }
.installation-draft dd { margin:0; color:var(--installation-muted); font-size:15px; line-height:1.65; }
.installation-draft .installation-on-site { background:var(--surface-stone); scroll-margin-top:24px; }
.installation-draft .installation-scope dl { display:grid; grid-template-columns:1fr 1fr; gap:34px 32px; }
.installation-draft .installation-scope dt { border-top:1px solid #cbd3d5; padding-top:17px; margin-bottom:10px; }
.installation-draft .installation-scope>p { margin-top:32px; font-size:12px; line-height:1.6; color:#646e72; }
.installation-draft .installation-testing { background:#233538; color:#f7f9f9; padding-block:85px 79px; scroll-margin-top:24px; }
.installation-draft .installation-test-intro { max-width:660px; }
.installation-draft .installation-testing .installation-eyebrow,.installation-draft .installation-testing .installation-number { color:#b9c9c9; }
.installation-draft .installation-test-intro>p:not(.installation-eyebrow) { color:#c3d0d0; margin-top:26px; max-width:605px; }
.installation-draft .installation-tests { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:55px; padding:0; margin:56px 0 0; }
.installation-draft .installation-tests li { border-top:1px solid #63797b; padding-top:25px; }
.installation-draft .installation-check { display:block; color:#c3ded7; font-size:22px; margin-bottom:22px; }
.installation-draft .installation-tests h3 { font-size:20px; line-height:1.3; font-weight:500; margin:0 0 13px; }
.installation-draft .installation-tests p { color:#c3d0d0; font-size:15px; line-height:1.65; }
.installation-draft .installation-handover { align-items:start; padding-bottom:83px; }
.installation-draft .installation-handover-copy>p { margin:0 0 24px; }
.installation-draft .installation-handover ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.installation-draft .installation-handover li { display:flex; gap:16px; align-items:baseline; font-size:15px; line-height:1.5; }
.installation-draft .installation-handover li span { color:#506e67; }
.installation-draft .installation-questions { padding-block:0 85px; display:grid; grid-template-columns:1fr 1fr; gap:14%; scroll-margin-top:calc(var(--mobile-header-height,64px) + 24px); }
.installation-draft .installation-questions h2 { font-size:28px; line-height:1.2; padding-top:22px; }
.installation-draft .installation-questions details { border-top:1px solid #dce1e2; }
.installation-draft .installation-questions details:last-child { border-bottom:1px solid #dce1e2; }
.installation-draft .installation-questions summary { display:flex; align-items:center; gap:20px; justify-content:space-between; min-height:70px; padding-block:18px; list-style:none; cursor:pointer; font-size:16px; line-height:1.45; }
.installation-draft .installation-questions summary::-webkit-details-marker { display:none; }
.installation-draft .installation-questions summary span { flex-shrink:0; font-size:22px; color:#627276; }
.installation-draft .installation-questions details[open]>summary>span { transform:rotate(45deg); }
.installation-draft .installation-questions details p { font-size:15px; margin:0 25px 22px 0; }
.installation-draft .installation-faq-source { display:inline-block; text-decoration:underline; text-underline-offset:3px; padding-block:8px; }
.installation-draft .installation-invitation { background:var(--surface-stone); text-align:center; padding-block:68px; }
.installation-draft .installation-invitation h2 { font-size:clamp(32px,3.1vw,43px); }
.installation-draft .installation-invitation p { max-width:550px; margin:22px auto 20px; font-size:16px; }
.installation-draft .installation-invitation .text-link { margin-inline:16px; }
.installation-draft main :is(summary,a):focus-visible { outline:2px solid #42655c; outline-offset:5px; }
.installation-draft .installation-more { min-width:0; }
.installation-draft .installation-more>summary { list-style:none; }
.installation-draft .installation-more>summary::-webkit-details-marker { display:none; }
.installation-draft .installation-more>summary>span { display:none; }
.installation-draft .installation-more-mobile-label { display:none; }
.installation-draft .installation-more-note { color:var(--installation-muted); font-size:15px; line-height:1.65; margin:0 0 22px; }
.installation-draft .installation-test-details { margin-top:22px; }
.installation-draft .installation-testing .installation-more-note { max-width:605px; color:#c3d0d0; }
.installation-draft .installation-test-details .installation-tests { margin-top:34px; }
.installation-draft .installation-mobile-only { display:none; }
@media(max-width:900px) {
 .installation-draft .installation-opening,.installation-draft .installation-step,.installation-draft .installation-questions { gap:7%; }
 .installation-draft .installation-opening h1 { font-size:44px; }
 .installation-draft .installation-agreement dl>div { grid-template-columns:1fr; gap:8px; padding-block:17px; }
 .installation-draft .installation-tests { gap:30px; }
}
@media(max-width:700px) {
 .installation-draft .installation-desktop-only,
 .installation-draft .installation-step-copy>.installation-eyebrow,
 .installation-draft .installation-test-intro>.installation-eyebrow { display:none; }
 .installation-draft .installation-mobile-only { display:block; }
 .installation-draft .installation-stage-title { display:flex; align-items:baseline; gap:15px; }
 .installation-draft .installation-stage-title .installation-number { margin:0; font-size:12px; letter-spacing:0; flex:none; }
 .installation-draft .installation-opening { grid-template-columns:1fr; gap:24px; padding-block:20px 29px; }
 .installation-draft .installation-parent-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin-bottom:16px; font-size:13px; line-height:1.4; color:var(--installation-muted); }
 .installation-draft .installation-parent-link:hover { text-decoration:underline; text-underline-offset:5px; }
 .installation-draft .installation-opening h1 { font-size:clamp(34px,7.8vw,48px); }
 .installation-draft main .installation-eyebrow { margin-bottom:18px; font-size:11px; }
 .installation-draft .installation-opening-copy p { font-size:16px; max-width:520px; }
 .installation-draft .installation-opening-copy .text-link { margin-top:12px; }
 .installation-draft .installation-photo img { height:285px; aspect-ratio:auto; object-fit:cover; object-position:78% center; }
 .installation-draft .installation-photo figcaption { font-size:10px; padding-block:12px 16px; }
 .installation-draft .installation-index { padding-block:20px; }
 .installation-draft .installation-index ol { grid-template-columns:1fr 1fr; gap:9px 25px; }
 .installation-draft .installation-index a { font-size:13px; padding-bottom:8px; }
 .installation-draft .installation-step { grid-template-columns:1fr; gap:34px; padding-block:55px; }
 .installation-draft main h2 { font-size:33px; }
 .installation-draft .installation-step-copy>p:not(.installation-eyebrow) { margin-top:21px; font-size:16px; }
 .installation-draft .installation-agreement dl>div { grid-template-columns:90px 1fr; gap:20px; padding-block:20px; }
 .installation-draft .installation-scope dl { gap:27px 24px; }
 .installation-draft .installation-scope dt { font-size:14px; }
 .installation-draft .installation-scope dd { font-size:14px; }
 .installation-draft .installation-testing { padding-block:55px 50px; }
 .installation-draft .installation-test-intro>p:not(.installation-eyebrow) { font-size:16px; }
 .installation-draft .installation-tests { grid-template-columns:1fr; gap:24px; margin-top:36px; }
 .installation-draft .installation-tests li { display:grid; grid-template-columns:22px 1fr; column-gap:16px; padding-top:24px; }
 .installation-draft .installation-check { grid-row:1/3; font-size:18px; margin:0; }
 .installation-draft .installation-tests h3 { font-size:19px; margin-bottom:8px; }
 .installation-draft .installation-tests p { grid-column:2; font-size:14px; }
 .installation-draft .installation-handover-copy>p { font-size:16px; }
 .installation-draft .installation-questions { grid-template-columns:1fr; gap:25px; padding-block:0 55px; }
 .installation-draft .installation-questions h2 { font-size:27px; padding:0; }
 .installation-draft .installation-questions summary { min-height:68px; font-size:15px; }
 .installation-draft .installation-invitation { padding-block:52px; }
 .installation-draft .installation-invitation h2 { font-size:32px; }
 .installation-draft .installation-invitation p { font-size:15px; }
 .installation-draft .installation-invitation>div>div { display:flex; flex-direction:column; align-items:center; gap:6px; }
 .installation-draft .installation-invitation .text-link { margin:0; }
 .installation-draft .installation-step { gap:24px; padding-block:43px; }
 .installation-draft .installation-more { border-top:1px solid #ced6d7; border-bottom:1px solid #ced6d7; padding:0; }
 .installation-draft .installation-more>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:58px; padding-block:14px; font-size:15px; line-height:1.45; cursor:pointer; }
 .installation-draft .installation-more>summary h3 { margin:0; font-size:15px; font-weight:400; line-height:1.45; letter-spacing:0; }
 .installation-draft .installation-more>summary>span { display:block; flex:none; color:#627276; font-size:22px; font-weight:300; }
 .installation-draft .installation-more[open]>summary>span { transform:rotate(45deg); }
 .installation-draft .installation-more-content { padding:5px 0 20px; }
 .installation-draft .installation-more-note { font-size:14px; margin-bottom:18px; }
 .installation-draft .installation-agreement dl>div:last-child { border:0; padding-bottom:0; }
 .installation-draft .installation-scope>p { margin-top:16px; }
 .installation-draft .installation-testing { padding-block:43px; }
 .installation-draft .installation-test-details { margin-top:25px; border-color:#63797b; }
 .installation-draft .installation-test-details>summary>span { color:#c3ded7; }
 .installation-draft .installation-test-details .installation-tests { margin-top:23px; }
 .installation-draft .installation-handover-copy>p { margin-bottom:22px; }
}
@media(max-width:360px) {
 .installation-draft .installation-opening h1 { font-size:32px; }
 .installation-draft main h2 { font-size:29px; }
 .installation-draft .installation-photo img { height:260px; }
 .installation-draft .installation-agreement dl>div { grid-template-columns:1fr; gap:8px; }
}

/* A real installation leads; deeper process detail stays available on request. */
.installation-draft .installation-hero { display:grid; grid-template-columns:.8fr 1.2fr; gap:7%; max-width:1256px; margin:auto; padding:58px var(--gutter) 32px; align-items:center; }
.installation-draft .installation-opening { display:block; width:100%; padding:0; }
.installation-draft .installation-opening h1 { font-size:clamp(36px,3.5vw,50px); }
.installation-draft .installation-opening-copy { margin-top:23px; }
.installation-draft .installation-opening-copy p { font-size:16px; line-height:1.65; }
.installation-draft .installation-opening-copy .text-link { font-size:15px; margin-top:18px; }
.installation-draft .installation-photo { min-width:0; background:none; }
.installation-draft .installation-photo img { aspect-ratio:5/4; height:auto; border-radius:24px; object-position:48% center; }
.installation-draft .installation-photo figcaption { width:100%; padding:13px 0 0; font-size:11px; }
.installation-draft .installation-index { padding-block:20px 30px; }
.installation-draft .installation-process { display:grid; grid-template-columns:1fr 1fr; gap:0 8%; padding-block:30px 62px; }
.installation-draft .installation-process>section { background:none; color:var(--installation-ink); width:100%; margin:0; padding:32px 0; border-top:1px solid #d9dcde; }
.installation-draft .installation-process .installation-step { display:block; width:100%; padding:0; }
.installation-draft .installation-process>section.installation-step { padding:32px 0; }
.installation-draft .installation-process :is(.installation-on-site,.installation-testing)>.wrap { width:100%; padding:0; }
.installation-draft .installation-process h2 { font-size:clamp(25px,2.4vw,32px); max-width:440px; }
.installation-draft .installation-process .installation-eyebrow { margin-bottom:17px; }
.installation-draft .installation-process :is(.installation-eyebrow,.installation-number,.installation-check) { color:#68686e; }
.installation-draft .installation-process :is(.installation-step-copy,.installation-test-intro)>p:not(.installation-eyebrow) { margin:17px 0 21px; color:var(--installation-muted); font-size:15px; }
.installation-draft .installation-process .installation-handover-copy>p { margin:17px 0 21px; font-size:15px; }
.installation-draft .installation-process .installation-scope>p { display:none; }
.installation-draft .installation-more { border-top:1px solid #e1e2e4; border-bottom:0; padding:0; }
.installation-draft .installation-more>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:54px; padding-block:13px; font-size:14px; line-height:1.45; cursor:pointer; }
.installation-draft .installation-more>summary h3 { margin:0; font-size:14px; font-weight:400; letter-spacing:0; line-height:1.45; }
.installation-draft .installation-more>summary>span { display:block; flex:none; color:#62626b; font-size:22px; font-weight:300; }
.installation-draft .installation-more[open]>summary>span { transform:rotate(45deg); }
.installation-draft .installation-more-content { padding:8px 0 18px; }
.installation-draft .installation-process .installation-more-note { color:var(--installation-muted); font-size:14px; line-height:1.6; }
.installation-draft .installation-process .installation-tests { display:block; margin-top:15px; }
.installation-draft .installation-tests li { display:grid; grid-template-columns:20px 1fr; column-gap:12px; border-top:1px solid #e1e2e4; padding-block:16px; }
.installation-draft .installation-tests .installation-check { grid-row:1/3; font-size:16px; margin:0; }
.installation-draft .installation-tests h3 { font-size:16px; margin:0 0 7px; }
.installation-draft .installation-tests p { grid-column:2; font-size:14px; color:var(--installation-muted); }
.installation-draft .installation-questions { grid-template-columns:.8fr 1.2fr; gap:9%; padding-block:18px 70px; }
.installation-draft .installation-questions h2 { position:sticky; top:96px; align-self:start; max-width:300px; }
.installation-draft .installation-invitation { background:var(--surface-stone); border-top:1px solid #e3e3e5; text-align:left; }
.installation-draft .installation-invitation p { margin:20px 0; max-width:610px; }
.installation-draft .installation-invitation .text-link { margin:0 28px 0 0; }
@media(max-width:800px) {
  .installation-draft .installation-hero { grid-template-columns:1fr; gap:27px; padding-block:34px 24px; }
  .installation-draft .installation-opening { display:grid; grid-template-columns:1fr 1fr; gap:7%; }
  .installation-draft .installation-opening-copy { margin:0; }
  .installation-draft .installation-photo img { aspect-ratio:16/10; }
  .installation-draft .installation-process { gap:0 6%; }
}
@media(max-width:700px) {
  .installation-draft .installation-hero { padding-block:18px 22px; }
  .installation-draft .installation-opening { display:block; }
  .installation-draft .installation-opening h1 { font-size:36px; }
  .installation-draft .installation-opening-copy { margin-top:18px; }
  .installation-draft .installation-opening-copy p { font-size:16px; }
  .installation-draft .installation-photo img { height:auto; aspect-ratio:4/3; border-radius:20px; object-position:center; }
  .installation-draft .installation-index { padding-block:12px 20px; }
  .installation-draft .installation-process { display:block; padding-block:10px 36px; }
  .installation-draft .installation-process>section,.installation-draft .installation-process>section.installation-step { padding-block:27px; }
  .installation-draft .installation-process h2 { font-size:27px; }
  .installation-draft .installation-questions { display:block; padding-block:0 48px; }
  .installation-draft .installation-questions h2 { position:static; margin-bottom:26px; font-size:28px; max-width:none; }
  .installation-draft .installation-questions summary { font-size:15px; min-height:68px; }
  .installation-draft .installation-invitation h2 { font-size:30px; }
  .installation-draft .installation-invitation>div>div { align-items:flex-start; }
  .installation-draft .installation-invitation .text-link { margin:0; }
}

/* A second real home photograph gives the process a visual pause. */
.installation-draft .installation-process-photo { grid-column:1 / -1; min-width:0; margin:12px 0 32px; }
.installation-draft .installation-process-photo img { display:block; width:100%; height:auto; aspect-ratio:2; object-fit:cover; object-position:center 59%; border-radius:24px; }
.installation-draft .installation-process-photo figcaption { color:var(--installation-muted); font-size:13px; line-height:1.5; padding-top:12px; }
.installation-draft .installation-extra-questions>div { padding-left:18px; border-left:1px solid #dce1e2; }
.installation-draft .installation-extra-questions>summary { font-weight:500; }
@media(max-width:700px) {
 .installation-draft { --installation-muted:#595753; }
 .installation-draft .installation-process-photo { margin:18px 0 30px; }
 .installation-draft .installation-process-photo img { aspect-ratio:4/3; border-radius:20px; }
 .installation-draft .installation-index a { font-size:18px; min-height:52px; gap:8px; }
 .installation-draft .installation-index ol { gap:12px 20px; }
 .installation-draft .installation-parent-link { font-size:16px; }
 .installation-draft .installation-opening-copy p,
 .installation-draft .installation-process :is(.installation-step-copy,.installation-test-intro)>p:not(.installation-eyebrow),
 .installation-draft .installation-process .installation-handover-copy>p,
 .installation-draft .installation-process .installation-more-note,
 .installation-draft .installation-process :is(dt,dd),
 .installation-draft .installation-tests p,
 .installation-draft .installation-handover li,
 .installation-draft .installation-questions details p { font-size:18px; line-height:1.65; }
 .installation-draft .installation-opening-copy .text-link { font-size:18px; min-height:48px; }
 .installation-draft .installation-more>summary,
 .installation-draft .installation-more>summary h3,
 .installation-draft .installation-questions summary { font-size:18px; line-height:1.5; min-height:60px; }
 .installation-draft .installation-more>summary h3 { min-height:0; }
 .installation-draft .installation-scope dl { grid-template-columns:1fr; gap:22px; }
 .installation-draft .installation-agreement dl>div { grid-template-columns:1fr; gap:8px; }
 .installation-draft .installation-photo figcaption,
 .installation-draft .installation-process-photo figcaption { font-size:14px; line-height:1.5; }
 .installation-draft .installation-extra-questions>div { padding-left:12px; }
}
@media(max-width:360px) {
 .installation-draft .installation-index ol { grid-template-columns:1fr; gap:0; }
}
