@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#082c40;--green:#b8d866;--ink:#163447;--muted:#536776;--paper:#f6f7f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #558023;outline-offset:5px}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-80px;padding:12px;background:white;z-index:10}.skip:focus{top:8px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe1d7}.brand img{width:190px;height:87px;object-fit:contain}.header-call{text-decoration:none;font-size:13px;text-align:right;color:var(--muted)}.header-call strong{display:block;color:var(--navy);font-size:18px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:64px 76px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;margin:0 0 20px}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.12;margin:0}h1{font-size:clamp(38px,4.4vw,60px);letter-spacing:-2.6px;font-weight:800}h1 em{font-style:normal;color:#5b762b}.intro{max-width:440px;font-size:17px;color:var(--muted);margin:26px 0}.actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.button{display:inline-flex;align-items:center;gap:24px;padding:17px 23px;background:var(--navy);color:white;border-radius:6px;text-decoration:none;font-weight:700;font-size:15px}.button:hover{background:#16465d}.button span{font-size:22px}.text-link{font-size:14px;text-underline-offset:4px}.reassurance{font-size:12px;color:var(--muted);margin-top:23px}.hero-photo{margin:0;border-radius:16px;overflow:hidden;background:var(--navy);box-shadow:0 20px 50px #082c4012}.hero-photo>img{width:100%;height:490px;object-fit:cover;display:block}.hero-photo figcaption{display:flex;align-items:center;gap:9px;color:white;padding:18px;font-size:11px}.hero-photo figcaption a{margin-left:auto;text-underline-offset:3px}.photo-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.steps{border-top:1px solid #dbe1d7;padding-block:48px 64px}h2{font-size:36px;letter-spacing:-1.2px}.steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;list-style:none;padding:0;margin:35px 0 0}.number{font-size:12px;font-weight:700;color:#57752a;display:block;margin-bottom:15px}.steps h3{font-size:20px}.steps li p{color:var(--muted);font-size:15px;max-width:320px}.booking-section{background:var(--navy);color:white;padding:72px 0;scroll-margin-top:0}.booking-grid{display:grid;grid-template-columns:310px 1fr;gap:65px;align-items:start}.booking-copy{padding-top:22px}.booking-copy .eyebrow{color:var(--green)}.booking-copy h2{font-size:46px}.booking-copy>p:not(.eyebrow){color:#c7d4db}.booking-copy ul{padding-left:19px;margin:30px 0;font-size:14px}.booking-copy li{padding-block:5px}.booking-copy li::marker{color:var(--green)}.phone-note{font-size:14px}.phone-note a{font-size:23px;color:white;text-decoration:none;font-weight:700}.calendar-card{background:white;color:var(--ink);border-radius:14px;overflow:hidden;padding:25px 12px 16px}.calendar-card h3{text-align:center;font-size:21px}.calendar-note{text-align:center;font-size:12px;color:var(--muted);padding-inline:12px}.calendar-card iframe{display:block;border:0;min-width:0}.calendar-fallback{text-align:center;font-size:12px;padding-inline:12px}.calendar-fallback a{font-weight:700}.faq{padding-block:72px;display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.faq h2{font-size:32px}.questions details{border-bottom:1px solid #d0d9cf;padding:19px 0}.questions details:first-child{border-top:1px solid #d0d9cf}.questions summary{cursor:pointer;font-weight:600;font-size:15px}.questions p{color:var(--muted);font-size:14px}.footer{border-top:1px solid #dbe1d7;padding-block:28px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.footer strong{color:var(--navy)}.footer nav{display:flex;gap:22px}@media(max-width:850px){.hero{gap:30px}.hero-photo>img{height:450px}.booking-grid{grid-template-columns:1fr;gap:24px}.booking-copy h2 br{display:none}.booking-copy ul{display:flex;flex-wrap:wrap;gap:10px 30px}.booking-copy{padding-top:0}.faq{gap:30px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header{height:90px}.brand img{width:145px;height:72px}.header-call strong{font-size:15px}.hero{grid-template-columns:1fr;padding-block:36px 42px;gap:28px}h1{font-size:44px;letter-spacing:-1.8px}h1 br:last-child{display:none}.intro{font-size:16px}.hero-photo>img{height:290px}.hero-photo figcaption{font-size:10px;padding:15px}.steps{padding-block:35px}h2{font-size:29px}.steps ol{grid-template-columns:1fr;gap:19px;margin-top:26px}.steps li{padding-left:40px;position:relative}.number{position:absolute;left:0;top:3px}.steps li p{max-width:none;margin-block:9px}.booking-section{padding-block:36px}.booking-copy h2{font-size:33px}.booking-copy ul{display:block;margin:20px 0}.calendar-card{padding-inline:0}.calendar-card iframe{height:920px}.calendar-card h3{font-size:19px}.faq{grid-template-columns:1fr;padding-block:40px;gap:25px}.faq h2{font-size:29px}.footer{align-items:flex-start;gap:20px;flex-direction:column}.button{padding-inline:18px;gap:18px;font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark svg{width:65px;height:44px;fill:none;stroke:var(--navy);stroke-width:3}.brand-mark .accent{fill:#a5c85b;stroke:#a5c85b}.brand-text strong{display:block;font-size:21px;line-height:1.2}.brand-text small{font-size:10px;letter-spacing:1.2px;text-transform:uppercase}@media(max-width:600px){.brand-mark svg{width:42px}.brand-text strong{font-size:17px}.brand-text small{font-size:8px}.brand{gap:5px}}
/* Booking-focused campaign layout. */
.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:55px;align-items:start;padding-block:42px 55px}.hero-copy{padding-top:38px}.hero h1{font-size:clamp(38px,4.2vw,58px);letter-spacing:-2px}.hero .intro{font-size:17px}.hero .calendar-card{box-shadow:0 12px 50px #082c4010;border:1px solid #dce3d9;padding:24px 0 14px;scroll-margin-top:20px;min-width:0}.calendar-card>.eyebrow{text-align:center;color:#54732a;font-size:10px;margin-bottom:10px}.calendar-card h2{text-align:center;font-size:26px;letter-spacing:-.7px}.hero .calendar-card iframe{height:650px}.inspection-details{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin:26px 0 18px}.inspection-details span{padding:7px 10px;border:1px solid #d1dac9;border-radius:4px}.reviews-link{font-size:13px;text-underline-offset:4px}.project-proof{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:55px;border-top:1px solid #dbe1d7}.project-proof>div>p:not(.eyebrow){color:var(--muted);max-width:470px}.project-proof .hero-photo>img{height:330px}.proof-list{padding-left:20px;font-size:14px;line-height:2}.proof-list li::marker{color:#54732a}.closing-cta{padding:34px;border-radius:12px;background:var(--navy);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.closing-cta h2{font-size:29px}.closing-cta p{font-size:14px;color:#d0dde3;margin-bottom:0}.closing-cta .button{background:var(--green);color:var(--navy)}#booking-result{margin:15px;padding:15px;background:#edf5df;border-radius:8px;font-size:14px}.mobile-actions{display:none}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:25px}.hero-copy{padding-top:0}.hero-copy .intro{max-width:600px}.project-proof{gap:30px}.closing-cta{flex-direction:column;align-items:flex-start}}@media(max-width:600px){.hero{padding-block:26px 36px}.hero h1{font-size:41px;letter-spacing:-1.6px}.hero .intro{font-size:15px;margin-block:18px}.hero .eyebrow{margin-bottom:15px}.hero .reassurance{margin-top:17px}.inspection-details{margin-block:18px 12px}.hero .calendar-card{margin-top:4px;scroll-margin-top:12px}.calendar-card h2{font-size:23px}.hero .calendar-card iframe{height:760px}.project-proof{grid-template-columns:1fr;padding-block:35px}.project-proof .hero-photo>img{height:270px}.closing-cta{padding:25px}.closing-cta h2{font-size:26px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:white;border-top:1px solid #d0d9cf;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}.mobile-actions a{flex:1;text-align:center;padding:12px 5px;text-decoration:none;font-size:12px;font-weight:700;border-radius:5px;background:var(--navy);color:white}.mobile-actions a:last-child{background:var(--green);color:var(--navy)}body{padding-bottom:80px}.footer{padding-bottom:35px}}
/* Dark Shingle Haus campaign theme. */
:root{--paper:#04101f;--ink:#f3f8fb;--muted:#b4c4d5;--green:#97ff4e;--navy:#062f5f}body{background:radial-gradient(ellipse at top left,#0b3154 0,transparent 55%),#04101f;color:var(--ink)}.header,.steps,.footer,.questions details,.questions details:first-child{border-color:#ffffff24}.brand-mark svg{stroke:#f3f8fb}.brand-mark .accent{fill:#97ff4e;stroke:#97ff4e}.header-call strong,.footer strong{color:#f3f8fb}.hero h1 em,.eyebrow,.number{color:#97ff4e}.button{background:#97ff4e;color:#04101f}.button:hover{background:#b4ff80}.inspection-details span{border-color:#ffffff30;background:#ffffff06}.hero .calendar-card{background:#091d34;color:#f3f8fb;border-color:#ffffff2b;box-shadow:0 24px 70px #0005}.calendar-card>.eyebrow{color:#97ff4e}.calendar-fallback a{color:#97ff4e}.closing-cta{background:#0a2845;border:1px solid #ffffff25}.skip{color:#04101f}#booking-result{background:#173622;color:#efffe8}.mobile-actions{background:#07172a;border-color:#ffffff25}.mobile-actions a{background:#13385b;color:white}.roof-gallery{padding-block:52px 64px;border-top:1px solid #ffffff24}.gallery-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:25px}.gallery-heading h2{font-size:32px;max-width:650px}.gallery-heading .eyebrow{margin-bottom:14px}.gallery-controls{display:flex;align-items:center;gap:18px;flex-shrink:0}.gallery-controls button{width:46px;height:46px;border-radius:50%;border:1px solid #ffffff40;background:#0d2a46;color:white;font-size:23px;cursor:pointer}.gallery-controls button:hover{background:#97ff4e;color:#04101f}.gallery-controls button:focus-visible,.roof-slides:focus-visible{outline:3px solid #97ff4e;outline-offset:4px}#roof-position{font-size:13px;color:#b4c4d5}.roof-slides{border-radius:14px;overflow:hidden;background:#091d34}.roof-slide{margin:0}.roof-slide[hidden]{display:none}.roof-slide img{display:block;width:100%;height:480px;object-fit:cover}.roof-slide figcaption{padding:16px 22px;font-size:13px;color:#d5e2ed}.roof-slide:nth-child(2) img{object-position:center 70%}@media(max-width:600px){.gallery-heading{align-items:start;flex-direction:column;gap:20px}.gallery-heading h2{font-size:27px}.roof-gallery{padding-block:35px}.roof-slide img{height:290px}.gallery-controls{gap:16px}.gallery-controls button{width:44px;height:44px}}
