/* PURE THANET | V2 customer-led visual layer
   Uses only original site copy and original on-page images.
   Lulo Clean is used when available through a licensed webfont on the device;
   Montserrat is the licensed/open-web fallback for this static preview. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{
  --v2-aqua:#e4fcfa;
  --v2-turquoise:#009b9c;
  --v2-ink:#252c31;
  --v2-blue:#263b4a;
  --v2-muted:#556166;
  --v2-line:#d9e6e5;
  --v2-light:#f5f9f9;
  --v2-heading:'Lulo Clean','Lulo Clean One','Montserrat',Arial,sans-serif;
  --v2-body:'DM Sans',Arial,sans-serif;
}
html { scroll-behavior:smooth; }
body { color:var(--v2-ink); background:#fff; font-family:var(--v2-body); font-size:16px; }
p{line-height:1.66;color:var(--v2-muted)}
/* Real-world type proportions: Lulo for compact identity headings, neutral body. */
.hero h1,.section-heading h2,.option-desc h3,.editorial-copy h2,.closing-cta h2,
.area-index-head h1,.footer-brand h2,.why-list h2,.prices h2,.specialists h2,
.gutter-intro h2,.services-list-row h2,.faq-module h2 {
  font-family:var(--v2-heading)!important;
  letter-spacing:.006em!important;
  font-weight:700!important;
  line-height:1.23!important;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
.hero h1{font-size:clamp(32px,3.3vw,53px)!important;letter-spacing:.005em!important;margin:0 0 19px!important}
.section-heading h2{font-size:clamp(25px,2.5vw,38px)!important}
.option-desc h3{font-size:clamp(16px,1.3vw,19px)!important;line-height:1.32!important}
.editorial-copy h2{font-size:clamp(25px,2.4vw,39px)!important}
.closing-cta h2{font-size:clamp(26px,2.6vw,40px)!important}
.price h3,.proof-grid h3,.specialist-item h3{font-family:var(--v2-heading)!important;letter-spacing:.006em!important;line-height:1.3!important;font-weight:700!important}
/* A human local-company header, not a product dashboard. */
.site-header,.header-main{background:var(--v2-aqua)!important;color:var(--v2-ink)!important;border-color:#c8dedc!important}
.contact-top{background:var(--v2-ink)!important;color:#fff!important;font-family:var(--v2-body)!important;letter-spacing:.02em!important}
.header-main{height:84px!important;min-height:84px!important}
.logo{width:195px!important;min-width:195px!important;height:76px!important;flex:0 0 195px!important}
.logo img{width:100%!important;max-height:76px!important;height:100%!important;object-fit:contain!important;object-position:left center!important;filter:none!important}
.desktop-nav a{font-family:var(--v2-body)!important;letter-spacing:.005em!important;font-size:12px!important;font-weight:600!important;color:var(--v2-ink)!important}
.desktop-nav a.here,.desktop-nav a:hover{color:#007576!important}
.desktop-nav a:after{height:2px!important;background:var(--v2-turquoise)!important}
.header-quote{background:var(--v2-blue)!important;color:white!important;font-family:var(--v2-body)!important;font-size:12px!important;font-weight:700!important;border-radius:3px!important}
.nav-toggle{border:1px solid #9fbdba!important;border-radius:3px!important;background:transparent!important}
.nav-toggle span{background:var(--v2-ink)!important}
.mobile-nav{background:var(--v2-aqua)!important;color:var(--v2-ink)!important}
.mobile-nav a{color:var(--v2-ink)!important;font-family:var(--v2-body)!important;letter-spacing:0!important}
/* Buttons are plain, solid and accessible; never render an emoji. */
.btn,.header-quote,.mobile-actions a{border-radius:4px!important;box-shadow:none!important;letter-spacing:0!important;text-transform:none}
.btn{min-height:49px!important;padding:13px 20px!important;font-family:var(--v2-body)!important;font-size:14px!important;font-weight:700!important;justify-content:center!important;background:var(--v2-blue)!important;color:#fff!important;transition:background .2s ease!important}
.btn:hover,.header-quote:hover{background:#007e80!important;color:#fff!important;transform:none!important}
.btn-secondary{background:transparent!important;border:1px solid #64888c!important;color:var(--v2-blue)!important}
.btn-secondary:hover{background:#d4f5f2!important;color:var(--v2-blue)!important}
.btn-contrast{background:#fff!important;color:var(--v2-blue)!important}
.btn-contrast:hover{background:var(--v2-aqua)!important;color:var(--v2-blue)!important}
.hero-cta{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:3px!important}
.hero-cta .btn{min-width:0;flex:0 1 auto}
.mobile-hero-action{display:none!important}
.desktop-hero-action{display:inline-flex!important}
/* Photographs remain the main feature, never flattened behind graphic effects. */
.hero{background:var(--v2-aqua)!important;min-height:0!important;grid-template-columns:46% 54%!important}
.hero-photo-wrap{min-height:505px!important;background:#d9e5e4!important}
.hero-photo-wrap img{filter:none!important;transform:none!important;transition:transform .4s ease!important}
.hero:hover .hero-photo-wrap img{transform:scale(1.014)!important}
.hero-text{padding:48px 40px 50px clamp(34px,5vw,86px)!important;background:var(--v2-aqua)!important;justify-content:center}
.hero-text p{font-family:var(--v2-body)!important;font-weight:400!important;font-size:clamp(15px,1.2vw,17px)!important;line-height:1.65!important;max-width:530px;margin:0 0 24px!important;color:var(--v2-muted)!important}
.hero-photo-wrap picture,.hero-photo-wrap picture img{height:100%;width:100%;display:block}
/* Existing real trust claims, styled like the gutter page's experience emphasis. */
.v2-trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff;border-bottom:1px solid var(--v2-line);border-top:1px solid var(--v2-line);padding:0 clamp(28px,5vw,80px)}
.v2-trust-item{padding:26px 28px 23px;min-width:0;display:flex;flex-direction:column;gap:7px}
.v2-trust-item:not(:last-child){border-right:1px solid var(--v2-line)}
.v2-trust-item strong{font-family:var(--v2-heading);font-weight:700;letter-spacing:.006em;line-height:1.34;font-size:clamp(12px,1.0vw,15px);text-transform:uppercase}
.v2-trust-item p{margin:0!important;color:var(--v2-muted);font-size:13px;line-height:1.55}
.v2-experience-row .editorial-copy h2{color:#007b7d}
.v2-experience-row .editorial-copy{background:#f5fbfa}
/* Neater service cards with natural picture proportions and readable CTAs. */
.home-services{padding:64px clamp(25px,5vw,80px) 72px!important}
.home-services .section-heading{margin-bottom:26px!important}
.options{gap:18px!important}
.option{border:1px solid var(--v2-line)!important;border-radius:4px!important;background:#fff!important;box-shadow:none!important;transition:border-color .2s ease!important}
.option:hover{border-color:#69bdb6!important;transform:none!important;box-shadow:none!important}
.option-image{height:clamp(220px,22vw,340px)!important;background:#e2e9e8}
.option-image img{transition:transform .35s ease!important;filter:none!important}
.option:hover .option-image img{transform:scale(1.022)!important}
.option-desc{min-height:190px!important;padding:23px 24px!important}
.option-desc p{font-size:14px!important;line-height:1.6!important;color:var(--v2-muted)!important;margin-bottom:12px!important}
.option-link{font-family:var(--v2-body)!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;padding-top:10px!important;color:#007b7d!important}
/* A short working-photo strip instead of a huge gallery presentation. */
.gallery-section{background:#fff!important;color:var(--v2-ink)!important;padding:43px clamp(25px,5vw,80px) 46px!important}
.gallery-section .section-heading{margin:0 0 23px!important}
.gallery-section .section-heading h2{color:var(--v2-ink)!important}
.image-gallery{gap:12px!important;padding:0 0 10px!important}
.image-gallery .gallery-item,.image-gallery .gallery-item-0,.image-gallery .gallery-item-3,.image-gallery .gallery-item-4,.image-gallery .gallery-item:nth-last-child(2):not(:first-child){height:185px!important;flex:0 0 clamp(215px,22vw,305px)!important;border-radius:4px!important;scroll-snap-align:start!important}
/* Original customer review, more editorial and less uniform. */
.review-block{background:#f2fbfa!important;padding:68px clamp(25px,5vw,80px)!important;display:flex!important;gap:30px!important;align-items:flex-start!important}
.review-block blockquote{font-family:Georgia,serif!important;font-weight:400!important;font-size:clamp(20px,2vw,30px)!important;letter-spacing:-.02em!important;line-height:1.48!important;max-width:830px!important;font-style:italic}
.review-block>span{font-family:var(--v2-body)!important;font-size:13px!important;color:#40545b!important;font-weight:700!important;align-self:flex-end}
/* Vertical content rhythm; fewer oversized section blocks. */
.editorial-row{min-height:0!important}
.editorial-image{min-height:405px!important}
.editorial-copy{padding:clamp(36px,4.8vw,76px)!important}
.editorial-copy h2{margin:0 0 19px!important}
.editorial-copy p{font-family:var(--v2-body)!important;font-size:15px!important;line-height:1.74!important;max-width:570px;color:var(--v2-muted)!important}
.closing-cta{background:var(--v2-blue)!important;padding:54px clamp(25px,5vw,80px)!important;gap:20px!important}
.closing-cta h2{color:#fff!important}
.closing-cta p{font-size:15px!important;line-height:1.62!important;margin:13px 0 0!important}
.faq-module{background:#fff!important}
.faq-rows summary{font-family:var(--v2-body)!important;letter-spacing:0!important;font-size:17px!important;font-weight:600!important}
.faq-rows summary span{font-size:24px!important}
.faq-answer{font-family:var(--v2-body)!important;font-size:15px!important}
.proof-grid h3{font-size:clamp(17px,1.8vw,22px)!important}
.proof-grid>div{min-height:0!important;padding:29px!important}
/* Keep trustworthy layout and colours consistent through every footer. */
.site-footer{background:var(--v2-blue)!important;color:#fff!important}
.footer-brand h2{font-size:clamp(28px,2.7vw,39px)!important}
.footer-link-block h3{font-family:var(--v2-heading)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.01em!important;line-height:1.4!important}
.footer-link-block a{font-size:14px!important;line-height:1.55!important}
.site-footer .footer-kicker{font-family:var(--v2-body)!important;font-size:12px!important}
/* Movement is restrained; never initially hide text waiting for JS. */
body.motion-ready .reveal,body.motion-ready .reveal.in-view{opacity:1!important;transform:none!important;transition:none!important}
.hero-text>*{animation:none!important}
@media(min-width:781px){
 .mobile-hero-action{display:none!important}
 .desktop-hero-action{display:inline-flex!important}
 .options{grid-template-columns:1.16fr 1fr 1fr!important}
 .option.commercial-option{order:0!important}.option.residential-option{order:1!important}.option.gutter-option{order:2!important}
 .hero-cta .btn{min-height:50px!important}
 .mobile-actions{display:none!important}
}
@media(max-width:780px){
 body{font-size:15px!important}
 .contact-top{display:none!important}
 .header-main{height:77px!important;min-height:77px!important;padding:0 18px!important;gap:9px!important}
 .logo{width:166px!important;min-width:0!important;flex:0 0 166px!important;height:70px!important}
 .logo img{max-height:70px!important}
 .header-quote{display:none!important}
 .nav-toggle{margin-left:auto!important;width:44px!important;height:44px!important;flex:0 0 44px!important}
 .mobile-nav{padding:14px 21px 25px!important;top:100%!important;max-height:calc(100dvh - 77px)!important}
 .mobile-nav a{padding:13px 0!important;font-size:15px!important}
 .hero{display:flex!important;flex-direction:column!important;min-height:0!important}
 .hero-photo-wrap{height:clamp(205px,57vw,265px)!important;min-height:0!important;flex:none;order:0}
 .hero-photo-wrap img{object-fit:cover!important;object-position:center 44%!important}
 .hero-text{padding:23px 20px 25px!important;order:1}
 .hero h1{font-family:var(--v2-heading)!important;font-size:clamp(27px,7.5vw,34px)!important;letter-spacing:0!important;line-height:1.22!important;margin:0 0 11px!important}
 .hero-text p{font-family:var(--v2-body)!important;font-size:14px!important;line-height:1.52!important;margin:0 0 17px!important}
 .hero-cta{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important;gap:9px!important;width:100%;margin:0!important}
 .hero-cta .btn{width:100%!important;min-height:45px!important;padding:10px 7px!important;font-size:13px!important;letter-spacing:0!important;text-align:center}
 .mobile-hero-action{display:inline-flex!important}
 .desktop-hero-action{display:none!important}
 .hero-cta .btn:only-child{grid-column:1 / -1!important}
 .v2-trust-strip{padding:0 12px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
 .v2-trust-item{padding:15px 9px 13px!important;gap:0!important;justify-content:center!important;min-height:66px!important}
 .v2-trust-item strong{font-family:var(--v2-heading)!important;font-size:10px!important;line-height:1.4!important;letter-spacing:0!important;text-align:center}
 .v2-trust-item p{display:none!important}
 .section-pad{padding:41px 20px!important}
 .section-heading{margin-bottom:20px!important}
 .section-heading h2{font-family:var(--v2-heading)!important;font-size:clamp(23px,6.25vw,29px)!important;letter-spacing:0!important;line-height:1.28!important}
 .home-services{padding:34px 19px 42px!important}
 .home-services .section-heading{margin-bottom:19px!important}
 .options{display:flex!important;flex-direction:column!important;gap:13px!important}
 .option,.option:first-child{display:grid!important;grid-template-columns:minmax(0,37%) minmax(0,63%)!important;min-height:154px!important;order:3!important}
 .option .option-image,.option:first-child .option-image{height:100%!important;min-height:154px!important}
 .option .option-desc,.option:first-child .option-desc{padding:15px 15px!important;min-height:154px!important}
 .option .option-desc h3,.option:first-child .option-desc h3{font-size:clamp(15px,4.1vw,18px)!important;line-height:1.34!important;margin:0 0 8px!important}
 .option .option-desc p,.option:first-child .option-desc p{font-size:12px!important;line-height:1.5!important;margin-bottom:9px!important}
 .option .option-link{font-size:12px!important;padding-top:9px!important}
 .option.residential-option{order:0!important;display:block!important;border-color:#a8d5d2!important}
 .option.residential-option .option-image{height:157px!important;min-height:0!important}
 .option.residential-option .option-desc{min-height:0!important;padding:15px 19px 19px!important}
 .option.residential-option .option-desc h3{font-size:19px!important}
 .option.residential-option .option-desc p{font-size:13.5px!important;line-height:1.5!important}
 .option.commercial-option{order:1!important}
 .option.gutter-option{order:2!important}
 .gallery-section{padding:27px 0 33px!important}
 .gallery-section .section-heading{margin:0 19px 14px!important}
 .gallery-section .section-heading h2{font-size:22px!important}
 .image-gallery{padding:0 19px 7px!important;gap:9px!important;scroll-padding-left:19px!important}
 .image-gallery .gallery-item,.image-gallery .gallery-item-0,.image-gallery .gallery-item-3,.image-gallery .gallery-item-4,.image-gallery .gallery-item:nth-last-child(2):not(:first-child){height:148px!important;flex:0 0 min(64vw,250px)!important}
 .editorial-row,.editorial-row.reverse{display:flex!important;flex-direction:column!important;min-height:0!important}
 .editorial-image{height:clamp(185px,53vw,285px)!important;min-height:0!important;order:0!important}
 .editorial-copy,.editorial-row.reverse .editorial-copy{padding:25px 20px 34px!important;order:1!important}
 .editorial-copy h2{font-size:clamp(23px,6vw,30px)!important;margin:0 0 13px!important}
 .editorial-copy p{font-size:14.5px!important;line-height:1.62!important}
 .review-block{padding:37px 20px 36px!important;display:block!important}
 .review-block blockquote{font-size:22px!important;line-height:1.45!important;margin:0 0 17px!important;max-width:100%!important}
 .review-block>span{font-size:13px!important}
 .closing-cta{padding:40px 20px 44px!important;display:block!important}
 .closing-cta h2{font-size:clamp(24px,6.4vw,31px)!important}
 .closing-cta p{font-size:14px!important;line-height:1.6!important;margin:13px 0 19px!important}
 .closing-cta .btn{width:100%!important}
 .faq-rows summary{font-size:15px!important;line-height:1.45!important;padding:15px 4px!important}
 .faq-answer{font-size:14px!important;line-height:1.65!important}
 .proof-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
 .proof-grid>div{padding:21px 20px!important;min-height:0!important;border-bottom:1px solid var(--v2-line)!important}
 .proof-grid h3{font-size:18px!important;margin-bottom:6px!important}
 .footer-content{padding:40px 20px 27px!important}
 .footer-brand h2{font-size:clamp(26px,7vw,34px)!important}
 .footer-link-block h3{font-size:11px!important}
 .footer-link-block a{font-size:13px!important}
 .site-footer{padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
 .mobile-actions{height:calc(61px + env(safe-area-inset-bottom))!important;grid-template-columns:37% 63%!important;padding:7px 10px calc(7px + env(safe-area-inset-bottom))!important;gap:8px!important;border-top:1px solid var(--v2-line)!important;box-shadow:0 -5px 18px #24394712!important;background:#fff!important}
 .mobile-actions a{font-size:13px!important;min-height:43px!important;font-weight:700!important}
 .mobile-actions a:last-child{background:var(--v2-blue)!important;color:#fff!important}
 .mobile-actions{transform:translateY(110%)!important;opacity:0!important;pointer-events:none!important;transition:transform .22s ease,opacity .22s ease!important}
 body.v2-show-mobile-actions .mobile-actions{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
}
@media(max-width:370px){
 .logo{flex-basis:149px!important;width:149px!important}
 .hero h1{font-size:27px!important}
 .hero-cta .btn{font-size:12px!important}
 .option .option-desc h3{font-size:15px!important}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
