:root{--ink:#111c25;--navy:#102c45;--midnight:#07131d;--teal:#007c7a;--aqua:#8de0dc;--gold:#f6b10a;--ember:#ee6f27;--paper:#eef4f5;--white:#fff;--line:#c7d5d9;--max:1200px;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);font-size:17px;line-height:1.65}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:99;background:var(--gold);padding:12px;color:#111}
.top{background:var(--midnight);color:#dce9ec;font-size:.82rem}
.top .wrap{min-height:32px;display:flex;align-items:center;justify-content:space-between}
.header{position:sticky;top:0;z-index:30;background:#0b1a26;border-bottom:3px solid var(--gold);color:#fff}
.header-inner{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:1.05rem;font-weight:900;letter-spacing:.16em}
.brand img{width:58px;height:58px;object-fit:contain}
.brand-name{white-space:nowrap}
.nav{display:flex;align-items:center;gap:17px;font-size:.88rem;font-weight:700}
.nav a{text-decoration:none}
.nav a:hover,.nav a:focus,.nav a[aria-current]{color:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border-radius:5px;text-decoration:none;font-weight:850;letter-spacing:.02em;transition:transform .16s,box-shadow .16s}
.button:hover,.button:focus{transform:translateY(-3px);box-shadow:0 8px 0 #0005}
.primary{background:var(--gold);color:#12110d}
.secondary{border:1px solid #c5d6d8;color:#fff}
.hero{position:relative;isolation:isolate;overflow:hidden;padding:105px 0 90px;background:var(--midnight);color:#fff}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#07131df5 15%,#07131dab 48%,#07131d55),url('/assets/hero-decorative.jpg');background-size:cover;background-position:center}
.hero:after{content:"MEL ONE";position:absolute;right:-.04em;bottom:-.36em;z-index:-1;color:#fff1;font-size:clamp(7rem,21vw,20rem);font-weight:900;letter-spacing:-.1em}
.eyebrow{color:var(--teal);font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px}
.hero .eyebrow{color:var(--gold)}
h1,h2,h3{line-height:1.04;letter-spacing:-.04em;margin:0 0 17px}
h1{font-size:clamp(2.7rem,6.4vw,5.35rem);max-width:790px}
h2{font-size:clamp(2rem,4vw,3.55rem)}
h3{font-size:1.3rem}
.lede{max-width:690px;font-size:1.17rem;color:#e3ecee}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.section{padding:88px 0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:34px}
.section-heading>p{max-width:510px;margin:0;color:#41545f}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);padding:25px;box-shadow:0 14px 28px #0b27300b;transition:transform .18s,box-shadow .18s}
.card:before{content:"";display:block;width:44px;height:4px;background:var(--gold);margin-bottom:20px}
.card:nth-child(3n+2):before{background:var(--teal)}
.card:nth-child(3n):before{background:var(--ember)}
.card:hover{transform:translateY(-5px);box-shadow:0 22px 34px #0b273025}
.card a{font-weight:850;text-decoration-thickness:2px}
.band{background:linear-gradient(135deg,var(--navy),var(--midnight));color:#fff;position:relative;overflow:hidden}
.band:after{content:"";position:absolute;right:-80px;top:-90px;width:390px;height:390px;border:1px solid var(--gold);transform:rotate(42deg)}
.band .wrap{position:relative;z-index:1}
.band .eyebrow{color:var(--aqua)}
.steps,.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step,.scope-grid article{border-top:3px solid var(--gold);padding:20px 6px}
.step:nth-child(2),.scope-grid article:nth-child(2){border-color:var(--aqua)}
.step:nth-child(3),.scope-grid article:nth-child(3){border-color:var(--ember)}
.num{font-weight:900;color:var(--gold)}
.areas{background:#d6e8e9}
.page-intro{padding:70px 0 45px;background:linear-gradient(120deg,#d5ebec,#f7fafb 58%,#f3cb6a)}
.crumbs{padding-top:16px;font-size:.86rem}
.article{max-width:790px}
.article h2{margin-top:44px}
.article p,.article li{color:#30424c}
.callout{border-left:5px solid var(--gold);background:#fff7dc;padding:18px 21px;margin:25px 0}
.form{align-self:start;background:#fff;padding:28px;border-top:5px solid var(--gold);box-shadow:0 15px 34px #0b273018}
.form h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2;max-width:24ch}
.form label{display:block;font-weight:800;margin:15px 0 4px}
.form input,.form select,.form textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #8ca0a8;border-radius:4px;background:#fbfdfd}
.two{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.photo-slot{border:2px dashed #789199;background:repeating-linear-gradient(135deg,#e1ecee,#e1ecee 10px,#eef4f5 10px,#eef4f5 20px);min-height:215px;padding:24px;display:flex;align-items:end;margin:30px 0}
.locality-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:28px 0}
.locality-button{padding:10px 8px;background:#fff;border:1px solid #a8bec4;text-align:center;text-decoration:none;font-size:.88rem;font-weight:800}
.locality-button:hover,.locality-button:focus{background:var(--gold);border-color:var(--gold);outline:2px solid var(--midnight);outline-offset:2px}
.area-note{font-size:1.1rem;font-weight:700}
.scope-matrix{padding:75px 0;background:#e7f0f0}
.knowledge-rail{padding:70px 0;background:var(--midnight);color:#fff}
.knowledge-rail .eyebrow{color:var(--gold)}
.footer{background:var(--midnight);color:#d8e5e7;padding:60px 0 90px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}
.footer a{display:block;margin:7px 0}
.mobile{display:none}
@media(max-width:900px){.header-inner{flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 0}
.nav{max-width:100%;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.78rem}
.nav .button{min-height:38px;padding:7px 11px}
.grid,.steps,.scope-grid{grid-template-columns:1fr 1fr}
.locality-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:620px){.nav{display:none}
body{font-size:16px}
.top span:first-child{display:none}
.hero{padding:70px 0}
.section{padding:60px 0}
.grid,.steps,.scope-grid,.two,.footer-grid{grid-template-columns:1fr}
.section-heading{display:block}
.section-heading>p{margin-top:14px}
.locality-grid{grid-template-columns:repeat(2,1fr)}
.mobile{display:flex;gap:8px;position:fixed;z-index:40;bottom:0;left:0;right:0;padding:8px;background:#07131d}
.mobile a{flex:1;text-align:center;padding:10px;color:#fff;text-decoration:none;font-weight:900}
.mobile a:last-child{color:#111;background:var(--gold)}
.footer{padding-bottom:120px}
}

.area-browser{padding:70px 0}
.search-label{display:block;font-size:1.05rem;font-weight:900;margin-bottom:8px}
.area-browser input{width:min(100%,620px);font:inherit;padding:15px;border:2px solid var(--navy);background:#fff}
.district-group{margin:38px 0}
.district-group h2{font-size:1.55rem;padding-bottom:10px;border-bottom:3px solid var(--gold)}
.service-detail,.guide-detail{margin-top:42px;padding-top:35px;border-top:2px solid var(--teal)}
.contact-callout{margin-top:28px;padding:18px;border-left:5px solid var(--ember);background:#fff1d8}
.locality-button[hidden],.district-group[hidden]{display:none}
.hero-slides{position:absolute;inset:0;z-index:-2}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s ease}
.hero-slide.is-active{opacity:1}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07131df4 12%,#07131da8 52%,#07131d35)}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-controls{position:absolute;z-index:3;right:max(20px,calc((100% - var(--max))/2));bottom:22px;display:flex;gap:6px}
.hero-controls button{min-height:38px;border:1px solid #ffffff80;background:#07131dc9;color:#fff;padding:7px 11px;font:inherit;font-weight:800;cursor:pointer}
.hero-controls button:hover,.hero-controls button:focus{background:var(--gold);color:#111}
@media(max-width:620px){.hero-slide:not(:first-child),.hero-controls{display:none}
.hero-slide{transition:none}
.hero-slide:first-child{opacity:1}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}
}
.service-card-image{margin:-25px -25px 21px;aspect-ratio:1.45;overflow:hidden;background:#193243}
.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .service-card-image img{transform:scale(1.045)}
@media(max-width:620px){.service-card-image{margin:-25px -25px 19px;aspect-ratio:1.35}
}


.service-hero{padding-bottom:2rem}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.service-hero h1{max-width:14ch}
.service-hero-image,.case-study figure{margin:0}
.service-hero-image img,.case-study img{display:block;width:100%;height:100%;object-fit:cover;border-radius:1.1rem}
.service-hero-image figcaption{margin-top:.75rem;color:#405662;font-size:.92rem}
.service-proof{max-width:58ch;margin-top:1.2rem;color:var(--ink)}
.service-story{max-width:930px}
.service-story>h2{max-width:28ch;margin-top:clamp(3.5rem,7vw,6rem)}
.service-story>p{max-width:74ch;font-size:1.08rem}
.service-list,.service-steps{max-width:78ch;display:grid;gap:1rem;padding-left:1.25rem}
.service-list li,.service-steps li{padding-left:.35rem}
.case-study{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;margin-top:clamp(3.5rem,7vw,6rem);padding:clamp(1.5rem,4vw,3rem);background:#fff;border-top:5px solid var(--gold)}
.case-study h2,.service-booking h2{max-width:24ch}
.service-booking{margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(2rem,5vw,4rem);border-top:1px solid var(--line)}
.related-services{margin-top:1.5rem}
@media(max-width:760px){.service-hero-grid,.case-study{grid-template-columns:1fr}
.service-hero h1,.service-story>h2,.case-study h2,.service-booking h2{max-width:none}
}


/* Real project photography: image, readable overlay, then copy and controls. */
.hero-slides{z-index:0}

.hero:before{display:none}

.hero .wrap{position:relative;z-index:2}

.hero-controls{z-index:3}


.detail-evidence{margin:30px 0 38px;border:1px solid #b8c5cc;background:#fff;box-shadow:0 18px 38px rgba(7,19,29,.12);overflow:hidden}
.detail-evidence img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;background:#d7e0e4}
.detail-evidence figcaption{padding:20px 23px 22px;background:linear-gradient(135deg,#fff 0%,#f1f7f8 100%);border-top:4px solid var(--gold)}
.detail-evidence strong{display:block;font-family:var(--heading);font-size:1.25rem;color:var(--navy);margin:4px 0 7px}
.detail-evidence p{max-width:74ch;margin:0;color:#344b59}
.evidence-label{font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#a9441f}
@media(max-width:620px){.detail-evidence{margin:24px 0 30px}
.detail-evidence img{aspect-ratio:1/1;object-position:center}
.detail-evidence figcaption{padding:17px}
}


.workflow-steps{margin-top:30px}
.workflow-step{padding:0;border:1px solid #ffffff3b;background:#071d2add;overflow:hidden}
.workflow-step:nth-child(1){border-top:4px solid var(--gold)}
.workflow-step:nth-child(2){border-top:4px solid var(--aqua)}
.workflow-step:nth-child(3){border-top:4px solid var(--ember)}
.process-image{margin:0;aspect-ratio:1/1;overflow:hidden;background:#173142}
.process-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.workflow-copy{padding:19px 20px 22px}
.workflow-copy h3{margin:7px 0 9px;color:#fff}
.workflow-copy p{margin:0;color:#d9e7e9}
.workflow-note{max-width:76ch;margin:28px 0 0;color:#d9e7e9;font-size:.93rem}
@media(max-width:900px){.workflow-step:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.workflow-step:last-child .process-image{aspect-ratio:16/9}
}
@media(max-width:620px){.workflow-step:last-child{display:block}
.workflow-step:last-child .process-image{aspect-ratio:1/1}
.workflow-copy{padding:17px}
}


.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:0 0 47px}
.about-photo{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px rgba(7,19,29,.11);overflow:hidden}
.about-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.about-photo figcaption{padding:15px 17px 17px;border-top:4px solid var(--gold)}
.about-photo:last-child figcaption{border-color:var(--teal)}
.about-photo strong{display:block;font-family:var(--heading);font-size:1.08rem;color:var(--navy);margin-bottom:4px}
.about-photo span{display:block;font-size:.91rem;line-height:1.5;color:#405662}
@media(max-width:620px){.about-gallery{grid-template-columns:1fr;margin-bottom:34px}
.about-photo img{aspect-ratio:1.2/1;object-position:center}
.about-photo figcaption{padding:14px}
}


.case-study{margin:52px 0 0;padding:30px;background:linear-gradient(135deg,#e7f1f2,#fff);border-top:5px solid var(--gold)}
.case-study-copy{max-width:74ch}
.case-study-copy h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-bottom:12px}
.case-study-image{margin:25px 0 0;border:1px solid var(--line);background:#fff}
.case-study-image img{display:block;width:100%;aspect-ratio:1.33/1;object-fit:cover}
.case-study-image figcaption{padding:11px 14px;font-size:.85rem;color:#405662}
@media(max-width:620px){.case-study{margin-top:38px;padding:21px}
.case-study-image img{aspect-ratio:1/1;object-fit:cover}
}


.guide-cover{margin:0 0 28px;border:1px solid var(--line);background:#fff;overflow:hidden}
.guide-cover img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;object-position:center}
.guide-cover figcaption{padding:12px 15px;border-top:3px solid var(--teal);font-size:.9rem;line-height:1.5;color:#405662}
.card .guide-cover{margin:-25px -25px 20px;border:0;border-bottom:3px solid var(--gold)}
.card .guide-cover figcaption{display:none}
.card .guide-cover img{aspect-ratio:1.5/1}
.card:hover .guide-cover img{transform:scale(1.045)}
@media(max-width:620px){.guide-cover img{aspect-ratio:1.15/1}
.card .guide-cover{margin:-25px -25px 19px}
.card .guide-cover img{aspect-ratio:1.35/1}
}


.news-cover{margin:0 0 28px;border:1px solid var(--line);background:#fff;overflow:hidden}
.news-cover img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;object-position:center}
.news-cover figcaption{padding:12px 15px;border-top:3px solid var(--ember);font-size:.9rem;line-height:1.5;color:#405662}
.card .news-cover{margin:-25px -25px 20px;border:0;border-bottom:3px solid var(--ember)}
.card .news-cover figcaption{display:none}
.card .news-cover img{aspect-ratio:1.5/1}
.card:hover .news-cover img{transform:scale(1.045)}
@media(max-width:620px){.news-cover img{aspect-ratio:1.15/1}
.card .news-cover{margin:-25px -25px 19px}
.card .news-cover img{aspect-ratio:1.35/1}
}


.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{min-height:1.6em;margin:14px 0 0;font-weight:700}
.form-status[data-state="success"]{color:#126a69}
.form-status[data-state="error"]{color:#a32828}
.form-status[data-state="pending"]{color:#51606b}
.form button[disabled]{opacity:.65;cursor:wait}


.office-map{background:#edf5f7}
.office-map .wrap{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:36px;align-items:center}
.office-map-copy{padding:18px 0}
.office-map h2{margin:8px 0 14px;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.2}
.office-map p{max-width:48ch}
.office-map address{font-style:normal;font-weight:700;margin:20px 0}
.office-map-frame{overflow:hidden;border:1px solid #c9dce1;border-radius:18px;background:#dcecf0;box-shadow:0 14px 32px rgba(14,42,58,.12)}
.office-map-frame iframe{display:block;width:100%;height:380px;border:0}
@media(max-width:760px){.office-map .wrap{grid-template-columns:1fr;gap:20px}
.office-map-frame iframe{height:310px}
}


.about-article{max-width:980px}
.about-intro{max-width:75ch}
.about-intro,.about-workflow,.about-priorities,.about-prep,.about-faq{margin-top:36px}
.about-credentials{margin-top:54px;padding:32px;background:linear-gradient(135deg,#e7f1f2,#fff);border-top:5px solid var(--teal)}
.about-credentials h2{max-width:20ch}
.about-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:26px 0}
.about-facts div{padding:15px 0;border-top:1px solid #b8cbd0}
.about-facts dt{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#45616e}
.about-facts dd{margin:5px 0 0;font-weight:750;color:var(--navy)}
.about-note{max-width:70ch;padding:17px 19px;background:#fff;border-left:4px solid var(--gold)}
.text-link{font-weight:850;text-underline-offset:4px}
.about-faq details{margin:10px 0;background:#fff;border:1px solid var(--line);padding:0 19px}
.about-faq summary{padding:17px 28px 17px 0;font-weight:850;cursor:pointer;color:var(--navy)}
.about-faq details p{padding-bottom:17px;margin:0}
.about-contact{margin-top:56px;padding:35px;background:var(--midnight);color:#fff;border-top:5px solid var(--gold)}
.about-contact .eyebrow{color:var(--aqua)}
.about-contact p{max-width:62ch;color:#d8e5e7}
.about-contact .secondary-dark{border:1px solid #bcd0d4;color:#fff}
.about-contact-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:9px 16px;margin:25px 0 0;font-weight:700;line-height:1.55}
.about-contact-details dt{color:var(--aqua);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.about-contact-details dd{margin:0;overflow-wrap:anywhere}
.about-contact-details a{color:#fff;text-decoration-color:var(--aqua);text-underline-offset:3px}
@media(max-width:620px){.about-intro,.about-workflow,.about-priorities,.about-prep,.about-faq{margin-top:40px}
.about-credentials,.about-contact{margin-top:40px;padding:24px 20px}
.about-facts{grid-template-columns:1fr;gap:0}
.about-faq details{padding:0 15px}
}



.contact-details{align-self:start;overflow-wrap:anywhere}
.contact-details h2{font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.2;max-width:25ch}
.contact-team-photo{margin:28px 0 0;overflow:hidden;background:var(--navy);border-top:4px solid var(--teal)}
.contact-team-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.contact-team-photo figcaption{padding:12px 15px;color:#fff;font-size:.92rem;font-weight:800;letter-spacing:.02em}
@media(max-width:760px){.contact-team-photo{max-width:560px}
.contact-team-photo img{aspect-ratio:16/9}
}


.local-trust{margin:34px 0;padding:30px;background:linear-gradient(135deg,#092333,#102f46);border-top:5px solid var(--gold);color:#fff}
.local-trust h2{max-width:22ch;font-size:clamp(1.8rem,3.2vw,2.75rem)}
.local-trust .eyebrow{color:var(--aqua)}
.local-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 20px}
.local-trust-grid article{padding:16px;background:#ffffff10;border:1px solid #ffffff2b}
.local-trust-grid strong{display:block;color:var(--gold);font-size:1.28rem;line-height:1.15}
.local-trust-grid span{display:block;margin-top:8px;color:#dbe9ec;font-size:.93rem;line-height:1.45}
.local-trust-note{margin:0!important;color:#fff!important;line-height:1.6}
.local-trust-note a{color:#fff;text-underline-offset:3px;text-decoration-color:var(--aqua)}
@media(max-width:760px){.local-trust{padding:24px 20px}
.local-trust-grid{grid-template-columns:1fr}
}


/* Light page introductions need dark body copy and a visible outline CTA. */
.lede{color:#243f4b}
.secondary{background:#fff;color:#102c45;border-color:#274e5e}
.hero .lede{color:#e3ecee}
.hero .secondary,.band .secondary,.knowledge-rail .secondary,.about-contact .secondary{background:transparent;color:#fff;border-color:#c5d6d8}
.secondary:hover,.secondary:focus{background:#f5b007;color:#111c25;border-color:#f5b007}
.page-intro .eyebrow{color:#005f63}


/* Gold is reserved for dark panels; a deeper amber keeps process numbers readable on pale content panels. */
.num{color:#8b5600}
.band .num{color:var(--gold)}


.intent-summary{margin-top:48px;padding:30px;background:#fff;border-top:4px solid var(--teal)}
.intent-summary h2{font-size:clamp(1.65rem,3vw,2.4rem);max-width:28ch}
.intent-summary p{max-width:74ch}
.intent-summary a{font-weight:800;text-underline-offset:3px}


.footer-identity{margin-top:24px;padding-top:18px;border-top:1px solid #3b5663;color:#d8e5e7}
.footer-identity p{margin:0 0 8px}

.article table{width:100%;border-collapse:collapse;table-layout:fixed;margin:1.5rem 0;background:#fff;font-size:.94rem;line-height:1.45}
.article caption{text-align:left;font-weight:800;color:var(--navy);margin-bottom:.5rem}
.article th,.article td{padding:.8rem;border:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.article thead th{background:#dcebed;color:var(--navy)}
.article tbody th{width:30%;text-align:left;color:var(--navy)}
@media(max-width:620px){.article table{font-size:.83rem}
.article th,.article td{padding:.5rem}
}


/* Enquiry controls share the established gold, ink and native field styling. */
.nav .button.primary,.nav .button.primary:hover,.nav .button.primary:focus,.nav .button.primary[aria-current]{color:var(--ink);background:var(--gold)}

.nav .button.primary:focus-visible{outline:3px solid var(--white);outline-offset:4px}

.form :is(input,select,textarea):focus-visible,.form button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

/* The document owns sticky-header clearance; targets add only a small reading gap. */
#service-form,.form :is(input,select,textarea){scroll-margin-top:16px}

.form .two{align-items:start}

.form-field{min-width:0}

.field-error{display:block;min-height:1.5em;color:#a32828;font-size:.88rem;font-weight:700;margin-top:4px}

.field-error[hidden]{visibility:hidden}

.form [aria-invalid="true"]{border:2px solid #a32828}

.form textarea{min-height:180px;resize:vertical}

.form button[type="submit"]{min-width:210px;cursor:pointer;margin-top:18px}

.form button:disabled{transform:none;box-shadow:none;cursor:wait}

.form-status{min-height:5em;overflow-wrap:anywhere}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.nav .button,.form button{transition:none;transform:none}
.nav .button:hover,.nav .button:focus,.form button:hover,.form button:focus{transform:none}
}


.service-grid-more{margin:32px 0 0;text-align:center}
.service-grid-more .button{min-width:250px}
.intent-guide{max-width:860px}
.intent-guide .lede{color:#30424c}
.guide-answer{margin-top:clamp(2.8rem,5vw,4.3rem);padding-top:1.2rem;border-top:1px solid var(--line)}
.guide-answer h2,.guide-conclusion h2{max-width:25ch;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.17;overflow-wrap:break-word}
.guide-answer p,.guide-conclusion p{max-width:72ch}
.guide-conclusion{margin-top:4rem;padding:1.4rem 1.6rem 1.7rem;background:#fff;border-left:5px solid var(--gold)}
@media(max-width:620px){.guide-conclusion{padding:1.2rem}
.service-grid-more .button{width:100%}
}


/* Field Notes: a restrained inspection-line motif built around real MEL ONE work. */
:root{--field-paper:#f5f7f4;--field-ink:#102532;--field-rule:#e4a514;--field-display:"Bahnschrift","Franklin Gothic Medium","Arial Narrow",Arial,sans-serif;--field-body:"Segoe UI",Arial,sans-serif}

body{font-family:var(--field-body)}

h1,h2,h3{font-family:var(--field-display);letter-spacing:-.025em;line-height:1.12}

.hero .wrap,.page-intro .wrap{border-left:5px solid var(--field-rule);padding-left:clamp(18px,3vw,34px)}

.hero h1{max-width:13ch}

.hero .lede{max-width:55ch}

.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.footer-grid>div:first-child>img,.footer-grid>div:first-child>picture>img{display:block;width:min(100%,190px);height:auto;background:#f7faf8;padding:10px;border-radius:5px;box-shadow:0 12px 32px #0003}

.field-notes{background:var(--midnight);color:#f3f7f4;overflow:hidden}

.field-notes-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:center}

.field-notes-copy{position:relative;padding:clamp(1rem,2vw,2rem) 0 clamp(1rem,2vw,2rem) clamp(1.5rem,3vw,2.8rem);border-left:4px solid var(--field-rule)}

.field-notes-copy:before,.field-notes-copy:after{content:"";position:absolute;left:-10px;width:16px;height:16px;border:3px solid var(--field-rule);background:var(--midnight);border-radius:50%}

.field-notes-copy:before{top:0}
.field-notes-copy:after{bottom:0}

.field-notes .eyebrow,.field-note-rail .eyebrow{color:var(--gold)}

.field-notes h2{max-width:12ch;font-size:clamp(2.4rem,4.6vw,4.4rem)}

.field-notes-copy p:not(.eyebrow){max-width:56ch;color:#d9e7e7}

.field-notes-photo{margin:0;background:#173441;transform:rotate(-1.2deg);box-shadow:18px 18px 0 #f6b10a33}

.field-notes-photo img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}

.field-notes-photo figcaption{display:flex;justify-content:space-between;gap:1rem;padding:14px 18px;font-weight:700;color:#edf6f4}

.field-notes-photo figcaption span,.field-note-marker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900;color:#ffd475}

.field-note-rail{background:#123043;color:#f3f7f4;border-top:4px solid var(--field-rule)}

.field-note-rail-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:32px;padding-bottom:32px}

.field-note-rail h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:.4rem}

.field-note-rail p:not(.eyebrow){max-width:65ch;margin:0;color:#d6e5e8}

.field-note-rail .button{flex:none}

.field-notes-page{max-width:1200px}

.field-notes-lead{max-width:780px;margin-bottom:clamp(3rem,6vw,5rem);padding-left:clamp(1.3rem,3vw,2.6rem);border-left:5px solid var(--field-rule)}

.field-notes-lead h2{font-size:clamp(2.2rem,4vw,3.8rem)}

.field-notes-lead p:last-child{font-size:1.1rem;max-width:69ch}

.field-note-stage{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-bottom:clamp(3rem,6vw,5rem);background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px #10253212}

.field-note-stage:nth-of-type(2){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}

.field-note-stage:nth-of-type(2) figure{order:2}

.field-note-stage figure{margin:0;align-self:stretch;min-height:330px;background:#d9e4e7}

.field-note-stage img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1.5}

.field-note-stage figcaption{padding:.65rem 1rem;background:#102532;color:#fff;font-size:.83rem;letter-spacing:.03em}

.field-note-stage-copy{padding:clamp(1rem,3vw,2.3rem);min-width:0}

.field-note-stage-copy .field-note-marker{color:#7c5100}

.field-note-stage-copy h2{font-size:clamp(1.75rem,2.9vw,2.8rem);overflow-wrap:break-word}

.field-note-stage-copy p{max-width:50ch}

.field-note-stage-copy a{font-weight:800;text-underline-offset:4px;color:#075e65}

.field-notes-next{padding:clamp(1.5rem,4vw,3rem);background:#102532;color:#fff;border-top:5px solid var(--gold)}

.field-notes-next .eyebrow{color:var(--gold)}

.field-notes-next h2{font-size:clamp(2rem,3.7vw,3.3rem)}

.field-notes-next p:not(.eyebrow){max-width:65ch;color:#e0edef}

.field-notes-next .secondary{color:#fff;background:transparent;border-color:#c5d6d8}

@media(max-width:800px){.field-notes-grid,.field-note-stage,.field-note-stage:nth-of-type(2){grid-template-columns:1fr}
.field-note-stage:nth-of-type(2) figure{order:0}
.field-note-stage figure{min-height:0}
.field-note-rail-inner{align-items:flex-start;flex-direction:column}
.field-notes-photo{transform:none;box-shadow:10px 10px 0 #f6b10a33}
}

@media(max-width:620px){.field-notes{padding-top:58px;padding-bottom:66px}
.field-notes h2{max-width:none}
.field-notes-photo figcaption{display:block}
.field-note-rail .button{width:100%}
.field-note-stage-copy{padding:1.35rem}
.hero .wrap,.page-intro .wrap{padding-left:18px}
.field-notes-page{padding-top:55px}
}

@media(max-width:620px){.mobile{align-items:stretch}
.mobile a{display:flex;align-items:center;justify-content:center;line-height:1.18;font-size:.82rem;padding:7px 4px;min-height:48px}
}

@media(prefers-reduced-motion:reduce){.button,.card,.service-card-image img,.hero-slide{transition:none!important}
}


.hero-response-note{max-width:660px;margin:12px 0 0;color:#f1f5f6;font-size:.96rem}

.areas-intro{max-width:680px;color:#40545f}

.area-service-grid{margin-top:26px}

.area-service-card{display:flex;flex-direction:column;align-items:flex-start;min-height:100%}

.area-service-card h3 a{text-decoration-thickness:1px;text-underline-offset:4px}

.area-service-card>p:not(.eyebrow){flex:1;color:#40545f}

.area-service-link{color:#006e6c;font-weight:800;text-underline-offset:4px}

.case-photo-request{margin:56px 0 0;padding:clamp(22px,4vw,38px);background:#fff;border:1px solid var(--line);border-radius:14px}

.case-photo-request>p:not(.eyebrow){max-width:76ch;color:#40545f}

.case-photo-grid{margin-top:22px}

.case-photo-grid figure{margin:0}

.case-photo-placeholder{aspect-ratio:3/2;display:grid;place-items:center;padding:18px;border:2px dashed #91a8ae;border-radius:12px;background:linear-gradient(145deg,#e7eff0,#f6f8f8);color:#40545f;text-align:center}

.case-photo-placeholder span{display:block;font-weight:900;letter-spacing:.08em}

.case-photo-placeholder small{display:block;margin-top:8px;font-weight:500;letter-spacing:normal}

.case-photo-grid figcaption{padding:10px 2px;color:#263943;font-weight:700}

.case-photo-note{margin-top:18px;font-size:.92rem}

@media(max-width:800px){.area-service-grid,.case-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:560px){.area-service-grid,.case-photo-grid{grid-template-columns:1fr}
}


/* Responsive wrappers preserve the existing image sizing and crop rules. */
.hero-slide>picture,.service-card-image>picture{display:block;width:100%;height:100%}

.brand>picture{display:flex;align-items:center;flex:0 0 58px;width:58px}

/* Keep card surfaces visually consistent across the site. */
.card,.form,.callout,.contact-callout,.locality-button,.scope-grid article,.step,.workflow-step,.intent-summary,.guide-conclusion,.field-note-stage,.field-notes-photo,.field-notes-next,.field-note-rail,.local-trust,.local-trust-grid article,.detail-evidence,.about-photo,.about-note,.about-credentials,.about-contact,.about-faq details,.contact-team-photo,.news-cover,.guide-cover,.service-hero-image,.service-card-image,.photo-slot,.case-study,.case-study-image{border-radius:14px}

.hero-slide:after{display:block;background:linear-gradient(90deg,#07131df4 12%,#07131da8 52%,#07131d35)}

.footer-social{margin-top:22px}
.footer-social .eyebrow{color:var(--gold);margin-bottom:8px}
.footer-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.footer .footer-social-links a{display:inline-flex;align-items:center;gap:.5em;margin:0;color:#f3f7f7;font-weight:800;text-decoration:none;line-height:1.35}
.footer .footer-social-links a:hover,.footer .footer-social-links a:focus{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.footer-social-links svg{display:block;width:1em;height:1em;flex:0 0 1em}


/* Progressive navigation uses the existing links and the established palette. */
/* Match the controller's initial mobile geometry before deferred JS is ready. */
@media(max-width:620px){
 .nav-pending .header .nav{display:none!important}
 .nav-pending .navigation-toggle[hidden]{display:inline-flex!important}
}
.navigation-toggle[hidden],.nav[hidden]{display:none!important}

.navigation-toggle{min-height:44px;padding:8px 16px;border:1px solid var(--gold);border-radius:5px;background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer}

.navigation-toggle:hover,.navigation-toggle:active{background:var(--gold);color:var(--ink)}

.navigation-toggle:focus-visible,.nav a:focus-visible,.mobile a:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}

@media(max-width:620px){
 html{scroll-padding-top:120px;scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}

 body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}

 .header-inner{justify-content:space-between;gap:10px}

 .header .nav{display:flex;flex:0 0 100%;align-items:stretch;justify-content:flex-start;gap:4px;max-height:calc(100dvh - 200px);overflow-y:auto;padding:8px 3px 12px;font-size:.9rem}

 .header .nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px}

 .header .nav .button{width:100%}

 .mobile{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}

 .mobile a{line-height:1.4;display:flex;align-items:center;justify-content:center;min-height:44px}

}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


/* Site-wide reading rhythm: shared widths and bounded, content-led spacing. */
:root{--reading-max:1100px;--section-space:clamp(32px,4vw,56px);--scroll-thumb:#627d89;--scroll-track:#e1eaed;--scroll-hover:#405e6d;--scroll-active:#102c45}

html{scroll-padding-top:110px;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}

*{scrollbar-width:auto}

*::-webkit-scrollbar{width:12px;height:12px}

*::-webkit-scrollbar-track{background:var(--scroll-track)}

*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:8px}

*::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}
*::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}

.section{padding-block:var(--section-space)}

.section + .section{padding-top:24px}

.page-intro{padding-block:44px 28px}

.page-intro:not(.service-hero) .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 40px;align-items:start}

.page-intro:not(.service-hero) .eyebrow{grid-column:1/-1;margin:0}

.page-intro:not(.service-hero) h1{grid-column:1;grid-row:2/span 3;max-width:none;font-size:clamp(2.1rem,4vw,3.6rem);margin:0}

.page-intro:not(.service-hero) .wrap>p:not(.eyebrow),.page-intro:not(.service-hero) .actions{grid-column:2;max-width:none;margin:0}

.page-intro:not(.service-hero) .actions{margin-top:10px}

.hero{padding-block:clamp(48px,6vw,80px) 48px}

.area-browser,.scope-matrix,.knowledge-rail{padding-block:var(--section-space)}

.article,.service-story,.about-article,.intent-guide{max-width:var(--reading-max)}

.article h2{font-size:clamp(1.65rem,2.5vw,2.45rem);line-height:1.2;margin-top:36px}

.article>h2:first-child{margin-top:0}

.service-story>h2{max-width:none;margin-top:36px}

.guide-answer h2,.guide-conclusion h2{max-width:none}

/* Single-column copy fills its composition; dedicated guide columns own their reading measure. */
.service-story>p,.service-list,.service-steps,.intent-guide>p,.guide-answer p,.guide-conclusion p{max-width:none}

.service-story>p:last-child{margin-bottom:0}

.service-story>h3{margin-top:28px;line-height:1.3}

.service-detail,.guide-detail,.guide-answer{margin-top:32px;padding-top:24px}

.service-booking{margin-top:36px;padding-top:28px}

.service-booking h2,.case-study h2{max-width:none}

.service-hero{padding:44px 0 32px}

.service-hero-grid{gap:clamp(24px,4vw,56px);align-items:center}

.service-hero h1{font-size:clamp(2.1rem,4vw,3.6rem);max-width:20ch}

.service-hero .lede{font-size:1.08rem;line-height:1.6}

.service-hero .actions{margin-top:22px}

.service-hero-image>picture{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px}

.service-hero-image img{height:100%;object-fit:cover}

.service-story>.detail-evidence{margin:28px 0 32px}

.service-story>.detail-evidence img{height:auto;aspect-ratio:16/7;object-fit:cover}

.field-notes-lead{max-width:none;margin-bottom:36px}

.field-notes-lead p:last-child{max-width:none}

.field-note-stage{margin-bottom:36px;align-items:start}

.field-note-stage figure{min-height:0;align-self:start}

.field-note-stage img{height:auto;aspect-ratio:4/3}

.field-note-stage-copy{padding:clamp(20px,2vw,30px)}

.section-heading{align-items:start;gap:28px}

.section-heading>div{min-width:0;flex:1}

.section-heading h2{font-size:clamp(1.8rem,3vw,2.8rem);overflow-wrap:break-word}

.section-heading>p{flex:1}

.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}

.grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.steps,.scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.card,.two>*,.service-hero-grid>*{min-width:0}

@media(max-width:900px){html{scroll-padding-top:170px}
.grid,.steps,.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
 .page-intro:not(.service-hero) .wrap{display:block}

 .page-intro:not(.service-hero) h1{margin:12px 0 18px}

 .page-intro:not(.service-hero) .actions{margin-top:22px}

 .service-hero-grid{grid-template-columns:1fr}

 .service-hero-image>picture{aspect-ratio:16/9}

 .service-hero h1{max-width:none}

}

@media(max-width:620px){
 html{scroll-padding-top:120px}

 .section{padding-block:32px}

 .section + .section{padding-top:16px}
 .hero{padding-block:36px 32px}
 .hero h1{font-size:clamp(2rem,9.5vw,2.7rem);overflow-wrap:break-word}
 .hero .actions{margin-top:22px}
 .hero .actions .button{flex:1 1 220px}

 .service-hero{padding:32px 0 28px}

 .page-intro{padding-block:32px 24px}

 .article h2{font-size:1.8rem;margin-top:28px}

 .article>h2:first-child{margin-top:0}

 .service-story>p{font-size:1rem}

 .service-story>.detail-evidence img{aspect-ratio:4/3}

 .grid,.steps,.scope-grid,.two{grid-template-columns:1fr}
 .two:has(>.contact-details)>.form{grid-row:1}
 .form{padding:22px}
 .form .two{gap:0}

 .field-notes-page{padding-top:32px}

 .field-note-stage{margin-bottom:28px}

}

@media(forced-colors:active){html{scrollbar-color:auto}
}


/* Collection cards use H2 semantics with the established card-title scale. */
.card h2{font-size:1.3rem;line-height:1.12;margin:0 0 17px}
