/* Shared Roofie site chrome. Static header/footer, no legacy theme runtime. */
:root{--roofie-red:var(--site-accent);--roofie-dark:var(--site-ink);--roofie-text:var(--site-ink);--roofie-shell:1170px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--roofie-text);font-family:'Kumbh Sans',sans-serif;-webkit-font-smoothing:antialiased}body.roofie-menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:'Catamaran',sans-serif}.roofie-site-shell{width:min(var(--roofie-shell),calc(100% - 30px));margin:0 auto}
.roofie-site-header{position:relative;z-index:1000;width:100%;background:#fff}.roofie-site-top{min-height:56px;display:flex;align-items:center;border-bottom:1px solid var(--site-soft);background:#fff}.roofie-site-top__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.roofie-site-top__group{display:flex;align-items:center;gap:28px;min-width:0}.roofie-site-top a,.roofie-site-top span{display:inline-flex;align-items:center;gap:9px;color:var(--site-ink);font-size:15px;line-height:1.3}.roofie-site-top__icon{color:var(--roofie-red);font-size:20px;font-weight:800}.roofie-site-facebook{font-family:Arial,sans-serif;font-weight:900;font-size:19px!important}
.roofie-site-nav{background:#fff}.roofie-site-nav__inner{min-height:112px;display:grid;grid-template-columns:250px minmax(0,1fr);align-items:stretch}.roofie-site-logo{display:flex;align-items:center;padding:20px 32px 20px 0;background:#fff}.roofie-site-logo img{width:180px;max-height:68px;object-fit:contain;object-position:left center;filter:none}.roofie-site-nav__dark{position:relative;min-width:0;display:flex;align-items:center;gap:18px;padding:0 28px 0 34px;border-radius:5px;background:var(--roofie-dark)}.roofie-site-nav__dark:before{content:'';position:absolute;left:-68px;top:0;width:70px;height:100%;background:var(--roofie-dark);clip-path:polygon(100% 0,100% 100%,0 0);pointer-events:none}.roofie-desktop-nav{min-width:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.2vw,42px)}.roofie-desktop-nav>a,.roofie-desktop-nav>.roofie-nav-dropdown>button{appearance:none;border:0;background:none;padding:42px 0;color:#fff;cursor:pointer;font-size:17px;font-weight:500;line-height:1;white-space:nowrap}.roofie-desktop-nav>a:hover,.roofie-desktop-nav>a:focus-visible,.roofie-desktop-nav>.roofie-nav-dropdown>button:hover,.roofie-desktop-nav>.roofie-nav-dropdown>button:focus-visible,.page-home [data-nav=home],.page-service [data-nav=services],.page-location [data-nav=areas],.page-about [data-nav=about],.page-contact [data-nav=contact]{color:var(--roofie-red)!important}.roofie-nav-dropdown{position:relative}.roofie-nav-submenu{position:absolute;top:calc(100% - 18px);left:50%;z-index:30;min-width:220px;margin:0;padding:10px;border:1px solid var(--site-border);border-radius:7px;background:#fff;box-shadow:0 18px 35px rgba(var(--site-ink-rgb),.14);list-style:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,9px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.roofie-nav-dropdown:hover .roofie-nav-submenu,.roofie-nav-dropdown:focus-within .roofie-nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.roofie-nav-submenu a,.roofie-nav-submenu span{display:block;padding:10px 12px;border-radius:5px;color:var(--site-ink);font-size:14px;line-height:1.3}.roofie-nav-submenu a:hover,.roofie-nav-submenu a:focus-visible{background:var(--site-soft);color:var(--roofie-red)}.roofie-nav-submenu span[aria-disabled=true]{color:var(--site-muted)}.roofie-nav-submenu--areas{width:min(760px,calc(100vw - 48px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.roofie-nav-submenu--areas a,.roofie-nav-submenu--areas span{text-align:center}.roofie-site-quote{flex:0 0 auto;min-height:54px;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:5px;background:var(--roofie-red);color:#fff!important;font-size:16px;font-weight:700;white-space:nowrap}.roofie-site-quote:hover,.roofie-site-quote:focus-visible{background:#fff;color:var(--site-ink)!important}.roofie-menu-toggle{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:5px;background:transparent;color:#fff;cursor:pointer;font-size:25px}
.roofie-mobile-backdrop{position:fixed;inset:0;z-index:1998;background:rgba(var(--site-ink-rgb),.55);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.roofie-mobile-menu{position:fixed;z-index:1999;top:0;right:0;width:min(370px,88vw);height:100dvh;overflow-y:auto;padding:26px 22px 32px;background:var(--site-ink);color:#fff;transform:translateX(102%);transition:transform .2s ease}.roofie-menu-open .roofie-mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}.roofie-menu-open .roofie-mobile-menu{transform:translateX(0)}.roofie-mobile-menu__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12)}.roofie-mobile-menu__top img{width:145px;filter:none}.roofie-mobile-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;cursor:pointer;font-size:24px}.roofie-mobile-nav{display:grid;gap:2px;padding:24px 0}.roofie-mobile-nav>a,.roofie-mobile-nav summary{display:block;padding:13px 2px;color:#fff;cursor:pointer;font-size:17px;font-weight:600;list-style:none}.roofie-mobile-nav summary::-webkit-details-marker{display:none}.roofie-mobile-nav details{border-bottom:1px solid rgba(255,255,255,.08)}.roofie-mobile-nav details>div{display:grid;gap:2px;padding:0 0 10px 14px}.roofie-mobile-nav details a,.roofie-mobile-nav details span{padding:9px 0;color:rgba(255,255,255,.78);font-size:14px}.roofie-mobile-nav details span{color:rgba(255,255,255,.42)}.roofie-mobile-menu__meta{display:grid;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78);font-size:14px;line-height:1.5}.roofie-mobile-menu__quote{min-height:48px;display:flex;align-items:center;justify-content:center;margin-top:20px;border-radius:5px;background:var(--roofie-red);color:#fff!important;font-weight:800}
.roofie-site-footer{padding:54px 0 0;background:var(--site-ink);color:var(--site-onDark)}.roofie-site-footer__grid{display:grid;grid-template-columns:1.7fr .8fr .9fr 1.2fr;gap:42px;padding-bottom:42px}.roofie-site-footer__logo img{width:145px;filter:none}.roofie-site-footer__brand p{max-width:390px;margin:16px 0 0;color:var(--site-onDark);font-size:15px;line-height:1.7}.roofie-site-footer__column h4{margin:0 0 14px;color:#fff;font-family:'Catamaran',sans-serif;font-size:18px;font-weight:800}.roofie-site-footer__column ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.roofie-site-footer__column p{max-width:280px;margin:0;color:var(--site-onDark);font-size:14px;line-height:1.7}.roofie-site-footer__column a,.roofie-site-footer__legal a{color:var(--site-onDark)}.roofie-site-footer__column a:hover,.roofie-site-footer__column a:focus-visible,.roofie-site-footer__legal a:hover,.roofie-site-footer__legal a:focus-visible{color:var(--roofie-red)}.roofie-site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:14px}.roofie-site-footer__legal{display:flex;flex-wrap:wrap;gap:18px;color:var(--site-onDark)}
.roofie-home-hero{background-image:linear-gradient(90deg,rgba(var(--site-ink-rgb),.85) 0%,rgba(var(--site-ink-rgb),.68) 52%,rgba(var(--site-ink-rgb),.46) 100%),url('../images/main-slider/image-1.jpg')!important}.roofie-home-help__image{background-image:linear-gradient(rgba(var(--site-ink-rgb),.1),rgba(var(--site-ink-rgb),.1)),url('../images/main-slider/image-1.jpg')!important}.roofie-service-hero{background-image:linear-gradient(90deg,rgba(var(--site-ink-rgb),.84) 0%,rgba(var(--site-ink-rgb),.72) 48%,rgba(var(--site-ink-rgb),.52) 100%),url('../images/main-slider/image-1.jpg')!important}.roofie-location-hero{background-image:linear-gradient(90deg,rgba(var(--site-ink-rgb),.86) 0%,rgba(var(--site-ink-rgb),.72) 52%,rgba(var(--site-ink-rgb),.52) 100%),url('../images/main-slider/image-1.jpg')!important}.roofie-home-hero h1,.roofie-service-hero h1,.roofie-location-hero h1,.roofie-about-hero h1{font-weight:800}.roofie-contact-main{padding-top:92px!important}.roofie-contact-details h1{font-family:'Catamaran',sans-serif!important;font-weight:400!important;letter-spacing:0!important}.roofie-form-status{min-height:20px;margin:10px 0 0;color:var(--site-muted);font-size:13px}
@media(max-width:991px){.roofie-site-top{display:none}.roofie-site-nav__inner{min-height:82px;grid-template-columns:minmax(150px,1fr) auto}.roofie-site-logo{padding:12px 24px 12px 0}.roofie-site-logo img{width:150px}.roofie-site-nav__dark{min-width:92px;justify-content:flex-end;padding:0 18px;border-radius:0}.roofie-site-nav__dark:before{left:-50px;width:52px}.roofie-desktop-nav,.roofie-site-quote{display:none}.roofie-menu-toggle{display:inline-flex}.roofie-site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.roofie-site-shell{width:min(var(--roofie-shell),calc(100% - 28px))}.roofie-site-nav__inner{min-height:76px}.roofie-site-logo img{width:138px}.roofie-site-footer{padding-top:38px}.roofie-site-footer__grid{grid-template-columns:1fr;gap:24px;padding-bottom:30px}.roofie-site-footer__bottom{align-items:flex-start;flex-direction:column}.roofie-contact-main{padding-top:68px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.roofie-mobile-backdrop,.roofie-mobile-menu,.roofie-nav-submenu{transition:none}}

/* Factory-generated Roofie 13-service navigation. */
.roofie-nav-submenu[data-service-menu=desktop]{width:min(900px,calc(100vw - 48px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:18px}
.roofie-nav-submenu[data-service-menu=desktop]>li{min-width:0;list-style:none}
.roofie-nav-submenu[data-service-menu=desktop]>li>strong{padding:8px 12px 5px;color:var(--roofie-red);font-family:'Catamaran',sans-serif;font-size:15px;line-height:1.2}
.roofie-nav-submenu[data-service-menu=desktop]>li>ul{margin:0;padding:0;list-style:none}
.roofie-mobile-nav [data-service-menu=mobile]{display:grid;gap:14px;padding:2px 0 14px 14px}
.roofie-mobile-nav [data-service-menu=mobile] [data-service-group]{display:grid;gap:2px}
.roofie-mobile-nav [data-service-menu=mobile] [data-service-group]>strong{padding:8px 0 2px;color:var(--roofie-red);font-family:'Catamaran',sans-serif;font-size:14px;line-height:1.2}
[data-service-overview]>.roofie-home-section{padding:56px 0}
[data-service-overview]>.roofie-home-section+.roofie-home-section{padding-top:0}

/* Factory-generated Roofie multi-paragraph readability. */
.roofie-service-skeleton [data-copy-slot-continuation],
.roofie-contact [data-copy-slot-continuation],
.roofie-about [data-copy-slot-continuation]{display:block;margin-top:1.05em}
.roofie-location-page [data-copy-layout=paragraphs]>p{margin:0}
.roofie-location-page [data-copy-layout=paragraphs]>p+p,
.roofie-about [data-copy-layout=paragraphs]>p+p{margin-top:1.05em}
.roofie-about [data-copy-layout=paragraphs]>p{margin-bottom:0}
.roofie-about [data-about-heading=working-method]{margin-top:42px}

/* Factory-generated Roofie Contact checklist readability. */
.roofie-contact .roofie-contact-details>.roofie-contact-intro{margin:0 0 14px}
[data-roofie-contact-checklist]{max-width:560px;display:grid;gap:9px;margin:2px 0 18px;padding:0;list-style:none;color:var(--site-muted);font-size:16px;line-height:1.55}
[data-roofie-contact-checklist] li{position:relative;padding-left:20px}
[data-roofie-contact-checklist] li::before{content:'•';position:absolute;left:2px;color:var(--roofie-red,var(--site-accent));font-weight:800}
[data-roofie-contact-checklist] a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Factory-generated Roofie contextual body-copy links. */
main p[data-homepage-context-copy] a[data-homepage-context-link],
main p[data-roofie-mention-links] a[data-roofie-mention-service],
main [data-copy-slot] a:not([class]),
main [data-copy-slot-continuation] a:not([class]),
main [data-copy-layout=paragraphs]>p a:not([class]){color:var(--roofie-red);text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:.08em;text-underline-offset:.18em}
main p[data-homepage-context-copy] a[data-homepage-context-link]:hover,
main p[data-roofie-mention-links] a[data-roofie-mention-service]:hover,
main [data-copy-slot] a:not([class]):hover,
main [data-copy-slot-continuation] a:not([class]):hover,
main [data-copy-layout=paragraphs]>p a:not([class]):hover{color:var(--roofie-red);text-decoration-thickness:.13em}
main p[data-homepage-context-copy] a[data-homepage-context-link]:focus-visible,
main p[data-roofie-mention-links] a[data-roofie-mention-service]:focus-visible,
main [data-copy-slot] a:not([class]):focus-visible,
main [data-copy-slot-continuation] a:not([class]):focus-visible,
main [data-copy-layout=paragraphs]>p a:not([class]):focus-visible{color:var(--roofie-red);outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

/* Site-owned wordmark: preserve its colours on white; use a light monochrome mark on dark surfaces. */
.roofie-site-footer__logo img,.roofie-mobile-menu__top img{filter:grayscale(1) invert(1) brightness(2) contrast(3);mix-blend-mode:screen}

/* Lossie Roofing: site-owned colour system. Layout, content and behaviour stay unchanged. */
:root {
  --site-ink: #123e35;
  --site-primary: #174e45;
  --site-accent: #236657;
  --site-soft: #f1f5ef;
  --site-warm: #f5f2e6;
  --site-canvas: #fcfcf8;
  --site-muted: #4b615b;
  --site-border: #cbd9d0;
  --site-edge: #7c948a;
  --site-onDark: #dce8e0;
  --site-cta: #ffd15c;
  --site-ctaHover: #ffe399;
  --site-ink-rgb: 18,62,53;
  --site-accent-rgb: 35,102,87;
}

body,.roofie-home,.roofie-service,.roofie-location,.roofie-about,.roofie-contact { background:var(--site-canvas); }
.roofie-home-cta,.roofie-service-cta,.roofie-location-cta,.roofie-about-cta { background:var(--site-primary); }

/* A bright action colour is separate from the darker, readable link accent. */
:is(.roofie-site-quote,.roofie-mobile-menu__quote,.roofie-home-btn,.roofie-service-btn:not(.roofie-service-btn--ghost),.roofie-location-btn,.roofie-about-btn,.roofie-contact-btn,.roofie-mobile-contact-bar__quote) { background:var(--site-cta)!important; border-color:var(--site-ink)!important; color:var(--site-ink)!important; }
:is(.roofie-site-quote,.roofie-mobile-menu__quote,.roofie-home-btn,.roofie-service-btn:not(.roofie-service-btn--ghost),.roofie-location-btn,.roofie-about-btn,.roofie-contact-btn,.roofie-mobile-contact-bar__quote):hover,
:is(.roofie-site-quote,.roofie-mobile-menu__quote,.roofie-home-btn,.roofie-service-btn:not(.roofie-service-btn--ghost),.roofie-location-btn,.roofie-about-btn,.roofie-contact-btn,.roofie-mobile-contact-bar__quote):focus-visible { background:var(--site-ctaHover)!important; border-color:var(--site-ink)!important; color:var(--site-ink)!important; }
.roofie-service-cta .roofie-service-btn,.roofie-location-cta .roofie-location-btn { background:var(--site-cta)!important; border-color:var(--site-ink)!important; color:var(--site-ink)!important; }
.roofie-service-cta .roofie-service-btn:hover,.roofie-service-cta .roofie-service-btn:focus-visible,
.roofie-location-cta .roofie-location-btn:hover,.roofie-location-cta .roofie-location-btn:focus-visible { background:var(--site-ctaHover)!important; }

/* Navigation and small accents need a light colour against dark brand surfaces. */
.roofie-desktop-nav>a:hover,.roofie-desktop-nav>a:focus-visible,
.roofie-desktop-nav>.roofie-nav-dropdown>button:hover,.roofie-desktop-nav>.roofie-nav-dropdown>button:focus-visible,
.page-home [data-nav=home],.page-service [data-nav=services],.page-location [data-nav=areas],.page-about [data-nav=about],.page-contact [data-nav=contact],
.roofie-mobile-nav [data-service-menu=mobile] [data-service-group]>strong,
.roofie-site-footer__column a:hover,.roofie-site-footer__column a:focus-visible,.roofie-site-footer__legal a:hover,.roofie-site-footer__legal a:focus-visible { color:var(--site-cta)!important; }
.roofie-service-hero .roofie-service-eyebrow,.roofie-location-hero .roofie-location-eyebrow,
.roofie-home-section--dark .roofie-home-eyebrow,.roofie-policy__eyebrow { color:var(--site-cta); }
.roofie-home-trust__item b,.roofie-service-trust__item b,.roofie-location-trust__item b { background:var(--site-cta); color:var(--site-ink); }

/* Site-owned images retain the existing frame sizes and responsive layout. */
[data-site-hero] { background-image:none!important; isolation:isolate; }
[data-site-hero]>[data-site-image="hero"],
[data-site-about-image]>[data-site-image="hero"] {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; z-index:0;
}
[data-site-hero]::after {
  z-index:0;
  background:linear-gradient(90deg,rgba(var(--site-ink-rgb),.91) 0%,rgba(var(--site-ink-rgb),.77) 43%,rgba(var(--site-ink-rgb),.42) 72%,rgba(var(--site-ink-rgb),.19) 100%);
}
[data-site-image-frame] { position:relative; overflow:hidden; padding:0; border:0; background:var(--site-soft); }
[data-site-image-frame]>[data-site-image] { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
[data-site-about-image] { padding:0; background:var(--site-ink); }
[data-site-about-image]::before { display:none; }
[data-site-about-image]::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(var(--site-ink-rgb),.88),rgba(var(--site-ink-rgb),.48)); }
[data-site-about-image] [hidden],[data-site-image-frame] [hidden] { display:none!important; }
