:root{--olive:#354775;--ink:#242A1C;--cream:#FAFAF7;--paper:#FFFEFA;--oak:#C5A68B}
.brand-lockup{max-width:264px;min-width:0}
.brand-lockup>span:last-child{font-size:20px!important;line-height:1.12;max-width:204px;letter-spacing:-.025em!important}
.brand-lockup>span:first-child{flex-shrink:0}
.form-label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;color:var(--ink)}
.file-control{position:relative}
.photo-input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.file-choice{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid #7D826B;border-radius:10px;background:#EEEAE3;color:#242A1C;font-weight:600;cursor:pointer}
.file-control:focus-within .file-choice{outline:3px solid #354775;outline-offset:3px}
.form-hint{margin:0;font-size:13px;line-height:1.5;color:#535B45}
.consent-label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#46503A}
.consent-label input{appearance:auto;accent-color:var(--olive);width:20px!important;height:20px;min-width:20px!important;flex:0 0 20px;margin:1px 0 0}
.consent-label a{text-decoration:underline;text-underline-offset:3px}
input,textarea,select{scroll-margin:24px}
.inner-page>main>section{box-sizing:border-box}
@media(max-width:767px){.inner-page>main>section{padding-left:16px!important;padding-right:16px!important}.inner-page>main>section[style*="display: flex"]{gap:28px!important;padding-top:32px!important;padding-bottom:40px!important}}
input::file-selector-button{border:1px solid #7D826B;border-radius:6px;background:#EEEAE3;color:#242A1C;padding:7px 10px;margin-right:8px;font:inherit;cursor:pointer}
.dialog-whatsapp{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:10px;padding:8px 14px;background:var(--olive);color:var(--paper);font-weight:600;text-decoration:none;margin:16px 0}
.dialog-whatsapp:hover{background:#354775;color:var(--paper)}
button:disabled{cursor:wait;opacity:.7}
.quote-dialog{width:min(640px,calc(100vw - 32px));max-width:640px;max-height:calc(100dvh - 32px);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;border:1px solid #DAD4C4;border-radius:20px;padding:28px;background:#FFFEFA;color:#242A1C;font:16px/1.5 Inter,system-ui,sans-serif;box-shadow:0 20px 80px rgba(36,42,28,.22)}
.quote-dialog::backdrop{background:rgba(36,42,28,.58)}
.quote-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;position:sticky;top:0;background:#FFFEFA;z-index:1}
.quote-dialog-header h2{font:800 28px/1.12 Archivo,sans-serif;letter-spacing:-.02em;margin:0 0 8px}
.quote-dialog-close{flex:0 0 44px;width:44px;height:44px;border:1px solid #7D826B;border-radius:10px;background:#FAFAF7;color:#242A1C;font:400 30px/1 Inter,sans-serif;cursor:pointer}
.quote-summary{padding:12px 14px;border-radius:10px;background:#EEEAE3;color:#354775;font-size:14px;margin:0 0 20px;overflow-wrap:anywhere}
.quote-contact-form{display:flex;flex-direction:column;gap:18px}
.quote-contact-form>button[type=submit],.open-quote-button{min-height:52px;border:1.5px solid #354775;border-radius:12px;background:#FFFEFA;color:#354775;font:600 17px/1.3 Inter,system-ui,sans-serif;padding:12px 18px;cursor:pointer}
.open-quote-button{width:100%}
.open-quote-button:hover,.quote-contact-form>button[type=submit]:hover{background:#EEEAE3}
html.quote-dialog-open{overflow:hidden}
@media(max-width:767px){.quote-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:22px 18px;border-radius:18px}.quote-dialog-header h2{font-size:25px}.quote-picker [data-whatsapp]{font-size:16px!important;padding:10px 14px;box-sizing:border-box;text-align:center}.quote-contact-form input,.quote-contact-form textarea,.quote-contact-form select{font-size:16px!important;min-width:0}.quote-dialog-close{flex-basis:44px}}
.prototype-dialog button{border:1px solid #7D826B}
[role=img]{background-image:linear-gradient(115deg,rgba(255,254,250,.28),transparent 58%),repeating-linear-gradient(90deg,rgba(93,66,34,.025) 0 2px,transparent 2px 24px)!important}
@media(max-width:767px){.brand-lockup{max-width:246px}.brand-lockup>span:last-child{font-size:18px!important;max-width:184px}.consent-label input{width:20px!important;min-height:20px!important}.project-fields input[type=file]{font-size:13px!important}.mobile-version form>button[type=submit]{min-height:48px;width:100%}.mobile-version form>label input{min-width:0;width:100%;box-sizing:border-box}}
.open-quote-button{scroll-margin-bottom:110px;scroll-margin-top:90px}
/* Text-only workshop wordmark and aligned values. */
a.brand-lockup{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px!important;max-width:245px;flex-shrink:0}
a.brand-lockup>.wordmark-prefix{font:600 10px/1.2 Inter,system-ui,sans-serif!important;letter-spacing:.2em!important;text-transform:uppercase;max-width:none;color:#354775}
a.brand-lockup>.wordmark-name{font:italic 600 28px/1.12 Georgia,'Times New Roman',serif!important;letter-spacing:-.035em!important;max-width:none;color:#242A1C;white-space:nowrap}
.work-values{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important;align-items:start!important}
.work-value{display:flex;flex-direction:column;gap:7px;padding-top:16px;min-width:0}
.work-value strong{font:800 23px/1.15 Archivo,sans-serif;letter-spacing:-.02em}
.work-value p{margin:0;font:400 14px/1.55 Inter,system-ui,sans-serif;color:#46503A;max-width:30ch}
@media(max-width:767px){a.brand-lockup>.wordmark-prefix{font-size:9px!important}a.brand-lockup>.wordmark-name{font-size:25px!important}.work-values{gap:16px!important}.work-value strong{font-size:21px}}
.contact-form-section{max-width:1240px;margin:0 auto;padding:0 24px 88px;box-sizing:border-box}
.contact-form-card{max-width:680px;background:#FFFEFA;border:1px solid #DAD4C4;border-radius:20px;padding:32px;box-shadow:0 12px 40px rgba(36,42,28,.06)}
.contact-form-card h2{font:800 28px/1.15 Archivo,sans-serif;margin:0 0 12px;letter-spacing:-.02em}
.contact-form-card>.form-hint{margin-bottom:24px}.contact-email{overflow-wrap:anywhere;text-underline-offset:3px}
.whatsapp-bridge{margin:0;background:#FAFAF7;color:#242A1C;font:16px/1.6 system-ui,sans-serif;min-height:100dvh;display:grid;place-items:center}
.whatsapp-bridge main{box-sizing:border-box;max-width:580px;margin:24px;padding:32px;border:1px solid #DAD4C4;border-radius:20px;background:#FFFEFA}
.whatsapp-bridge a{color:#354775}.bridge-brand{font:italic 600 24px Georgia,serif}
@media(max-width:767px){.contact-form-section{padding:0 16px 40px}.contact-form-card{padding:24px 18px}.contact-form-card h2{font-size:25px}}
.contact-form-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:start}
.contact-form-layout .contact-form-card{max-width:none;min-width:0}
.contact-details{display:flex;flex-direction:column;gap:16px;min-width:0}
.contact-details>div{min-width:0;box-sizing:border-box}
@media(max-width:900px){.contact-form-layout{grid-template-columns:minmax(0,1fr)}.contact-form-layout .contact-form-card{max-width:none}}
.contact-address{line-height:1.6}.appointment-note{margin:4px 0 0;color:#354775;font-size:14px;font-weight:600;line-height:1.5}
.footer-contact-details{display:flex;flex-direction:column;gap:8px;margin-top:12px;font-size:13px;line-height:1.6;min-width:0;max-width:100%}
.footer-contact-details address{font-style:normal}.footer-contact-details p{margin:0}.footer-contact-details a{color:inherit;overflow-wrap:anywhere;text-underline-offset:3px}
.compact-service-catalog{gap:24px!important;padding-top:32px!important;padding-bottom:40px!important}
.compact-service-catalog>h2{font-size:clamp(27px,2.6vw,34px)!important;margin-bottom:4px!important}
.catalog-group{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start}
.catalog-group-title{margin:0;padding-top:16px;font:700 20px/1.25 Archivo,sans-serif;letter-spacing:-.02em}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.catalog-service-card{position:relative;padding:15px 17px;border-radius:12px;border:1px solid #DAD4C4;background:#FFFEFA;display:flex;flex-direction:column;gap:6px;min-width:0}
.catalog-service-card h4{font:700 18px/1.3 Archivo,sans-serif;margin:0;letter-spacing:-.015em}
.catalog-service-card h4 a{display:flex;gap:12px;justify-content:space-between;color:#242A1C!important;text-decoration:none}
.catalog-service-card h4 a::after{content:'';position:absolute;inset:0;border-radius:12px}
.catalog-service-card:hover{border-color:#7D826B;background:#F4F5EC}
.catalog-service-card h4 a:focus-visible{outline:none}.catalog-service-card h4 a:focus-visible::after{outline:3px solid #354775;outline-offset:3px}
.catalog-service-card p{font-size:14px!important;line-height:1.45!important}.catalog-arrow{flex-shrink:0;color:#354775;font-size:18px;font-weight:400}
.extra-service-picker{gap:8px}
@media(max-width:900px){.catalog-group{grid-template-columns:minmax(0,1fr);gap:12px}.catalog-group-title{padding-top:0}}
@media(max-width:600px){.catalog-grid{grid-template-columns:minmax(0,1fr);gap:8px}.catalog-service-card{padding:14px 15px}.catalog-service-card h4{font-size:17px}.catalog-group-title{font-size:20px}.compact-service-catalog{gap:24px!important}}
.home-services{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:64px 24px;display:flex;flex-direction:column;gap:26px}
.home-services-heading{display:flex;flex-direction:column;gap:12px}.home-services-heading h2{margin:0;font:800 clamp(28px,3vw,40px)/1.12 Archivo,sans-serif;letter-spacing:-.03em}
.home-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-service-tile{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid #DAD4C4;border-radius:16px;background:#FFFEFA;color:#242A1C;text-decoration:none;min-width:0;transition:background .15s,border-color .15s}
.home-service-tile:hover{background:#EEEAE3;border-color:#7D826B}.home-service-tile:focus-visible{outline:3px solid #354775;outline-offset:3px}
.tile-top{display:flex;justify-content:space-between;align-items:center;color:#354775}.tile-top>span{font:400 21px/1 Inter,sans-serif}
.home-service-tile h3{margin:0;font:700 20px/1.2 Archivo,sans-serif;letter-spacing:-.02em}.home-service-tile p{font-size:14px!important;line-height:1.5!important}
.all-services-button{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1.5px solid #354775;border-radius:10px;color:#354775;font-weight:600;text-decoration:none}.all-services-button:hover{background:#EEEAE3}
@media(max-width:1000px){.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.home-services{padding:36px 16px;gap:22px}.home-service-grid{gap:10px}.home-service-tile{padding:16px 14px;gap:10px;border-radius:12px}.home-service-tile h3{font-size:17px}.home-service-tile p{font-size:13px!important;line-height:1.45!important}.all-services-button{align-self:stretch}.home-services-heading h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.home-service-tile{transition:none}}
.location-directory,.location-scope,.location-related,.location-faq{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;gap:20px}
.location-directory>h2,.location-scope>h2,.location-related>h2,.location-faq>h2,.location-enquiry-context>h2{margin:0;font:800 clamp(26px,2.8vw,36px)/1.15 Archivo,sans-serif;letter-spacing:-.025em}
.location-directory-intro,.location-scope>p,.location-related>p{margin:0;max-width:820px;color:#46503A;line-height:1.6}
.location-search{max-width:600px;gap:10px}.location-search input{width:100%;min-height:52px;padding:12px 15px;border:1.5px solid #7D826B;border-radius:10px;background:#FFFEFA;color:#242A1C;font:16px Inter,system-ui,sans-serif;box-sizing:border-box}
.location-results{margin:0;font-size:14px;color:#535B45}.location-group{padding:26px 0;border-top:1px solid #DAD4C4}.location-group-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.location-group-number{font:600 13px/1.5 Inter,sans-serif;color:#354775;padding-top:3px}.location-group-heading h3{margin:0;font:700 24px/1.2 Archivo,sans-serif;letter-spacing:-.02em}.location-group-heading p{margin:6px 0 0;color:#535B45;font-size:14px}.location-group-count{margin-left:auto;white-space:nowrap;font-size:13px;color:#535B45}
.location-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.location-link{min-height:46px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:1px solid #DAD4C4;border-radius:10px;background:#FFFEFA;color:#242A1C;text-decoration:none;font-size:14px;font-weight:600;line-height:1.35;min-width:0}.location-link:hover{background:#EEEAE3;border-color:#7D826B}.location-link span{color:#354775;flex-shrink:0}.location-empty{padding:20px;border:1px solid #DAD4C4;border-radius:12px;background:#FFFEFA;color:#46503A}.location-empty a{color:#354775}
.location-hero{padding-bottom:32px!important}.location-coverage{margin:0;font-size:15px;line-height:1.6;color:#46503A;border-left:3px solid #354775;padding-left:15px;max-width:800px}
.location-enquiry-section{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:24px 24px 56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.location-enquiry-context{display:flex;flex-direction:column;gap:20px}.location-enquiry-context>p{margin:0;color:#46503A;line-height:1.6}.location-enquiry-card{border:1px solid #DAD4C4;border-radius:20px;background:#FFFEFA;padding:28px;min-width:0}.location-facts{display:grid;grid-template-columns:1fr;gap:5px;margin:0}.location-facts dt{font-size:13px;color:#535B45}.location-facts dd{margin:0 0 12px;font-size:16px;font-weight:600;color:#242A1C}.location-scope-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.location-scope-links>a:last-child{color:#354775;font-weight:600;text-underline-offset:3px}.location-related .location-links{grid-template-columns:repeat(3,minmax(0,1fr))}.location-faq{padding-bottom:64px}.location-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.location-faq-grid h3{font:700 19px/1.3 Archivo,sans-serif;margin:0 0 10px}.location-faq-grid p{margin:0;color:#46503A;line-height:1.6;font-size:15px}
@media(max-width:1000px){.location-links{grid-template-columns:repeat(3,minmax(0,1fr))}.location-enquiry-section{gap:24px}}
@media(max-width:767px){.location-directory,.location-scope,.location-related,.location-faq{padding:30px 16px}.location-links{grid-template-columns:repeat(2,minmax(0,1fr))}.location-group-heading{flex-wrap:wrap;gap:10px}.location-group-heading h3{font-size:21px}.location-group-heading>div{flex:1;min-width:180px}.location-group-count{margin-left:25px}.location-enquiry-section{grid-template-columns:minmax(0,1fr);padding:16px 16px 36px}.location-enquiry-card{padding:22px 18px}.location-related .location-links,.location-faq-grid{grid-template-columns:minmax(0,1fr)}.location-link{font-size:13px;padding:11px}.location-directory>h2{font-size:27px}}
.location-home-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;line-height:1.5;color:#535B45}.location-home-breadcrumb a{color:#354775;font-weight:600;text-underline-offset:3px}
.location-home-coverage{margin:0!important;padding-left:13px;border-left:3px solid #354775;font-size:14px!important;line-height:1.55;color:#46503A;max-width:600px}
.home-related-locations{display:flex;flex-direction:column;gap:14px;padding-top:14px}.home-related-locations h3{margin:0;font:700 20px/1.25 Archivo,sans-serif;letter-spacing:-.02em}
@media(max-width:767px){.home-related-locations .location-links{grid-template-columns:repeat(2,minmax(0,1fr))}.location-home-breadcrumb{font-size:12px}}
.local-budget-intro{margin:0;color:#46503A;font-size:16px;line-height:1.6;max-width:800px}

.generated-photo .photo-caption{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);padding:6px 9px;border-radius:8px;background:rgba(255,253,247,.96);color:#303923;font:500 11px/1.4 Inter,system-ui,sans-serif;z-index:1}.price-photo-layout{display:flex;flex-wrap:wrap;align-items:center;gap:36px}.generated-photo{isolation:isolate}@media(max-width:700px){.price-photo-layout{gap:24px}.price-photo-layout>.generated-photo{flex-basis:100%!important;height:240px!important}}

.network-planning-note{font-size:15px;line-height:1.6;color:#46503A;max-width:680px}.wordmark-name{font-family:Georgia,serif!important}

.location-link .location-link-label{min-width:0;flex:1;color:inherit;overflow-wrap:anywhere}.location-geography-sources{font-size:14px;line-height:1.6}.location-geography-sources a{overflow-wrap:anywhere}.location-home-coverage a{color:inherit;text-underline-offset:3px}
