/* Guardian preview: one visual system across every page. */
:root{--paper:#fff;--ink:#101318;--muted:#505968;--orange:#245de8;--light-orange:#eaf0ff;--line:#dce2ec;--lime:#eaf0ff;--blue:#245de8;--gutter:clamp(22px,5vw,88px)}
html{scroll-padding-top:110px}body{background:#fff;color:var(--ink);font-size:17px;font-weight:500}main{overflow:clip}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.045em}h2{font-size:clamp(32px,4vw,56px);line-height:1.12}h3{font-size:24px;line-height:1.3;letter-spacing:-.025em}em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--blue)}main p,main li{font-size:18px;line-height:1.75;font-weight:500}main p{color:var(--muted)}main .eyebrow,.eyebrow{font:800 14px/1.5 Manrope,Arial,sans-serif;letter-spacing:.065em;color:var(--blue);text-transform:uppercase}.button,main .button,main .text-link,main .chapter-link{font-size:16px;font-weight:800;line-height:1.4}.button{min-height:52px;border-radius:999px;padding:15px 24px;justify-content:center;gap:12px;background:var(--blue);color:#fff;box-shadow:none;transition:background .2s,transform .2s}.button:hover{background:#174ac5;color:#fff;transform:translateY(-2px);text-decoration:none}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#245de8}.text-link,.chapter-link{color:var(--ink);border:0;text-decoration:underline;text-decoration-color:#9ba8bd;text-underline-offset:6px}.text-link:hover,.chapter-link:hover{color:var(--blue)}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6293ff;outline-offset:4px}section[id],div[id]{scroll-margin-top:108px}figure{min-width:0}figcaption{font:600 14px/1.6 Manrope,Arial,sans-serif!important;letter-spacing:0!important;color:var(--muted)!important;margin-top:12px}.section{padding:88px var(--gutter)}
/* Centered identity and an accessible expandable service menu. */
header.guardian-header,header.guardian-header.is-scrolled{height:94px;position:sticky;top:0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding:0 var(--gutter);background:rgba(255,255,255,.97);border:0;box-shadow:none;backdrop-filter:blur(16px)}header.guardian-header.is-scrolled{box-shadow:0 6px 24px #1013180c}.guardian-header .brand{grid-column:2;grid-row:1;position:static;transform:none;width:230px}.guardian-header .menu-toggle{grid-column:1;grid-row:1;display:flex;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;padding:9px;border-radius:12px}.guardian-header .menu-toggle span{width:27px;height:2px;background:#101318;transition:transform .2s,opacity .2s;margin:0}.guardian-header.nav-open .menu-toggle span:first-child{transform:translateY(8px) rotate(45deg)}.guardian-header.nav-open .menu-toggle span:nth-child(2){opacity:0}.guardian-header.nav-open .menu-toggle span:last-child{transform:translateY(-8px) rotate(-45deg)}.guardian-header .header-actions{grid-column:3;grid-row:1;justify-self:end;position:static;display:block}.guardian-header .header-actions>.header-contact{background:#101318;color:#fff;font-size:16px;padding:14px 26px;border-radius:999px;min-height:50px}.guardian-header .header-actions>.header-contact:hover{background:var(--blue)}
header.guardian-header #navigation{display:none;position:absolute;top:94px;left:var(--gutter);right:auto;width:min(680px,calc(100vw - 2 * var(--gutter)));padding:24px 30px;background:#fff;color:#101318;max-height:calc(100dvh - 116px);overflow:auto;border:1px solid #e2e7f0;border-radius:0 0 24px 24px;box-shadow:0 24px 70px #07163326;transform:none}header.guardian-header.nav-open #navigation{display:block}.nav-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px}.nav-heading>a{font-size:17px;font-weight:800}.nav-heading>span{font-size:15px;color:#596476}.nav-group{border-top:1px solid #e2e7f0}.nav-group>summary{display:flex;align-items:center;justify-content:space-between;padding:17px 0;font-size:21px;font-weight:800;cursor:pointer;list-style:none;line-height:1.4}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary>span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#edf2ff;color:var(--blue);font-size:24px;font-weight:500}.nav-group[open]>summary{color:var(--blue)}.nav-group[open]>summary>span{font-size:0}.nav-group[open]>summary>span:after{content:'−';font-size:24px}.nav-group-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:0 0 20px}.nav-group-links>a{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:1.4;font-weight:600;padding:9px 12px;border-radius:8px;background:#f5f7fb}.nav-group-links>a:hover{background:#eaf0ff;color:#174ac5}.guardian-header #navigation .menu-contact{padding:22px 0 0;border-top:1px solid #e2e7f0;display:flex;align-items:center;flex-wrap:wrap;gap:18px}.guardian-header #navigation .menu-contact>.button{background:var(--blue);font-size:16px;padding:13px 24px}.guardian-header #navigation .menu-phone{font-size:18px;font-weight:800}.guardian-header #navigation .social-icons{width:auto;display:flex;gap:10px;margin-left:auto;padding:0}.guardian-header #navigation .social-icons a{width:44px;height:44px;background:#f2f5fa;border-radius:50%}
/* Homepage: clean type beside actual project photography. */
.home-refresh .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:0;min-height:660px;padding:0;background:#f2f5fb;overflow:hidden;isolation:isolate}.home-refresh .hero:before,.home-refresh .hero:after{display:none}.home-refresh .hero-copy{padding:72px 44px 58px var(--gutter);max-width:none;align-self:center}.home-refresh .hero h1{font-size:clamp(44px,4.8vw,76px);line-height:1.04;letter-spacing:-.055em;margin:20px 0 27px;max-width:none}.home-refresh .hero h1 em{color:var(--blue);font-family:inherit;font-weight:800;font-style:normal}.home-refresh .hero .lead{font-size:20px;line-height:1.65;max-width:520px;color:#455065;margin-bottom:30px}.hero-actions{gap:20px;align-items:center}.home-refresh .hero-trust{display:flex;flex-wrap:wrap;gap:8px 20px;font:700 14px/1.6 Manrope,Arial,sans-serif;letter-spacing:0;color:#475365;margin-top:30px}.hero-trust span{border:0!important;padding:0!important}.hero-trust span+span:before{display:none}.home-refresh .hero-location{font-size:15px;line-height:1.6;font-weight:600;color:#5c6778;margin:15px 0 0}.home-refresh .hero-film{position:relative;grid-column:2;grid-row:1;inset:auto;width:auto;height:auto;z-index:0;overflow:hidden;margin:24px 24px 24px 0;border-radius:24px;min-height:570px}.home-refresh .hero-film:after,.home-refresh .hero-film:before{display:none}.home-refresh .hero-slide{position:absolute;inset:-45px 0;width:100%;height:calc(100% + 90px);max-width:none;object-fit:cover;object-position:54% 50%;opacity:1;filter:none;transform:translateY(var(--photo-shift,0px));animation:none}.hero-photo-note{position:absolute;inset:auto 20px 20px;background:#ffffffed;backdrop-filter:blur(12px);border-radius:16px;padding:20px 23px;display:flex;flex-direction:column;gap:6px}.hero-photo-note span{font-size:21px;font-weight:800}.hero-photo-note a{font-size:15px;font-weight:700;color:#245de8;text-decoration:underline;text-underline-offset:4px}
.home-refresh .entry-links{margin:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:34px var(--gutter);gap:0;background:#101318}.entry-card{border:0;border-right:1px solid #ffffff26;border-radius:0;box-shadow:none;background:transparent;color:#fff;padding:0 24px;overflow:visible}.entry-card:first-child{padding-left:0}.entry-card:last-child{border:0;padding-right:0}.entry-card-body{padding:0}.entry-card svg{width:32px;height:32px;stroke:#87aaff;margin:0 0 14px}.entry-card .entry-label{color:#94b3ff;font-size:15px;line-height:1.5;font-weight:700;margin-bottom:8px}.home-refresh .entry-card h2{font-size:21px;line-height:1.35;letter-spacing:-.025em;margin:0 0 12px;color:#fff}.entry-card-body>p:last-child{font-size:16px;line-height:1.6;color:#bcc5d5;margin-bottom:18px}.entry-card>a{background:transparent;color:#fff;font-size:15px;padding:8px 0;margin-top:auto;text-decoration:underline;text-decoration-color:#6685c1;text-underline-offset:6px;min-height:44px}.entry-card>a:hover{background:transparent;color:#94b3ff}
.home-refresh .home-intro{background:#fff;padding:92px var(--gutter);align-items:center;gap:65px}.home-refresh .home-intro p{color:#505968}.home-refresh .home-intro h2{font-size:clamp(34px,4vw,56px)}.home-refresh .home-paths{gap:20px}.home-refresh .home-paths>a{grid-template-columns:108px 1fr;gap:23px;background:#f3f6fb;border-radius:16px;padding:13px}.home-refresh .home-paths>a:hover{background:#eaf0ff}.home-refresh .home-paths>a>img{width:108px;height:108px;border-radius:10px}.home-paths h3{font-size:23px;margin-bottom:6px}.home-paths p{font-size:16px!important;margin-bottom:0}
.home-refresh .home-services{background:#eef3fb;padding:88px var(--gutter)}.home-refresh .home-section-title{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end;text-align:left;max-width:none;margin:0 0 40px}.home-section-title h2{margin:0}.home-section-title .eyebrow{margin-bottom:14px}.home-section-title>p{font-size:19px;line-height:1.7;margin:0 0 4px;max-width:430px}.service-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-collection{min-width:0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 4px 20px #0e244707}.service-collection>img{display:block;width:100%;height:225px;object-fit:cover}.collection-body{padding:26px}.collection-body h3{font-size:25px;margin-bottom:10px}.collection-body>p{font-size:16px;line-height:1.65;margin-bottom:18px}.collection-links{display:flex;flex-direction:column}.collection-links>a{font-size:16px;font-weight:700;min-height:44px;padding:12px 0;border-top:1px solid #e4e9f2;line-height:1.4;color:#1949b7}.collection-links>a:hover{text-decoration:underline;text-underline-offset:4px}.services-next{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:34px}.services-next p{margin:0;font-size:18px}
.home-refresh .home-why{background:#101318;padding:88px var(--gutter);color:#fff}.why-heading{gap:70px;margin-bottom:50px;align-items:center}.home-refresh .why-heading h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(35px,4vw,56px);letter-spacing:-.04em;font-weight:800;line-height:1.12}.home-why .eyebrow{color:#8babff}.why-subtitle{font-size:21px;color:#fff!important}.why-heading>p{color:#bdc7d7;font-size:19px}.home-why .home-values{gap:34px 42px}.home-why .home-values article{padding:26px 0;border-top:1px solid #344055}.home-why .value-icon{stroke:#87aaff;width:39px;height:39px;margin-bottom:18px}.home-why .home-values h3{font-size:23px;font-weight:800}.home-why .home-values h3:after{display:none}.home-refresh .home-why .home-values p{font-size:17px;color:#bdc7d7;line-height:1.7}.home-why .home-area{padding:32px;background:#1d273b;border:0;border-radius:20px;margin-top:40px;gap:40px}.home-refresh .home-area h3{color:#fff;font-size:28px}.home-refresh .home-area p{color:#bdc7d7}.home-area .eyebrow{color:#8babff!important}.home-area .button{background:#fff;color:#101318;flex-shrink:0}.home-area a:not(.button){text-decoration:underline;text-underline-offset:4px}
.home-refresh .company-note{background:#fff;gap:70px;padding:90px var(--gutter);align-items:center}.company-note figure{margin:0}.company-note .owner-portrait img{border-radius:24px}.company-note .owner-introduction h2{font-size:clamp(35px,4vw,56px)}.company-note .owner-introduction p{font-size:18px;color:#505968}.company-note .eyebrow{color:var(--blue)!important}.home-refresh .home-work{background:#f2f5fb;padding:88px var(--gutter)}.home-project-grid>button{background:#fff;border-radius:18px;overflow:hidden;padding:0 0 22px;text-align:left;min-width:0}.home-project-grid>button>img{border-radius:0;height:300px;width:100%;object-fit:cover}.home-project-grid>button>h3{font-size:22px;padding:0 23px;margin:22px 0 10px}.home-project-grid>button>p{font-size:16px;padding:0 23px;margin:0;color:#505968}.home-gallery>summary{font-size:18px!important;padding:24px 0}.home-gallery .filters{gap:8px}.home-gallery .filters button{font-size:15px;min-height:44px;padding:9px 15px;border-radius:999px}.filters button.active{background:var(--blue);color:#fff}.home-refresh .home-reviews{background:#fff;padding:88px var(--gutter);color:#101318;text-align:left}.home-reviews>p{max-width:720px;font-size:19px}.home-reviews .hero-actions{justify-content:flex-start}.google-reviews-widget{color:#101318}
/* A calm two-step request flow with a distinct blue contact section. */
.home-refresh .request{background:#edf3ff;padding:88px var(--gutter);gap:60px}.request-copy h2{font-size:clamp(36px,4.5vw,60px)}.request-copy p{color:#46546a}.request-owner{background:#fff!important;border-color:#dce5f8!important}.request-contact-options>a{background:#fff!important;color:#101318!important;border-color:#dce5f8!important}.request-contact-options a:hover{background:#e0eaff!important}.request form{min-width:0;background:#fff!important;border-radius:24px!important;border:1px solid #dce5f8!important;box-shadow:0 12px 40px #1e408d0a!important;padding:32px!important}.request-progress{border-color:#dce5f8!important}.request-progress li{font-size:15px!important}.request-progress [aria-current=step]{color:var(--blue)!important;border-color:var(--blue)!important}.request legend{font-size:28px!important;line-height:1.25;font-weight:800}.request label{font-size:16px!important;color:#101318;font-weight:700}.request input,.request select,.request textarea{font-size:16px!important;background:#f6f8fc!important;border:1px solid #cbd5e5!important;border-radius:10px!important;color:#101318;min-height:50px}.request input:focus,.request select:focus,.request textarea:focus{border-color:#245de8!important}.request input[type=checkbox]{min-height:20px}.request input[type=file]{font-size:14px!important}.request .field-help,.request .form-note,.request .step-status,.request .privacy-note{font-size:14px!important;line-height:1.6;color:#596476}.request .step-next,.request .form-submit{background:var(--blue)!important;color:#fff!important;border-radius:999px!important}.request .step-back{border-radius:999px!important}.photo-options{background:#f5f8fd!important;border-color:#dce5f8!important;border-radius:12px}.photo-options summary{font-size:16px}.request .consent{align-items:start}.request [hidden]{display:none!important}
/* Interior pages: consistent photo introductions, readable articles and clear next steps. */
.inside-page .page-opening{background:#f1f5fc;padding:28px var(--gutter) 60px}.inside-page .breadcrumbs{font:600 14px/1.5 Manrope,Arial,sans-serif;color:#596476;letter-spacing:0;margin-bottom:32px;display:flex;flex-wrap:wrap;position:static;box-shadow:none;background:none;width:auto;padding:0;border:0}.page-opening-grid{gap:60px;align-items:center}.page-opening-grid>div:first-child{padding:0}.inside-page .page-opening h1{font-size:clamp(38px,4.8vw,66px);line-height:1.08;letter-spacing:-.05em;font-weight:800;margin-bottom:24px}.inside-page .page-opening .intro{font-size:19px;line-height:1.75;color:#46546a}.page-visual{margin:0}.page-visual img{border-radius:22px;aspect-ratio:4/3;object-fit:cover;max-height:470px}.inside-page .page-body{padding:65px var(--gutter) 80px;background:#fff;gap:65px;align-items:start}.article-flow{min-width:0}.article-flow h2{font-size:clamp(28px,2.6vw,39px);letter-spacing:-.035em;line-height:1.2}.article-flow p,.article-flow li{font-size:18px;color:#46546a;line-height:1.8}.article-flow a:not(.button){color:#174ac5;text-decoration:underline;text-underline-offset:4px}.article-section{padding:0 0 28px;margin:0 0 32px;border-bottom:1px solid #e4e9f2}.article-section:last-child{border:0}.article-flow .principle{background:#edf3ff;border:0;border-radius:18px;padding:30px}.inside-page .page-aside{background:#101318;color:#fff;border:0;border-radius:22px;padding:30px;top:120px;position:sticky;min-width:0}.page-aside h2{font-size:29px;color:#fff;letter-spacing:-.03em}.page-aside p,.page-aside li{color:#c2ccdc;font-size:16px;line-height:1.7}.page-aside ul{padding-left:20px}.page-aside .button{background:var(--blue);color:#fff;padding:15px 18px}.page-aside .aside-phone{font-size:24px;font-weight:800;color:#fff;white-space:normal}.page-aside .related-links{border-color:#344055}.page-aside .related-links>a{font-size:16px;color:#e0e8fa;line-height:1.55;min-height:44px;padding:12px 0;border-color:#344055}.page-aside .eyebrow{color:#93b2ff}.inside-page .page-ending{margin:0;background:#edf3ff;border:0;padding:55px var(--gutter);gap:35px}.page-ending h2{font-size:clamp(32px,3.7vw,48px);margin-bottom:16px}.page-ending p{font-size:18px;max-width:650px;margin:0;color:#46546a}.page-ending .button{background:var(--blue);flex-shrink:0}.service-includes{background:#edf3ff;border:0;border-radius:18px;padding:30px;margin-bottom:36px}.service-includes li::marker,.article-flow li::marker{color:var(--blue)}.service-directory-tools{background:#edf3ff;padding:24px;border-radius:16px}.service-directory-tools label{font-size:18px;font-weight:800}.service-directory-tools input{font-size:16px;border:1px solid #cbd5e5;border-radius:10px;background:#fff;color:#101318;padding:16px;width:100%;margin-top:10px}.directory-status{font-size:15px!important}.service-directory-row{display:block!important;padding:30px!important;margin-bottom:22px;border:1px solid #dce5f8!important;border-radius:18px;background:#f8faff;color:#101318!important;text-decoration:none!important}.service-directory-row:hover{background:#edf3ff}.service-directory-row>.eyebrow{display:block;margin-bottom:14px;color:var(--blue);font-size:14px}.service-directory-row h2{font-size:27px}.service-directory-row .service-scope-list{columns:1;font-size:16px;color:#46546a;line-height:1.7}.service-directory-row .service-scope-list li{font-size:16px}.service-directory-row[hidden]{display:none!important}.area-index>div{padding:26px;background:#f3f6fc;border:0;border-radius:16px;min-width:0}.area-index>div h2{font-size:27px}.area-index .chapter-link{font-size:16px}.article-flow details{background:#f3f6fc;border:0;border-radius:12px;padding:20px;margin:0 0 14px}.article-flow summary{font-size:19px;line-height:1.5;font-weight:800}.article-flow details p{margin-top:16px}.story-card,.resource-card{border-radius:18px;overflow:hidden;background:#f3f6fc}.story-card img,.resource-card img{border-radius:14px}.stock-label{font-size:14px!important}
/* New footer: a strong finish, a friendly mascot, and useful contact information. */
footer.guardian-footer.modern-footer{position:relative;background:#101318;color:#fff;padding:0;border:0;isolation:isolate;overflow:hidden}footer.modern-footer:before,footer.modern-footer:after{display:none}.footer-connect{position:relative;display:grid;grid-template-columns:1fr 290px;gap:60px;align-items:center;background:#245de8;padding:65px var(--gutter);overflow:hidden}.footer-connect:after{content:'';position:absolute;width:540px;height:540px;border:1px solid #ffffff26;border-radius:50%;right:-180px;top:-190px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05;pointer-events:none}.footer-invitation,.footer-mascot{position:relative;z-index:1}.modern-footer .eyebrow{color:#d7e3ff;margin-bottom:18px}.footer-invitation h2{font-size:clamp(44px,5.8vw,80px);line-height:1.01;letter-spacing:-.055em;margin-bottom:24px;color:#fff}.footer-invitation h2 span{color:#c9d9ff}.footer-invitation>p:not(.eyebrow){font-size:18px;color:#e7edff;line-height:1.7}.footer-cta{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:28px}.footer-cta .button{background:#fff;color:#153d98;box-shadow:0 5px 20px #153d9826;font-size:16px}.footer-cta>a:not(.button){font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:6px;min-height:44px;display:flex;align-items:center}.footer-mascot{text-align:center;transform:rotate(-4deg)}.footer-mascot>p{font-size:24px;line-height:1.3;font-weight:800;color:#fff;margin:0 0 18px;letter-spacing:-.025em}.footer-mascot>img{height:220px;width:auto;max-width:100%;margin:auto;filter:drop-shadow(12px 15px 0 #0d39a54a)}.footer-core{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;padding:62px var(--gutter) 44px}.footer-wordmark{display:block;width:270px;max-width:100%;background:none;padding:0}.footer-wordmark img{width:100%;filter:invert(1);mix-blend-mode:screen}.footer-identity>p{font-size:15px;color:#aab7cc;line-height:1.6;margin:15px 0 22px}.footer-number{display:block;font-size:clamp(25px,2.5vw,35px);font-weight:800;letter-spacing:-.04em;margin-bottom:10px}.footer-email{font-size:16px;color:#c2ccdc;overflow-wrap:anywhere}.modern-footer h3{font-size:18px;line-height:1.45;letter-spacing:-.015em;color:#fff;margin:0 0 17px;font-weight:800}.footer-explore>div{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}.footer-explore a{font-size:16px;line-height:1.5;min-height:40px;color:#bac6da;display:flex;align-items:center}.footer-local p{font-size:16px;color:#bac6da;line-height:1.75;margin-bottom:24px}.footer-social-row,.footer-bottom{margin:0 var(--gutter);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #2b3546}.footer-social-row>div,.footer-bottom>div{display:flex;flex-wrap:wrap;gap:10px 24px}.footer-social-row a{min-height:44px;font-size:15px;font-weight:700;display:flex;align-items:center}.footer-social-links a{background:#1d2739;padding:10px 17px;border-radius:999px}.footer-bottom p{font-size:14px;color:#aab7cc;margin:0;line-height:1.8}.footer-bottom a{font-size:14px;color:#c2ccdc;min-height:44px;display:flex;align-items:center}.modern-footer a:hover{color:#a5c1ff;text-decoration:underline;text-underline-offset:4px}.modern-footer .button:hover{background:#e6edff;color:#153d98;text-decoration:none}.modern-footer .footer-wordmark:hover{opacity:.8}
/* Motion is progressive: content stays available without JavaScript. */
.reveal-ready{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending{opacity:0;transform:translateY(26px)}.reveal-shown{opacity:1;transform:none}.mobile-contact-bar{background:#fff!important;border-color:#dce2ec!important;box-shadow:0 -5px 25px #1013180d}.mobile-contact-bar a{color:#101318!important;font-size:14px!important}.mobile-contact-bar a:last-child{background:var(--blue)!important;color:#fff!important}.consent a{color:#1949b7}dialog .button{border-radius:999px}
@media(min-width:1600px){:root{--gutter:max(6vw,calc((100vw - 1440px)/2))}.home-refresh .hero-film{margin-right:var(--gutter)}}
@media(max-width:1100px){.home-refresh .hero-copy{padding-right:28px}.home-refresh .hero h1{font-size:54px}.home-refresh .hero-film{min-height:580px}.hero-actions{gap:16px}.entry-card{padding:0 18px}.home-refresh .entry-card h2{font-size:19px}.entry-card-body>p:last-child{font-size:15px}.home-refresh .home-intro,.home-refresh .company-note{gap:40px}.service-collections{gap:20px}.collection-body{padding:22px}.collection-body h3{font-size:22px}.service-collection>img{height:205px}.inside-page .page-body{gap:34px;grid-template-columns:minmax(0,1fr) 300px}.page-opening-grid{gap:35px}.footer-core{gap:30px;grid-template-columns:1.1fr 1fr 1fr}.footer-explore>div{grid-template-columns:1fr}.footer-connect{grid-template-columns:1fr 230px}.request form{padding:25px!important}.home-refresh .request{gap:35px}}
@media(max-width:800px){html{scroll-padding-top:90px}header.guardian-header,header.guardian-header.is-scrolled{height:82px;padding:0 22px;gap:12px}.guardian-header .brand{width:190px}.guardian-header .header-actions>.header-contact{font-size:15px;padding:12px 20px;min-height:46px}header.guardian-header #navigation{top:82px;left:16px;width:calc(100vw - 32px);max-height:calc(100dvh - 98px);padding:20px 24px}.home-refresh .hero{grid-template-columns:1fr 1fr;min-height:600px}.home-refresh .hero h1{font-size:44px}.home-refresh .hero-copy{padding:48px 26px 42px var(--gutter)}.home-refresh .hero .lead{font-size:18px}.home-refresh .hero-film{margin:18px 18px 18px 0;min-height:560px;border-radius:18px}.hero-photo-note{padding:18px;inset:auto 14px 14px}.hero-photo-note span{font-size:18px}.home-refresh .entry-links{grid-template-columns:1fr 1fr;gap:30px;padding:34px var(--gutter)}.entry-card{padding:0!important;border:0}.entry-card-body>p:last-child{font-size:16px}.home-refresh .home-intro{grid-template-columns:1fr;gap:32px;padding:65px var(--gutter)}.home-refresh .home-paths{grid-template-columns:repeat(3,1fr);gap:15px}.home-refresh .home-paths>a{grid-template-columns:1fr;padding:12px;gap:16px;align-items:start}.home-refresh .home-paths>a>img{width:100%;height:145px}.home-paths h3{font-size:20px}.home-paths p{font-size:15px!important}.home-refresh .home-section-title{grid-template-columns:1fr;gap:22px}.service-collections{grid-template-columns:1fr 1fr}.why-heading{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.home-why .home-values{grid-template-columns:1fr 1fr;gap:20px 30px}.home-why .home-area{display:block}.home-area .button{margin-top:12px}.home-refresh .company-note{grid-template-columns:1fr 1fr;gap:30px}.home-refresh .company-note h2{font-size:35px}.home-project-grid{grid-template-columns:1fr 1fr}.home-project-grid>button>img{height:260px}.home-refresh .request{grid-template-columns:1fr;gap:35px}.request-copy{max-width:650px}.inside-page .page-body{grid-template-columns:1fr;padding-top:45px}.inside-page .page-aside{position:static;max-width:none}.inside-page .page-opening-grid{grid-template-columns:1fr;gap:32px}.inside-page .page-opening h1{max-width:750px}.page-visual img{max-height:390px}.inside-page .page-ending{flex-direction:column;align-items:flex-start}.footer-core{grid-template-columns:1fr 1fr;gap:36px}.footer-identity{grid-column:1/-1}.footer-explore>div{grid-template-columns:1fr 1fr}.footer-social-row{flex-wrap:wrap}.footer-bottom{align-items:flex-start;flex-direction:column}.home-refresh .home-work,.home-refresh .home-services,.home-refresh .home-why,.home-refresh .home-reviews,.home-refresh .request{padding-top:65px;padding-bottom:65px}}
@media(max-width:600px){:root{--gutter:22px}header.guardian-header,header.guardian-header.is-scrolled{height:76px;padding:0 15px;gap:8px;grid-template-columns:44px 1fr auto}.guardian-header .brand{width:164px;justify-self:center}.guardian-header .menu-toggle{width:40px;height:44px;padding:8px}.guardian-header .menu-toggle span{width:24px}.guardian-header .header-actions>.header-contact{font-size:13px;padding:12px 16px;min-height:44px}header.guardian-header #navigation{top:76px;left:0;width:100%;max-height:calc(100dvh - 76px);border-radius:0 0 20px 20px;padding:18px 22px 26px}.nav-group>summary{font-size:20px;padding:16px 0}.nav-group-links{grid-template-columns:1fr;gap:4px}.nav-group-links>a{font-size:16px}.guardian-header #navigation .menu-contact{gap:16px}.guardian-header #navigation .social-icons{width:100%;margin:0}.home-refresh .hero{display:flex;flex-direction:column;min-height:0}.home-refresh .hero-copy{padding:44px 22px 30px}.home-refresh .hero h1{font-size:clamp(40px,10vw,57px);margin:14px 0 22px}.home-refresh .hero .eyebrow{font-size:13px}.home-refresh .hero .lead{font-size:18px;margin-bottom:24px}.home-refresh .hero-actions{gap:20px;align-items:flex-start}.home-refresh .hero .button{font-size:15px;padding:15px 20px}.home-refresh .hero-trust{margin-top:24px;font-size:13px;gap:5px 16px}.home-refresh .hero-location{font-size:14px}.home-refresh .hero-film{width:auto;min-height:330px;height:330px;margin:0 16px 20px;border-radius:18px}.home-refresh .hero-slide{object-position:50% 55%}.hero-photo-note{inset:auto 14px 14px;padding:16px 18px}.home-refresh .entry-links{grid-template-columns:1fr;gap:0;padding:14px 22px}.entry-card{display:grid;grid-template-columns:1fr;position:relative;padding:24px 0!important;border-bottom:1px solid #ffffff26}.entry-card svg{position:absolute;right:0;top:28px;width:28px;height:28px}.entry-card .entry-label{padding-right:45px}.home-refresh .entry-card h2{font-size:23px}.entry-card-body>p:last-child{margin-bottom:7px;font-size:16px;max-width:440px}.entry-card>a{justify-self:start;padding:8px 0}.home-refresh .home-intro{padding:58px 22px}.home-refresh .home-paths{grid-template-columns:1fr}.home-refresh .home-paths>a{grid-template-columns:90px 1fr;gap:18px;align-items:center;padding:12px}.home-refresh .home-paths>a>img{height:100px;width:90px}.home-paths h3{font-size:23px}.home-paths p{font-size:16px!important}.home-refresh .home-section-title{margin-bottom:30px}.home-section-title>p{font-size:18px}.service-collections{grid-template-columns:1fr;gap:25px}.service-collection>img{height:235px}.collection-body{padding:25px}.collection-body h3{font-size:26px}.collection-body>p{font-size:17px}.collection-links>a{font-size:17px;padding:13px 0}.services-next{flex-direction:column;align-items:flex-start;gap:20px}.home-why .home-values{grid-template-columns:1fr;gap:10px}.home-why .home-values article{padding:24px 0}.home-why .home-values h3{font-size:24px}.home-why .home-values p{font-size:18px}.home-why .value-icon{margin-bottom:16px}.why-heading>p{font-size:18px}.why-subtitle{font-size:19px}.home-why .home-area{padding:26px 22px;margin-top:28px}.home-refresh .company-note{grid-template-columns:1fr;padding:58px 22px;gap:30px}.company-note .owner-portrait img{max-height:410px;width:100%;object-fit:cover}.home-project-grid{grid-template-columns:1fr;gap:25px}.home-project-grid>button>img{height:300px}.section-head{align-items:flex-start;gap:15px}.request form{padding:23px 18px!important;border-radius:18px!important}.request legend{font-size:25px!important}.request .form-grid{grid-template-columns:1fr!important}.request .form-grid>*{grid-column:auto!important}.request label{font-size:16px!important}.request .request-progress li{font-size:14px!important}.request-progress{gap:12px!important}.request .request-contact-options{grid-template-columns:1fr 1fr}.request .request-contact-options a{font-size:15px}.inside-page .page-opening{padding:22px 22px 38px}.inside-page .breadcrumbs{font-size:13px;margin-bottom:26px}.inside-page .page-opening h1{font-size:clamp(36px,9.5vw,48px)}.inside-page .page-opening .intro{font-size:18px}.inside-page .page-body{padding:40px 22px 48px;gap:30px}.article-flow h2{font-size:30px}.article-flow p,.article-flow li{font-size:18px}.page-visual img{border-radius:16px}.service-includes{padding:23px}.service-includes ul{padding-left:20px}.service-directory-row{padding:24px 20px!important}.service-directory-row h2{font-size:25px}.inside-page .page-aside{padding:27px}.inside-page .page-ending{padding:40px 22px}.area-index{grid-template-columns:1fr!important}.footer-connect{grid-template-columns:1fr;gap:40px;padding:48px 22px}.footer-invitation h2{font-size:58px}.footer-invitation>p:not(.eyebrow){font-size:18px}.footer-cta{gap:20px}.footer-mascot{display:flex;flex-direction:column;align-items:center;transform:none;padding-top:8px}.footer-mascot>p{font-size:25px;max-width:260px}.footer-mascot>img{height:210px}.footer-core{grid-template-columns:1fr;padding:44px 22px 30px;gap:34px}.footer-identity{grid-column:auto}.footer-wordmark{width:260px}.footer-number{font-size:32px}.footer-explore>div{grid-template-columns:1fr 1fr}.footer-explore a{min-height:44px;font-size:17px}.modern-footer h3{font-size:20px}.footer-local p{font-size:17px}.footer-social-row{margin:0 22px;gap:16px}.footer-social-row>div{gap:8px 15px}.footer-social-links a{font-size:14px;padding:11px 14px}.footer-bottom{margin:0 22px;padding-bottom:100px;gap:14px}.footer-bottom>div{gap:8px 20px}.footer-bottom p,.footer-bottom a{font-size:14px}.home-refresh .home-work,.home-refresh .home-services,.home-refresh .home-why,.home-refresh .home-reviews,.home-refresh .request{padding-top:58px;padding-bottom:58px}}
@media(max-width:360px){.guardian-header .brand{width:137px}.guardian-header .header-actions>.header-contact{font-size:12px;padding:11px 13px}.guardian-header .menu-toggle{width:34px}.home-refresh .hero h1{font-size:38px}.home-refresh .hero .button{font-size:14px}.footer-invitation h2{font-size:51px}.footer-social-links a{padding:10px 12px;font-size:13px}.footer-number{font-size:29px}.request .request-contact-options{grid-template-columns:1fr}.request-progress{gap:8px!important}.request .request-progress li{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready,.reveal-pending,.reveal-shown{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.home-refresh .hero-slide{transform:none!important}.button{transition:none}.button:hover{transform:none}}
/* Isolate the new footer from retired footer layout rules. */
.guardian-footer.modern-footer .footer-mascot{position:relative;inset:auto;width:auto;height:auto;justify-self:center;align-self:center}
.guardian-footer.modern-footer .footer-bottom{width:auto;display:flex;flex-direction:row;margin:0 var(--gutter);padding:24px 0;align-items:center;justify-content:space-between;gap:24px}
.guardian-footer.modern-footer h3{font-family:Manrope,Arial,sans-serif;font-size:18px;line-height:1.45;font-weight:800;letter-spacing:-.015em;text-transform:none;color:#fff}
.guardian-header .nav-group-links>a{text-decoration:none}.guardian-header .nav-group-links>a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.guardian-footer.modern-footer .footer-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.guardian-footer.modern-footer .footer-bottom{padding-bottom:100px}.guardian-footer.modern-footer h3{font-size:20px}}
.guardian-header .nav-group>summary>span{transform:none}
.reveal-ready.reveal-pending{transition:none}
.review-link-field,.safety-note{background:#edf3ff;border-color:#245de8;border-radius:14px}
.review-link-field input{background:#fff;border-color:#cbd5e5;font-size:16px}
/* Genuine project photography and one-tap navigation. */
.nav-work-direct{display:block;padding:14px 0;font-size:20px;font-weight:800;border-bottom:1px solid #dfe5ef;color:#101318;min-height:48px}
.home-refresh .hero-film .hero-slide{opacity:0;transition:opacity .7s ease;pointer-events:none}
.home-refresh .hero-film .hero-slide.is-active{opacity:1}
.hero-photo-note{z-index:2}.hero-photo-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.hero-photo-controls button{border:1px solid #bec9dd;border-radius:999px;background:#fff;color:#14254a;font:700 14px/1.3 Manrope,Arial,sans-serif;padding:10px 14px;min-height:44px;cursor:pointer}
.hero-photo-controls button:hover{background:#e7eeff}.hero-work-link{font-weight:800;color:#245de8;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.work-gallery{padding:60px var(--gutter) 80px;background:#f3f6fb}.work-gallery .section-head{margin-bottom:26px}.work-gallery h2{font-size:clamp(32px,4vw,50px);margin-bottom:15px}.work-gallery .section-head p{font-size:18px;line-height:1.65;max-width:650px}
.work-filters{display:flex;flex-wrap:wrap;gap:10px}.work-filters button{font:700 16px/1.4 Manrope,Arial,sans-serif;padding:12px 20px;border:1px solid #b6c1d5;border-radius:999px;background:#fff;color:#132039;cursor:pointer;min-height:48px}.work-filters button[aria-pressed=true]{background:#245de8;border-color:#245de8;color:#fff}.work-status{margin:20px 0;font-size:16px;color:#46546c}
.work-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.work-photo{margin:0;min-width:0}.work-photo[hidden]{display:none}.work-photo a{display:block;border-radius:18px;overflow:hidden;background:#e4e9f1}.work-photo img{display:block;width:100%;height:290px;object-fit:contain}.work-photo figcaption{font-size:16px;line-height:1.65;color:#263349;padding:15px 4px 0;font-weight:600}
.work-lightbox{width:min(1000px,calc(100vw - 28px));max-height:94dvh;padding:20px;background:#101318;color:#fff;border:0;border-radius:18px;overflow:auto}.work-lightbox::backdrop{background:#050a14db}.work-lightbox img{width:100%;height:65dvh;object-fit:contain;margin:15px 0}.work-lightbox>p{font-size:17px;line-height:1.6;margin:12px 0}.work-lightbox button{font:700 16px/1.4 Manrope,Arial,sans-serif;border:1px solid #7789a9;background:#1f2b40;color:#fff;border-radius:99px;padding:10px 20px;min-height:44px;cursor:pointer}.work-close{display:block;margin-left:auto}.work-photo-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.work-position{font-size:16px}.generator-example img{object-fit:contain;background:#edf0f5}.generator-example figcaption{font-size:14px;line-height:1.6}.generator-example figcaption a{text-decoration:underline}.utility-project-photo{display:block;width:min(600px,90%);height:280px;object-fit:cover;border-radius:22px;margin:35px auto}
@media(max-width:900px){.work-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-photo img{height:270px}}
@media(max-width:600px){.work-gallery{padding:40px 22px 55px}.work-photo-grid{grid-template-columns:1fr;gap:30px}.work-photo img{height:auto;max-height:420px;object-fit:contain}.work-filters{gap:8px}.work-filters button{padding:10px 14px;font-size:15px}.home-refresh .hero-film{height:410px;min-height:410px}.hero-photo-note{padding:14px 16px}.hero-photo-note span{font-size:18px}.footer-mascot>img{height:160px}.footer-connect{gap:26px}.footer-invitation h2{font-size:49px}.footer-bottom{padding-bottom:85px}.work-lightbox img{height:55dvh}.work-lightbox{padding:15px}.work-lightbox button{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){.home-refresh .hero-film .hero-slide{transition:none}}
/* Keep the chandelier itself inside the hero crop. */
.home-refresh .hero-film .hero-slide[src*="photo-20-"]{inset:0;height:100%;object-position:center top;transform:none}

.plan-interest-field[hidden]{display:none!important}

.request-next-steps{margin-top:30px;border-top:1px solid #cbd6e8;padding-top:25px}.request-next-steps h3{font-size:22px;margin:0 0 18px;line-height:1.3}.request-next-steps ol{padding-left:22px;margin:0}.request-next-steps li{font-size:17px;line-height:1.65;color:#43516b;margin:0 0 15px;padding-left:5px}.request-next-steps strong{color:#111b2b}#project-form{scroll-margin-top:115px}
