/* Arnold Roof Services — premium editorial website */
:root{--dark:#161618;--night:#101113;--red:#991a22;--red-bright:#b1232a;--ink:#181719;--cream:#f5f1ea;--white:#fff;--muted:#65636a;--line:#ddd9d2;--max:1390px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 128px));margin:auto}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.065em;line-height:1.02}h2{font-weight:900}h2 em,h1 em{font-style:normal;color:var(--red)}.site-header{height:99px;width:100%;position:absolute;top:34px;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 max(64px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(255,255,255,.17)}.brand img{width:208px;height:83px;object-fit:contain}.nav{display:flex;align-items:center;gap:34px;color:white;font-size:13px;font-weight:700}.nav a:not(.nav-cta){transition:color .2s}.nav a:hover{color:#edb4b5}.nav-cta{background:var(--red);color:#fff;padding:15px 20px;border-radius:2px}.nav-cta span{padding-left:20px}.menu-toggle{display:none}.hero{min-height:750px;height:min(860px,92vh);background:var(--night);position:relative;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:url('assets/hero.webp');background-repeat:no-repeat;background-size:cover;background-position:center 45%;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,12,.97) 0%,rgba(9,10,12,.88) 24%,rgba(9,10,12,.61) 48%,rgba(9,10,12,.1) 78%),linear-gradient(0deg,rgba(4,4,5,.45),transparent 28%)}.hero-inner{position:relative;z-index:1;display:flex;align-items:center;height:100%;padding-top:76px}.hero-content{max-width:860px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--red);font-weight:900;display:flex;align-items:center;gap:13px;margin-bottom:33px}.eyebrow>span{width:38px;height:2px;background:currentColor;flex-shrink:0}.eyebrow.light{color:#e5b2b4}.hero h1{font-size:clamp(58px,6.6vw,107px);margin-bottom:26px;font-weight:900}.hero h1 em{color:#f0eded}.hero p{font-size:19px;line-height:1.78;max-width:675px;color:#eeeae8;margin-bottom:36px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.btn{min-height:57px;display:inline-flex;gap:40px;align-items:center;justify-content:space-between;padding:15px 24px;font-size:14px;font-weight:800;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red-bright);color:#fff}.btn-glass{background:rgba(15,15,16,.35);border:1px solid #fff;color:#fff}.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:1;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;padding:19px max(64px,calc((100vw - var(--max))/2));font-size:10px;font-weight:900;letter-spacing:.16em;color:#eee}.numbers{background:#fff;border-bottom:1px solid #eee}.numbers-inner{display:grid;grid-template-columns:repeat(3,1fr)}.numbers-inner>div{display:flex;align-items:center;gap:18px;padding:35px 30px 35px 0;border-right:1px solid #eee}.numbers-inner>div:nth-child(n+2){padding-left:45px}.numbers-inner>div:last-child{border:0}.numbers b{font-size:55px;letter-spacing:-.08em;line-height:1;color:var(--red)}.numbers span{font-size:11px;font-weight:900;line-height:1.55;letter-spacing:.13em}.section{padding:127px 0}.section-ivory{background:var(--cream)}.section-light{background:#fff}.section-dark{background:var(--night);color:#fff}.section-red{background:#80151d;color:#fff}.split-grid{display:grid;grid-template-columns:54% 46%;gap:0}.statement{padding-right:80px}.statement h2{font-size:clamp(55px,5.3vw,90px);margin-bottom:0}.explain{padding:59px 2% 0 12%;border-left:1px solid var(--line)}.explain p,.heritage-copy>p{font-size:16px;line-height:1.9;color:#64616a}.explain p.lead,.heritage-copy p.lead{font-size:22px;font-weight:700;line-height:1.5;color:var(--ink);margin-bottom:24px}.text-link{display:inline-flex;gap:60px;border-bottom:2px solid var(--red);padding:0 0 10px;font-weight:800;font-size:14px;margin-top:23px}.text-link span{color:var(--red)}.section-dark .statement h2 em{color:#c73a40}.section-dark .explain{border-left-color:#333439}.statement-note{margin-top:25px;font-size:16px;line-height:1.75;color:#b8b5b7;max-width:410px}.steps{padding-left:10%;border-left:1px solid #333439}.step{display:grid;grid-template-columns:51px 1fr;gap:25px;padding:23px 0 27px;border-bottom:1px solid #3d3d42}.step:first-child{padding-top:0}.step:last-child{border-bottom:0;padding-bottom:0}.step>span{color:#e9b5b8;border:1px solid #853239;border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.step h3{font-size:23px;letter-spacing:-.04em;margin:3px 0 10px}.step p{color:#c7c5c6;line-height:1.75;font-size:14px;margin:0}.services-intro,.work-intro,.reviews-intro{margin-bottom:56px}.services-intro .explain,.work-intro .explain,.reviews-intro .explain{padding-top:30px}.service-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:15px}.service{height:340px;display:block;position:relative;overflow:hidden;background:#777}.service-large{height:340px}.service img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service:hover img{transform:scale(1.04)}.service-overlay{position:absolute;inset:0;padding:23px;background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,transparent 68%);display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.service-overlay span{font-size:10px;letter-spacing:.16em;font-weight:800;color:#e8c0c0}.service-overlay h3{font-size:27px;letter-spacing:-.04em;line-height:1.14;margin:12px 0 0}.service-overlay b{position:absolute;right:23px;bottom:26px;font-weight:400;font-size:27px}.service-more{margin-top:25px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-more a{display:flex;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #c9c5c1;font-size:13px;font-weight:800}.service-more span{color:var(--red)}.section-red .eyebrow{color:#f9c5c7}.section-red .eyebrow span{background:#f9c5c7}.section-red h2 em{color:#f6ddd9}.section-red .explain{border-left:1px solid rgba(255,255,255,.3)}.section-red .explain p,.section-red .explain .lead{color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery figure{margin:0}.gallery img{height:245px;width:100%;object-fit:cover}.gallery figcaption{display:flex;flex-direction:column;padding-top:12px;gap:4px}.gallery figcaption strong{font-size:13px}.gallery figcaption span{font-size:12px;color:#757173}.local-areas{font-size:11px;font-weight:900;line-height:2;letter-spacing:.1em;margin-top:29px}.local-areas b{color:var(--red);margin:0 9px}.section-dark .explain p{color:#c3bfc1}.section-dark .explain p.lead{color:white}.review-warning{border-left:3px solid #bc8c8e;padding-left:13px;font-size:12px!important;color:#efc3c3!important}.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-card{border:1px solid #39393e;padding:27px;display:flex;flex-direction:column;min-height:252px;background:#19191c}.sample-tag{font-size:9px;font-weight:900;letter-spacing:.07em;color:#dfa8aa}.review-card p{margin:20px 0 auto;line-height:1.72;font-size:14px;color:#f4f0f1}.review-card footer{font-size:13px;font-weight:800;padding-top:20px;margin-top:19px;border-top:1px solid #39393e}.review-card footer span{color:#98949a;font-size:11px;font-weight:500}.platforms{margin-top:34px;border-top:1px solid #39393e;padding-top:29px;display:flex;align-items:center;justify-content:space-between;gap:30px}.platforms>div:first-child{max-width:450px}.platforms span{font-size:12px;font-weight:800}.platforms p{color:#aeadb0;font-size:12px;margin:7px 0 0;line-height:1.6}.platform-logos{display:flex;align-items:center;gap:12px}.platform-logos img{width:145px;height:55px;object-fit:contain;background:white;padding:7px}.heritage-layout{display:grid;grid-template-columns:47% 53%;gap:0}.heritage-photo{position:relative;min-height:520px}.heritage-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.heritage-photo-label{position:absolute;left:0;bottom:0;background:var(--red);color:white;font-size:10px;font-weight:900;letter-spacing:.15em;padding:21px 26px}.heritage-copy{padding:50px 0 45px 13%}.heritage-copy h2{font-size:clamp(48px,4.8vw,77px);margin-bottom:30px}.contact-section{background:#151517;color:white}.contact-layout>.statement h2{font-size:clamp(58px,5.2vw,89px)}.contact-layout>.statement h2 em{color:#d7535a}.contact-layout>.statement>p{line-height:1.8;color:#cfcacc;font-size:17px;margin:30px 0 35px;max-width:450px}.contact-phone{font-size:clamp(29px,3vw,46px);font-weight:900;letter-spacing:-.05em;display:inline-flex;align-items:center;gap:30px;border-bottom:2px solid #c6424b;padding-bottom:10px}.contact-phone span{color:#cf444d;font-size:26px}.contact-address{font-size:12px;color:#bdb5ba;letter-spacing:.08em;margin-top:24px;text-transform:uppercase}.contact-form{border:1px solid #4c484c;padding:32px;min-height:460px}.contact-form h3{font-size:24px;letter-spacing:-.04em}.contact-form>p{font-size:14px;color:#c9c4c7}.site-footer{background:#101012;color:#fff}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding-top:70px;padding-bottom:64px}.footer-main img{width:200px;height:auto}.footer-main p{max-width:290px;font-size:13px;color:#b9b7b8;line-height:1.8}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:12px;font-size:13px;color:#cdcacd}.footer-main strong{margin-bottom:15px;color:white}.footer-bottom{border-top:1px solid #363437;padding-top:25px;padding-bottom:30px;display:flex;justify-content:space-between;font-size:11px;color:#b5b2b4}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.site-header{padding:0 36px}.hero-bottom{padding-left:36px;padding-right:36px}.nav{gap:17px}.split-grid{grid-template-columns:52% 48%}.statement{padding-right:35px}.explain{padding-left:7%}.statement h2{font-size:clamp(48px,6vw,75px)}.numbers-inner>div:nth-child(n+2){padding-left:24px}.service-more{grid-template-columns:repeat(2,1fr)}.review-list{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:260px}}
@media(max-width:740px){html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.site-header{position:absolute;top:29px;padding:0 20px;height:78px}.brand img{width:154px;height:65px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:10px;z-index:2}.menu-toggle i{height:2px;width:27px;background:#fff}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#151517;border-top:1px solid #454345;flex-direction:column;align-items:stretch;padding:18px 25px 25px;gap:0}.nav.is-open{display:flex}.nav a{padding:13px 6px}.nav .nav-cta{margin-top:11px;padding:14px}.hero{height:auto;min-height:720px}.hero-photo{background-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(7,8,10,.96) 0%,rgba(7,8,10,.78) 55%,rgba(7,8,10,.35)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 20%)}.hero-inner{padding:185px 0 140px;align-items:flex-start}.hero h1{font-size:clamp(52px,11.8vw,80px);line-height:1.03}.hero p{font-size:16px;line-height:1.75}.eyebrow{font-size:10px;line-height:1.6;margin-bottom:22px}.hero-actions{flex-direction:column;align-items:stretch}.btn{justify-content:space-between}.hero-bottom{padding:16px 20px}.hero-bottom span:nth-child(2){display:none}.numbers-inner{grid-template-columns:repeat(3,1fr)}.numbers-inner>div,.numbers-inner>div:nth-child(n+2){padding:20px 9px;flex-direction:column;gap:8px;text-align:center}.numbers b{font-size:38px}.numbers span{font-size:9px;letter-spacing:.05em}.section{padding:70px 0}.split-grid{display:block}.statement{padding:0}.statement h2{font-size:clamp(50px,10.5vw,75px)}.explain{border-left:0!important;border-top:1px solid var(--line);margin-top:32px;padding:24px 0 0}.explain p.lead{font-size:20px}.explain p{font-size:15px}.section-dark .explain{border-top-color:#414046}.steps{border-left:0;border-top:1px solid #414046;margin-top:30px;padding:30px 0 0}.step{grid-template-columns:38px 1fr;gap:17px}.step>span{width:36px;height:36px;font-size:10px}.step h3{font-size:20px}.services-intro,.work-intro,.reviews-intro{margin-bottom:34px}.service-grid{grid-template-columns:1fr 1fr;gap:11px}.service{height:245px}.service-large{grid-column:1/-1;height:300px}.service-overlay{padding:16px}.service-overlay h3{font-size:22px}.service-overlay b{right:15px;bottom:16px}.service-more{gap:0 20px}.gallery{gap:18px 10px}.gallery img{height:200px}.section-red .explain{border-top-color:rgba(255,255,255,.35)}.review-list{grid-template-columns:1fr}.review-card{min-height:0}.platforms{flex-direction:column;align-items:start}.platform-logos{flex-wrap:wrap}.heritage-layout{display:flex;flex-direction:column}.heritage-photo{min-height:390px}.heritage-copy{padding:40px 0 0}.heritage-copy h2{font-size:55px}.contact-layout>.statement h2{font-size:60px}.contact-form{margin-top:38px;padding:22px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 15px;padding:50px 0}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{gap:30px;line-height:1.4}}
@media(max-width:420px){.hero h1{font-size:51px}.service-grid{grid-template-columns:1fr}.service,.service-large{grid-column:1;height:230px}.gallery img{height:168px}.service-more{grid-template-columns:1fr}.contact-layout>.statement h2{font-size:54px}.heritage-copy h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.header-phone{font-size:13px;font-weight:900;white-space:nowrap;color:#fff;margin:0 24px 0 auto;letter-spacing:.01em}
@media(max-width:1100px){.header-phone{margin-right:16px}.nav{gap:13px;font-size:12px}}
@media(max-width:740px){.header-phone{font-size:11px;margin:0 8px 0 auto;letter-spacing:-.02em}.menu-toggle{margin-left:2px;padding:9px}}
@media(max-width:370px){.brand img{width:128px}.header-phone{font-size:10px}}

/* Shared interior page hero and polished form/review details */
.page-hero{position:relative;isolation:isolate;overflow:hidden;min-height:660px;padding:205px 0 78px;background-color:var(--night);background-image:linear-gradient(90deg,rgba(9,10,12,.96) 0%,rgba(9,10,12,.86) 33%,rgba(9,10,12,.50) 68%,rgba(9,10,12,.23) 100%),linear-gradient(0deg,rgba(9,10,12,.48),transparent 55%),url('assets/hero.webp');background-repeat:no-repeat;background-size:cover;background-position:center 45%;color:#fff}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{max-width:950px;font-size:clamp(54px,6.2vw,96px);line-height:.99;letter-spacing:-.065em;font-weight:900;margin:0 0 24px;color:#fff}
.page-hero h1 em{font-style:normal;color:#f0eded}
.page-hero>.container>p:not(.breadcrumbs){max-width:720px;color:#f0eded;font-size:18px;line-height:1.75;margin-bottom:31px}
.page-hero .eyebrow{color:#e5b2b4}
.page-hero .eyebrow>span{background:currentColor}
.page-hero .breadcrumbs{margin:36px 0 0;color:rgba(255,255,255,.74);font-size:12px;letter-spacing:.03em}
.page-hero .breadcrumbs a{color:#fff;border-bottom:1px solid rgba(255,255,255,.55)}
.contact-section{background:var(--cream);color:var(--ink)}
.contact-layout>.statement h2 em{color:var(--red)}
.contact-layout>.statement>p{color:#5d5960}
.contact-phone{color:var(--ink);border-bottom-color:var(--red)}
.contact-phone span{color:var(--red)}
.contact-address{color:#6f6970}
.contact-form{background:#fff;border:1px solid #e5dfd7;padding:34px;min-height:460px;box-shadow:0 18px 55px rgba(28,22,18,.07)}
.contact-form h3{color:var(--ink)}
.contact-form>p{color:#656168}
.contact-form a,.contact-layout a[href^="tel:"]{color:var(--red)}
.review-platforms{display:flex;align-items:center;gap:12px;margin:0 0 24px}
.review-platform-logo{display:flex;align-items:center;justify-content:center;min-width:150px;min-height:62px;padding:8px 13px;background:#fff;border:1px solid rgba(255,255,255,.24)}
.review-platform-logo img{display:block;width:145px;height:46px;object-fit:contain}
.area-strip{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:28px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:800;color:var(--ink)}
.area-strip span{padding:4px 18px;border-right:1px solid #d1cbc3}
.area-strip span:first-child{padding-left:0}
.area-strip span:last-child{border-right:0}
.skip-link{display:none!important}
@media(max-width:900px){.page-hero{min-height:610px;padding:182px 0 62px;background-position:58% center}.page-hero h1{font-size:clamp(52px,9vw,78px)}.page-hero>.container>p:not(.breadcrumbs){font-size:16px;max-width:620px}.contact-section{padding:90px 0}.contact-form{margin-top:42px}.review-platforms{margin-bottom:20px}}
@media(max-width:600px){.page-hero{min-height:590px;padding:165px 0 54px;background-image:linear-gradient(90deg,rgba(9,10,12,.91),rgba(9,10,12,.62)),linear-gradient(0deg,rgba(9,10,12,.4),transparent 65%),url('assets/hero.webp');background-position:60% center}.page-hero h1{font-size:clamp(48px,13vw,68px);margin-bottom:19px}.page-hero>.container>p:not(.breadcrumbs){font-size:15px;line-height:1.65}.page-hero .hero-actions .btn{min-height:52px;padding:13px 16px;gap:18px}.page-hero .breadcrumbs{margin-top:27px}.contact-section{padding:75px 0}.contact-form{padding:23px 18px;min-height:0;margin-top:30px}.contact-form h3{font-size:22px}.review-platforms{flex-wrap:wrap;gap:9px}.review-platform-logo{min-width:0;width:calc(50% - 5px);min-height:57px;padding:6px}.review-platform-logo img{width:100%;height:43px}.area-strip{font-size:12px}.area-strip span{padding:5px 10px}.area-strip span:nth-child(3){border-right:0}}

/* Edition 4: richer page composition, calm motion and useful interactions. */
:root{--max:1520px}
:focus-visible{outline:3px solid #c7434b;outline-offset:5px}
html{scroll-padding-top:96px}
.craft-ribbon{display:flex;align-items:center;background:#8f1921;color:#fff;overflow:hidden;min-height:76px;border-bottom:1px solid rgba(255,255,255,.15)}
.ribbon-viewport{flex:1;min-width:0;overflow:hidden}
.ribbon-track{display:flex;width:max-content;animation:craft-drift 48s linear infinite}
.ribbon-copy{display:flex;align-items:center;flex-shrink:0;gap:42px;padding-right:42px;white-space:nowrap}
.ribbon-copy span{font-size:18px;letter-spacing:.1em;font-weight:800}
.ribbon-copy b{font-size:29px;font-weight:400;color:#e6a5aa}
.ribbon-pause{align-self:stretch;padding:0 23px;color:#fff;background:#79141b;border:0;border-left:1px solid #b24d53;font-size:11px;font-weight:800;letter-spacing:.04em;cursor:pointer;min-width:80px}
.craft-ribbon.is-paused .ribbon-track,.ribbon-viewport:hover .ribbon-track{animation-play-state:paused}
@keyframes craft-drift{to{transform:translateX(-50%)}}
.page-guide{position:sticky;top:0;z-index:15;background:#fbf9f5;border-bottom:1px solid #dcd6cc;box-shadow:0 4px 20px rgba(0,0,0,.025)}
.page-guide .container{display:flex;align-items:center;gap:36px;min-height:66px;overflow-x:auto;scrollbar-width:thin}
.page-guide span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#77716d;margin-right:auto;white-space:nowrap}
.page-guide a{display:flex;align-items:center;min-height:66px;white-space:nowrap;font-size:13px;font-weight:800;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.page-guide a:hover,.page-guide a[aria-current="location"]{color:var(--red);border-bottom-color:var(--red)}
.editorial-heading{max-width:1050px;margin-bottom:48px}
.editorial-heading h2,.story-copy h2,.faq-intro h2,.scope-heading h2{font-size:clamp(48px,5vw,78px);line-height:1.04;letter-spacing:-.06em;margin-bottom:25px;font-weight:900}
.editorial-heading>p{max-width:720px;font-size:19px;line-height:1.75;color:#625d61;margin-bottom:0}
.editorial-heading .text-link{margin-top:5px}
.review-platforms{margin-bottom:32px;gap:16px}
.review-platform-logo{min-width:194px;min-height:80px;border:1px solid #e4ded5;padding:12px 22px}
.review-platform-logo img{width:180px;height:52px}
.featured-review{display:grid;grid-template-columns:28% 72%;background:#171719;color:#fff;margin-bottom:24px;padding:56px 60px;position:relative;overflow:hidden}
.featured-label{border-right:1px solid #454044;padding-right:32px}
.quote-mark{display:block;color:#c84c54;font-family:Georgia,serif;font-size:150px;line-height:.8;height:112px}
.featured-label small{font-size:10px;letter-spacing:.18em;font-weight:900;color:#d7b6b9}
.featured-label p{font-size:20px;font-weight:600;line-height:1.5;margin:22px 0 0}
.featured-review figure{margin:0;padding-left:60px}
.featured-review blockquote{font-size:clamp(25px,2.5vw,40px);font-weight:650;line-height:1.35;letter-spacing:-.035em;margin:0 0 32px}
.featured-review figcaption{font-size:16px;font-weight:800;color:#fff}
.featured-review figcaption span{display:block;font-size:12px;color:#b9b3b6;font-weight:500;margin-top:7px}
.premium-reviews{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.premium-reviews .review-card{padding:36px 40px;background:#fff;border:1px solid #dfd8cf;min-height:270px;color:var(--ink)}
.review-quote-mark{color:var(--red);font-family:Georgia,serif;font-size:72px;height:46px;line-height:1}
.premium-reviews .review-card p{font-size:18px;line-height:1.8;color:#3d383c;margin:13px 0 auto}
.premium-reviews .review-card footer{border-color:#e1dcd5;font-size:15px;margin-top:28px;padding-top:22px}
.review-work-card{background:#8b1821;color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between;min-height:270px;transition:background .2s}
.review-work-card:hover{background:#70121a}
.review-work-card small{font-size:10px;letter-spacing:.15em;font-weight:800;color:#efd1d4}
.review-work-card h3{font-size:44px;line-height:1.1;letter-spacing:-.055em;margin:22px 0}
.review-work-card>span{font-size:14px;font-weight:800;border-top:1px solid #b6656c;padding-top:22px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.story-image{position:relative;min-height:680px;background:#d4d0cb;align-self:stretch;overflow:hidden}
.story-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-note{position:absolute;bottom:0;left:0;right:0;background:#8f1921;color:#fff;padding:24px 30px;font-size:11px;font-weight:800;letter-spacing:.14em}
.story-copy .lead{font-size:23px;line-height:1.5;font-weight:700;color:var(--ink)}
.story-copy>p{font-size:17px;color:#686166;line-height:1.85}
.standards-list{margin-top:30px;border-top:1px solid #dcd6d0}
.standards-list>div{display:grid;grid-template-columns:34px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid #dcd6d0}
.standards-list>div>span{font-size:12px;color:var(--red);font-weight:900;padding-top:5px}
.standards-list p{margin:0;color:#686166;font-size:15px;line-height:1.75}
.standards-list strong{display:block;color:var(--ink);font-size:17px;margin-bottom:2px}
.journey-section{border-top:1px solid #ede8e1}
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dcd5cd}
.journey-grid article{padding:38px 40px 0 0}
.journey-grid article+article{border-left:1px solid #dcd5cd;padding-left:40px}
.large-number{display:block;font-size:66px;font-weight:800;letter-spacing:-.07em;color:var(--red);line-height:1;margin-bottom:32px}
.journey-grid h3{font-size:27px;letter-spacing:-.035em;line-height:1.2;margin-bottom:18px}
.journey-grid p{font-size:16px;line-height:1.85;color:#686166;max-width:370px;margin-bottom:0}
.local-band{background:#811820;color:#fff;padding:72px 0}
.local-band .container{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center}
.local-band small{font-size:10px;letter-spacing:.16em;color:#efc5c9;font-weight:900}
.local-band h2{font-size:clamp(36px,4vw,61px);line-height:1.13;margin:18px 0 0;letter-spacing:-.05em}
.local-band p{font-size:18px;line-height:1.8;margin:0;color:#f7e5e6}
.local-band .text-link{border-color:#d7949a;color:#fff;margin-top:22px}
.local-band .text-link span{color:#fff}
.faq-layout{display:grid;grid-template-columns:42% 1fr;gap:8%;align-items:start}
.faq-intro{position:sticky;top:105px}
.faq-intro>p{font-size:17px;line-height:1.85;color:#686166;max-width:430px}
.faq-intro .text-link{gap:20px;font-size:13px;margin-top:12px}
.faq-list{border-top:1px solid #cfc7bd}
.faq-item{border-bottom:1px solid #cfc7bd}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 0;font-size:19px;font-weight:750;line-height:1.5;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary b{font-size:27px;font-weight:400;color:var(--red);flex:0 0 24px;text-align:center;transition:transform .2s}
.faq-item[open] summary b{transform:rotate(45deg)}
.faq-item[open] summary{color:var(--red)}
.faq-answer{padding:0 44px 27px 0}
.faq-answer p{color:#625b60;font-size:16px;line-height:1.9;margin:0;max-width:680px}
.scope-heading{max-width:950px;margin-bottom:54px}
.scope-heading .eyebrow{color:#e1a9ae}
.scope-heading h2{font-size:clamp(45px,4.7vw,74px)}
.scope-heading>p{font-size:21px;color:#c9c2c5;line-height:1.6;margin-bottom:0}
.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #4b4146}
.scope-grid article{position:relative;padding:38px 50px 38px 66px;border-bottom:1px solid #4b4146}
.scope-grid article:nth-child(2n){border-left:1px solid #4b4146;padding-left:90px}
.scope-grid article>span{position:absolute;left:0;top:44px;color:#da959d;font-size:13px;font-weight:900}
.scope-grid article:nth-child(2n)>span{left:32px}
.scope-grid h3{font-size:27px;line-height:1.2;letter-spacing:-.035em;margin-bottom:16px}
.scope-grid p{font-size:17px;color:#c6bfc3;line-height:1.8;margin:0;max-width:520px}
.project-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-photo{position:relative;overflow:hidden;background:#d1cac1;aspect-ratio:4/3}
.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.project-link:hover img{transform:scale(1.045)}
.project-photo>span{position:absolute;right:0;bottom:0;display:grid;place-items:center;background:#941c25;color:#fff;width:58px;height:58px;font-size:24px}
.project-link>small{display:block;margin:22px 0 10px;font-size:10px;letter-spacing:.12em;font-weight:800;color:#7d6e70}
.project-link h3{font-size:27px;font-weight:800;letter-spacing:-.04em;line-height:1.2;border-bottom:1px solid #d6cdc5;padding-bottom:20px;margin-bottom:0}
.contact-section .eyebrow{color:var(--red)}
.enquiry-notes{margin-top:40px;border-top:1px solid #d7cfc5;max-width:440px}
.enquiry-notes p{display:flex;gap:18px;border-bottom:1px solid #d7cfc5;padding:17px 0;margin:0;font-size:14px;color:#5d555b;line-height:1.7}
.enquiry-notes span{color:var(--red);font-size:11px;font-weight:900;padding-top:3px}
.section-ivory .step p,.section-light .step p{color:#625b60}
.section-ivory .step h3,.section-light .step h3{color:var(--ink)}
.section-ivory .step,.section-light .step{border-color:#d7cfc5}
.section-ivory .step>span,.section-light .step>span{color:var(--red)}
.work-filter{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:32px}
.work-filter button{border:1px solid #cbc4bc;background:transparent;color:var(--ink);padding:13px 21px;font-weight:700;font-size:13px;cursor:pointer}
.work-filter button[aria-pressed="true"]{background:#8e1a23;color:#fff;border-color:#8e1a23}
.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}
.work-tile{margin:0;min-width:0}
.work-tile[hidden]{display:none}
.work-image-button{padding:0;border:0;background:#191719;display:block;width:100%;position:relative;overflow:hidden;cursor:zoom-in}
.work-image-button img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 62%;transition:transform .5s}
.work-image-button:hover img{transform:scale(1.04)}
.work-image-button>span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);padding:50px 22px 20px;text-align:left;color:white;font-size:12px;font-weight:800}
.work-tile figcaption{padding:18px 0;border-bottom:1px solid #d9d2ca;display:flex;flex-direction:column;gap:7px}
.work-tile figcaption strong{font-size:20px;letter-spacing:-.03em}
.work-tile figcaption span{font-size:12px;color:#766b70}
.gallery-status{font-size:12px;color:#746970;margin:26px 0 0}
.photo-dialog{padding:18px;border:1px solid #635a5e;background:#151416;color:#fff;width:min(1000px,94vw);max-height:94vh}
.photo-dialog::backdrop{background:rgba(0,0,0,.84)}
.photo-dialog>img{max-height:75vh;max-width:100%;margin:auto;object-fit:contain}
.photo-dialog>p{font-size:14px;padding:16px 3px 0;margin:0}
.photo-close{display:block;margin:0 0 16px auto;background:#fff;color:#171517;border:0;padding:11px 19px;font-size:13px;font-weight:800;cursor:pointer}
.mobile-enquiry{display:none}
@media(min-width:1600px){.container{width:min(var(--max),calc(100% - 144px))}}
@media(max-width:1100px){.story-grid{gap:5%}.story-image{min-height:640px}.featured-review{padding:42px}.featured-review figure{padding-left:38px}.featured-label{padding-right:25px}.featured-label p{font-size:17px}.premium-reviews .review-card{padding:30px}.journey-grid article{padding-right:25px}.journey-grid article+article{padding-left:25px}.faq-layout{grid-template-columns:39% 1fr;gap:6%}.faq-intro h2{font-size:52px}.scope-grid article{padding-right:30px}.project-links{gap:20px}.project-link h3{font-size:23px}}
@media(min-width:741px) and (max-width:1250px){.site-header{height:94px;top:16px;padding:0 36px}.brand img{width:175px;height:72px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:10px;z-index:2}.menu-toggle i{width:27px;height:2px;background:#fff}.nav{display:none;position:absolute;top:94px;left:0;right:0;flex-direction:column;align-items:stretch;background:#151517;padding:25px 36px;gap:0}.nav.is-open{display:flex}.nav a{padding:13px 0}.nav .nav-cta{padding:16px;margin-top:10px}.header-phone{font-size:15px;margin-right:25px}}
@media(max-width:900px){.story-grid{grid-template-columns:1fr;gap:42px}.story-image{min-height:0;height:530px}.story-copy{max-width:720px}.featured-review{grid-template-columns:1fr}.featured-label{border-right:0;display:flex;align-items:center;gap:22px;border-bottom:1px solid #4b4146;padding:0 0 20px;margin-bottom:26px}.featured-label .quote-mark{font-size:80px;height:45px;line-height:1}.featured-label p{display:none}.featured-review figure{padding:0}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-intro{position:static}.faq-intro h2{font-size:58px}.faq-intro>p{max-width:620px}.journey-grid h3{font-size:23px}.local-band .container{gap:6%}.local-band p{font-size:16px}.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.craft-ribbon{min-height:60px}.ribbon-copy{gap:26px;padding-right:26px}.ribbon-copy span{font-size:13px;letter-spacing:.1em}.ribbon-copy b{font-size:20px}.ribbon-pause{padding:0 14px;min-width:63px;font-size:10px}.page-guide .container{width:calc(100% - 40px);gap:25px;min-height:58px}.page-guide span{display:none}.page-guide a{min-height:58px;font-size:12px}.editorial-heading{margin-bottom:32px}.editorial-heading h2,.story-copy h2,.faq-intro h2,.scope-heading h2{font-size:clamp(42px,10.4vw,62px)}.editorial-heading>p{font-size:17px}.review-platforms{gap:12px;margin-bottom:24px}.review-platform-logo{min-width:0;width:calc(50% - 6px);min-height:72px;padding:10px}.review-platform-logo img{height:46px;max-width:180px}.featured-review{padding:30px 24px;margin-bottom:18px}.featured-review blockquote{font-size:27px;line-height:1.45}.premium-reviews{grid-template-columns:1fr;gap:18px}.premium-reviews .review-card{padding:29px 25px;min-height:0}.premium-reviews .review-card p{font-size:17px}.review-work-card{padding:30px;min-height:260px}.review-work-card h3{font-size:40px}.story-image{height:450px}.image-note{font-size:10px;padding:21px}.story-copy .lead{font-size:21px}.journey-grid{grid-template-columns:1fr}.journey-grid article,.journey-grid article+article{padding:30px 0 30px 76px;border:0;border-bottom:1px solid #dcd5cd;position:relative}.large-number{position:absolute;left:0;top:31px;font-size:45px}.journey-grid h3{font-size:25px}.journey-grid p{max-width:none;font-size:16px}.local-band{padding:55px 0}.local-band .container{grid-template-columns:1fr;gap:28px}.local-band h2{font-size:42px}.faq-item summary{padding:23px 0;font-size:17px;gap:18px}.faq-answer{padding-right:16px;font-size:16px}.scope-heading{margin-bottom:30px}.scope-heading>p{font-size:18px}.scope-grid{grid-template-columns:1fr}.scope-grid article,.scope-grid article:nth-child(2n){border-left:0;padding:28px 0 28px 48px}.scope-grid article>span,.scope-grid article:nth-child(2n)>span{left:0;top:33px}.scope-grid h3{font-size:25px}.scope-grid p{font-size:16px}.project-links{grid-template-columns:1fr;gap:32px}.project-photo{aspect-ratio:16/10}.project-link h3{font-size:28px}.project-link>small{margin-top:17px}.enquiry-notes{margin-top:30px;max-width:none}.work-gallery{gap:26px 16px}.work-filter{gap:8px}.work-filter button{font-size:12px;padding:11px 13px}.work-tile figcaption strong{font-size:17px}.work-image-button>span{padding:35px 12px 13px;font-size:10px}.mobile-enquiry{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;z-index:18;background:#fff;box-shadow:0 -4px 25px rgba(0,0,0,.1);padding-bottom:env(safe-area-inset-bottom)}.mobile-enquiry a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px;font-size:13px;font-weight:800}.mobile-enquiry a:last-child{background:var(--red);color:#fff}.mobile-enquiry[hidden]{display:none}.site-footer{padding-bottom:64px}.contact-layout>.statement h2{font-size:clamp(46px,12vw,60px)}}
@media(max-width:420px){.story-image{height:370px}.work-gallery{grid-template-columns:1fr}.featured-review blockquote{font-size:24px}.mobile-enquiry a{font-size:12px;padding:18px 16px}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none!important}.ribbon-copy[aria-hidden="true"]{display:none}.ribbon-viewport{overflow:auto}.ribbon-pause{display:none}.ribbon-copy{padding:16px 20px}.project-link:hover img,.work-image-button:hover img{transform:none}}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.photo-pair figure{margin:0}
.photo-pair img{width:100%;height:440px;object-fit:cover}
.photo-pair figcaption{display:flex;flex-direction:column;gap:9px;padding:22px 0;border-bottom:1px solid #d8d0c7}
.photo-pair strong{font-size:25px;letter-spacing:-.035em}
.photo-pair figcaption span{font-size:15px;color:#6b6167;line-height:1.6}
@media(max-width:740px){.photo-pair{grid-template-columns:1fr;gap:28px}.photo-pair img{height:320px}.photo-pair strong{font-size:23px}}
