/* Home-only paper layers on a plain ivory background. */
body.home.indigo-renewal-page{background-color:#f6f5f1;background-image:none;overflow-x:clip}
body.home.indigo-renewal-page header,body.home.indigo-renewal-page nav,body.home.indigo-renewal-page .cta{background-color:#f6f5f1;background-image:none}
body.home .hero.hp-ready{height:360svh;padding:0;overflow:visible;position:relative}
body.home .hero.hp-ready>.hero-top,body.home .hero.hp-ready>.hero-art{display:none}
body.home .hp-stage{position:sticky;top:0;height:100svh;min-height:820px;overflow:visible;isolation:isolate;display:flex;align-items:center}
body.home .hp-copy{position:relative;z-index:2;width:46%;max-width:530px;padding:35px 0 70px;flex-shrink:0}
body.home .hp-copy .eyebrow{margin:0 0 22px}
body.home .hp-copy h1{font-size:clamp(35px,3.4vw,49px);line-height:1.55;margin:0}
body.home .hp-signature{font:italic 25px/1.4 Georgia,serif;letter-spacing:-.02em;margin:20px 0 22px}
body.home .hp-copy .hero-desc{max-width:none;font-size:15px;line-height:1.95;padding:0}
body.home .hp-copy .hero-actions{gap:14px;align-items:center;margin-top:22px}
body.home .hp-copy .hero-actions .btn{gap:28px;padding:17px 20px}
body.home .hp-copy .hero-actions .link{gap:18px}
body.home .hp-art{position:absolute;left:47%;right:-5%;top:0;bottom:0;overflow:visible;clip-path:none;pointer-events:none;z-index:1}
body.home .hp-scene{display:block;width:145%;height:100%;margin-left:-32%;overflow:visible}
body.home .hp-sheet{filter:url(#hp-shadow);stroke-width:1.1;stroke-linejoin:round}
body.home .hp-navy{fill:#243455;stroke:#41516c}
body.home .hp-cream{fill:#eeede6;stroke:#faf9f5}
body.home .hp-grain{fill:url(#hp-grain);opacity:.8;pointer-events:none}
body.home .hp-scroll-hint{position:absolute;left:0;bottom:27px;font:9px Arial,sans-serif;letter-spacing:.13em;color:#657183}
body.home .hero.hp-ready>.intro-note{position:absolute;bottom:0;left:0;right:0;margin:0 0 4px;font-size:9px}
body.home.hp-reduced .hero.hp-ready{height:auto}
body.home.hp-reduced .hp-stage{position:relative;min-height:820px;height:auto}
body.home.hp-reduced .hp-scroll-hint{display:none}
@media(min-width:801px) and (max-height:800px){body.home .hp-stage{min-height:780px}body.home .hp-copy h1{font-size:39px}body.home .hp-copy{padding-top:30px;padding-bottom:50px}body.home .hp-signature{margin:16px 0}body.home .hp-copy .eyebrow{margin-bottom:16px}}
@media(min-width:801px) and (max-width:1100px){body.home .hp-copy{width:49%}body.home .hp-art{left:51%;right:-4%}body.home .hp-copy h1{font-size:36px}body.home .hp-copy .hero-desc{font-size:14px}body.home .hp-copy .hero-actions{gap:10px}body.home .hp-copy .hero-actions .btn{padding:14px;gap:15px}}
@media(max-width:800px){
 body.home .hero.hp-ready{height:calc(var(--hp-copy-height,800px) + 252svh)}
 body.home .hp-stage{display:block;height:100%;min-height:0;position:relative;overflow:visible}
 body.home .hp-copy{width:100%;max-width:none;padding:48px 0 32px}
 body.home .hp-copy h1{font-size:clamp(29px,7.5vw,38px);line-height:1.6}
 body.home .hp-copy .eyebrow{font-size:10px;margin-bottom:22px}
 body.home .hp-signature{font-size:24px;margin:22px 0}
 body.home .hp-copy .hero-desc{font-size:15px;line-height:2}
 body.home .hp-copy .hero-actions{margin-top:25px;gap:18px;flex-wrap:wrap}
 body.home .hp-copy .hero-actions .btn{font-size:14px;padding:17px 20px}
 body.home .hp-art{position:sticky;top:0;left:auto;right:auto;bottom:auto;height:72svh;min-height:430px;width:100%;overflow:visible;clip-path:none}
 body.home .hp-scene{width:165%;height:100%;margin-left:-49%}
 body.home .hp-scroll-hint{display:none}
 body.home .hero.hp-ready>.intro-note{font-size:8px;line-height:1.8;margin-bottom:18px}
 body.home.hp-reduced .hero.hp-ready{height:auto;padding-bottom:42px}
 body.home.hp-reduced .hp-stage{min-height:0}
 body.home.hp-reduced .hp-art{position:relative;top:auto;height:65svh;min-height:360px}
}
@media(prefers-reduced-motion:reduce){body.home .hero.hp-ready{height:auto!important}body.home .hp-stage{position:relative!important}body.home .hp-scroll-hint{display:none}}
@media print{body.home.indigo-renewal-page{background:white}body.home .hero.hp-ready{height:auto!important}body.home .hp-stage{position:relative;height:auto;min-height:0}body.home .hp-copy{width:100%;max-width:none}body.home .hp-art,body.home .hp-scroll-hint{display:none}}
/* Short desktop windows can scroll past the entire copy before the stage holds. */
@media(min-width:801px){body.home .hp-stage{top:min(0px,calc(100svh - 820px))}body.home.hp-reduced .hp-stage{top:0}}
@media(min-width:801px) and (max-height:800px){body.home .hp-stage{top:min(0px,calc(100svh - 780px))}}
@media(prefers-reduced-motion:reduce){body.home .hp-stage{top:0!important}}

@media print{body.home .hp-stage{top:0!important}}

/* Compact home composition and a translucent, following navigation. */
body.home.indigo-renewal-page{--hp-admin-offset:0px;--hp-header-height:84px}
body.home.indigo-renewal-page>header{position:sticky;top:var(--hp-admin-offset);height:84px;z-index:120;background:rgba(246,245,241,.96);border-bottom-color:rgba(36,52,85,.13)}
body.home.indigo-renewal-page>header nav{background:transparent}
body.home.indigo-renewal-page>.skip-link{z-index:1500;top:calc(var(--hp-admin-offset) + 8px)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 body.home.indigo-renewal-page>header{background:rgba(246,245,241,.76);backdrop-filter:blur(18px) saturate(110%);-webkit-backdrop-filter:blur(18px) saturate(110%)}
}
@media(min-width:801px){
 body.home .hero.hp-ready{--hp-stage-size:max(70svh,calc(var(--hp-copy-height,620px) + 12px));--hp-scroll-run:calc(360svh - max(100svh,820px));height:calc(var(--hp-scroll-run) + var(--hp-stage-size))}
 body.home .hp-stage{height:var(--hp-stage-size);min-height:0;top:calc(var(--hp-admin-offset) + var(--hp-header-height) + min(0px,calc(100svh - var(--hp-admin-offset) - var(--hp-header-height) - var(--hp-stage-size))))}
 body.home .hp-copy{padding-top:16px;padding-bottom:30px}
 body.home.hp-reduced .hp-stage{height:auto;min-height:0;top:0}
}
@media(min-width:801px) and (max-height:800px){body.home .hero.hp-ready{--hp-scroll-run:calc(360svh - max(100svh,780px))}}
@media(max-width:800px){
 body.home.indigo-renewal-page{--hp-header-height:72px}
 body.home.indigo-renewal-page>header{height:72px}
 body.home.indigo-renewal-page>header nav{top:100%;max-height:calc(100svh - var(--hp-admin-offset) - var(--hp-header-height));overflow-y:auto;overscroll-behavior:contain;background:rgba(246,245,241,.96)}
 body.home .hp-copy{padding-top:28px;padding-bottom:22px}
 body.home .hp-art{top:calc(var(--hp-admin-offset) + var(--hp-header-height))}
 body.home.hp-reduced .hp-art{top:0}
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){@media(max-width:800px){body.home.indigo-renewal-page>header nav{background:rgba(246,245,241,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}}
@media(prefers-reduced-motion:reduce){body.home .hp-stage,body.home .hp-art{top:0!important}}
@media print{body.home.indigo-renewal-page>header{position:static;backdrop-filter:none;-webkit-backdrop-filter:none}body.home .hp-stage{height:auto!important;top:0!important}}
/* Toolbar fallback before enhancement measures its visible edge. */
body.home.indigo-renewal-page.admin-bar{--hp-admin-offset:32px}
@media(max-width:782px){body.home.indigo-renewal-page.admin-bar{--hp-admin-offset:46px}}

/* Further tighten the hero rhythm while keeping every line and the scroll run. */
body.home .hp-copy .eyebrow{margin-bottom:12px}
body.home .hp-signature{margin-top:10px;margin-bottom:12px}
body.home .hp-copy .hero-desc{line-height:1.8}
body.home .hp-copy .hero-actions{margin-top:12px}
@media(min-width:801px){body.home .hp-copy{padding-top:4px;padding-bottom:10px}}
@media(max-width:800px){body.home .hp-copy{padding-top:10px;padding-bottom:6px}body.home .hp-signature{margin-top:10px;margin-bottom:12px}body.home .hp-copy .hero-desc{line-height:1.85}body.home .hp-copy .hero-actions{margin-top:12px}}

/* 2026-10-28: the signature line was removed, so the heading keeps its own space above the description. */
body.home .hp-copy h1{margin-bottom:32px}
@media(max-width:800px){body.home .hp-copy h1{margin-bottom:20px}}
/* 2026-10-28: a little more room between the description and the buttons. */
body.home .hp-copy .hero-actions{margin-top:36px}
@media(max-width:800px){body.home .hp-copy .hero-actions{margin-top:26px}}

/* 2026-10-28: line animation behind the TOP key visual, under the copy and the paper art. */
body.home .hp-stage.has-lines>.services-lines.is-home{top:-110px;bottom:0;z-index:0;opacity:.55}
@media(max-width:800px){body.home .hp-stage.has-lines>.services-lines.is-home{top:-80px;bottom:auto;height:calc(var(--hp-copy-height,800px) + 80px)}}
body.home .hp-stage.has-lines>.hp-copy{z-index:2}
body.home .hp-stage.has-lines>.hp-art{z-index:1}
/* 2026-10-28: the paper art must not widen the page (horizontal scroll on phones). clip keeps the sticky stage working. */
body.home .hero.hp-ready{overflow-x:clip}

/* Full-viewport clipping keeps the paper contained without trimming the background to the text column. */
body.home .hero.hp-ready{width:var(--hp-viewport-width,100vw);margin-left:calc((100% - var(--hp-viewport-width,100vw))/2)}
body.home .hero.hp-ready>.hp-stage{width:var(--hp-content-width,90vw);margin-inline:auto}
body.home .hero.hp-ready>.intro-note{width:var(--hp-content-width,90vw);margin-inline:auto}
body.home .hp-stage.has-lines>.services-lines.is-home{width:var(--hp-viewport-width,100vw)}

/* 2026-10-31: shorter key-visual scroll and tighter vertical composition. */
@media(min-width:801px){
 body.home .hero.hp-ready{--hp-scroll-run:85svh;--hp-stage-size:max(58svh,calc(var(--hp-copy-height,620px) + 12px))}
}
@media(max-width:800px){
 body.home .hero.hp-ready{height:calc(var(--hp-copy-height,800px) + 140svh)}
 body.home .hp-art{height:60svh;min-height:340px}
}
body.home .hero + .section{padding-top:48px}
@media(max-width:800px){body.home .hero + .section{padding-top:36px}}
