/* AVS contractor pages. Modular CSS; Engineering Atlas / Golos Text. */
.cp-main{color:var(--ink);overflow-wrap:break-word}.cp-main *{box-sizing:border-box}
.cp-main .cp-shell,.cp-main>.cp-section,.cp-main>.cp-hero,.cp-main>.cp-cta{width:min(1280px,88%);margin-inline:auto}
.cp-hero{padding-block:64px 76px}.cp-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,88px);align-items:center}
.cp-main h1{font-size:clamp(42px,4.8vw,76px);line-height:1.04;font-weight:500;letter-spacing:-.045em;margin:0 0 28px;max-width:18ch}
.cp-main .cp-eyebrow,.cp-main .cp-kicker{font-size:12px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 22px}
.cp-lead{font-size:clamp(19px,1.65vw,24px);line-height:1.45;max-width:54ch;margin:0 0 24px}.cp-intro{font-size:18px;line-height:1.6;max-width:65ch}
.cp-hero p:not([class]){font-size:18px;line-height:1.6;max-width:55ch}.cp-photo{margin:0}.cp-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.cp-photo figcaption,.cp-case figcaption{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px}
.cp-photo a{display:block}.cp-section{padding-block:64px;border-top:1px solid var(--line)}
.cp-main h2{font-size:clamp(30px,3vw,48px);font-weight:500;line-height:1.12;letter-spacing:-.03em;max-width:26ch;margin:0 0 30px}
.cp-main h3{font-size:24px;font-weight:500;line-height:1.22;letter-spacing:-.02em;margin:0 0 16px}.cp-main p{line-height:1.6}
.cp-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;margin-bottom:36px;align-items:start}.cp-heading p{max-width:56ch;margin:0;color:var(--muted)}
.cp-grid,.cp-cards,.cp-factors,.cp-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.cp-grid>article,.cp-cards>article,.cp-factors>article,.cp-scenarios>article{border-top:1px solid var(--line);padding-top:24px;min-width:0}
.cp-grid p,.cp-cards p,.cp-factors p,.cp-scenarios p{max-width:56ch}.cp-grid--two,.cp-grid-2,.cp-cards--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cp-list{padding-left:1.15em;margin:0}.cp-list li{padding-left:.2em;margin-block:8px}.cp-main ul{line-height:1.6}.cp-main a:not([class]){text-underline-offset:4px}
.cp-main .cp-button,.cp-main .cp-cta>a,.cp-main .cp-hero a.cp-button{display:inline-flex;align-items:center;gap:16px;min-height:48px;padding:13px 20px;background:var(--ink);color:var(--paper);text-decoration:none;border:1px solid var(--ink);font-size:16px}
.cp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}.cp-actions>a{min-height:44px;display:inline-flex;align-items:center}.cp-main a:focus-visible,.cp-main summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.cp-steps{list-style:none;padding:0;margin:0;counter-reset:cp-step}.cp-steps>li{counter-increment:cp-step;display:grid;grid-template-columns:52px 1fr 1.2fr;gap:28px;padding:26px 0;border-top:1px solid var(--line)}
.cp-steps>li::before{content:counter(cp-step,decimal-leading-zero);font-size:13px;color:var(--blue);padding-top:5px}.cp-steps p{margin:0;max-width:60ch}
.cp-case{margin:0}.cp-case img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}.cp-case h3{margin-top:20px}.cp-case a{display:block}.cp-case p{font-size:16px;max-width:55ch}
.cp-diagram{width:100%;height:auto;display:block;color:var(--blue)}.cp-explainer{padding:28px;background:#e6eceb}.cp-main details.cp-disclosure{border-block:1px solid var(--line);padding:0}.cp-main details.cp-disclosure>summary{font-size:19px;min-height:56px;cursor:pointer;padding:16px 0}.cp-main details.cp-disclosure>div{padding-bottom:24px}
.cp-main>.cp-cta{border-top:1px solid var(--line);padding-block:64px 80px}.cp-cta p{max-width:65ch;font-size:19px}.cp-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}.cp-nav>a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}
.cp-main>.source-details{margin-top:0;padding-block:20px 48px}.cp-main>.source-details>details>summary{min-height:48px;cursor:pointer}
@media(min-width:1600px){.cp-main h1{font-size:80px}}
@media(max-width:1000px){.cp-hero-grid{grid-template-columns:1fr;gap:32px}.cp-main h1{max-width:23ch}.cp-photo{max-width:100%}.cp-grid,.cp-cards,.cp-factors,.cp-scenarios{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-heading{gap:24px}.cp-steps>li{grid-template-columns:36px 1fr}.cp-steps>li>p{grid-column:2}}
@media(max-width:700px){.cp-main .cp-shell,.cp-main>.cp-section,.cp-main>.cp-hero,.cp-main>.cp-cta{width:calc(100% - 48px)}.cp-hero{padding-block:36px 44px}.cp-main h1{font-size:clamp(36px,10.5vw,58px);max-width:20ch;letter-spacing:-.035em}.cp-main h2{font-size:clamp(28px,7.6vw,40px)}.cp-main h3{font-size:23px}.cp-heading,.cp-grid,.cp-cards,.cp-factors,.cp-scenarios{grid-template-columns:1fr;gap:24px}.cp-section{padding-block:44px}.cp-heading{margin-bottom:28px}.cp-steps>li{gap:16px;padding-block:22px}.cp-steps h3{font-size:22px}.cp-main>.cp-cta{padding-block:44px 56px}.cp-explainer{padding:20px}.cp-photo img{aspect-ratio:4/3}.cp-lead,.cp-cta p{font-size:19px}.cp-hero p:not([class]){font-size:16px}.cp-case img{aspect-ratio:4/3}.cp-main .cp-button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.cp-main *{scroll-behavior:auto!important}}
.cp-main .cp-hero-grid>div>a[href="#request"]{display:inline-flex;align-items:center;min-height:48px;padding:13px 20px;background:var(--ink);color:var(--paper);text-decoration:none;margin-top:12px}.cp-page-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px}.cp-page-nav>a{display:inline-flex;min-height:44px;align-items:center;color:var(--blue)}.cp-note{font-size:14px;line-height:1.6;color:var(--muted);max-width:70ch}.cp-diagram-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain;border:1px solid var(--line);padding:16px}.cp-diagram-scroll .cp-diagram{min-width:640px}.cp-source-content>summary{min-height:56px;cursor:pointer;padding:16px 0}.cp-main figure img{max-width:100%}
.cp-main .cp-hero>.wrap{width:100%;max-width:none;padding-inline:0}.cp-heading>.eyebrow{grid-column:1/-1;margin:0}.cp-main .cp-hero .cp-actions .button{margin:0}.cp-main .cp-actions a{min-height:48px}.cp-main .cp-actions>a:not(.button){padding-block:12px}
@media(min-width:701px){.cp-scroll-hint{display:none}}
/* Calls to action wrap as a group, with a clear secondary text action. */
.cp-main .cp-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 18px}.cp-main .cp-cta>p,.cp-main .cp-cta>h2,.cp-main .cp-cta>h3{flex-basis:100%;margin-block:0}.cp-main .cp-cta>a{flex:none}.cp-main .cp-cta>a+a{background:transparent;color:var(--blue);border-color:transparent;padding-inline:0;min-height:48px}
.cp-main .cp-cta>a{flex:0 1 auto;min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}
