@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{--dark:#0b1420;--gold:#d9b35c;--muted:#626e7c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--dark);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--dark);color:white;border-bottom:1px solid #ffffff18}.logo{display:flex;gap:13px;align-items:center}.logo img{width:58px;height:58px;object-fit:contain;border-radius:50%}.logo span{font-size:11px;letter-spacing:.12em;line-height:1.6}.logo b{font-size:17px;letter-spacing:.03em}nav{display:flex;gap:32px;font-size:14px}nav a:hover{color:var(--gold)}.button{background:var(--gold);color:var(--dark);border:0;display:inline-block;padding:15px 24px;font-size:14px;font-weight:700}.button:hover{background:#f0ce7e}.compact{padding:11px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white;padding:60px 5% 55px;gap:40px;min-height:650px}.hero-copy{padding:12px 0 0}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;margin:0 0 25px;color:#94732c}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(65px,6.8vw,103px);font-weight:800}em{font-style:normal;color:var(--gold)}.intro{font-size:18px;color:#bfc7d2;max-width:480px;margin:28px 0}.hero-note{font-size:10px;letter-spacing:.15em;margin-top:45px;color:#9aa8b8}.hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px}.emblem{width:min(100%,490px);border-radius:50%;box-shadow:0 0 70px #d9b35c18}.art-caption{font-size:10px;letter-spacing:.17em;color:#d0ba86}.brand-strip{display:flex;justify-content:space-around;gap:20px;padding:28px 5%;background:#f3f4f6;border-bottom:1px solid #dde0e5;font-family:Manrope;font-size:18px;font-weight:800;letter-spacing:.04em}.section{padding:95px 8%}.about{display:grid;grid-template-columns:1fr 2fr;gap:45px}.about>.eyebrow{padding-top:12px}h2{font-size:clamp(36px,4vw,55px)}.large{font-size:22px;margin-top:30px;max-width:730px}.muted{color:var(--muted)}.about .muted{max-width:670px}.brands{background:#f3f4f6}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.brand-card{background:white}.brand-image{height:235px;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-image img{height:100%;width:100%;object-fit:contain}.titan{background:#00122f}.revived{background:#f7f7f7}.as{background:#dfe7ed}.as img{width:170px;height:auto;image-rendering:auto}.card-copy{padding:28px}.card-copy .eyebrow{font-size:10px}.card-copy h3{font-size:26px;margin-top:14px}.card-copy p{font-size:15px;color:var(--muted);min-height:48px}.card-copy button{border:0;border-top:1px solid #dfe3e7;padding:17px 0 0;width:100%;text-align:left;font-size:14px;font-weight:700;background:none;color:var(--dark)}.card-copy button:hover{color:#94732c}.vision{display:grid;grid-template-columns:1fr 1fr}.roof-photo{min-height:620px}.roof-photo img{width:100%;height:100%;object-fit:cover}.vision-copy{padding:65px 12%}.vision-copy h2{font-size:42px;margin-bottom:35px}.vision article{display:flex;gap:20px;border-top:1px solid #dfe3e7;padding:23px 0}.vision article>span{font-size:12px;color:#94732c}.vision h3{font-size:21px;letter-spacing:-.025em}.vision p:not(.eyebrow){color:var(--muted);margin:10px 0 0;font-size:15px}.closing{background:var(--dark);color:white;display:flex;align-items:center;justify-content:center;gap:70px;padding:80px 6%}.closing img{width:230px;border-radius:50%}.closing h2{font-size:58px;margin-bottom:30px}.closing .eyebrow{color:var(--gold)}footer{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}footer .logo{color:var(--dark)}footer .logo img{width:45px;height:45px}footer .logo b{font-size:14px}dialog{border:0;padding:45px;width:90%;max-width:600px;box-shadow:0 20px 80px #0005;color:var(--dark)}dialog::backdrop{background:#061021bb}dialog h2{font-size:38px}.close{position:absolute;right:16px;top:10px;font-size:30px;background:none;border:0}:focus-visible{outline:3px solid #bc8b2c;outline-offset:5px}@media(max-width:900px){nav{gap:18px}.compact{display:none}.hero{gap:25px}.hero h1{font-size:70px}.section{padding:65px 6%}.brand-grid{gap:15px}.card-copy{padding:22px}.brand-image{height:190px}.vision-copy{padding:45px 8%}.vision-copy h2{font-size:34px}.closing{gap:40px}.closing h2{font-size:48px}footer{flex-wrap:wrap}}@media(max-width:650px){header{flex-wrap:wrap;padding:16px 6%;gap:16px}nav{width:100%;justify-content:space-between;font-size:12px}.logo img{width:45px;height:45px}.hero{grid-template-columns:1fr;padding:40px 6%;gap:30px}.hero h1{font-size:68px}.hero-art{padding:10px 20px 0}.emblem{width:310px;max-width:100%}.hero-note{margin-top:30px}.brand-strip{font-size:11px;gap:10px;padding:22px 4%}.about{grid-template-columns:1fr;gap:10px}.section{padding:55px 6%}.large{font-size:20px}.section-heading{display:block}.section-heading>p{margin-top:25px}.brand-grid{grid-template-columns:1fr;gap:25px}.brand-image{height:270px}.card-copy{padding:28px}.card-copy p{min-height:0}.vision{grid-template-columns:1fr}.roof-photo{min-height:0;height:300px}.vision-copy{padding:50px 6%}.closing{flex-direction:column;text-align:center;gap:30px;padding:55px 6%}.closing img{width:160px}.closing h2{font-size:46px}footer{display:block;padding:30px 6%}footer p{margin-top:25px}dialog{padding:40px 25px}dialog h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.story-hero{background:var(--dark);color:white;padding:75px 8%;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:45px}.story-hero h1{font-size:clamp(58px,6.2vw,92px)}.story-hero .eyebrow{color:var(--gold)}.story-hero img{width:100%;max-width:430px;border-radius:50%;justify-self:center}.story-hero .intro{max-width:530px}.story-chapter{display:grid;grid-template-columns:1fr 2fr;gap:55px}.chapter-label>span{font-family:Manrope;font-size:22px;line-height:1.4;font-weight:600}.story-prose{max-width:760px}.story-prose h2{font-size:clamp(34px,3.5vw,49px);margin-bottom:30px}.story-prose p{font-size:18px;line-height:1.85;color:#495464}.story-prose .large{font-size:23px;color:var(--dark);line-height:1.6}.story-banner{background:var(--dark);padding:60px 8%;color:white}.story-banner p{font-family:Manrope;font-size:clamp(30px,4vw,52px);font-weight:600;line-height:1.3;letter-spacing:-.03em;max-width:950px;margin:0 auto}.story-people{background:#f3f4f6}.story-people h2{margin-bottom:40px}.story-people .card-copy p{font-size:16px}.story-link{display:inline-block;border-bottom:1px solid #94732c;padding:8px 0;font-weight:600;color:#785a20}nav [aria-current=page]{color:var(--gold)}@media(max-width:650px){.story-hero{grid-template-columns:1fr;padding:45px 6%;gap:35px}.story-hero h1{font-size:55px}.story-hero img{max-width:260px}.story-chapter{grid-template-columns:1fr;gap:35px}.chapter-label>span{font-size:18px}.story-prose .large{font-size:21px}.story-prose p{font-size:17px}.story-banner{padding:45px 6%}.story-hero+.brand-strip{flex-direction:column;align-items:center;gap:8px}}
.work-steps article{display:flex;gap:24px;padding:28px 0;border-top:1px solid #dfe3e7}.work-steps article>span{color:#94732c;font-weight:700}.work-steps h3{font-size:25px;letter-spacing:-.025em}.work-steps p{margin-bottom:0}.work-faq details{border-top:1px solid #dfe3e7;padding:22px 0}.work-faq summary{cursor:pointer;font-family:Manrope;font-size:20px;font-weight:700;line-height:1.5}.work-faq p{margin-bottom:0}nav{flex-wrap:wrap}@media(max-width:650px){nav{justify-content:flex-start;gap:12px 20px}.work-steps article{gap:16px}.work-steps h3{font-size:23px}}
.brand-phone{display:block;font-size:17px;font-weight:700;color:#785a20;margin:0 0 20px}.brand-phone:hover{text-decoration:underline}.dialog-phone{margin:20px 0}
.brand-email{display:block;color:#785a20;font-size:15px;overflow-wrap:anywhere;margin:0 0 22px}.brand-email:hover{text-decoration:underline}
.contact-main{background:#f3f4f6;padding:70px 8%;display:grid;grid-template-columns:1fr 1fr;gap:45px 65px;min-height:75vh}.contact-heading h1{font-size:clamp(48px,5.4vw,78px)}.contact-heading .large{max-width:510px;color:var(--muted);font-size:20px}.contact-panel{background:white;padding:35px;align-self:start;box-shadow:0 10px 35px #0b142009}.contact-panel label{display:block;font-size:16px;font-weight:700;margin-bottom:12px}.contact-panel select{width:100%;font:inherit;padding:14px 10px;border:1px solid #aeb9c5;background:white;color:var(--dark)}#contact-result{margin-top:30px}.contact-company{display:flex;align-items:center;gap:20px}.contact-company img{width:85px;height:85px;object-fit:contain}.contact-company h2{font-size:29px}.contact-company p{margin:8px 0 0;color:var(--muted)}.contact-coverage{padding:18px 0;border-bottom:1px solid #dfe3e7}.contact-panel dl{margin-bottom:30px}.contact-panel dt{font-size:14px;color:var(--muted);margin-top:17px}.contact-panel dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}.contact-panel dd a:hover{text-decoration:underline}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.email-button{border:1px solid var(--dark);padding:14px 20px;font-size:14px;font-weight:700}.contact-help{grid-column:1/-1;max-width:750px;padding-top:15px}.contact-help h2{font-size:30px}.contact-help p{color:var(--muted);font-size:18px}@media(max-width:650px){.contact-main{grid-template-columns:1fr;padding:45px 6%;gap:30px}.contact-panel{padding:25px}.contact-company{gap:15px}.contact-company h2{font-size:25px}.contact-company img{width:65px;height:65px}.contact-heading h1{font-size:54px}}
.benefits{background:#f3f4f6}.benefits-intro{max-width:850px;font-size:20px;color:#495464;margin:0 0 40px}.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.benefit-grid article{padding:30px;background:white;border-top:3px solid var(--gold)}.benefit-grid .eyebrow{display:block;font-size:11px;margin-bottom:18px}.benefit-grid h3{font-size:25px;line-height:1.2;letter-spacing:-.025em}.benefit-grid p{color:#495464;margin-bottom:0}.benefit-grid .muted{font-size:14px}.benefits-next{margin-top:35px;display:flex;align-items:center;justify-content:space-between;gap:30px}.benefits-next p{max-width:600px}.benefits-next .button{flex-shrink:0}@media(max-width:900px){.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefits-next{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.benefit-grid{grid-template-columns:1fr}.benefits-intro{font-size:18px}.benefit-grid article{padding:25px}}
.contact-main{grid-template-columns:.85fr 1.15fr}.contact-panel form{border-top:1px solid #dfe3e7;margin-top:30px;padding-top:30px}.contact-panel form h2{font-size:29px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-wide{grid-column:1/-1}.contact-panel input,.contact-panel textarea{width:100%;font:inherit;padding:12px;border:1px solid #aeb9c5;background:white;color:var(--dark);border-radius:0}.contact-panel textarea{resize:vertical}.contact-panel form label{font-size:14px;margin-bottom:8px}.form-note{font-size:14px;color:var(--muted);margin:25px 0}.contact-panel [hidden]{display:none!important}#email-fallback{margin-top:25px;font-size:14px}#fallback-address{overflow-wrap:anywhere;text-decoration:underline}#copy-enquiry{margin-top:12px;background:white}#enquiry-status{font-size:14px} @media(max-width:900px){.contact-main{grid-template-columns:1fr}.contact-heading{max-width:700px}}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}}
/* Palette matched to the new Roofketeers emblem. */
:root{--dark:#00244d;--gold:#f4c324;--muted:#52677d}
header,.hero,.story-hero,.story-banner,.closing{background:#00244d}
.hero .eyebrow,.story-hero .eyebrow,.closing .eyebrow,nav a:hover,nav [aria-current=page]{color:#f4c324}
em{color:#f4c324}.button{background:#f4c324;color:#00244d}.button:hover{background:#ffdb58}
.eyebrow,.chapter-label .eyebrow,.vision article>span,.work-steps article>span{color:#0863a8}
.brand-strip,.brands,.story-people,.benefits,.contact-main{background:#eef5fa}.brand-strip{border-color:#cfdeec;color:#00244d}
.brand-phone,.brand-email,.story-link{color:#0863a8}.story-link{border-color:#0863a8}
.hero .intro,.story-hero .intro{color:#e0eaf5}.hero-note{color:#c5d8e9}.art-caption{color:#f4c324}
.emblem{box-shadow:0 0 60px #0863a826}.benefit-grid article{border-color:#f4c324}
.titan{background:#00122f}.as{background:#e8f3fb}.revived{background:#fff}
:focus-visible{outline-color:#0878c6}.contact-panel input,.contact-panel textarea,.contact-panel select{border-color:#9bb4ca}
.contact-panel dd a{color:#0863a8}.email-button{color:#00244d;border-color:#00244d}.email-button:hover{background:#eef5fa}
.reviews-heading{background:var(--dark);color:white;padding-bottom:55px}.reviews-heading .eyebrow{color:var(--gold)}.reviews-heading h1{font-size:clamp(52px,6vw,85px)}.reviews-heading .large{max-width:750px;color:#e0eaf5}.sample-notice{max-width:850px;border-left:3px solid var(--gold);background:#ffffff0c;padding:18px 22px;font-size:16px}.reviews-content{background:#eef5fa;padding-top:55px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.review-card{background:white;padding:30px;border-top:3px solid var(--gold)}.review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.review-score{font-family:Manrope;font-size:45px;font-weight:800;line-height:1;color:var(--dark)}.review-score span{font-size:20px;color:var(--muted)}.sample-label{font-size:11px;letter-spacing:.06em;background:#eef5fa;color:#0863a8;padding:6px 8px;font-weight:700}.review-card .eyebrow{font-size:11px;margin-bottom:15px}.review-card h2{font-size:25px;line-height:1.25;letter-spacing:-.025em}.review-card>p:not(.eyebrow){color:var(--muted)}.review-card .review-attribution{font-size:13px;border-top:1px solid #cfdeec;padding-top:16px;margin-top:25px}@media(max-width:1000px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}header{flex-wrap:wrap}nav{gap:15px 22px}}@media(max-width:650px){.review-grid{grid-template-columns:1fr}.review-card{padding:25px}}
.platforms{background:white}.platforms .brand-card{background:#eef5fa}.platform-list{list-style:none;padding:0;margin:25px 0 0;display:flex;flex-wrap:wrap;gap:10px}.platform-list li{background:white;color:#00244d;border:1px solid #cfdeec;padding:8px 13px;font-size:14px;font-weight:600}.platforms .membership{border-top:1px solid #cfdeec;margin-top:25px;padding-top:18px;color:#0863a8;font-weight:600;min-height:0}
.brand-platforms{border-top:1px solid #cfdeec;padding-top:18px;margin-bottom:24px}.card-copy .platform-heading{font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 12px;min-height:0;color:#52677d}.brand-platforms ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.platform-badge{display:flex;align-items:center;gap:8px;padding:9px;background:#f3f7fa;min-width:0}.platform-badge img{width:25px;height:25px;object-fit:contain;flex-shrink:0}.platform-badge span{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.platform-badge.corc{grid-column:1/-1}.platform-badge.corc img{width:45px;height:45px}.platform-badge.trustatrader img,.platform-badge.myjobquote img{width:45px}.platform-badge.corc span{font-size:12px}
.group-contact{background:#eef5fa;display:flex;align-items:center;justify-content:space-between;gap:40px}.group-contact>div{max-width:780px}.group-contact h2{font-size:40px}.group-contact p:not(.eyebrow){color:var(--muted);font-size:18px}.group-contact .button{flex-shrink:0}@media(max-width:900px){.group-contact{flex-direction:column;align-items:flex-start}.group-contact h2{font-size:34px}}

.platform-badge a{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;width:100%;height:100%}.platform-badge:has(a):hover{box-shadow:0 0 0 2px var(--gold)}.platform-badge a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
