/* zemi:fonts start */
@import url("https://fonts.zemi-cdn.com/lib/poppins/5.3.0/fonts.css"); /* font-family: "Poppins" */
@import url("https://fonts.zemi-cdn.com/lib/inter/5.3.0/fonts.css"); /* font-family: "Inter" */
html body { font-family: "Inter", sans-serif; }
html body :is(h1, h2, h3, h4, h5, h6) { font-family: "Poppins", sans-serif; }
/* zemi:fonts end */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;color:#292929;background:#f5f3ee}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.09;letter-spacing:-.035em;font-weight:600}h1{font-size:clamp(42px,4.5vw,64px)}h2{font-size:clamp(30px,3vw,40px)}h3{font-size:26px}p{max-width:54ch}a{color:inherit;text-underline-offset:5px}button,a{touch-action:manipulation}button{font:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #292929}.wrap{width:min(1180px,calc(100% - 104px));margin:auto}.nav{position:absolute;z-index:5;top:0;left:0;width:100%;color:white}.nav .wrap{height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid #ffffff32}.mark{width:90px;height:90px;object-fit:contain}.navlinks{display:flex;gap:34px;align-items:center;font-size:16px}.navlinks a{text-decoration:none}.navlinks .phone{border-bottom:1px solid #ffffff80;padding:8px 0}.hero{position:relative;isolation:isolate;color:white;overflow:hidden}.hero-photo{position:absolute;inset:-7% 0;width:100%;height:114%;object-fit:cover;z-index:-3;will-change:transform}.hero:after{content:'';position:absolute;inset:0;z-index:-2}.hero p{font-size:20px;max-width:440px;margin:24px 0 30px;color:#f2f0eb}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:12px 25px;border-radius:100px;background:#dc783e;color:#222222;text-decoration:none;font-size:17px;font-weight:700;border:0}.button:hover{background:#ee955e}.textlink{font-size:17px;font-weight:600}.services p{margin:20px 0}.service-row{padding:26px 0;border-bottom:1px solid #d1ccc3}.service-row p{margin:12px 0 16px}.service-row:first-of-type{padding-top:0}.fire{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#222222}.fire:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#222222 12%,#222222aa 55%,#22222200),url("https://static.zemi-cdn.com/sites/12/r274-c5376327e602/assets/images/0baa5e194c554fa664c6df3a42c25f874decd74aa3300531dbc2b7717ff9013c.webp") center/cover;z-index:-2}.fire .wrap{position:relative}.fire p{color:#e0dfd9}.stat{font-size:90px;font-weight:500;letter-spacing:-.06em;line-height:1}.stat sup{font-size:.43em;vertical-align:top;position:relative;top:.2em}.source{display:block;font-size:14px;line-height:1.6;color:#c8c3ba;margin-top:20px;max-width:410px}.embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.motion-toggle{position:absolute;right:24px;bottom:20px;background:#222222b0;border:1px solid #ffffff60;border-radius:30px;color:white;padding:8px 16px;font-size:14px;cursor:pointer}.reviews{padding:85px 0}.google{width:105px;height:22px;object-fit:contain;margin-bottom:28px}.reviewquote{font-size:27px;line-height:1.4;letter-spacing:-.02em;max-width:720px;margin:0 0 22px}.reviewby{font-size:16px}.reviewby a{margin-left:18px}.contact{padding:75px 0 60px;background:#292929;color:#fff}.contact .wrap{display:flex;justify-content:space-between;gap:50px;align-items:center}.contact p{margin:17px 0 0;color:#e7e3dc}.contact h2{max-width:500px}.footer{background:#292929;color:#e7e3dc;padding:15px 0 35px}.footer .wrap{border-top:1px solid #ffffff28;padding-top:25px;display:flex;justify-content:space-between;align-items:center;font-size:15px}.footer img{width:105px;height:105px;object-fit:contain}.footerlinks{display:flex;gap:22px}.mobile-call{display:none}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav .wrap{height:86px;gap:14px}.mark{width:76px;height:76px}.navlinks{gap:18px;font-size:14px}.navlinks .optional{display:none}.navlinks .phone{font-size:14px}.hero p{font-size:18px}.actions{gap:20px}.button{font-size:16px;min-height:52px}.reviewquote{font-size:24px}.reviews{padding:60px 0}.contact{padding:55px 0 40px}.contact .wrap{display:block}.contact .button{margin-top:24px}.footer .wrap{align-items:flex-start;gap:20px}.footerlinks{flex-direction:column;gap:10px}.source{font-size:14px}.motion-toggle{right:20px;bottom:15px;font-size:13px}.mobile-call{display:block;position:fixed;bottom:14px;right:16px;z-index:20;background:#dc783e;color:#222222;border-radius:30px;padding:12px 20px;text-decoration:none;font-size:16px;font-weight:700;box-shadow:0 3px 16px #2223}.footer{padding-bottom:80px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo{will-change:auto}}


