/* MAPPERLEY ROOF SERVICES — V5 premium refinement.
   Editorial spacing, clear typography, restrained borders, no decorative icon clutter.
   Project image sizes deliberately remain as in V4. */
:root{--pine:#103c2d;--deep:#082e23;--green:#20a44b;--green-bright:#20b050;--ink:#1c2b24;--muted:#56665c;--sage:#ecf3eb;--cream:#f8f9f6;--container:1200px}
body{font-size:15px;line-height:1.72}
.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.99);box-shadow:0 1px 0 rgba(13,50,34,.08)}
.nav{gap:19px;min-height:88px}
.logo img{width:150px}
.nav-links{gap:19px}
.nav-links a{font-size:12px;letter-spacing:.005em}
.nav-cta,.nav-call{min-height:44px;font-size:12px}
.nav-cta{padding:0 17px}
.nav-call{padding:0 15px;color:#1b4731;background:#fff;border:1px solid #ccded0}
.nav-call:hover{background:#f2f8f3}
.eyebrow{letter-spacing:.17em;font-size:10px}
.hero::before{background-image:linear-gradient(90deg,rgba(3,26,21,.85) 0%,rgba(3,28,22,.67) 45%,rgba(3,35,24,.14) 100%),linear-gradient(0deg,rgba(3,26,21,.47),transparent 55%),url('images/hero-desktop.webp');background-size:cover;background-position:center 49%}
.hero{min-height:625px}
.hero .wrap{padding:102px 0 98px}
.hero h1{font-size:clamp(61px,6.5vw,92px);letter-spacing:-.054em;max-width:830px;margin-bottom:18px}
.hero-strap{font-size:clamp(27px,2.7vw,36px);max-width:735px;line-height:1.22}
.hero-desc{max-width:566px;font-size:15px;color:#ecf4ee}
.hero-actions .btn{min-height:54px;border-radius:2px;font-size:12px;letter-spacing:.01em}
.hero-meta{border-top:1px solid rgba(255,255,255,.23);display:inline-block;padding-top:16px;letter-spacing:.15em;font-size:9px;margin-top:34px}
.stats-grid{padding:25px 0}
.stats-grid p{font-size:17px}
.about-section{padding:110px 0 115px}
.about-grid{gap:90px}
.about-copy h2{font-size:clamp(46px,4.2vw,61px);max-width:560px}
.about-copy p{line-height:1.95}
.section-head{margin-bottom:35px}
.section-title{letter-spacing:-.045em}
.services-section{padding:105px 0}
.service-grid{gap:18px}
.service-card{box-shadow:none}
.service-card:hover{box-shadow:0 16px 25px rgba(21,48,32,.055);transform:translateY(-2px)}
.service-content{padding:24px 21px}
.service-content p{line-height:1.75}
/* Preserve image sizes in existing gallery and Recent Work sections */
.work-section{padding:105px 0}
.work-card img{height:300px}
.benefits-section{background:#e8f1e9;padding:95px 0 105px}
.benefit{padding:0 28px}
.benefit h3{margin-bottom:13px}
.benefit p{line-height:1.8}
.local-section{padding:106px 0}
.local-grid{gap:100px}
.faq-section{padding:95px 0}
.cta-section{padding:78px 0}
.site-footer{padding-top:84px}
.footer-grid{gap:40px}
.foot-bottom{flex-wrap:wrap;gap:20px}
.foot-bottom a:hover{text-decoration:underline;color:#fff}
/* Refined small specialist navigation */
.v5-specialist-links{border-top:1px solid #e3eae3;background:#f9fbf8}
.v5-specialist-links .wrap{display:flex;align-items:center;gap:27px;flex-wrap:wrap;padding-top:21px;padding-bottom:21px}
.v5-specialist-label{color:#5b7062;font-size:12px;font-weight:750}
.v5-specialist-links a{font-size:12px;font-weight:750;color:#155839;border-bottom:1px solid #c4d9c9;padding-bottom:2px}
.v5-specialist-links a:hover{border-bottom-color:var(--pine)}
/* The numbered process: premium editorial section rather than three generic cards. */
.v5-process{padding:99px 0 102px;background:#093b2c;color:#fff}
.v5-process-top{display:grid;grid-template-columns:1.2fr .65fr;gap:80px;align-items:end;padding-bottom:40px}
.v5-process-top h2{max-width:720px;font:700 clamp(42px,4.4vw,65px)/1.08 var(--serif);letter-spacing:-.055em;margin:0}
.v5-process-top p{color:#c6ddcd;font-size:15px;line-height:1.9;margin:0 0 5px}
.v5-process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3e6c55}
.v5-process-grid>div{padding:33px 38px 5px 0;position:relative}
.v5-process-grid>div+div{padding-left:36px;border-left:1px solid #3e6c55}
.v5-process-num{font:600 13px/1 var(--sans);letter-spacing:.15em;color:#72d998;display:block;margin-bottom:36px}
.v5-process h3{font:700 28px/1.18 var(--serif);letter-spacing:-.04em;margin:0 0 12px}
.v5-process-grid p{font-size:14px;line-height:1.85;color:#c4dacd;margin:0}
/* Customer reviews: subtle platform marks, no stars or oversized badges. */
.v5-reviews{padding:105px 0 105px;background:#fbfcfa;border-top:1px solid #ebefeb}
.v5-editorial-heading{display:grid;grid-template-columns:1.25fr .7fr;gap:70px;align-items:end;margin-bottom:36px}
.v5-editorial-heading p{margin:0 0 5px;color:#627268;font-size:15px;line-height:1.86}
.v5-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.v5-review{background:#fff;border:1px solid #e1e8e0;padding:30px 28px 26px;min-width:0;display:flex;flex-direction:column;box-shadow:0 7px 24px rgba(17,44,27,.025)}
.v5-review-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #edf0ea;margin-bottom:21px}
.v5-review-person{min-width:0}
.v5-review-person h3{font:700 22px/1.12 var(--serif);letter-spacing:-.035em;margin:0 0 6px}
.v5-review-person span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7c897d;font-weight:750}
.v5-review-source{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end}
.v5-review-source img{display:block;max-width:85px;max-height:19px;width:auto;height:auto;object-fit:contain}
.v5-review-title,.review-title{font-size:14px;color:#173e2a;line-height:1.5;display:block;margin-bottom:10px}
.v5-review-quote{flex:1}
.v5-review-quote p{color:#516157;font-size:14px;line-height:1.83;margin:0 0 13px}
.v5-review-quote p:last-child{margin-bottom:0}
.v5-review-footer{margin-top:24px;padding-top:13px;border-top:1px solid #edf0ea;font-size:11px;color:#587360;font-weight:720}
.v5-reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:29px;font-size:12px;color:#6a786e}
.v5-all-reviews{background:#fff}
.v5-source-note{font-size:12px;color:#6b786c;margin:0 0 28px;line-height:1.7}
.v5-all-reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:start}
.v5-all-reviews-grid .v5-review{box-shadow:none}
.v5-all-reviews-grid .v5-review-quote p{font-size:14px}
.v5-all-reviews .v5-editorial-heading{margin-bottom:16px}
/* SEO long-form pages */
.v5-page-hero::before{opacity:.18}
.v5-content-section{padding:97px 0 103px}
.v5-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);gap:83px;align-items:start}
.v5-article{min-width:0}
.v5-article h2{font:700 clamp(37px,3.7vw,52px)/1.1 var(--serif);letter-spacing:-.047em;margin:0 0 24px}
.v5-article h3{font:700 27px/1.2 var(--serif);letter-spacing:-.03em;margin:40px 0 10px}
.v5-article p,.v5-article li{font-size:15px;color:#536359;line-height:1.96}
.v5-article p{margin:0 0 19px}
.v5-article ul{margin:15px 0;padding-left:22px}
.v5-article li{padding-left:5px;margin-bottom:8px}
.v5-rule{height:1px;background:#dee9dd;margin:38px 0 34px}
.v5-detail-aside{background:#eff5ee;position:sticky;top:115px}
.v5-detail-aside>img{width:100%;height:235px;object-fit:cover}
.v5-aside-copy{padding:32px 29px 36px}
.v5-aside-copy h3{font:700 31px/1.12 var(--serif);letter-spacing:-.04em;margin:0 0 13px}
.v5-aside-copy p{color:#647366;font-size:14px;line-height:1.75;margin:0 0 24px}
.v5-aside-copy .btn{width:100%;text-align:center;min-height:53px}
.v5-text-link{display:block;text-align:center;color:#165c38;font-weight:750;font-size:13px;margin-top:19px;text-decoration:underline;text-underline-offset:4px}
.v5-internal{display:flex;flex-wrap:wrap;gap:10px;margin-top:29px}
.v5-internal a{color:#175c39;font-size:13px;font-weight:750;padding:12px 15px;background:#edf5ed}
.v5-faq{padding:75px 0 100px;background:#f5f8f3}
.v5-faq h2{font:700 45px/1.14 var(--serif);letter-spacing:-.04em;margin:0 0 25px}
.v5-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v5-faq-grid details{background:#fff;border:1px solid #dae6dc;padding:24px}
.v5-faq-grid summary{font-weight:750;font-size:14px;cursor:pointer;line-height:1.5}
.v5-faq-grid p{font-size:14px;color:#617265;line-height:1.75}
.v5-legal{max-width:860px}
.v5-legal h3{margin-top:30px}
.v5-legal-note{font-size:12px!important;border-left:3px solid #b1d6b9;padding:10px 14px;background:#f4f8f4}
.v5-related-services{padding:85px 0 87px;background:#f7faf6;border-top:1px solid #e3eee3}
.v5-related-services h2{font:700 39px/1.15 var(--serif);margin:0 0 28px;letter-spacing:-.045em}
.v5-related-services>div>p{font-size:13px;color:#68756a;margin:24px 0 0}
.v5-related-services>div>p a{color:#145b36;font-weight:750;text-decoration:underline}
.v5-service-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v5-service-directory a{background:white;border:1px solid #dfebe0;padding:24px;display:flex;flex-direction:column;gap:9px;min-height:117px}
.v5-service-directory a:hover{border-color:#95cba1}
.v5-service-directory strong{font:700 23px/1.2 var(--serif);letter-spacing:-.025em}
.v5-service-directory span{font-size:12px;color:#246d44}
.v5-project-notes{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid #e1ebe0;margin-top:59px;padding-top:37px}
.v5-project-notes h2{font:700 30px/1.15 var(--serif);margin:0 0 13px;letter-spacing:-.045em}
.v5-project-notes p{font-size:14px;line-height:1.9;color:#627165;margin:0}
/* Private contact form */
.v5-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact-form{border:1px solid #e0e8dd;background:#f5f8f4;padding:38px}
.contact-form .form-note{background:#fff;border-left:3px solid #40a65a;color:#415c48;padding:15px 16px}
.contact-form button[type=submit]{cursor:pointer;border:0;width:100%}
.contact-form button[type=submit]:disabled{opacity:.58;cursor:not-allowed}
.v5-turnstile{min-height:0;margin:14px 0}
.v5-privacy-form-link{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#416a4e}
.form-status{font-size:13px;color:#7a6438;line-height:1.6}
.form-status.success{color:#137440}
@media(max-width:1170px){.nav-links{gap:13px}.nav{gap:15px}.nav-cta{padding:0 11px}.nav-call{padding:0 11px}.logo img{width:137px}.nav-links a{font-size:11px}}
@media(max-width:1000px){.nav-call{display:none}.v5-detail-layout{gap:44px}.v5-editorial-heading{gap:38px}.v5-reviews-grid{grid-template-columns:repeat(2,1fr)}.v5-reviews-grid .v5-review:last-child{grid-column:span 2}.v5-process-top{gap:38px}}
@media(max-width:800px){.nav-links{display:none}.logo img{width:149px}.nav-links.open{display:flex}.v5-process-top,.v5-editorial-heading,.v5-detail-layout{grid-template-columns:1fr;gap:25px}.v5-process{padding:75px 0}.v5-process-grid{grid-template-columns:1fr 1fr}.v5-process-grid>div:last-child{border:0;padding-left:0;border-top:1px solid #3e6c55;padding-top:24px}.v5-detail-aside{position:static;display:grid;grid-template-columns:.75fr 1fr}.v5-detail-aside>img{height:100%;min-height:250px}.v5-faq-grid,.v5-service-directory{grid-template-columns:1fr 1fr}.v5-project-notes{gap:35px}.v5-specialist-links .wrap{gap:16px}.hero::before{background-image:linear-gradient(90deg,rgba(3,26,21,.82),rgba(3,28,22,.57)),url('images/hero-mobile.webp');background-position:center center}}
@media(max-width:540px){.site-header{top:0}.nav{min-height:71px}.nav-cta{min-height:41px;font-size:11px}.logo img{width:130px}.hero{min-height:0}.hero .wrap{padding:79px 0 80px}.hero h1{font-size:clamp(55px,12.5vw,70px)}.hero-strap{font-size:26px}.hero-actions{display:grid;grid-template-columns:1fr;gap:9px}.hero-actions .btn{width:100%;min-width:0;max-width:none;min-height:49px}.hero-meta{font-size:9px}.v5-process-top h2{font-size:41px}.v5-process-grid{grid-template-columns:1fr}.v5-process-grid>div,.v5-process-grid>div+div,.v5-process-grid>div:last-child{border-left:0;border-top:1px solid #3e6c55;padding:23px 0 25px}.v5-process-grid{border-top:0}.v5-process-num{margin-bottom:16px}.v5-process h3{font-size:25px}.v5-reviews{padding:70px 0}.v5-editorial-heading{gap:12px}.v5-reviews-grid,.v5-all-reviews-grid{grid-template-columns:1fr}.v5-reviews-grid .v5-review:last-child{grid-column:auto}.v5-review{padding:23px 19px}.v5-review-person h3{font-size:21px}.v5-review-source img{max-width:72px;max-height:17px}.v5-reviews-bottom{align-items:flex-start;flex-direction:column;gap:10px}.v5-content-section{padding:70px 0}.v5-detail-aside{display:block}.v5-detail-aside>img{height:225px}.v5-faq-grid,.v5-service-directory{grid-template-columns:1fr}.v5-faq h2{font-size:35px}.v5-project-notes{grid-template-columns:1fr;gap:33px}.v5-specialist-links .wrap{align-items:flex-start;gap:10px 19px}.v5-specialist-label{width:100%}.contact-form{padding:22px 18px}.work-card img{height:175px} .footer-grid{gap:30px 20px}}

/* Appointment form: Elfsight embedded in the former enquiry form position */
.v6-elfsight-form{width:100%;max-width:100%;scroll-margin-top:105px}
.v6-elfsight-form .elfsight-app-43edafa6-e985-482a-93d9-8404f044e613{width:100%;max-width:100%;}
