/* Responsive, dependency-free presentation shared by ten individually branded concepts. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#222a32;background:#f6f5f2;font-family:Arial,Helvetica,sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color);outline-offset:5px}button:focus-visible{outline-color:#1398b4}.skip{position:absolute;left:10px;top:-100px;background:#fff;color:#000;padding:14px;z-index:20}.skip:focus{top:8px}.concept{background:#e9ecef;color:#303a44;text-align:center;font-size:11px;letter-spacing:.07em;padding:9px 16px}.concept strong{font-weight:700}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;min-height:104px}.brand{display:flex;align-items:center;text-decoration:none;max-width:310px;font-size:20px;font-weight:850;line-height:1.2;letter-spacing:-.03em}.brand img{display:block;width:auto;max-width:220px;max-height:72px;object-fit:contain}.header-right{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.header-right a{text-decoration:none}.header-right .outline{border:1px solid #b8bec5;padding:12px 18px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:540px;background:#fff}.hero-copy{padding:58px max(38px,calc((100vw - 1200px)/2));padding-right:46px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--color);margin:0 0 22px;text-transform:uppercase}.hero h1{font-size:clamp(38px,4vw,65px);line-height:1.04;letter-spacing:-.055em;margin:0 0 26px;max-width:660px;font-weight:800}.hero .intro{font-size:16px;line-height:1.8;color:#52606c;max-width:480px;margin:0 0 32px}.hero-media{position:relative;min-height:480px;overflow:hidden;background:var(--dark)}.hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-label{position:absolute;bottom:22px;left:24px;right:24px;color:#fff;background:rgba(0,0,0,.7);padding:9px 13px;font-size:11px;width:fit-content;max-width:calc(100% - 48px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:0;background:var(--color);color:#fff;text-decoration:none;font-weight:700;font-size:14px;line-height:1.35;min-height:50px;padding:17px 24px}.button::after{content:'↗';font-size:20px}.button.secondary{background:transparent;color:inherit;border:1px solid #c3c9ce}.button.secondary::after{content:none}.hero-foot{font-size:11px;margin-top:18px;color:#56636d}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;border-bottom:1px solid #d7dbdf;gap:20px}.facts div{font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px}.facts span{color:var(--color);font-size:18px}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:64px;padding:78px 0}.aside .eyebrow{margin-bottom:18px}.aside h2{font-size:36px;line-height:1.12;letter-spacing:-.04em;margin:0 0 22px}.aside p{font-size:14px;color:#56636d}.aside .small{font-size:12px}.progress{display:flex;list-style:none;gap:7px;padding:0;margin:0 0 30px}.progress li{flex:1;color:#56636d;font-size:11px;border-top:3px solid #dce0e4;padding-top:11px}.progress li.active{color:var(--color);border-color:var(--color);font-weight:700}.panel{min-width:0;background:#fff;padding:34px;box-shadow:0 10px 42px #17203109;border:1px solid #e1e3e5;border-radius:5px}.panel h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px}.panel .help{font-size:13px;line-height:1.7;color:#65717a;margin:0 0 24px}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{position:relative;display:block;border:1px solid #d2d8de;cursor:pointer;background:#fff;padding:20px 20px 20px 47px;min-height:116px;transition:border-color .15s,background .15s}.choice input{position:absolute;top:24px;left:18px;margin:0;accent-color:var(--color);width:17px;height:17px}.choice:has(input:checked){border:2px solid var(--color);padding:19px 19px 19px 46px;background:color-mix(in srgb,var(--color) 6%,white)}.choice:has(input:checked) input{top:23px;left:17px}.choice strong{display:block;font-size:14px;margin:0 0 7px;line-height:1.35}.choice small{display:block;color:#56636d;font-size:12px;line-height:1.5}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;min-width:0}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #bec7cf;border-radius:2px;padding:13px 12px;background:#fff;color:#29343e;font-weight:400;font-size:14px;min-height:48px}.field textarea{resize:vertical;min-height:105px;max-height:300px}.field input:invalid:not(:placeholder-shown){box-shadow:none}.actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:27px;padding-top:25px;border-top:1px solid #e2e5e8}.back{border:0;background:none;color:#596772;padding:12px 0;font-size:13px}.error{color:#a71e1e;background:#fff0f0;font-size:13px;padding:12px 14px;margin:15px 0 0;border-left:3px solid #a71e1e}.live-card{background:#edf1f4;border-left:3px solid var(--color);padding:19px 20px;margin:24px 0 0;font-size:13px}.live-card strong{display:block;font-size:23px;letter-spacing:-.035em;line-height:1.2;margin-bottom:6px;color:var(--dark)}.live-card p{margin:5px 0}.diagram{height:90px;display:flex;align-items:flex-end;gap:5px;margin:14px 0 12px;position:relative;isolation:isolate}.diagram::before,.diagram::after{content:'';position:absolute;left:0;right:0;height:8px;background:#8b796a;z-index:-1}.diagram::before{bottom:17px}.diagram::after{bottom:60px}.diagram i{display:block;flex:1;max-width:30px;height:85px;background:#b39573;border-radius:5px 5px 0 0}.diagram[data-material=Vinyl] i{background:#fff;border:1px solid #bdc5ca}.diagram[data-material=Aluminum] i{background:#3e4950;max-width:8px;margin-right:15px}.diagram[data-material='Chain link'] i{background:#9faab0;max-width:4px;margin-right:16px}.diagram b{width:60px;height:80px;border:3px solid var(--color);background:#f7f8f9;color:var(--color);font-size:10px;display:grid;place-items:center}.area-visual{display:flex;align-items:center;justify-content:center;min-height:80px;border:1px solid #aab3bd;background:repeating-linear-gradient(45deg,#f9fafb,#f9fafb 5px,#e7ebef 5px,#e7ebef 6px);margin:15px 0;font-weight:700;color:var(--dark)}.summary{margin:0}.summary div{padding:12px 0;border-bottom:1px solid #e4e7e9;display:grid;grid-template-columns:42% 58%;gap:10px;font-size:13px}.summary dt{color:#65717a}.summary dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;padding-right:10px}.status{background:#edf6ef;border:1px solid #c0d7c7;color:#245335;padding:14px;font-size:13px;margin:20px 0}.notes{font-size:11px;color:#65717a;margin-top:22px;line-height:1.8}.gallery{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:55px}.gallery figure{margin:0;min-width:0}.gallery img{width:100%;height:230px;object-fit:cover;background:#ddd}.gallery figcaption{font-size:11px;margin-top:7px;color:#56636d}.bottom-section{border-top:1px solid #d7dbdf;padding:50px 0 70px;display:grid;grid-template-columns:310px 1fr;gap:64px}.bottom-section h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0}.faq details{border-bottom:1px solid #d0d6db;padding:18px 0}.faq details:first-child{padding-top:0}.faq summary{font-size:14px;font-weight:700;cursor:pointer}.faq p{color:#56636d;font-size:13px}.footer{background:var(--dark);color:#fff;padding:35px 0}.footer .wrap{display:flex;justify-content:space-between;gap:30px}.footer strong{font-size:17px}.footer p{font-size:12px;opacity:.85;margin:7px 0}.footer a{overflow-wrap:anywhere}.footer-note{font-size:11px;max-width:380px;color:#d1d6db}.sticky-mobile{display:none}.night{background:#efeee9}.night .header-shell{background:var(--dark);color:#fff}.night .hero-copy{background:var(--dark);color:#fff}.night .hero .intro,.night .hero-foot{color:#cfcecc}.night .hero .eyebrow{color:var(--accent)}.night .hero .button{background:var(--accent);color:#171717}.night .brand{color:#fff}.night .header-right .outline{border-color:#797873}.night .hero h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:400;letter-spacing:-.02em;text-transform:uppercase}.night .hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--dark),transparent 28%);pointer-events:none}.editorial .hero{margin:12px auto 0;width:min(1360px,calc(100% - 48px));background:#e7e7e0}.editorial .hero-copy{padding:60px}.editorial .hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.editorial .hero-media{margin:22px 22px 22px 0}.editorial .panel{border-radius:0}.classic .hero-copy{background:#edf0f5}.classic .hero-media{min-height:500px}[hidden]{display:none!important}
@media(min-width:1550px){.hero-copy{padding-left:max(70px,calc((100vw - 1200px)/2))}.editorial .hero-copy{padding:70px}.hero{min-height:600px}.hero-media{min-height:580px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-copy{padding:38px 30px}.hero h1{font-size:44px}.hero-media{min-height:440px}.workspace,.bottom-section{grid-template-columns:240px 1fr;gap:28px}.panel{padding:25px}.options{grid-template-columns:1fr}.choice{min-height:85px}.editorial .hero-copy{padding:36px}.header-right{gap:15px}.brand img{max-width:180px}.gallery img{height:180px}.header-right .quiet-link{display:none}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.concept{font-size:9px;letter-spacing:.025em}.header{min-height:85px;padding:16px 0;gap:15px}.brand{max-width:210px;font-size:16px}.brand img{max-width:160px;max-height:56px}.header-right .outline{padding:9px 11px;font-size:11px;white-space:nowrap}.header-right .phone-link{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:37px 23px}.hero h1{font-size:42px;line-height:1.04}.hero .intro{font-size:14px;line-height:1.75;margin-bottom:25px}.eyebrow{font-size:10px;margin-bottom:18px}.hero-media{height:255px;min-height:255px!important}.hero-foot{font-size:10px}.facts{grid-template-columns:1fr;gap:12px;padding:23px 0}.facts div{font-size:12px}.workspace{display:block;padding:45px 0}.aside{margin-bottom:28px}.aside h2{font-size:32px}.aside p{font-size:13px}.panel{padding:22px 18px}.progress{margin-bottom:25px}.options{gap:10px}.field-grid{grid-template-columns:1fr;gap:16px}.panel h3{font-size:23px}.choice{padding:17px 15px 17px 43px;min-height:88px}.choice input{top:20px;left:15px}.choice:has(input:checked){padding:16px 14px 16px 42px}.choice:has(input:checked) input{top:19px;left:14px}.button{font-size:13px;padding:15px 18px;gap:15px;min-height:49px}.actions{gap:10px}.summary div{grid-template-columns:1fr;gap:4px}.gallery{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:35px}.gallery figure:last-child:nth-child(odd){grid-column:1/-1}.gallery img{height:180px}.bottom-section{display:block;padding:35px 0}.bottom-section h2{margin-bottom:25px}.footer{padding-bottom:85px}.footer .wrap{display:block}.footer-note{margin-top:20px!important}.sticky-mobile{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d9dfe4;z-index:5;align-items:center;justify-content:space-between;gap:12px}.sticky-mobile span{font-size:11px;color:#56636d}.sticky-mobile a{font-size:12px;padding:11px 18px;background:var(--color);color:#fff;text-decoration:none;font-weight:700}.night .sticky-mobile a{background:var(--dark)}.editorial .hero{margin:0;width:100%}.editorial .hero-copy{padding:37px 23px}.editorial .hero-media{margin:0 18px 18px;height:255px}.night .hero-media::after{background:linear-gradient(180deg,var(--dark),transparent 25%)}.photo-label{left:14px;bottom:12px;max-width:calc(100% - 28px);font-size:9px}.live-card{padding:16px}.field input,.field select,.field textarea{font-size:16px}}
.photo-label{z-index:1}.night .panel .button{background:var(--dark);color:#fff}.night .aside .eyebrow,.night .progress li.active{color:var(--dark)}.editorial .hero .eyebrow{color:var(--dark)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.concept,.header-right,.hero,.facts,.aside,.gallery,.bottom-section,.footer,.sticky-mobile,.actions,.progress{display:none!important}.workspace{display:block;padding:0}.panel{border:0;box-shadow:none}.wrap{width:100%}.header{min-height:0}.status{background:none;color:#000}}

/* Quality revision: readable offers, inline mobile feedback, and printable briefs. */
[hidden]{display:none!important}.campaign{border-left:3px solid var(--color);padding:0 0 0 18px;margin:0 0 25px;max-width:490px}.campaign>span{font-size:10px;letter-spacing:.12em;font-weight:700}.campaign>strong{display:block;font-size:26px;line-height:1.2;letter-spacing:-.025em;margin:5px 0 9px}.campaign p{font-size:12px;line-height:1.6;margin:0;color:#46545f}.night .campaign{border-color:var(--accent)}.night .campaign>strong{color:var(--accent)}.night .campaign p{color:#cfcecc}.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:32px 0 10px}.proof h2{font-size:18px;margin:0 0 7px;letter-spacing:-.02em}.proof p{font-size:13px;margin:0;color:#52606c}.actions{flex-wrap:wrap}.back{min-height:44px}.field-grid>.live-card{grid-column:1/-1;margin:0}.panel .live-card strong{font-size:23px}.diagram[data-material="Unselected"]{opacity:.45}.diagram[data-material="Chain link"]{background:repeating-linear-gradient(45deg,transparent 0 9px,#8b959b 10px 11px,transparent 12px 20px),repeating-linear-gradient(-45deg,transparent 0 9px,#8b959b 10px 11px,transparent 12px 20px)}.diagram[data-material="Chain link"]::before,.diagram[data-material="Chain link"]::after{background:#90999e}.diagram[data-material="Chain link"] i{visibility:hidden}.brand:has(img[src*="logo.webp"]){min-width:110px}.hero .intro{margin-bottom:24px}@media(max-width:700px){.campaign>strong{font-size:24px}.campaign{margin-bottom:22px}.proof{grid-template-columns:1fr;gap:22px;padding:26px 0 0}.panel .live-card{margin:16px 0}.field-grid>.live-card{margin:0}.actions .button{flex:1 1 auto}.actions .back{font-size:12px}.hero h1{font-size:38px}.header-right .outline{max-width:150px;white-space:normal;text-align:center}.sticky-mobile[hidden]{display:none!important}}@media print{.proof,.campaign,#desktop-calculation{display:none!important}.summary div{break-inside:avoid}.panel{padding:0}.header{padding:0 0 20px}.status{border:1px solid #777}.notes{font-size:10pt}body{background:white;font-size:11pt}}

/* Match the distinctive headers and presentation seen on each original site. */
.company-kenny .header-shell,.company-rock-roofing .header-shell{background:var(--dark);color:white}.company-kenny .brand{gap:14px;font-size:17px;max-width:350px}.company-kenny .brand img{width:54px;height:58px;object-fit:contain;flex-shrink:0}.company-kenny .header-right .outline,.company-rock-roofing .header-right .outline{border-color:#a8a8a8}.company-kenny .hero{position:relative;display:block;margin:0;width:100%;min-height:570px;background:#2c2521;isolation:isolate}.company-kenny .hero-media{position:absolute;inset:0;margin:0;height:100%;min-height:0;z-index:-1}.company-kenny .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,24,21,.9),rgba(30,24,21,.25))}.company-kenny .hero-copy{min-height:570px;background:none;color:#fff;padding:65px max(40px,calc((100vw - 1200px)/2));max-width:900px}.company-kenny .hero h1{font-family:Rockwell,Georgia,serif;font-weight:900;max-width:690px;font-size:clamp(44px,5vw,72px);line-height:1.05}.company-kenny .hero .eyebrow{color:#fff}.company-kenny .hero .intro{color:#e8e4e1;max-width:570px}.company-kenny .hero-foot{color:#e8e4e1}.company-rock-roofing{background:#f7f7f7}.company-rock-roofing .header-shell{background:#000}.company-rock-roofing .brand img{max-height:86px}.company-rock-roofing .hero{background:#111;color:#fff;margin:0;width:100%;padding:0}.company-rock-roofing .hero-copy{background:#111}.company-rock-roofing .hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:800}.company-rock-roofing .hero .eyebrow,.company-rock-roofing .hero .intro,.company-rock-roofing .hero-foot{color:#eee}.company-rock-roofing .hero .button{background:#fff;color:#111}.company-rock-roofing .hero-media{margin:0}.company-garage-doors .header-shell{background:#fff;border-bottom:4px solid var(--color)}.company-garage-doors .brand img{max-width:180px;max-height:85px}.company-garage-doors .header-right .phone-link{color:#b71d33;font-size:18px}.company-garage-doors .hero-copy{background:#fff}.company-above-all .brand img{max-height:100px;max-width:160px}.company-above-all .header{min-height:122px}.company-above-all .facts{width:100%;padding:24px max(40px,calc((100vw - 1200px)/2));background:#314781;color:#fff;border:0}.company-above-all .facts span{color:#fff}@media(max-width:700px){.company-kenny .brand{font-size:12px;gap:7px;max-width:200px}.company-kenny .brand img{width:40px;height:43px;max-width:40px}.company-kenny .header-right .outline{font-size:11px;padding:10px;max-width:115px}.company-kenny .hero,.company-kenny .hero-copy{min-height:540px}.company-kenny .hero-copy{padding:40px 23px 75px}.company-kenny .hero h1{font-size:43px}.company-kenny .hero-media{height:100%;min-height:0!important;margin:0}.company-kenny .hero-media::after{background:linear-gradient(90deg,rgba(30,24,21,.88),rgba(30,24,21,.5))}.company-rock-roofing .hero-copy{padding:37px 23px}.company-rock-roofing .hero-media{margin:0;height:255px}.company-above-all .brand img{max-height:76px;max-width:100px}.company-above-all .header{min-height:100px}.company-above-all .facts{padding:23px 18px}.company-garage-doors .brand img{max-width:135px;max-height:68px}}

.company-above-all .brand img{width:130px;height:130px;max-width:130px;max-height:130px}.company-above-all .header{padding-top:6px;padding-bottom:6px}@media(max-width:700px){.company-above-all .brand img{width:95px;height:95px;max-width:95px;max-height:95px}}

.brief-brand{font-size:13px;font-weight:700;margin:0 0 10px;color:#34414c}@media print{.header-shell{display:none!important}.brief-brand{font-size:16pt;color:#000}.panel h3{font-size:20pt}}