.hero{height:760px;min-height:680px}.hero-photo{object-position:50% 48%}.hero:after{background:linear-gradient(90deg,#222222ee 0%,#222222a6 40%,#22222206 77%),linear-gradient(0deg,#222222aa,transparent 40%)}.hero-content{padding-top:230px}.hero h1{max-width:590px}.curve{position:absolute;bottom:-1px;left:0;width:100%;height:82px;fill:#f5f3ee}.services{padding:72px 0 105px}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.service-photo{position:relative;padding:0 32px 42px 0}.service-photo:before{content:'';position:absolute;top:58px;left:32px;right:0;bottom:0;background:#dedad2;border-radius:8px 95px 8px 8px}.service-photo img{position:relative;width:100%;height:590px;object-fit:cover;border-radius:8px 95px 8px 8px}.services h2{margin-bottom:32px;max-width:420px}.service-row h3{font-size:25px}.fire{padding:105px 0 110px;clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);margin-top:-30px}.fire-layout{display:grid;grid-template-columns:1.05fr .85fr;gap:115px;align-items:center}.fire h2{max-width:410px}.fire .body{margin:24px 0 29px;max-width:390px}.fact{border-left:1px solid #d97b4a90;padding-left:40px;max-width:420px}.fact p{margin-top:20px;font-size:19px}.reviews .wrap{display:grid;grid-template-columns:.4fr 1fr;gap:70px}.reviews h2{max-width:220px}.reviews .google{margin-top:24px}.contact{border-radius:90px 0 0 0}@media(max-width:700px){.hero{height:740px;min-height:0}.hero-photo{object-position:62% center}.hero:after{background:linear-gradient(90deg,#222222e8,#22222285 70%,#22222260),linear-gradient(0deg,#222222bb,transparent)}.hero-content{padding-top:190px}.hero h1{max-width:340px}.hero p{max-width:315px}.curve{height:42px}.services{padding:40px 0 75px}.service-layout{grid-template-columns:1fr;gap:42px}.service-photo{padding:0 20px 22px 0}.service-photo:before{left:20px;top:25px}.service-photo img{height:380px}.services h2{margin-bottom:26px}.fire{padding:80px 0 100px}.fire-layout{grid-template-columns:1fr;gap:45px}.fact{padding-left:24px}.stat{font-size:76px}.reviews .wrap{display:block}.reviews h2{max-width:none;margin-bottom:20px}.reviews .google{margin:0 0 30px}.contact{border-radius:48px 0 0 0}}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:#292929;padding:12px}.skip-link:focus{top:10px}.menu-toggle{display:none}.navlinks .nav-cta{padding:11px 20px;border-radius:30px;background:#dc783e;color:#222222;font-weight:700}.interior-hero{height:540px;min-height:0}.interior-hero .hero-content{padding-top:200px}.interior-hero h1{font-size:clamp(40px,4.3vw,58px);max-width:680px}.interior-hero p{max-width:580px;font-size:19px;margin-top:20px}.section{padding:75px 0}.section h2{margin-bottom:26px;max-width:650px}.section p+p{margin-top:20px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:80px}.two-column p{max-width:53ch}.two-column h3{margin:0 0 18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split>img{height:520px;width:100%;object-fit:cover;border-radius:8px 75px 8px 8px}.split p{margin:20px 0}.service-directory{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.directory-row{padding:25px 0;border-bottom:1px solid #bdb8af}.directory-row:first-child{padding-top:0}.directory-row h3{font-size:27px;margin-bottom:12px}.directory-row a{display:inline-block;margin-top:14px}.tone{background:#eeece7}.steps{counter-reset:step}.step{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #bdb8af}.step:before{counter-increment:step;content:counter(step,decimal-leading-zero);color:#84644e;font-size:20px;padding-top:3px}.step h3{font-size:24px}.step p{margin-top:10px}.faq{max-width:880px}.faq details{border-bottom:1px solid #bdb8af;padding:22px 0}.faq summary{font-size:21px;line-height:1.4;cursor:pointer;font-weight:600;padding-right:25px}.faq details p{margin-top:15px;max-width:75ch}.review-window{overflow:hidden;position:relative}.review-slide[hidden]{display:none}.review-logo{width:28px;height:28px;object-fit:contain}.review-proof{display:flex;align-items:center;gap:18px;margin:0 0 20px}.stars{display:inline-flex;gap:3px}.star{display:block;width:17px;height:17px;background:#b86c14;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%)}.review-controls{display:flex;gap:12px;align-items:center;margin-top:25px}.review-controls button{border:1px solid #77736d;border-radius:24px;background:transparent;padding:8px 15px;color:#292929;font-size:14px;cursor:pointer;min-height:44px}.review-position{font-size:14px;margin-left:5px}.reviews .wrap{grid-template-columns:.4fr 1fr}.reviewquote{font-size:26px}.form-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:85px}.form-layout aside p{margin:18px 0}.form-layout form{background:#eeece7;border-radius:8px 50px 8px 8px;padding:38px}.form-layout form h2{font-size:30px}.form-layout label{display:block;font-size:17px;font-weight:600;margin:15px 0 7px}.form-layout input:not([type=checkbox]):not([type=hidden]),.form-layout select,.form-layout textarea{display:block;width:100%;font:inherit;color:#292929;background:#fff;border:1px solid #8a857d;padding:12px;border-radius:5px;min-height:48px}.form-layout textarea{min-height:145px}.form-layout button[type=submit]{background:#dc783e;color:#222222;border:0;border-radius:30px;min-height:52px;padding:12px 25px;font-weight:700;margin-top:20px}.form-layout .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-layout .full,.form-layout .span-2{grid-column:1/-1}.form-layout .field-help,.form-layout small,.form-layout .form-note{font-size:15px;line-height:1.5}.form-layout .honeypot,.form-layout [aria-hidden=true]{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.legal-wrap{max-width:850px}.legal-wrap h1{display:none}.legal-wrap h2{font-size:27px;margin:32px 0 15px}.legal-wrap h3{font-size:22px;margin:24px 0 12px}.legal-wrap p,.legal-wrap li{margin-bottom:16px}.legal-wrap a{overflow-wrap:anywhere}.work-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.work-gallery img{height:480px;width:100%;object-fit:cover;border-radius:6px}.work-gallery img:nth-child(2){margin-top:70px}.footer .wrap{display:grid;grid-template-columns:120px 1fr 1fr;gap:40px;align-items:center}.footerlinks{flex-wrap:wrap;gap:12px 22px}.footer-legal{font-size:14px;border-top:1px solid #ffffff25;padding-top:18px;margin-top:25px;display:flex;justify-content:space-between;gap:20px}.footer-legal nav{display:flex;gap:20px}.contact h2{font-size:34px}.no-motion .hero-photo{transform:none!important}@media(max-width:900px){.navlinks{gap:18px}.navlinks .phone{display:none}.two-column,.split{gap:35px}.form-layout{gap:35px}.wrap{width:calc(100% - 56px)}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.menu-toggle{display:block;border:1px solid #ffffff66;background:#222222;color:#fff;padding:9px 15px;border-radius:25px;font-size:16px}.navlinks{display:none;position:absolute;top:85px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:#2a2a2a;padding:22px;border-radius:5px;font-size:18px;box-shadow:0 12px 30px #2224}.navlinks.is-open{display:flex}.navlinks a{padding:8px}.navlinks .phone{display:block}.navlinks .nav-cta{display:block;text-align:center}.interior-hero{height:500px}.interior-hero .hero-content{padding-top:170px}.interior-hero h1{font-size:40px}.interior-hero p{font-size:18px}.section{padding:50px 0}.two-column,.split,.service-directory,.form-layout{grid-template-columns:1fr;gap:32px}.split>img{height:360px}.form-layout form{padding:25px 20px;border-radius:5px 35px 5px 5px}.form-layout .form-grid{grid-template-columns:1fr}.work-gallery{grid-template-columns:1fr}.work-gallery img{height:360px}.work-gallery img:nth-child(2){margin:0}.footer .wrap{grid-template-columns:90px 1fr;gap:20px}.footer img{width:90px;height:90px}.footerlinks{grid-column:1/-1;flex-direction:row;align-items:start}.footer-legal{display:block}.footer-legal nav{margin-top:14px;flex-wrap:wrap}.reviews .wrap{display:block}.reviewquote{font-size:24px}.contact h2{font-size:30px}}
.form-layout .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-layout .field-wide{grid-column:1/-1}.form-message{display:none}.form-message:target,.form-message.is-visible{display:block}.form-message[data-z-form-status]:not(:empty){display:block}.form-layout form>p{font-size:17px}.form-layout .form-message{margin-top:18px;padding:12px;background:white;border-left:3px solid #dc783e}.footer-legal.wrap{display:flex}@media(max-width:700px){.form-layout .field-grid{grid-template-columns:1fr}.footer-legal.wrap{display:block}}
/* Site-wide refinement: practical type, persistent navigation and layered footer */
html{scroll-padding-top:112px}h1,h2,h3{text-wrap:balance}p{line-height:1.65}.nav{position:fixed;z-index:50;background:rgba(34,34,34,.96);box-shadow:0 4px 24px #22222226;backdrop-filter:blur(14px)}.nav .wrap{height:94px;border-bottom:0;gap:22px}.nav .mark{width:82px;height:82px}.navlinks{gap:22px;font-size:15px}.navlinks .nav-cta{white-space:nowrap}.services{padding-top:100px}.service-row{padding-bottom:34px}.service-row .textlink{display:inline-block;padding:5px 0;margin-bottom:8px}.service-layout{gap:75px}.section{padding:82px 0}.section .actions{margin-top:25px}.interior-hero h1{font-size:clamp(42px,4.1vw,56px)}.interior-hero .hero-content{padding-top:195px}.contact{position:relative;border-radius:70px 0 0 0;padding:75px 0 40px;background:linear-gradient(130deg,#2d2d2d,#262626);isolation:isolate}.contact:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 10% 0,#74706a45,transparent 65%);pointer-events:none}.contact .wrap{padding:35px 40px;background:#343434;border:1px solid #807b7366;border-left:4px solid #dc783e;border-radius:6px 34px 6px 6px;box-shadow:0 18px 35px #22222233;transform:translateY(-8px)}.contact h2{font-size:34px}.contact p{color:#e7e3dc}.footer{background:linear-gradient(#262626,#202020);padding-top:5px}.footer .wrap{border-top:0;padding-top:34px;grid-template-columns:110px 1fr 1fr;gap:40px}.footer .mark{width:105px;height:105px}.footer p{font-size:16px;color:#e7e3dc}.footerlinks{gap:14px 24px;line-height:1.6}.footerlinks a{text-decoration:none}.footerlinks a:hover{text-decoration:underline}.footer-legal.wrap{border-top:1px solid #807b7355;padding-top:22px;margin-top:30px;color:#cbc6bd}.review-window{padding:0 58px;overflow:visible}.review-slide{min-height:175px}.review-controls{justify-content:center;margin-top:22px}.review-controls .review-prev,.review-controls .review-next{position:absolute;top:75px;width:44px;height:44px;padding:0;border:0;display:grid;place-items:center}.review-prev{left:0}.review-next{right:0}.chevron{display:block;width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor}.chevron-left{transform:rotate(-135deg)}.chevron-right{transform:rotate(45deg)}.review-controls .review-pause,.motion-toggle{width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:transparent}.review-controls .review-pause:hover{background:#dedad2}.motion-toggle{background:#222222b0;bottom:24px;right:26px}.motion-toggle:hover{background:#222222}.control-icon{display:block;position:relative;width:14px;height:16px;color:inherit}.pause-icon:before,.pause-icon:after{content:'';position:absolute;top:1px;width:4px;height:14px;background:currentColor;border-radius:1px}.pause-icon:before{left:1px}.pause-icon:after{right:1px}.play-icon{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor;margin-left:3px}.review-position{font-size:13px;color:#565656}.reviewby a{display:inline-block}.form-layout aside{align-self:start}.form-layout form{box-shadow:12px 14px 0 #dedad2;border:1px solid #d1ccc3}.tone .form-layout form{background:#f5f3ee}.form-layout label{line-height:1.4}.form-layout .field-help{margin-top:8px}.faq summary{font-size:21px;line-height:1.45}.faq details p{font-size:18px}.faq details{padding:24px 0}@media(max-width:1100px){.navlinks .phone{display:none}.navlinks{gap:20px}}@media(max-width:900px){.menu-toggle{display:block;border:1px solid #ffffff66;background:#222222;color:#fff;padding:10px 16px;border-radius:25px;font-size:16px}.nav .wrap{height:82px}.navlinks{display:none;position:absolute;top:82px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:#2a2a2a;padding:22px;border:1px solid #807b7366;border-radius:0 0 12px 12px;font-size:18px;box-shadow:0 20px 30px #2224;max-height:calc(100dvh - 110px);overflow:auto}.navlinks.is-open{display:flex}.navlinks a{padding:8px}.navlinks .phone{display:block}.navlinks .nav-cta{text-align:center}.nav .mark{width:76px;height:76px}.service-layout{gap:40px}.footer .wrap{gap:24px}}@media(max-width:700px){html{scroll-padding-top:92px}body{font-size:17px;line-height:1.65}.wrap{width:calc(100% - 40px)}.nav .wrap{height:76px}.navlinks{top:76px}.nav .mark{width:70px;height:70px}.hero{height:auto;min-height:660px;padding-bottom:100px}.hero-content{padding-top:176px}.hero h1{font-size:39px;line-height:1.12;letter-spacing:-.035em;max-width:350px}.hero p{font-size:18px;line-height:1.6;margin:24px 0 27px;max-width:340px}.hero .actions{gap:20px}.hero .textlink{font-size:16px}.interior-hero{min-height:450px;padding-bottom:90px}.interior-hero .hero-content{padding-top:155px}.interior-hero h1{font-size:36px;line-height:1.14;max-width:350px}.interior-hero p{font-size:17px;line-height:1.65}.services{padding-top:76px;padding-bottom:78px}.service-photo img{height:365px}.service-layout{gap:50px}.services h2,h2,.section h2{font-size:29px;line-height:1.17;letter-spacing:-.025em}.services h2{margin-bottom:31px}.service-row h3,h3{font-size:23px;line-height:1.22}.service-row{padding-top:28px;padding-bottom:29px}.service-row p{margin:15px 0 17px}.service-row .textlink{padding:7px 0;margin-bottom:10px}.section{padding:62px 0}.section h2{margin-bottom:24px}.two-column,.split,.service-directory,.form-layout{gap:35px}.directory-row h3{font-size:24px}.step{grid-template-columns:35px 1fr;gap:12px;padding:23px 0}.step h3{font-size:23px}.faq details{padding:22px 0}.faq summary{font-size:19px;line-height:1.5}.faq details p{font-size:17px;line-height:1.7}.fire{padding:85px 0 105px}.fire h2{font-size:29px;line-height:1.18;max-width:340px}.fire-layout{gap:40px}.fire .body{margin:24px 0 28px}.fact p{font-size:18px}.fact .source{font-size:14px;line-height:1.65}.reviews{padding:65px 0}.reviews h2{margin-bottom:30px}.review-window{padding:0 36px}.review-slide{min-height:250px}.reviewquote{font-size:23px;line-height:1.45}.reviewby{font-size:15px}.reviewby a{display:block;margin:8px 0 0}.review-controls .review-prev{left:-8px}.review-controls .review-next{right:-8px}.review-controls .review-prev,.review-controls .review-next{top:105px}.contact{border-radius:48px 0 0 0;padding:50px 0 25px}.contact .wrap{padding:29px 25px;transform:none;border-radius:5px 25px 5px 5px}.contact h2{font-size:29px;line-height:1.2}.contact p{font-size:17px}.contact .button{margin-top:25px}.footer{padding-bottom:90px}.footer .wrap{grid-template-columns:90px 1fr;gap:20px;padding-top:30px}.footer .mark{width:90px;height:90px}.footer p{font-size:15px}.footerlinks{gap:12px 22px;font-size:16px}.footer-legal.wrap{padding-top:22px;margin-top:25px}.form-layout form{padding:27px 22px;box-shadow:7px 9px 0 #dedad2}.form-layout form h2{font-size:27px}.form-layout aside p{margin:18px 0}.form-layout input,.form-layout select,.form-layout textarea{font-size:17px}.legal-wrap h2{font-size:25px}.legal-wrap h3{font-size:22px}}@media(prefers-reduced-motion:reduce){.nav{backdrop-filter:none}.hero-photo{transform:none!important}}
/* Image-backed service choices, community enquiry and owned social photography */
.service-tiles{display:grid;gap:22px}.service-tile{position:relative;isolation:isolate;display:block;min-height:275px;color:white;text-decoration:none;overflow:hidden;border-radius:7px 35px 7px 7px;background:#2a2a2a}.service-tile:nth-child(2){border-radius:7px 7px 35px 7px}.service-tile>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform .4s ease}.service-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#222222ea,#222222ad 58%,#22222245);z-index:-1}.service-tile:hover>img{transform:scale(1.025)}.tile-copy{padding:28px 31px}.tile-copy svg{width:30px;height:30px;fill:none;stroke:#e49b69;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}.tile-copy h3{font-size:25px;letter-spacing:-.02em;line-height:1.16;color:#fff}.tile-copy p{font-size:17px;line-height:1.55;color:#f2f0eb;max-width:28ch;margin:13px 0 15px}.tile-copy span{font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:5px;display:inline-block;padding:4px 0}.services .service-photo img{height:620px}.services .service-photo{align-self:center}.hoa-teaser{background:#eeece7;padding:65px 0;border-radius:0 0 65px 0}.hoa-teaser .wrap{display:flex;gap:60px;justify-content:space-between;align-items:center}.hoa-teaser h2{font-size:34px;max-width:580px;margin-bottom:20px}.hoa-teaser p{max-width:590px}.hoa-teaser .button{white-space:nowrap;font-size:16px}.instagram{padding-top:25px;padding-bottom:85px}.instagram-heading{display:flex;justify-content:space-between;gap:30px;align-items:baseline;margin-bottom:32px}.instagram-heading h2{margin:0}.instagram-gallery{display:grid;grid-template-columns:1fr 1.25fr .85fr;gap:22px}.instagram-gallery a{display:block;overflow:hidden;border-radius:6px}.instagram-gallery img{width:100%;height:310px;object-fit:cover;transition:transform .4s ease}.instagram-gallery a:hover img{transform:scale(1.025)}.instagram-gallery a:nth-child(2){margin-top:25px}.community-enquiry{background:#eeece7}.community-enquiry .form-layout{gap:70px}.community-enquiry .form-layout form{background:transparent;border:0;border-left:1px solid #bdb8af;border-radius:0;box-shadow:none;padding:0 0 0 50px}.community-enquiry .form-layout form>h2{display:none}.community-enquiry .form-layout form>p:first-of-type{margin:0 0 20px}.community-enquiry .form-layout aside{padding-top:3px}.community-enquiry .form-layout aside h2{font-size:34px}@media(max-width:900px){.hoa-teaser .wrap{display:block}.hoa-teaser .button{margin-top:28px}.community-enquiry .form-layout{gap:35px}.community-enquiry .form-layout form{padding-left:25px}}@media(max-width:700px){.service-tiles{gap:23px}.service-tile{min-height:280px;border-radius:6px 30px 6px 6px}.tile-copy{padding:27px}.tile-copy h3{font-size:24px}.tile-copy p{font-size:17px;line-height:1.6;margin:15px 0 18px}.tile-copy span{font-size:15px;padding:7px 0}.services .service-photo img{height:365px}.hoa-teaser{padding:55px 0;border-radius:0 0 40px 0}.hoa-teaser h2{font-size:29px;line-height:1.2}.hoa-teaser .button{white-space:normal;text-align:center;font-size:15px;padding:13px 20px}.instagram{padding:10px 0 65px}.instagram-heading{display:block;margin-bottom:25px}.instagram-heading h2{font-size:29px;margin-bottom:13px}.instagram-gallery{grid-template-columns:1fr 1fr;gap:14px}.instagram-gallery img{height:230px}.instagram-gallery a:nth-child(2){margin-top:24px}.instagram-gallery a:last-child{display:none}.community-enquiry .form-layout{gap:24px}.community-enquiry .form-layout form{padding:25px 0 0;border-left:0;border-top:1px solid #bdb8af}.community-enquiry .form-layout aside h2{font-size:29px}}@media(prefers-reduced-motion:reduce){.service-tile>img,.instagram-gallery img{transition:none}.service-tile:hover>img,.instagram-gallery a:hover img{transform:none}}
.roofing-referral{position:relative;isolation:isolate;overflow:hidden;color:white;background:#262626;margin-top:20px}.roofing-referral:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#222222eb 0%,#222222bd 45%,#22222226 100%);z-index:-1}.roofing-referral .referral-photo{object-position:50% 75%;z-index:-2}.referral-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center;min-height:530px;padding-top:60px;padding-bottom:60px}.referral-copy h2{font-size:38px;max-width:520px;margin-bottom:24px}.referral-copy p{font-size:19px;max-width:460px;margin-bottom:30px;color:#e7e3dc}.rocco{height:350px;width:auto;max-width:100%;object-fit:contain;justify-self:center;filter:drop-shadow(0 14px 18px #2225)}@media(max-width:700px){.referral-layout{grid-template-columns:1fr;gap:30px;min-height:0;padding-top:60px;padding-bottom:65px}.referral-copy h2{font-size:29px;line-height:1.2}.referral-copy p{font-size:18px;line-height:1.65}.referral-copy .button{font-size:15px;padding:14px 20px}.rocco{height:230px;justify-self:end;margin-right:20px}.roofing-referral:after{background:linear-gradient(180deg,#222222f0,#222222c0 55%,#22222255)}.roofing-referral .referral-photo{object-position:52% 65%}}

.motion-toggle:disabled,.review-pause:disabled{opacity:.6;cursor:default}

/* zemi:managed start */
[data-z="mdz4"] { display: grid; gap: 16px; max-width: 560px; }
[data-z="r7ky"] { display: grid; gap: 6px; }
[data-z="s15k"] { padding: 10px 12px; font: inherit; border: 1px solid currentColor; border-radius: 6px; }
[data-z="dr3y"] { display: grid; gap: 6px; }
[data-z="ndks"] { padding: 10px 12px; font: inherit; border: 1px solid currentColor; border-radius: 6px; }
[data-z="t4pb"] { display: grid; gap: 6px; }
[data-z="zpua"] { padding: 10px 12px; font: inherit; border: 1px solid currentColor; border-radius: 6px; }
[data-z="xkuc"] { display: grid; gap: 6px; }
[data-z="szch"] { padding: 10px 12px; font: inherit; border: 1px solid currentColor; border-radius: 6px; }
[data-z="kn2z"] { text-transform: uppercase; font-size: 50px; }
[data-z="dtbo"] { text-transform: capitalize; }
[data-z="srl3"] { text-align: center; }
[data-z="d4sw"] { text-align: center; }
[data-z="xdp1"] { background-image: url("https://media.zemi-cdn.com/12/illustrative-townhome-community-b4e1ade55493.webp"); border-color: #dc783f; border-style: solid; }
/* zemi:managed end */

/* Keep enquiry fields clear of the floating phone control. */
body:has(form.request-form) .mobile-call{display:none}
.community-enquiry .request-form>.field-grid{margin-top:24px}
.community-enquiry .field{min-width:0}
.community-enquiry .field input,.community-enquiry .field select,.community-enquiry .field textarea{width:100%}

/* Phone links remain in the navigation and footer without covering page content. */
.mobile-call{display:none!important}

/* Continuous section boundaries and official roofing credentials. */
.fire{clip-path:none;margin-top:0}
.curve{bottom:-2px;height:84px}
.referral-layout{grid-template-columns:1.05fr .95fr;gap:40px}
.referral-visual{display:grid;grid-template-columns:minmax(120px,170px) minmax(160px,1fr);gap:24px;align-items:center}
.referral-credentials{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
.roofing-brand{width:100%;height:auto;background:#f5f3ee;padding:10px;border-radius:8px}
.roofing-certification{width:145px;height:auto;object-fit:contain}
.referral-visual .rocco{width:100%;height:auto;max-height:350px;margin:0;object-fit:contain}
@media(max-width:700px){
 .curve{height:44px}
 .section h2,.services h2,.fire h2,.reviews h2,.contact h2,.referral-copy h2{text-align:center;margin-left:auto;margin-right:auto}
 .instagram-heading{align-items:center;text-align:center}
 .referral-layout{grid-template-columns:1fr;gap:32px}
 .referral-visual{grid-template-columns:minmax(110px,.85fr) minmax(150px,1.15fr);gap:16px;align-items:center}
 .referral-credentials{gap:16px}
 .roofing-certification{width:120px;max-width:100%}
 .referral-visual .rocco{max-height:270px}
 .roofing-referral{margin-top:0}
}

body:has(form.request-form) .contact{display:none}
@media(max-width:700px){.hoa-teaser h2{text-align:center;margin-left:auto;margin-right:auto}.footer{padding-bottom:40px}}

/* PROPOSAL ONLY — append after current native CSS. No hero, copy, assets or JS edits.
   1. Real review cards, 2. side controls, 3. restrained section tones,
   4. quieter photographic depth. Written for the existing review HTML. */

/* Each rotating article is a card; the carousel wrapper is not the card. */
.reviews {
  background: #f6f5f1;
  padding-top: 88px;
  padding-bottom: 78px;
}
.reviews .wrap { align-items: start; }
.reviews h2 { padding-top: 30px; }
.reviews .review-window {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  gap: 16px 10px;
  padding: 0;
  overflow: visible;
  min-width: 0;
}
.reviews .review-slide {
  grid-area: 1 / 2;
  min-width: 0;
  min-height: 268px;
  padding: 30px 32px 20px;
  border: 1px solid #d1ccc3;
  border-radius: 10px 28px 10px 10px;
  background: #fff;
  box-shadow: 0 2px 4px rgb(34 34 34 / 3%),
              0 16px 34px -16px rgb(34 34 34 / 18%);
}
.reviews .review-slide:not([hidden]) { display: flex; flex-direction: column; }
.reviews .review-slide[hidden] { display: none; }
.reviews .review-proof { gap: 14px; margin-bottom: 22px; }
.reviews .review-logo { width: 26px; height: 26px; }
.reviews .reviewquote {
  color: #292929;
  font-size: clamp(23px, 2.1vw, 28px);
  line-height: 1.42;
  letter-spacing: -.025em;
  margin-bottom: 24px;
}
.reviews .reviewby {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 16px;
  max-width: none;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #eeece7;
  color: #444444;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.reviews .reviewby a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  color: #565656;
  font-size: 14px;
  font-weight: 400;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/* Keep chevrons beside the card. Grid tracks center them to the real card
   height, including wrapped reviews and increased text size, not a pixel top. */
.reviews .review-controls { display: contents; }
.reviews .review-controls .review-prev,
.reviews .review-controls .review-next,
.reviews .review-controls .review-pause {
  position: static;
  inset: auto;
  display: grid;
  place-items: center;
  align-self: center;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0;
  border: 1px solid #d1ccc3;
  border-radius: 50%;
  background: #fdfdfa;
  color: #292929;
  transition: background-color .18s ease, border-color .18s ease;
}
.reviews .review-controls .review-prev { grid-area: 1 / 1; }
.reviews .review-controls .review-next { grid-area: 1 / 3; }
.reviews .review-controls .review-pause {
  grid-area: 2 / 2;
  justify-self: center;
  transform: translateX(-24px);
  background: transparent;
  border-color: transparent;
}
.reviews .review-position {
  grid-area: 2 / 2;
  justify-self: center;
  align-self: center;
  transform: translateX(26px);
  margin: 0;
  color: #565656;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.reviews .review-controls button:hover:not(:disabled) {
  background: #eeece7;
  border-color: #bdb8af;
}
.reviews .review-controls button:focus-visible,
.reviews .reviewby a:focus-visible {
  outline: 2px solid #292929;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #fff;
}
.reviews .review-controls .chevron { width: 10px; height: 10px; }
.reviews .review-prev .chevron { margin-left: 4px; }
.reviews .review-next .chevron { margin-right: 4px; }

/* Almost imperceptible tone change, not texture or an ornamental panel. */
.hoa-teaser {
  background: linear-gradient(115deg, #eeece7 0%, #f4f3f0 100%);
  box-shadow: inset 0 1px rgb(255 255 255 / 36%),
              inset 0 -1px rgb(60 57 52 / 5%);
}

/* Let real photography carry the depth; preserve accepted image/crop/shape. */
.services .service-photo:before { background: #dedad2; }
.services .service-photo img {
  box-shadow: 0 14px 30px -18px rgb(34 34 34 / 28%);
}
.services .service-tile {
  box-shadow: 0 9px 22px -14px rgb(34 34 34 / 38%);
  outline: 1px solid rgb(255 255 255 / 15%);
  outline-offset: -1px;
}
.services .service-tile:focus-visible {
  outline: 3px solid #292929;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #fff;
}

@media (max-width: 700px) {
  .reviews { padding: 62px 0 54px; }
  .reviews h2 { padding-top: 0; margin-bottom: 28px; text-align: center; }
  .reviews .review-window {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 14px 3px;
    /* Recover 8px per side while keeping all touch targets inside viewport. */
    margin-inline: -8px;
  }
  .reviews .review-slide {
    min-height: 312px;
    padding: 25px 20px 16px;
    border-radius: 9px 22px 9px 9px;
  }
  .reviews .reviewquote { font-size: 22px; line-height: 1.45; margin-bottom: 24px; }
  .reviews .review-proof { gap: 11px; margin-bottom: 22px; }
  .reviews .reviewby { display: block; font-size: 15px; }
  .reviews .reviewby a { display: flex; width: fit-content; margin-top: 0; }
  .reviews .review-controls .review-prev,
  .reviews .review-controls .review-next {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    background: transparent;
    border-color: transparent;
  }
}
@media (max-width: 360px) {
  .reviews .review-slide { padding-inline: 16px; }
  .reviews .reviewquote { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .reviews .review-controls button { transition: none; }
}

.reviews .review-controls .review-prev,.reviews .review-controls .review-next{border-color:transparent;background:transparent}

.roofing-identity{width:100%;padding:14px 10px;background:#f5f3ee;border-radius:8px;text-align:center;color:#292929}.roofing-identity .roofing-brand{display:block;width:100%;height:auto;padding:0;background:none;border-radius:0;margin:0 auto 10px}.roofing-identity strong{display:block;font-size:18px;line-height:1.2;letter-spacing:-.025em}.roofing-identity span{display:block;font-size:12px;line-height:1.4;margin-top:4px}.about-team-hero .hero-photo{object-position:50% 65%}@media(max-width:700px){.roofing-identity strong{font-size:16px}.roofing-identity{padding:12px 8px}.referral-visual{grid-template-columns:minmax(135px,.95fr) minmax(140px,1.05fr)}}

/* Amore content-depth layer. Load after existing brand CSS.
   Scope is deliberately limited to .service-depth; existing heroes/fire/reviews/forms untouched. */
.service-depth{--depth-ink:#292929;--depth-soft:#eeece7;--depth-line:#bdb8af;--depth-orange:#dc783e;color:var(--depth-ink)}
.service-depth>.wrap{position:relative}
.service-depth h2{max-width:20ch;margin-bottom:32px;font-size:clamp(30px,3.1vw,43px);line-height:1.13}
.service-depth h3{font-size:clamp(22px,2.05vw,28px);line-height:1.2;letter-spacing:-.025em}
.service-depth p{max-width:62ch}
.service-depth p+p{margin-top:17px}
.service-depth a:not(.button){text-underline-offset:5px}
.service-depth .section-intro{font-size:20px;max-width:66ch;margin-bottom:34px}
.service-depth .supporting-copy{max-width:78ch;margin-top:28px;font-size:16px;color:#565656}
.service-depth .lead{font-size:clamp(25px,2.8vw,35px);line-height:1.35;letter-spacing:-.025em;max-width:32ch;margin-bottom:26px}
.service-depth .depth-media{margin:0;min-width:0;overflow:hidden;background:#dedad2;border-radius:5px}
.service-depth .depth-media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.service-depth .depth-media figcaption{font-size:13px;line-height:1.5;padding:10px 14px;color:#565656;background:#eeece7;max-width:none}
.service-depth .depth-media.is-detail img{aspect-ratio:1/1}
.service-depth .depth-media.is-wide img{aspect-ratio:2.35/1;max-height:440px}
.service-depth .depth-media.is-real img{aspect-ratio:4/5}
.service-depth .depth-media[data-object-position] img{object-position:var(--media-position,50% 50%)}
.service-depth .editorial-split{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.service-depth .service-note,.service-depth .list-example,.service-depth .photo-note{padding:28px 30px;background:var(--depth-soft);border-left:3px solid var(--depth-orange)}
.service-depth .service-note h3,.service-depth .list-example h3,.service-depth .photo-note h3{margin-bottom:19px}
.service-depth .service-note p,.service-depth .photo-note p{font-size:17px}
.service-depth .list-example ul{padding:0 0 0 20px;margin:0}
.service-depth .list-example li+li{margin-top:14px}
.service-depth .depth-story{display:grid;grid-template-columns:1.04fr .96fr;gap:68px;align-items:center}
.service-depth .depth-story--reverse{grid-template-columns:.95fr 1.05fr}
.service-depth .depth-story--reverse>.depth-media{order:-1}
.service-depth .depth-copy>p:last-child{margin-bottom:0}
.service-depth .depth-copy .textlink{display:inline-block;margin-top:22px}
.service-depth .depth-story+.supporting-copy{margin-top:28px}
.service-depth.symptoms-with-photo{background:#eeece7}
.service-depth .symptom-list{margin:0}
.service-depth .symptom-list>div{border-top:1px solid #bdb8af;padding:22px 0}
.service-depth .symptom-list>div:first-child{padding-top:0;border-top:0}
.service-depth dt{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.02em}
.service-depth dd{margin:11px 0 0;font-size:17px;line-height:1.6}
.service-depth .symptoms-media img{aspect-ratio:4/5;object-position:55% center}
.service-depth .route-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:32px 0 0}
.service-depth .route-labels>div{border-top:3px solid #d88c5b;padding-top:20px}
.service-depth .route-labels dt{font-size:22px}
.service-depth .route-labels dd{font-size:16px}
.service-depth .route-comparison{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:38px;padding-top:30px;border-top:1px solid var(--depth-line)}
.service-depth .route-comparison h3{font-size:23px;margin-bottom:15px}
.service-depth .route-comparison p{font-size:17px}
.service-depth .route-caption{margin-top:25px;max-width:78ch;font-size:17px}
.service-depth.scope-editorial{background:#292929;color:#fff}
.service-depth.scope-editorial h2{max-width:23ch}
.service-depth .scope-and-expectations{display:grid;grid-template-columns:1.14fr .86fr;gap:70px}
.service-depth .scope-list{list-style:none;padding:0;margin:0}
.service-depth .scope-list li{padding:0 0 22px 28px;position:relative;font-size:18px;line-height:1.6}
.service-depth .scope-list li:before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:#f0ab78}
.service-depth .scope-list strong{display:block;color:#fff}
.service-depth .scope-list li,.service-depth.scope-editorial p{color:#e7e3dc}
.service-depth .scope-and-expectations>div{border-left:1px solid #77736d;padding-left:34px}
.service-depth .scope-and-expectations h3{margin-bottom:20px;color:#fff}
.service-depth .scope-and-expectations .textlink{display:inline-block;margin-top:22px;color:#f4b183}
.service-depth.care-band-section{padding-top:62px;padding-bottom:62px;background:#eeece7}
.service-depth.care-band-section h2{font-size:32px;max-width:28ch}
.service-depth .care-band{display:grid;grid-template-columns:1fr 1.1fr;gap:22px 60px}
.service-depth .care-band p{font-size:17px;margin:0}
.service-depth .care-band .source{color:#444444;margin:0;font-size:14px;grid-column:2}
.service-depth .faq{max-width:none}
.service-depth .faq details{border-color:var(--depth-line);padding:0}
.service-depth .faq summary{list-style:none;position:relative;font-size:20px;line-height:1.45;min-height:68px;display:flex;align-items:center;padding:21px 48px 21px 0;font-weight:600}
.service-depth .faq summary::-webkit-details-marker{display:none}
.service-depth .faq summary:after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px;text-align:center;font-weight:400;font-size:28px;color:#565656}
.service-depth .faq details[open] summary:after{content:'−'}
.service-depth .faq-answer{padding:0 46px 24px 0}
.service-depth .faq details p{margin:0;max-width:75ch;font-size:17px;line-height:1.7}
.service-depth.faq-with-short-intro>.wrap,.service-depth.faq-editorial>.wrap,.service-depth.compact-faq>.wrap{display:grid;grid-template-columns:.38fr .62fr;gap:72px;align-items:start}
.service-depth.contact-band{background:#eeece7;padding:65px 0}
.service-depth.contact-band>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px 70px;align-items:center}
.service-depth.contact-band h2{margin:0;max-width:22ch;font-size:35px;grid-row:1/3}
.service-depth.contact-band p{font-size:18px}
.service-depth.contact-band .actions{margin-top:6px;gap:15px 25px}
.service-depth .water-path-labels{margin:0;border-left:1px solid #bdb8af;padding-left:30px}
.service-depth .water-path-labels>div+div{margin-top:25px}
.service-depth .water-path-labels dt{font-size:22px}
.service-depth .water-path-labels dd{font-size:16px}
.service-depth .water-route-media{margin-top:35px}
.service-depth.observation-photo-pair{background:#eeece7}
.service-depth .observation-list{padding:0;margin:0;list-style:none}
.service-depth .observation-list li{padding:18px 0;border-bottom:1px solid #bdb8af;line-height:1.6;font-size:17px}
.service-depth .observation-list li:first-child{padding-top:0}
.service-depth .observation-list strong{display:inline;font-weight:700}
.service-depth .gutter-signs>p{font-size:16px;margin-top:25px}
.service-depth .comparison-columns,.service-depth .repair-comparison{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin:0 0 30px}
.service-depth .comparison-columns>div,.service-depth .repair-comparison>div{border-top:3px solid #77736d;padding-top:25px}
.service-depth .comparison-columns>div+div,.service-depth .repair-comparison>div+div{border-color:#d88c5b}
.service-depth .comparison-columns h3,.service-depth .repair-comparison h3{margin-bottom:18px}
.service-depth.comparison-section>.wrap>p{max-width:82ch;font-size:17px}
.service-depth.seasonal-strip{background:#292929;color:#fff}
.service-depth .seasonal-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.service-depth .seasonal-editorial h3{font-size:24px;margin-bottom:18px;color:#f4b183}
.service-depth .seasonal-editorial p{font-size:17px;color:#e7e3dc}
.service-depth.seasonal-strip .supporting-copy{color:#d1ccc3;border-top:1px solid #77736d;padding-top:25px;max-width:none}
.service-depth.guard-detail-section .editorial-split{grid-template-columns:1fr 1fr;gap:65px}
.service-depth.guard-detail-section .depth-story{gap:55px}
.service-depth.guard-detail-section h2{max-width:23ch}
.service-depth.four-season-list{background:#eeece7}
.service-depth .seasonal-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 65px}
.service-depth .seasonal-table>div{display:grid;grid-template-columns:145px 1fr;gap:25px;border-top:1px solid #bdb8af;padding-top:25px}
.service-depth .seasonal-table h3{font-size:22px}
.service-depth .seasonal-table p{font-size:17px}
.service-depth.priority-feature{padding-top:70px;padding-bottom:70px;background:#292929;color:#fff}
.service-depth.priority-feature>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}
.service-depth.priority-feature h2{margin:0;font-size:36px}
.service-depth .priority-editorial>p:not(.lead){font-size:17px;color:#e7e3dc}
.service-depth .feature-links{display:grid;grid-template-columns:1fr 1fr;gap:45px}
.service-depth .feature-links article{border-top:1px solid var(--depth-line);padding-top:24px}
.service-depth .feature-links h3{margin-bottom:18px}
.service-depth .feature-links p{font-size:17px}
.service-depth .cleaning-feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.service-depth .cleaning-feature-pair h3{margin:26px 0 17px;font-size:29px}
.service-depth .cleaning-feature-pair p{font-size:17px}
.service-depth .cleaning-feature-pair .textlink{display:inline-block;margin-top:22px}
.service-depth .cleaning-feature-pair .depth-media{border-radius:5px 48px 5px 5px}
.service-depth .cleaning-feature-pair article:nth-child(2) .depth-media{border-radius:5px 5px 5px 48px}
.service-depth.outcome-editorial{background:#eeece7}
.service-depth .outcome-rows>div{display:grid;grid-template-columns:.37fr .63fr;gap:65px;padding:25px 0;border-top:1px solid #bdb8af}
.service-depth .outcome-rows>div:last-child{padding-bottom:0}
.service-depth .outcome-rows h3{font-size:26px}
.service-depth .outcome-rows p{font-size:18px;max-width:60ch}
.service-depth .fault-list{list-style:none;margin:0;padding:0}
.service-depth .fault-list li{border-top:1px solid #bdb8af;padding:20px 0;font-size:17px}
.service-depth .fault-list li:first-child{padding-top:0;border-top:0}
.service-depth .fault-list strong{display:block;margin-bottom:5px}
.service-depth.repair-detail-feature .editorial-split{margin-top:32px}
.service-depth.repair-detail-feature .depth-media img{aspect-ratio:2.3/1;object-position:center 58%}
.service-depth .repair-comparison>div:first-child{border-color:#77736d}
.service-depth.parts-feature{background:#eeece7}
.service-depth.parts-feature .depth-media{align-self:stretch}
.service-depth.parts-feature .depth-media img{height:100%;aspect-ratio:1/1}
.service-depth.simple-editorial>.wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px 70px}
.service-depth.simple-editorial h2{grid-row:1/4;margin:0}
.service-depth.simple-editorial .textlink{justify-self:start;margin-top:8px}
.service-depth .home-service-features{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.service-depth .home-service-features article{min-width:0}
.service-depth .home-service-features h3{font-size:30px;margin:26px 0 18px}
.service-depth .home-service-features p{font-size:18px}
.service-depth .home-service-features .textlink{display:inline-block;margin-top:24px}
.service-depth .home-service-features .depth-media{border-radius:6px 58px 6px 6px}
.service-depth .home-service-features .depth-media img{height:340px;aspect-ratio:auto}
.service-depth .home-service-features .gutter-feature{padding-top:72px}
.service-depth .home-service-features .gutter-feature .depth-media{border-radius:6px 6px 58px 6px}
.service-depth.horizontal-observation-band{background:#eeece7}
.service-depth .home-signs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.service-depth .home-signs p{font-size:17px;margin:0}
.service-depth .home-signs strong{display:block;margin-bottom:12px;font-size:22px;line-height:1.3;letter-spacing:-.02em}
.service-depth.horizontal-observation-band>.wrap>p{margin-top:30px;max-width:85ch;font-size:17px}
.service-depth .home-care-links{border-top:1px solid var(--depth-line)}
.service-depth .home-care-links article{display:grid;grid-template-columns:.45fr .55fr;gap:35px;padding:26px 0;border-bottom:1px solid var(--depth-line)}
.service-depth .home-care-links p{font-size:17px}
.service-depth.local-editorial{background:#292929;color:#fff}
.service-depth.local-editorial p{color:#e7e3dc}
.service-depth.local-editorial .textlink{color:#f5b183}
.service-depth.local-editorial .depth-media img{aspect-ratio:4/3}
.service-depth.community-band{padding-top:62px;padding-bottom:62px;background:#eeece7}
.service-depth.community-band>.wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:18px 70px}
.service-depth.community-band h2{grid-row:1/3;margin:0;font-size:34px}
.service-depth.community-band .textlink{justify-self:start;margin-top:6px}
@media(max-width:1050px){
 .service-depth .editorial-split,.service-depth .depth-story,.service-depth .depth-story--reverse,.service-depth .scope-and-expectations{gap:38px}
 .service-depth .seasonal-table>div{grid-template-columns:1fr;gap:15px}
 .service-depth .faq-with-short-intro>.wrap{gap:40px}
 .service-depth .seasonal-editorial{gap:26px}
 .service-depth .route-labels{gap:22px}
 .service-depth.faq-with-short-intro>.wrap,.service-depth.faq-editorial>.wrap,.service-depth.compact-faq>.wrap{grid-template-columns:.34fr .66fr;gap:35px}
}
@media(max-width:760px){
 .service-depth{padding:58px 0}
 .service-depth h2{font-size:29px;line-height:1.18;max-width:24ch;margin-bottom:28px}
 .service-depth>.wrap>h2{text-align:center;margin-left:auto;margin-right:auto}
 .service-depth h3{font-size:23px}
 .service-depth .section-intro{font-size:18px;margin-bottom:28px}
 .service-depth .lead{font-size:27px;max-width:none}
 .service-depth .supporting-copy{font-size:15px;margin-top:24px}
 .service-depth .editorial-split,.service-depth .depth-story,.service-depth .depth-story--reverse,.service-depth .route-labels,.service-depth .route-comparison,.service-depth .scope-and-expectations,.service-depth .care-band,.service-depth .comparison-columns,.service-depth .repair-comparison,.service-depth .seasonal-editorial,.service-depth .seasonal-table,.service-depth .feature-links,.service-depth .cleaning-feature-pair,.service-depth .home-service-features,.service-depth .home-signs{grid-template-columns:1fr;gap:30px}
 .service-depth .depth-story--reverse>.depth-media{order:0}
 .service-depth .depth-media img,.service-depth .depth-media.is-detail img,.service-depth .depth-media.is-real img{aspect-ratio:4/3;height:auto;max-height:390px}
 .service-depth .depth-media.is-wide img,.service-depth.repair-detail-feature .depth-media img{aspect-ratio:1.5/1;max-height:350px}
 .service-depth .symptoms-media img{aspect-ratio:1.25/1}
 .service-depth .service-note,.service-depth .list-example,.service-depth .photo-note{padding:25px}
 .service-depth .symptom-list>div{padding:19px 0}
 .service-depth dt{font-size:21px}
 .service-depth dd{font-size:16px}
 .service-depth .route-labels>div{display:grid;grid-template-columns:.37fr .63fr;gap:20px;padding-top:18px;border-top:1px solid #bdb8af}
 .service-depth .route-labels dd{margin:0}
 .service-depth .route-labels dt{font-size:20px}
 .service-depth .route-comparison{margin-top:28px;padding-top:25px}
 .service-depth .scope-list li{font-size:17px;padding-bottom:21px}
 .service-depth .scope-and-expectations>div{border-left:0;border-top:1px solid #77736d;padding:26px 0 0}
 .service-depth .care-band{gap:20px}
 .service-depth .care-band .source{grid-column:auto}
 .service-depth.care-band-section h2{font-size:29px}
 .service-depth.faq-with-short-intro>.wrap,.service-depth.faq-editorial>.wrap,.service-depth.compact-faq>.wrap,.service-depth.contact-band>.wrap,.service-depth.priority-feature>.wrap,.service-depth.simple-editorial>.wrap,.service-depth.community-band>.wrap{display:block}
 .service-depth .faq summary{font-size:18px;line-height:1.45;padding:20px 36px 20px 0;min-height:70px}
 .service-depth .faq-answer{padding:0 24px 24px 0}
 .service-depth .faq details p{font-size:16px;line-height:1.7}
 .service-depth.contact-band h2,.service-depth.priority-feature h2,.service-depth.community-band h2{font-size:29px;margin-bottom:26px}
 .service-depth.contact-band .actions{margin-top:25px}
 .service-depth.contact-band .textlink{font-size:16px}
 .service-depth .water-path-labels{border-left:0;padding-left:0;border-top:1px solid var(--depth-line);padding-top:25px}
 .service-depth .water-route-media{margin-top:28px}
 .service-depth .comparison-columns,.service-depth .repair-comparison{gap:30px}
 .service-depth .seasonal-editorial>div+div{border-top:1px solid #77736d;padding-top:25px}
 .service-depth.guard-detail-section .editorial-split{grid-template-columns:1fr;gap:20px}
 .service-depth .seasonal-table>div{grid-template-columns:.33fr .67fr;gap:20px}
 .service-depth .seasonal-table h3{font-size:21px}
 .service-depth .seasonal-table p{font-size:16px}
 .service-depth .outcome-rows>div{grid-template-columns:1fr;gap:16px;padding:24px 0}
 .service-depth .outcome-rows h3{font-size:24px}
 .service-depth .outcome-rows p{font-size:17px}
 .service-depth .cleaning-feature-pair{gap:42px}
 .service-depth .cleaning-feature-pair h3,.service-depth .home-service-features h3{font-size:27px;margin-top:24px}
 .service-depth .cleaning-feature-pair p,.service-depth .home-service-features p{font-size:17px}
 .service-depth .home-service-features{gap:42px}
 .service-depth .home-service-features .depth-media img{height:280px;aspect-ratio:auto}
 .service-depth .home-service-features .gutter-feature{padding-top:0}
 .service-depth .home-signs{gap:25px}
 .service-depth .home-signs p+p{border-top:1px solid #bdb8af;padding-top:22px}
 .service-depth .home-signs strong{font-size:22px;margin-bottom:10px}
 .service-depth .home-care-links article{grid-template-columns:1fr;gap:15px;padding:25px 0}
 .service-depth.simple-editorial>.wrap>p{margin-top:18px}
 .service-depth.simple-editorial .textlink,.service-depth.community-band .textlink{display:inline-block;margin-top:22px}
}
@media(max-width:390px){.service-depth .route-labels>div,.service-depth .seasonal-table>div{grid-template-columns:1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.service-depth *{scroll-behavior:auto}}
.service-depth .gutter-water-diagram{background:#eeece7;overflow:visible}
.service-depth .gutter-water-diagram img{object-fit:contain;aspect-ratio:1080/680;height:auto}
.service-depth.notebook-editorial .depth-media+*{margin-top:32px}
@media(max-width:760px){.service-depth .gutter-water-diagram{margin-left:-12px;margin-right:-12px}.service-depth .gutter-water-diagram img{max-height:none}}

body:has(#service-contact)>.contact{display:none}

/* Dedicated fire-safety information and native visit request. */
.fire-safety-hero{height:auto;min-height:600px;padding-bottom:100px}
.fire-safety-page .source{color:#565656}
.fire-safety-page h2{max-width:24ch}
.fire-editorial-split,.fire-prevention-columns,.fire-basics-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:64px}
.fire-fact{background:#292929;color:#fff;border-radius:10px 34px 10px 10px;padding:34px;align-self:start}
.fire-fact h3{font-size:23px;margin-bottom:18px}
.fire-fact strong{display:block;font-size:68px;line-height:1;margin:0 0 18px;color:#f0ac77}
.fire-fact .source{color:#e0dcd4}
.fire-warning-signs{background:#eeece7}
.fire-signs-list{display:grid;grid-template-columns:1fr 1fr;gap:24px 50px;margin:30px 0}
.fire-signs-list>div{border-top:1px solid #bdb8af;padding-top:22px}
.fire-signs-list dt{font-size:22px;font-weight:600;line-height:1.3}
.fire-signs-list dd{margin:10px 0 0}
.fire-warning-signs>.wrap>p{max-width:82ch}
.fire-emergency-note{background:#f1e4d5;padding:52px 0;border-left:0}
.fire-emergency-note h2{font-size:30px;max-width:34ch}
.fire-emergency-note p{max-width:80ch}
.fire-prevention h3,.fire-home-basics h3{margin-bottom:18px}
.fire-prevention ul{padding-left:22px;margin:0}
.fire-prevention li+li{margin-top:14px}
.fire-home-basics{background:#eeece7}
.fire-visit-request{background:#f5f3ee}
.fire-request-layout{grid-template-columns:.9fr 1.1fr;gap:70px}
.fire-request-layout>div>p+p{margin-top:18px}
.fire-scope-note{font-size:15px;color:#565656}
.fire-native-form-slot form{padding:34px;background:#eeece7;border-radius:10px 30px 10px 10px;box-shadow:0 12px 30px -20px #2a2a2a40}
.fire-native-form-slot .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.fire-native-form-slot .field-wide{grid-column:1/-1}
.fire-native-form-slot .field-help{font-size:14px;margin-top:18px}
.protect-button{position:relative;isolation:isolate;overflow:hidden;transition:background-color .25s ease,box-shadow .25s ease}
.protect-button:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;transform:translateY(100%);background:linear-gradient(0deg,#ffcf70,#f18a35);clip-path:polygon(0 100%,0 70%,9%50%,17%76%,27%26%,37%62%,47%8%,55%62%,65%38%,74%68%,84%23%,94%72%,100%53%,100%100%);transition:transform .35s ease,opacity .25s ease}
.protect-button:hover:before,.protect-button:focus-visible:before{opacity:1;transform:translateY(30%);animation:amore-button-flame .8s ease-in-out 2 alternate}
.protect-button:hover{background:#f4a467;box-shadow:0 6px 24px #eb8a3438}
@keyframes amore-button-flame{from{transform:translateY(36%) scaleX(1)}to{transform:translateY(22%) scaleX(1.04)}}
.fire:before{background:linear-gradient(90deg,#222222e6 0%,#22222299 50%,#22222226 78%),url("https://static.zemi-cdn.com/sites/12/r274-c5376327e602/assets/images/0baa5e194c554fa664c6df3a42c25f874decd74aa3300531dbc2b7717ff9013c.webp") center/cover}
@media(max-width:700px){
 .fire-safety-hero{min-height:570px;padding-bottom:75px}
 .fire-editorial-split,.fire-prevention-columns,.fire-basics-columns,.fire-request-layout{grid-template-columns:1fr;gap:32px}
 .fire-signs-list{grid-template-columns:1fr;gap:22px}
 .fire-safety-page h2{max-width:100%;text-align:center}
 .fire-fact{padding:28px}
 .fire-native-form-slot form{padding:25px 20px}
 .fire-native-form-slot .field-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.protect-button,.protect-button:before{transition:none}.protect-button:hover:before,.protect-button:focus-visible:before{animation:none}}

/* Header only: original image dimensions, home link, and footer are unchanged. */
.amore-header-logo {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  line-height: 0;
}
.amore-header-logo > img { display: block; }
.amore-header-logo__motion {
  position: absolute;
  inset: 0;
  display: block;
  visibility: hidden;
  pointer-events: none;
}
.amore-header-logo__motion > svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.amore-header-logo.is-logo-playing > img { visibility: hidden; }
.amore-header-logo.is-logo-playing > .amore-header-logo__motion { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  .amore-header-logo.is-logo-playing > img { visibility: visible; }
  .amore-header-logo.is-logo-playing > .amore-header-logo__motion { visibility: hidden; }
}

/* Keep both people visible in the About hero */
.about-team-hero .hero-photo{object-position:50% 38%}
@media(max-width:700px){.about-team-hero .hero-photo{object-position:46% 45%}}

/* Photo-led service chooser, based on Rob's supplied composition reference */
.home-hero .curve{fill:#242424}
.services.photo-service-section{background:#242424;color:#fff;padding:78px 0 88px;margin:0}
.photo-service-section>.wrap{max-width:1320px}
.photo-service-section h2{text-align:center;color:#f18b49;font-size:clamp(32px,3.3vw,46px);margin:0 0 40px;line-height:1.12}
.photo-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.photo-service-card{grid-column:span 2;position:relative;isolation:isolate;min-height:360px;display:flex;align-items:flex-end;overflow:hidden;border-radius:8px;color:#fff;text-decoration:none;background:#323232;box-shadow:0 10px 24px #18181833;transition:transform .25s,box-shadow .25s}
.photo-service-card:nth-child(4){grid-column:2/span 2}
.photo-service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,28,28,.14) 5%,rgba(28,28,28,.1) 30%,rgba(28,28,28,.92) 100%);z-index:-1;pointer-events:none}
.photo-service-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.photo-service-icon{position:absolute;top:22px;left:22px;width:32px;height:32px;fill:none;stroke:#ffac73;stroke-width:1.7;filter:drop-shadow(0 2px 4px #242424);stroke-linecap:round;stroke-linejoin:round}
.photo-service-copy{width:100%;padding:26px 24px 28px;position:relative}
.photo-service-copy h3{font-size:25px;line-height:1.12;color:#fff;margin:0 20px 12px 0;letter-spacing:-.025em}
.photo-service-copy p{font-size:15px;line-height:1.5;color:#f0eeeb;margin:0;max-width:29ch}
.photo-service-arrow{position:absolute;right:22px;top:24px;color:#ffac73;font-size:25px;line-height:1}
.photo-service-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px #18181866}
.photo-service-card:hover>img{transform:scale(1.055)}
.photo-service-card:focus-visible{outline:3px solid #ffac73;outline-offset:5px}
@media(min-width:1500px){.photo-service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.photo-service-card,.photo-service-card:nth-child(4){grid-column:auto;min-height:380px}.photo-service-copy{padding:23px 20px}.photo-service-copy h3{font-size:23px}}
@media(max-width:900px){.photo-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo-service-card:nth-child(4){grid-column:span 2}.photo-service-card:last-child{grid-column:2/span 2}.photo-service-card{min-height:340px}}
@media(max-width:600px){.services.photo-service-section{padding:54px 0 60px}.photo-service-section h2{font-size:31px;margin-bottom:28px}.photo-service-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.photo-service-card,.photo-service-card:nth-child(4),.photo-service-card:last-child{grid-column:1;min-height:300px}.photo-service-copy{padding:24px}.photo-service-copy h3{font-size:26px}.photo-service-copy p{font-size:16px;max-width:29ch}.photo-service-icon{top:20px;left:24px}}
@media(prefers-reduced-motion:reduce){.photo-service-card,.photo-service-card>img{transition:none}.photo-service-card:hover,.photo-service-card:hover>img{transform:none}}

/* White service-section background per Rob */
.home-hero .curve{fill:#fff}.services.photo-service-section{background:#fff;color:#292929}.photo-service-section h2{color:#292929}

.services.photo-service-section h2{text-align:center!important;width:100%;margin-left:auto;margin-right:auto}
/* Three distinct original Instagram reels, with on-demand official players */
.amore-reels{background:#fff;padding:84px 0}
.reels-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}
.reels-heading h2{margin:0;color:#292929}
.reels-heading>a{font-weight:600;color:#5c5149;text-decoration:underline;text-underline-offset:5px}
.amore-reel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.amore-reel-card{min-width:0}
.amore-reel-open{display:block;width:100%;aspect-ratio:9/14;position:relative;overflow:hidden;padding:0;border:0;border-radius:12px;background:#262626;cursor:pointer;box-shadow:0 8px 28px #24242418}
.amore-reel-open>img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.amore-reel-open:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(28,28,28,.55));pointer-events:none}
.reel-play{position:absolute;inset:0;z-index:1;display:grid;place-content:center}
.reel-play svg{width:62px;height:62px;padding:18px;border-radius:50%;background:#fff;fill:#292929;box-shadow:0 4px 20px #2224;transition:background .2s,transform .2s}
.reel-label{position:absolute;bottom:22px;left:22px;z-index:2;color:white;display:flex;align-items:center;gap:9px;font-weight:650;font-size:15px;letter-spacing:.01em}
.reel-glyph{font-size:24px;line-height:1}
.amore-reel-open:hover>img{transform:scale(1.035)}
.amore-reel-open:hover .reel-play svg{background:#f69b5d;transform:scale(1.06)}
.amore-reel-open:focus-visible{outline:3px solid #dc783e;outline-offset:5px}
.reel-card-footer{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:18px 0 0}
.reel-card-footer h3{font-size:18px;line-height:1.3;margin:0;color:#292929;max-width:20ch}
.reel-card-footer a{font-size:13px;color:#675c54;white-space:nowrap;text-underline-offset:4px}
.amore-reel-dialog{border:0;border-radius:14px;background:#fff;color:#292929;padding:18px;width:min(540px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-shadow:0 22px 90px #18181866}
.amore-reel-dialog::backdrop{background:rgba(25,25,25,.78);backdrop-filter:blur(4px)}
.reel-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;position:sticky;top:-18px;background:#fff;padding:8px 0;z-index:3}
.reel-dialog-bar h2{font-size:20px!important;margin:0!important;text-align:left!important}
.reel-close{width:44px;height:44px;border:1px solid #dedbd6;border-radius:50%;background:#fff;color:#292929;font-size:29px;cursor:pointer;line-height:1}
.reel-player .instagram-media{margin:0!important;min-width:0!important;max-width:100%!important;width:100%!important;box-shadow:none!important;border:0!important}
@media(max-width:700px){.amore-reels{padding:58px 0}.reels-heading{flex-direction:column;text-align:center;gap:14px;margin-bottom:28px}.amore-reel-grid{grid-template-columns:1fr;gap:32px;max-width:420px;margin:auto}.amore-reel-open{aspect-ratio:9/12}.reel-card-footer h3{font-size:19px}.reel-card-footer a{font-size:14px}.amore-reel-dialog{padding:12px}.reel-dialog-bar{top:-12px}.reel-play svg{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.amore-reel-open>img,.reel-play svg{transition:none}.amore-reel-open:hover>img,.amore-reel-open:hover .reel-play svg{transform:none}}

/* Single-row service cards, subtle glimmer and stronger image fade */
.services.photo-service-section h2{white-space:nowrap;font-size:clamp(24px,3.2vw,46px)!important;text-align:center!important}.photo-service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.photo-service-card,.photo-service-card:nth-child(4),.photo-service-card:last-child{grid-column:auto;min-height:350px}.photo-service-copy{padding:24px 18px}.photo-service-copy h3{font-size:clamp(18px,1.75vw,25px);margin-right:0}.photo-service-copy p{font-size:14px;line-height:1.5}.photo-service-arrow{display:none}.photo-service-card:after{background:linear-gradient(180deg,rgba(28,28,28,.32) 0%,rgba(28,28,28,.2) 32%,rgba(28,28,28,.94) 100%)}.photo-service-card:before{content:"";position:absolute;inset:-20% -80%;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.23) 49%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.12) 53%,transparent 62%);transform:translateX(-70%);opacity:0}.photo-service-card:hover:before,.photo-service-card:focus-visible:before{animation:amore-glimmer .85s ease-out both}@keyframes amore-glimmer{0%{transform:translateX(-70%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(70%);opacity:0}}.photo-service-card.is-coming-soon{cursor:default}.photo-service-card.is-coming-soon h3{color:#fff}
@media(max-width:900px){.photo-service-grid{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 3px 20px;scrollbar-color:#c7c3bd #f4f3f0;scrollbar-width:thin}.photo-service-card,.photo-service-card:nth-child(4),.photo-service-card:last-child{grid-column:auto;min-height:320px;scroll-snap-align:start}.photo-service-copy h3{font-size:23px}.photo-service-copy p{font-size:15px}.services.photo-service-section h2{font-size:clamp(18px,4.3vw,34px)!important}}
@media(prefers-reduced-motion:reduce){.photo-service-card:hover:before,.photo-service-card:focus-visible:before{animation:none}.photo-service-grid{scroll-behavior:auto}}

.services.photo-service-section h2{max-width:none!important;width:100%!important;display:block;margin:0 auto 40px!important;white-space:nowrap!important;text-align:center!important}
/* Local proposal only. Append after site-charcoal.css. No remote write performed.
   The header keeps its current position, dimensions, links, and logo behavior. */
.nav {
  background: #222;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  border-bottom: 1px solid rgb(255 255 255 / 8%);
}

/* Optional second isolation step, if a hero still shimmers after header fix.
   Prefer removing data-parallax from the hero img in native markup too, so
   GSAP does not continue writing an overridden transform every scroll frame.
   Do NOT add translateZ(0) or another permanent will-change promotion.
.hero > .hero-photo {
  transform: none !important;
  will-change: auto;
}
*/
/* LOCAL PROPOSAL. Append after current site CSS, including charcoal layer.
   Uses existing observed live assets. Preserves the useful page content.
   This is the smallest patch; native sticky alternative is documented in README. */

/* Upgrade existing service scope band, not a new generic marketing section.
   The image is Amore's actual roof-exit vent work, not a stock crew. */
#the-cleaning.service-depth.scope-editorial {
  background-color: #222;
  background-image:
    linear-gradient(90deg, rgb(20 20 20 / 91%), rgb(20 20 20 / 79%)),
    url("https://media.zemi-cdn.com/12/illustrative-dryer-vent-detail-7be22d734bea.webp");
  background-position: center, center 45%;
  background-size: cover;
  background-repeat: no-repeat;
}

/* This existing image is explicitly an illustration, not evidence of a client job.
   Keep the hero's honest alt; here it is decorative behind useful seasonal advice. */
#seasonal-gutters.service-depth.seasonal-strip {
  background-color: #222;
  background-image:
    linear-gradient(90deg, rgb(20 20 20 / 88%), rgb(20 20 20 / 79%)),
    url("https://media.zemi-cdn.com/12/gutter-leaves-context-3ad7104c92fb.webp");
  background-position: center, center 60%;
  background-size: cover;
  background-repeat: no-repeat;
}

.community-planning {
  position: relative;
  isolation: isolate;
  color: #fff;
  background-color: #222;
  background-image:
    linear-gradient(90deg, rgb(20 20 20 / 95%) 0%, rgb(20 20 20 / 87%) 54%, rgb(20 20 20 / 25%) 100%),
    url("https://media.zemi-cdn.com/12/illustrative-townhome-community-b4e1ade55493.webp");
  background-position: center, 70% 48%;
  background-size: cover;
  background-repeat: no-repeat;
}
.community-planning .community-planning-copy { max-width: 650px; }
.community-planning h2 { max-width: 20ch; }
.community-planning dl { margin: 32px 0 0; }
.community-planning dl > div { padding: 18px 0; border-top: 1px solid rgb(255 255 255 / 25%); }
.community-planning dt { color: #f4b183; font-size: 21px; line-height: 1.3; font-weight: 600; }
.community-planning dd { margin: 9px 0 0; color: #f3efea; max-width: 52ch; font-size: 17px; }
.community-planning .textlink { display: inline-block; margin-top: 28px; }

/* Keep the image viewport-fixed only where this interaction is suitable.
   Gradients remain attached to their sections. Never transform these sections
   or their ancestors: a transformed ancestor changes fixed-background behavior. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .fire::before,
  #the-cleaning.service-depth.scope-editorial,
  #seasonal-gutters.service-depth.seasonal-strip,
  .community-planning { background-attachment: scroll, fixed; }
}
@media (max-width: 900px), (prefers-reduced-motion: reduce) {
  .fire::before,
  #the-cleaning.service-depth.scope-editorial,
  #seasonal-gutters.service-depth.seasonal-strip,
  .community-planning { background-attachment: scroll; }
  .community-planning {
    background-image:
      linear-gradient(90deg, rgb(20 20 20 / 91%), rgb(20 20 20 / 82%)),
      url("https://media.zemi-cdn.com/12/illustrative-townhome-community-b4e1ade55493.webp");
    background-position: center, 60% center;
  }
}
/* Honor the existing homepage motion toggle as well as the OS preference. */
.fire:has(.motion-toggle[aria-pressed="true"])::before {
  background-attachment: scroll;
}

/* Amore footer — genuine brand assets, useful links, and legible contact details. */
.footer.amore-footer {
  background: #292929;
  color: #f5f3ee;
  padding: 0;
  border-top: 1px solid #ffffff2b;
}
.amore-footer .footer-main.wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);
  align-items: center;
  gap: 56px;
  border: 0;
  padding-top: 64px;
  padding-bottom: 64px;
  font-size: 17px;
}
.amore-footer h2 {font-size: 21px; line-height: 1.3; letter-spacing: -.02em; margin: 0 0 18px; font-weight: 700;}
.amore-footer p {max-width: none;}
.amore-footer a {text-decoration: none;}
.amore-footer a:not(.button):hover {color: #f2ac78;}
.amore-footer a:focus-visible {outline: 3px solid #f2ac78; outline-offset: 5px; box-shadow: none;}
.amore-footer .footer-service-list {display: grid; gap: 0; margin: 0; padding: 0; list-style: none;}
.amore-footer .footer-service-list a {display: inline-flex; align-items: center; min-height: 42px; padding: 5px 0; line-height: 1.4; color: #e7e3dc;}
.amore-footer .footer-brand {text-align: center; align-self: center;}
.amore-footer .footer-brand-home {display: inline-flex; flex-direction: column; align-items: center; gap: 17px;}
.amore-footer .footer-brand img {width: 150px; height: 150px; object-fit: contain; margin: 0;}
.amore-footer .footer-brand-name {font-size: 25px; font-weight: 700; line-height: 1.2; letter-spacing: -.025em;}
.amore-footer .footer-service-area {margin: 16px auto 0; max-width: 27ch; color: #d2cec7; font-size: 16px; line-height: 1.55;}
.amore-footer .footer-company-links {display: flex; flex-wrap: wrap; justify-content: center; gap: 7px 20px; margin-top: 14px; font-size: 15px;}
.amore-footer .footer-company-links a {padding: 8px 0; text-decoration: underline; text-decoration-color: #ffffff55; text-underline-offset: 5px;}
.amore-footer .footer-contact {justify-self: end;}
.amore-footer .footer-phone {display: inline-block; font-size: clamp(23px,2vw,28px); font-weight: 700; letter-spacing: -.025em; line-height: 1.3; padding: 4px 0 12px; white-space: nowrap;}
.amore-footer .footer-contact .button {display: flex; width: fit-content; margin-top: 8px; min-height: 52px; padding: 12px 24px; background: #dc783e; color: #222222; font-size: 16px;}
.amore-footer .footer-contact .button:hover {background: #ee955e;}
.amore-footer .footer-social {display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 20px; font-size: 16px;}
.amore-footer .footer-social svg {flex: 0 0 auto; width: 23px; height: 23px;}
.amore-footer .footer-bottom {background: #242424;}
.amore-footer .footer-legal.wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 24px;
  border: 0;
  padding-top: 23px;
  padding-bottom: 23px;
  margin-top: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #d2cec7;
}
.amore-footer .footer-privacy {justify-self: start; padding: 10px 0;}
.amore-footer .footer-copyright {justify-self: center; text-align: center; margin: 0; font-size: 14px;}
.amore-footer .footer-credit {display: inline-flex; align-items: center; justify-self: end; gap: 12px; white-space: nowrap; min-height: 44px; font-size: 13px;}
.amore-footer .footer-credit img {display: block; width: 154px; height: auto; max-width: none; object-fit: contain;}
@media (max-width: 1000px) {
  .amore-footer .footer-main.wrap {gap: 28px; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);}
  .amore-footer .footer-brand-name {font-size: 23px;}
  .amore-footer .footer-contact .button {padding-left: 18px; padding-right: 18px;}
  .amore-footer .footer-legal.wrap {column-gap: 16px;}
  .amore-footer .footer-credit {gap: 8px;}
  .amore-footer .footer-credit img {width: 132px;}
}
@media (max-width: 760px) {
  .amore-footer .footer-main.wrap {grid-template-columns: 1fr 1fr; gap: 38px 28px; align-items: start; padding-top: 46px; padding-bottom: 44px;}
  .amore-footer .footer-brand {grid-column: 1 / -1; grid-row: 1;}
  .amore-footer .footer-brand-home {gap: 12px;}
  .amore-footer .footer-brand img {width: 132px; height: 132px;}
  .amore-footer .footer-service-area {max-width: none; margin-top: 13px;}
  .amore-footer .footer-company-links {margin-top: 9px;}
  .amore-footer h2 {font-size: 20px; margin-bottom: 12px;}
  .amore-footer .footer-main.wrap {font-size: 16px;}
  .amore-footer .footer-phone {font-size: 22px;}
  .amore-footer .footer-contact {justify-self: start;}
  .amore-footer .footer-contact .button {font-size: 15px; padding: 10px 18px;}
  .amore-footer .footer-social {margin-top: 14px;}
  .amore-footer .footer-legal.wrap {grid-template-columns: 1fr auto; gap: 8px 18px; padding-top: 19px; padding-bottom: 25px;}
  .amore-footer .footer-credit {grid-column: 2; grid-row: 1;}
  .amore-footer .footer-credit img {width: 134px;}
  .amore-footer .footer-copyright {grid-column: 1 / -1; grid-row: 2;}
}
@media (max-width: 480px) {
  .amore-footer .footer-main.wrap {grid-template-columns: 1fr; gap: 30px;}
  .amore-footer .footer-services {border-top: 1px solid #ffffff26; padding-top: 27px;}
  .amore-footer .footer-service-list {grid-template-columns: 1fr 1fr; gap: 0 24px;}
  .amore-footer .footer-contact {width: 100%; border-top: 1px solid #ffffff26; padding-top: 27px;}
  .amore-footer .footer-contact h2 {margin-bottom: 6px;}
  .amore-footer .footer-contact .button {display: inline-flex; margin-left: 0; margin-top: 8px;}
  .amore-footer .footer-social {display: flex; width: fit-content; margin-top: 14px;}
  .amore-footer .footer-phone {font-size: 25px; display: block;}
  .amore-footer .footer-credit {gap: 7px; font-size: 12px;}
  .amore-footer .footer-credit img {width: 125px;}
  .amore-footer .footer-legal.wrap {gap: 8px 12px; padding-bottom: 91px;}
}
/* Match the existing fixed Call Amore control's actual breakpoint. */
@media (min-width: 481px) and (max-width: 700px) {
  .amore-footer .footer-legal.wrap {padding-bottom: 91px;}
}
/* Center page navigation independently of the right-side contact actions */
@media(min-width:1101px){.nav>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}.nav>.wrap>a{justify-self:start}.nav .navlinks{display:contents}.nav-center-links{grid-column:2;display:flex;gap:22px;align-items:center;justify-content:center;white-space:nowrap}.nav-contact-actions{grid-column:3;display:flex;gap:20px;align-items:center;justify-content:flex-end;white-space:nowrap}.nav .menu-toggle{display:none}.nav .navlinks .phone{display:block}}
@media(max-width:1100px){.nav>.wrap{display:flex;justify-content:space-between}.nav .menu-toggle{display:block}.nav .navlinks{display:none;position:absolute;top:100%;left:20px;right:20px;background:#292929;padding:22px;border-radius:0 0 12px 12px;max-height:calc(100dvh - 110px);overflow:auto}.nav .navlinks.is-open{display:flex;flex-direction:column;align-items:stretch}.nav-center-links,.nav-contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.nav-contact-actions{border-top:1px solid #ffffff26;padding-top:16px;margin-top:16px}.nav .navlinks .phone{display:block}.navlinks a{display:block;text-align:center}.navlinks .nav-cta{margin:auto;width:max-content}}
/* Warm brown review backdrop keeps the actual Google cards white */
.reviews{background:#55473f;color:#fff}.reviews h2{color:#fff}.reviews .review-slide{background:#fff;color:#292929}.reviews .review-prev,.reviews .review-next,.reviews .review-pause,.reviews .review-count{color:#fff}.reviews .review-controls button{color:#fff}.reviews .review-controls .control-icon{color:#fff}.reviews .review-controls .pause-icon:before,.reviews .review-controls .pause-icon:after{background:currentColor}.reviews .review-controls button:focus-visible{outline-color:#ffb983}
/* Precise image/card treatments */
.photo-service-icon{stroke:currentColor;color:#ffb983;stroke-width:2;filter:none;width:32px;height:32px;padding:10px;box-sizing:content-box;background:rgba(35,35,35,.66);border-radius:12px;top:16px;left:16px}
.fire .fire-copy h2{max-width:none;font-size:clamp(27px,3vw,40px);line-height:1.16}.fire .fire-copy{min-width:0}.contact::before{border-radius:inherit}
/* Mobile calls to action centered; readable text and form labels stay left aligned */
@media(max-width:700px){.actions{justify-content:center!important}.hero .actions{align-items:center}.contact .wrap{text-align:center}.contact .button{margin-inline:auto}.service-depth .actions,.fire .actions,.fire-safety-page .actions{justify-content:center}.fire .protect-button,.referral-copy>.button,.hoa-teaser .button,.community-planning .textlink{display:table;margin-left:auto;margin-right:auto}.referral-copy,.hoa-teaser{text-align:center}.service-depth.contact-band .actions{display:flex;align-items:center}.form-shell button[type=submit],.form-card button[type=submit],.fire-request-layout button[type=submit]{display:block;margin-left:auto;margin-right:auto}.footer-contact .button{margin-inline:auto}.fire .fire-copy h2{font-size:clamp(24px,6.1vw,29px);width:100%}}

/* Matching curved transitions and centered mobile action targets */
.hero:has(+.community-planning) .curve{fill:#222}.community-planning{background-image:linear-gradient(180deg,#222 0px,rgba(34,34,34,.66) 120px),linear-gradient(90deg,rgba(25,25,25,.68),rgba(25,25,25,.15)),url("https://media.zemi-cdn.com/12/illustrative-townhome-community-b4e1ade55493.webp");background-position:center;background-size:cover}.contact::before{border-radius:inherit!important}.contact{isolation:isolate}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.community-planning{background-attachment:scroll,scroll,fixed}}
@media(max-width:700px){.hero .hero-content>.button,.hoa-teaser .button,.contact>.wrap>.button,.referral-copy>.button,.amore-footer .footer-contact .button{display:flex!important;width:fit-content!important;margin-left:auto!important;margin-right:auto!important;justify-content:center}.request-form button[type="submit"]{display:flex;width:fit-content;margin-left:auto;margin-right:auto;justify-content:center}.community-planning h2{max-width:none}.community-planning .textlink{display:table;margin-inline:auto}}
/* OPTIONAL local proposal: preserve rounded prefooter while matching its surround.
   Parent is integrating new review color #55473f. Apply only if keeping .contact.
   Do not unhide .contact on service detail/form pages. */
.contact {
  --prefooter-surround: #f5f3ee;
  background: none;
}
.contact::before {
  /* Original decorative wash + original charcoal gradient, now both clipped. */
  background:
    radial-gradient(ellipse at 10% 0, #74706a45, transparent 65%),
    linear-gradient(130deg, #2d2d2d, #262626);
  border-radius: inherit;
  z-index: -1;
}
.contact::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--prefooter-surround);
  z-index: -2;
  pointer-events: none;
}
#main-content:has(> .tone:last-child) + .contact {
  --prefooter-surround: #eeece7;
}
#main-content:has(> .reviews:last-child) + .contact {
  --prefooter-surround: #55473f;
}

@media(max-width:700px){.fire h2{font-size:26px!important;max-width:none!important;line-height:1.16}.photo-service-section h2{max-width:none!important}}

/* Honor the single deliberate fire-heading break at every width */
.fire h2{white-space:nowrap!important;max-width:none!important;font-size:clamp(24px,2.75vw,40px)!important;line-height:1.16!important}
@media(max-width:700px){.fire h2{font-size:clamp(23px,6.1vw,27px)!important}}

/* Center FAQ presentation and maintain contrast on dark review backgrounds */
.section:has(.faq) h2,.compact-faq h2{text-align:center!important;max-width:none;margin-left:auto;margin-right:auto}.faq{margin-left:auto;margin-right:auto;max-width:900px}.faq summary,.compact-faq summary{text-align:center;list-style:none;position:relative;padding:22px 42px}.faq summary::-webkit-details-marker,.compact-faq summary::-webkit-details-marker{display:none}.faq summary::marker,.compact-faq summary::marker{content:""}.faq summary:after,.compact-faq summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400}.faq details[open] summary:after,.compact-faq details[open] summary:after{content:"−"}.faq details p,.compact-faq details p{text-align:center;max-width:65ch;margin:0 auto 24px}.reviews .review-controls .chevron{color:#fff;border-color:#fff}.reviews .review-controls .review-position{color:#e7e3dc}.amore-footer .footer-legal.wrap{padding-bottom:38px}

.section:has(.faq) h2,.compact-faq h2{width:100%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}

/* Fire Safety visual refinement. Append after current site CSS.
   Scoped educational content only: no header, hero, footer, button, or form rules.
   Palette: charcoal, brown, orange, white. No motion or script dependency. */
.fire-visual-content{--fv-ink:#292929;--fv-white:#fff;--fv-orange:#dc783e;--fv-brown:#675348;--fv-line:#d1c5bd;background:var(--fv-white);color:var(--fv-ink)}
.fire-visual-content *{box-sizing:border-box}
.fire-visual-content h2{font-size:clamp(32px,3.7vw,52px);line-height:1.07;letter-spacing:-.04em;margin:0 0 25px;max-width:16ch;color:inherit}
.fire-visual-content h3{font-size:clamp(23px,2.3vw,30px);line-height:1.15;letter-spacing:-.025em;margin:0;color:inherit}
.fire-visual-content p{font-size:17px;line-height:1.65;margin:0;max-width:60ch;color:inherit}
.fire-visual-content p+p{margin-top:18px}
.fire-visual-content img{display:block;width:100%;height:100%;object-fit:cover}
.fire-visual-content a{text-underline-offset:4px;text-decoration-thickness:1px}
.fire-visual-content a:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.fire-visual-content .fv-sources{font-size:13px;line-height:1.6;margin-top:18px;color:var(--fv-brown)}
.fire-visual-content .fv-sources a{display:inline-block;padding:4px 0}
.fire-visual-content .fv-story{padding:90px 0}
.fire-visual-content .fv-story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,6vw,88px);align-items:center}
.fire-visual-content .fv-story-photo{position:relative;min-width:0;aspect-ratio:1.07;overflow:hidden;background:#675348}
.fire-visual-content .fv-story-photo img{position:absolute;inset:0;object-position:65% 50%}
.fire-visual-content .fv-fact{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;padding-top:24px;margin-top:28px;border-top:2px solid var(--fv-orange)}
.fire-visual-content .fv-fact>strong{font-size:clamp(52px,5.7vw,80px);line-height:1;letter-spacing:-.065em;font-weight:700;color:var(--fv-brown)}
.fire-visual-content .fv-fact p{font-size:15px;line-height:1.55;margin:0;max-width:33ch}
.fire-visual-content .fv-warning{position:relative;isolation:isolate;overflow:hidden;background:#292929;color:#fff;padding:78px 0}
.fire-visual-content .fv-warning-photo{position:absolute;z-index:-2;inset:0;object-position:center 54%;opacity:1}
.fire-visual-content .fv-warning::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(35,30,27,.88),rgba(35,30,27,.74))}
.fire-visual-content .fv-warning-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,100px);align-items:start}
.fire-visual-content .fv-warning h2{max-width:13ch}
.fire-visual-content .fv-warning-title>p{max-width:29ch;font-size:19px;color:#fff}
.fire-visual-content .fv-signs{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;list-style:none;padding:0;margin:0 0 24px}
.fire-visual-content .fv-signs li{font-size:19px;font-weight:600;line-height:1.4;padding:16px 0 17px;border-top:1px solid rgba(255,255,255,.4)}
.fire-visual-content .fv-warning-content>p{font-size:16px;max-width:62ch}
.fire-visual-content .fv-warning .fv-sources{color:#fff;font-size:13px;margin-top:14px}
.fire-visual-content .fv-care{padding:90px 0 76px;background:#fff}
.fire-visual-content .fv-care-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;gap:clamp(40px,6vw,88px)}
.fire-visual-content .fv-care-copy{padding:14px 0}
.fire-visual-content .fv-care h2{max-width:15ch}
.fire-visual-content .fv-care-photo{position:relative;min-width:0;overflow:hidden;min-height:480px;max-height:620px;background:#675348}
.fire-visual-content .fv-care-photo img{position:absolute;inset:0;object-position:50% 50%}
.fire-visual-content .fv-care-list{list-style:none;padding:0;margin:0}
.fire-visual-content .fv-care-list li{position:relative;padding:0 0 18px 22px;font-size:17px;line-height:1.6;max-width:54ch}
.fire-visual-content .fv-care-list li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--fv-orange)}
.fire-visual-content .fv-maintenance{padding-top:20px;border-top:1px solid var(--fv-line);margin-top:6px;font-size:17px}
.fire-visual-content .fv-maintenance strong{display:block;font-size:19px;line-height:1.3;margin-bottom:9px}
.fire-visual-content .fv-emergency{display:grid;grid-template-columns:.75fr 1.5fr;gap:38px;margin-top:48px;padding:30px 0 0;border-top:3px solid var(--fv-orange)}
.fire-visual-content .fv-emergency h3{max-width:17ch;color:var(--fv-brown)}
.fire-visual-content .fv-emergency p{font-size:15px;max-width:77ch}
.fire-visual-content .fv-emergency .fv-sources{font-size:12px;margin-top:8px}
@media(max-width:1000px){
 .fire-visual-content .fv-story-grid{gap:36px;grid-template-columns:1fr 1fr}
 .fire-visual-content .fv-story-photo{aspect-ratio:auto;min-height:430px;align-self:stretch}
 .fire-visual-content .fv-warning-inner{grid-template-columns:.8fr 1.2fr;gap:40px}
 .fire-visual-content .fv-fact{gap:15px}
 .fire-visual-content .fv-fact>strong{font-size:64px}
 .fire-visual-content .fv-care-grid{gap:40px}
 .fire-visual-content .fv-care-photo{min-height:500px}
}
@media(max-width:760px){
 .fire-visual-content h2{font-size:clamp(31px,7.8vw,42px);max-width:18ch;text-align:center;margin-left:auto;margin-right:auto;margin-bottom:23px}
 .fire-visual-content p{font-size:16px}
 .fire-visual-content .fv-story{padding:46px 0 52px}
 .fire-visual-content .fv-story-grid{grid-template-columns:1fr;gap:30px}
 .fire-visual-content .fv-story-photo{aspect-ratio:4/3;min-height:0;max-height:430px}
 .fire-visual-content .fv-story-copy>p{max-width:none}
 .fire-visual-content .fv-fact{gap:21px;margin-top:24px;padding-top:23px}
 .fire-visual-content .fv-fact>strong{font-size:68px}
 .fire-visual-content .fv-fact p{font-size:14px;max-width:40ch}
 .fire-visual-content .fv-sources{font-size:12px;margin-top:13px}
 .fire-visual-content .fv-warning{padding:49px 0 42px}
 .fire-visual-content .fv-warning-inner{grid-template-columns:1fr;gap:28px}
 .fire-visual-content .fv-warning h2{max-width:18ch;margin-bottom:18px}
 .fire-visual-content .fv-warning-title>p{font-size:17px;max-width:34ch;margin:auto;text-align:center}
 .fire-visual-content .fv-signs{gap:0 22px;margin-bottom:20px}
 .fire-visual-content .fv-signs li{font-size:17px;padding-top:14px;padding-bottom:15px}
 .fire-visual-content .fv-warning-content>p{font-size:15px}
 .fire-visual-content .fv-care{padding:50px 0 48px}
 .fire-visual-content .fv-care-grid{grid-template-columns:1fr;gap:27px}
 .fire-visual-content .fv-care-copy{padding:0}
 .fire-visual-content .fv-care-list li,.fire-visual-content .fv-maintenance{font-size:16px}
 .fire-visual-content .fv-care-list li{padding-bottom:15px}
 .fire-visual-content .fv-care-photo{min-height:0;height:360px;max-height:none;order:2}
 .fire-visual-content .fv-care-photo img{position:absolute;inset:0;object-position:50% 50%}
 .fire-visual-content .fv-emergency{grid-template-columns:1fr;gap:15px;margin-top:30px;padding-top:23px}
 .fire-visual-content .fv-emergency h3{font-size:24px;max-width:none}
 .fire-visual-content .fv-emergency p{font-size:14px}
}
@media(max-width:380px){
 .fire-visual-content .fv-signs{grid-template-columns:1fr;gap:0}
 .fire-visual-content .fv-fact{gap:15px}
 .fire-visual-content .fv-fact>strong{font-size:58px}
 .fire-visual-content .fv-care-photo{height:310px}
}

/* A distinct fresh gutter scene, not the service-card image */
#seasonal-gutters.service-depth.seasonal-strip{background-image:linear-gradient(90deg,rgba(25,25,25,.88),rgba(25,25,25,.69)),url("https://media.zemi-cdn.com/12/illustrative-gutter-maintenance-wide-b35992f7bed6.webp");background-position:center,center 45%}
@media(max-width:700px){.amore-footer .footer-contact{width:100%;justify-self:center;text-align:center}.amore-footer .footer-contact h2,.amore-footer .footer-services h2{text-align:center}.amore-footer .footer-service-list{text-align:center}.amore-footer .footer-social{justify-content:center}}

/* Amore: thin menu separators + small, CSS-led rolling labels.
   Append after the current site CSS. Requires rolling-hover.js for label motion.
   Original source nodes size every label; only generated decoration transforms. */
:root { --amore-roll-ready: 1; }

/* Exact current desktop breakpoint and 22px menu gap. Four rules for five links.
   Rules are absolute, so neither the nav width nor link positions change. */
@media (min-width: 1101px) {
  .nav-center-links { --amore-nav-gap: 22px; gap: var(--amore-nav-gap); }
  .nav-center-links > a { position: relative; display: inline-flex; align-items: center; min-height: 44px; }
  .nav-center-links > a + a::before {
    content: "";
    position: absolute;
    inset-inline-start: calc(var(--amore-nav-gap) / -2 - .5px);
    top: 50%;
    width: 1px;
    height: 14px;
    background: #dc783e;
    transform: translateY(-50%);
    pointer-events: none;
  }
}

/* These are action labels, not prose links or native form/media controls. */
.nav-center-links > a,
a.nav-cta,
a.button,
a.textlink,
.footer-company-links a { min-height: 44px; }
a.textlink,
.footer-company-links a { display: inline-flex; align-items: center; }

/* Default/touch/reduced-motion: show the unchanged original label only. */
.amore-roll-window { display: inline-block; position: relative; max-width: 100%; vertical-align: bottom; }
.amore-roll-source { opacity: 1; }
.amore-roll-visual { display: none; }

/* A fine pointer avoids sticky touch hovers. Focus follows the same small motion,
   but the site's existing outline remains untouched and outside the clip. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .amore-roll-source { opacity: 0; }
  .amore-roll-visual {
    display: block;
    position: absolute;
    inset: 0;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
  }
  .amore-roll-word { display: inline-block; overflow: hidden; vertical-align: bottom; }
  .amore-roll-track {
    display: block;
    position: relative;
    transform: translateY(0);
    transition: transform 380ms cubic-bezier(.22,.7,.28,1);
    transition-delay: 0ms;
  }
  .amore-roll-next { position: absolute; inset-inline-start: 0; top: 100%; white-space: nowrap; }
  .amore-roll-target:is(:hover, :focus-visible) .amore-roll-track {
    transform: translateY(-100%);
    transition-delay: var(--amore-roll-delay, 0ms);
  }
}

/* Also honor the site's explicit motion-paused class without affecting labels. */
.no-motion .amore-roll-source { opacity: 1; }
.no-motion .amore-roll-visual { display: none; }

/* Rolling decoration must never create extra text lines */
.amore-roll-visual,.amore-roll-word,.amore-roll-track{white-space:nowrap}
@media(max-width:700px){.amore-roll-window,.amore-roll-source{display:contents;opacity:1!important}.amore-roll-visual{display:none!important}}

/* HOA order: hero, enquiry form, image-backed planning section */
.hero:has(+#community-enquiry) .curve{fill:#eeece7!important}.community-planning{margin-top:0;clear:both}

/* Final responsive polish: keep the instructional gutter graphic neutral. */
img[src*="gutter-water-route-"]{filter:grayscale(1)}

/* Align paired controls even when a longer label occupies two lines. */
.request-form .field-grid{align-items:end}

/* Give the privacy sections clear breathing room at every screen size. */
.legal-article>section{margin-top:2rem}.legal-article>section>h2{margin-top:0;margin-bottom:.8rem}

/* Review photo: fixed background and contrast overlay. */
.reviews[data-z="xdp1"] { position: relative; isolation: isolate; background-image: url("https://media.zemi-cdn.com/12/illustrative-townhome-community-b4e1ade55493.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; background-attachment: fixed; }
.reviews[data-z="xdp1"]::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(25,22,20,.64) 0%, rgba(25,22,20,.40) 55%, rgba(25,22,20,.32) 100%); }
