@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#05234c;--ink:#152b43;--muted:#637080;--paper:#f6f5f1;--line:#dce1e5;--stone:#d9c9ad}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #aa8652;outline-offset:5px}.wrap{width:min(1240px,88%);margin:auto}.top{background:var(--navy);color:#fff;font-size:12px;letter-spacing:.05em;padding:9px 0}.top .wrap{display:flex;justify-content:space-between}.top a{margin-left:25px}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav{height:99px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px}.brand img{width:270px;max-height:72px;object-fit:contain}.brandtext{font-weight:800;font-size:17px;line-height:1.3}.brandtext small{font-size:10px;letter-spacing:.15em}.links{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.links a:hover{color:#8a6b42}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--navy);color:white;padding:15px 24px;font-size:13px;font-weight:600;border:1px solid var(--navy);cursor:pointer}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.btn.outline{background:transparent;border-color:#bac4cf;color:var(--navy)}.menu{display:none;background:none;border:0;font-size:24px}.hero{position:relative;min-height:630px;display:flex;align-items:center;background:var(--navy);color:#fff;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,22,49,.93),rgba(1,22,49,.65) 43%,rgba(1,22,49,.05))}.hero .wrap{position:relative;z-index:1;padding:75px 0}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700;display:block;margin-bottom:21px}.hero .eyebrow{color:#e0d3bc}.hero h1{font:500 clamp(40px,4.6vw,66px)/1.12 'Manrope',sans-serif;letter-spacing:-.045em;max-width:720px;margin:0 0 25px}.hero p{max-width:500px;color:#d9e0e8;font-size:16px;margin-bottom:31px}.actions{display:flex;gap:13px;flex-wrap:wrap}.hero .outline{color:#fff;border-color:#8b9aaa}.hero-note{font-size:11px!important;margin:25px 0 0!important;letter-spacing:.06em}.rating{display:inline-block;margin-top:35px;font-size:12px;color:#e8edf3}.stars{color:#d9c49e;letter-spacing:3px;margin-right:10px}.trust{border-bottom:1px solid var(--line);background:var(--paper)}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 0}.stat{padding:0 28px;border-right:1px solid #d9dddF}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font:600 30px 'Manrope';display:block;color:var(--navy)}.stat span{font-size:12px;color:var(--muted)}section{padding:88px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-head h2{max-width:600px}.section-head>p{max-width:360px}h2{font:500 clamp(30px,3vw,42px)/1.2 'Manrope';letter-spacing:-.04em;margin:0 0 20px}h3{font:600 23px/1.3 'Manrope';letter-spacing:-.025em}p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{padding:30px;border:1px solid var(--line);position:relative;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 15px 40px #05234c0d}.card .number{color:#8090a3;font-size:12px;letter-spacing:.14em}.card h3{margin:35px 0 14px}.card p{font-size:14px}.card ul,.detail-list{list-style:none;padding:0;font-size:13px;color:var(--muted);margin:24px 0}.card li,.detail-list li{border-top:1px solid var(--line);padding:10px 0}.card li:before,.detail-list li:before{content:'✓';color:var(--navy);margin-right:11px}.text-link{display:inline-flex;gap:25px;font-size:13px;font-weight:700;border-bottom:1px solid #a7b1bf;padding-bottom:5px;margin-top:10px}.soft{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.split img{width:100%;height:470px;object-fit:cover}.split p{font-size:15px}.label{font-size:11px;border:1px solid var(--line);padding:8px 12px;display:inline-block;margin:3px}.report{background:white;padding:35px;border:1px solid var(--line);box-shadow:18px 18px 0 #e6e7e3;transform:rotate(-2deg)}.report-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--navy);padding-bottom:20px;font-weight:800;color:var(--navy)}.report small{font-size:10px;color:var(--muted)}.report h3{font-size:26px}.report-row{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:15px;font-size:13px}.report-row b{background:#eee8dc;padding:2px 9px;font-size:11px;align-self:start}.report-caption{font-size:10px;margin-top:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:40px}.step{border-top:1px solid #b8c4d2;padding-top:20px}.step b{color:#899aaf;font-size:12px}.step h3{font-size:18px}.step p{font-size:13px}.dark{background:var(--navy);color:#fff}.dark p{color:#c0ccdb}.dark .eyebrow{color:#d9c9ad}.coverage{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.coverage span{border:1px solid #ffffff40;padding:10px 18px;font-size:13px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';font-size:22px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:14px;max-width:850px}.cta{padding:50px 0;background:#eae7df}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:30px;margin-bottom:8px}.cta p{margin:0;font-size:14px}footer{background:#031b3b;color:white;padding:55px 0 25px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}footer h3{font-size:20px;margin-top:0}footer h4{font-size:11px;letter-spacing:.15em;text-transform:uppercase}footer p,footer a{font-size:13px;color:#bec9d8}footer a{display:block;margin:9px 0}.bottom{border-top:1px solid #ffffff20;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#8c9cb0}.pagehead{background:var(--paper);padding:60px 0 65px}.crumb{font-size:11px;color:var(--muted);margin-bottom:30px}.pagehead h1{font:500 clamp(36px,4.5vw,60px)/1.12 'Manrope';letter-spacing:-.04em;max-width:850px;margin:0 0 24px}.pagehead p{max-width:650px}.detailgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:70px}.aside{background:var(--paper);padding:32px;align-self:start}.aside h3{margin-top:0}.aside .btn{width:100%}.service-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.service-nav a{font-size:12px;border:1px solid var(--line);padding:8px 14px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:12px;font-weight:600;display:block}input,select,textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #bac4ce;background:#fff;border-radius:0;color:var(--ink)}.full{grid-column:1/-1}.formnote{font-size:12px}.contact-info a{display:block;font-size:20px;color:var(--navy);margin:15px 0}.hidden{display:none}.mobile-call{display:none}@media(max-width:1000px){.links{gap:13px}.brand img{width:220px}.links{font-size:11px}.nav{gap:15px}.split{gap:40px}}@media(max-width:760px){.wrap{width:88%}.top .wrap>span{font-size:10px}.top a:first-child{display:none}.top a{margin:0;font-size:10px}.nav{height:80px}.brand img{width:210px}.menu{display:block}.links{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:25px 6%;font-size:15px;box-shadow:0 15px 20px #0001}.links.open{display:flex;flex-direction:column;align-items:stretch}.hero{min-height:610px}.hero:after{background:linear-gradient(90deg,#011631e8,#01163188)}.hero .wrap{padding:60px 0}.hero h1{font-size:44px}.hero p{font-size:15px}.stats{grid-template-columns:1fr 1fr;gap:25px}.stat{padding:0!important;border:0}.stat strong{font-size:27px}.stat span{font-size:11px}section{padding:60px 0}.section-head{display:block}.cards,.split,.detailgrid{grid-template-columns:1fr;gap:25px}.split img{height:330px}.cards{gap:16px}.card h3{margin-top:25px}.steps{grid-template-columns:1fr 1fr;gap:25px}.footgrid{grid-template-columns:1fr;gap:20px}.cta .wrap{display:block}.cta .btn{margin-top:22px}.bottom{display:block}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.report{margin:20px 12px 15px 0}.pagehead{padding:40px 0}.pagehead h1{font-size:40px}.hero-note{max-width:280px}.section-head>p{max-width:none}.rating{font-size:11px}}

@media(min-width:761px) and (max-width:1150px){.brand img{width:210px}.links{gap:14px;font-size:11px;white-space:nowrap}.nav{gap:15px}.links .btn{padding:13px 14px;gap:12px}}
@media(min-width:761px) and (max-width:950px){.brand img{width:175px}.links{gap:10px;font-size:10px}.links .btn{padding:12px 10px;gap:7px}}
.availability-pill{position:fixed;right:25px;bottom:23px;z-index:30;display:flex;align-items:center;gap:13px;padding:13px 18px;background:#fff;color:#123e30;border:1px solid #c5d9ce;box-shadow:0 8px 35px #001c2930;border-radius:8px;transition:transform .2s}.availability-pill:hover{transform:translateY(-3px)}.availability-pill small{display:block;font-size:8px;letter-spacing:.14em;color:#63766b}.availability-pill strong{display:block;font-size:12px;font-weight:600}.status-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:#25854d;box-shadow:0 0 0 5px #e6f3e9}.availability-arrow{font-size:20px;margin-left:6px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.price-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line)}.price-card:nth-child(2){border-color:#768ba3;box-shadow:0 12px 35px #05234c09}.price-photo{height:190px;overflow:hidden;background:#e4e6e4}.price-photo img{width:100%;height:100%;object-fit:cover}.price-body{padding:29px;display:flex;flex:1;flex-direction:column}.price-body .eyebrow{font-size:9px;color:#758293;margin-bottom:14px}.price-body h3{margin:0;font-size:23px}.price-area{font-size:12px;margin:8px 0 25px}.price{font:600 45px/1.1 'Manrope';letter-spacing:-.04em;color:var(--navy)}.price>span{font:500 12px 'DM Sans';letter-spacing:0;margin-left:9px}.vat{font-size:11px;margin:8px 0 20px;color:#7a8591}.price-card ul{padding:0;list-style:none;font-size:12px;line-height:1.65;margin:5px 0 30px;flex:1}.price-card li{padding:8px 0;border-top:1px solid #e7eaed}.price-card li:before{content:'✓';margin-right:9px;color:#476d5c}.price-body .btn{width:100%;gap:15px;font-size:11px;padding:14px 12px}.price-foot{text-align:center;padding-top:30px;font-size:11px;color:#4c6278}.price-foot p{font-size:12px;line-height:1.9}.price-foot a{color:var(--navy);text-decoration:underline}.coverage-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.county-section{background:#fff;border-top:1px solid var(--line)}.coverage-layout>div>p{font-size:14px;max-width:470px}.county-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;list-style:none;padding:0;margin:30px 0 35px;font-size:13px}.county-list li{display:flex;align-items:center;gap:10px}.county-list li>span{color:#456954;font-size:11px;background:#eaf0eb;width:20px;height:20px;text-align:center;border-radius:50%}.county-map{margin:0;padding:20px;background:#f7f8f6}.county-map>img{display:block;width:100%;height:510px;object-fit:contain}.county-map figcaption{font-size:11px;color:#637080;display:flex;justify-content:center;align-items:center;gap:9px}.legend-dot{height:9px;width:9px;border-radius:50%;background:#214d6b;display:inline-block}.legend-dot.other{background:#d9dfe1;margin-left:17px}.map-note{font-size:8px;text-align:center;margin:18px 0 0;color:#7e8890}.map-note a{text-decoration:underline}.bottom{padding-bottom:65px}html{scroll-padding-top:115px}#enquiry{scroll-margin-top:130px}@media(max-width:1000px){.price-body{padding:22px}.price-body h3{font-size:20px}.price{font-size:38px}.coverage-layout{gap:35px}.county-list{gap:10px;font-size:12px}}@media(max-width:760px){.price-grid,.coverage-layout{grid-template-columns:1fr}.price-photo{height:220px}.price-body{padding:27px}.price-body h3{font-size:25px}.price{font-size:46px}.price-card ul{font-size:13px}.price-area{margin-bottom:20px}.county-map>img{height:430px}.availability-pill{right:15px;bottom:15px;padding:11px 14px;gap:12px}.availability-pill small{font-size:7px}.availability-pill strong{font-size:11px}.county-list{font-size:13px;gap:12px}.county-map{padding:15px}.bottom{padding-bottom:90px}.price-foot>span{line-height:2.2;display:block}}
.survey-intro{position:relative;background:var(--navy);color:white;padding:46px 0 72px;border-bottom:6px solid #d9c9ad;overflow:hidden}.survey-intro:after{content:'';position:absolute;width:42%;height:100%;right:0;top:0;background:linear-gradient(90deg,#05234c,rgba(5,35,76,.25)),url('/assets/hero.jpg') center/cover;opacity:.65}.survey-intro>.wrap{position:relative;z-index:1}.survey-intro .crumb,.survey-intro p{color:#c6d2e1}.survey-intro .eyebrow{color:#d9c9ad}.survey-intro h1{max-width:730px;font-size:clamp(40px,4.7vw,65px)}.survey-intro p{max-width:520px}.survey-intro .btn{background:white;color:var(--navy);border-color:white}.pricing{background:#f6f5f1;border-bottom:1px solid var(--line)}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:45px 0 30px}.scope-grid article{border-top:1px solid #c9d2db;padding-top:23px}.scope-icon{color:#73889c;font-size:11px;letter-spacing:.16em}.scope-grid h3{font-size:23px;margin:18px 0 12px}.scope-grid p{font-size:14px;max-width:310px;margin:0}.scope-note{display:flex;gap:13px;align-items:center;background:#f4f6f5;padding:15px 20px;margin-top:30px}.scope-note>span{font-size:20px;color:#728a7a}.scope-note p{font-size:11px;margin:0}.survey-questions{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-top:55px;padding-top:40px;border-top:1px solid var(--line)}.survey-questions h3{margin:0;font-size:23px}.survey-questions details:first-child{padding-top:0}.survey-questions summary{font-size:14px}.survey-questions .eyebrow{font-size:9px;margin-bottom:12px}.timeline-head{text-align:center;max-width:650px;margin:auto}.timeline-head p{font-size:14px}.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:60px;position:relative}.timeline-grid:before{content:'';position:absolute;left:30px;right:30px;top:-17px;height:1px;background:#b9c5d0}.timeline-card{position:relative;background:white;border:1px solid var(--line);padding:35px 25px 25px}.timeline-number{position:absolute;top:-34px;left:23px;border:6px solid var(--paper);border-radius:50%;background:var(--navy);color:white;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:11px}.timeline-card>svg{width:43px;height:43px;color:#305774;margin:10px 0 15px}.timeline-card h3{font-size:19px;margin:0 0 16px;min-height:50px}.timeline-tag{display:block;font-size:10px;font-weight:700;color:#536e61;line-height:1.6;padding-bottom:14px;border-bottom:1px solid #e4e9e6;min-height:47px}.timeline-card p{font-size:12px;line-height:1.8;margin-bottom:0}.timeline-contact{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:38px}.timeline-contact p{font-size:13px}.timeline-phone{font-size:12px;border-bottom:1px solid #8b9aa8}.footer-brand{display:flex;align-items:center;gap:18px;margin-bottom:22px}.footer-brand h3{margin:0;line-height:1.4}.footer-mark{display:block;position:relative;width:65px;height:68px;overflow:hidden;background:white;border:6px solid white;flex-shrink:0}.footer-mark img{position:absolute;width:278px;height:69px;max-width:none;left:0;top:0;object-fit:contain;object-position:left top;transform:translate(-3px,-3px)}@media(max-width:1000px){.timeline-grid{gap:15px}.timeline-card{padding:30px 18px 20px}.timeline-card h3{font-size:17px}.timeline-contact{gap:17px}}@media(max-width:760px){.survey-intro{padding:30px 0 52px}.survey-intro:after{width:65%;opacity:.3}.survey-intro h1{font-size:42px}.survey-intro p{font-size:14px}.scope-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.scope-grid article{display:grid;grid-template-columns:35px 1fr;column-gap:10px;padding-top:20px}.scope-icon{grid-row:1/3;padding-top:4px}.scope-grid h3{margin:0 0 10px;font-size:21px}.scope-grid p{max-width:none}.scope-note{align-items:flex-start;padding:15px}.survey-questions{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:30px}.timeline-head{text-align:left}.timeline-grid{grid-template-columns:1fr;gap:25px;margin-top:40px;padding-left:20px}.timeline-grid:before{top:0;bottom:0;left:20px;width:1px;height:auto}.timeline-card{padding:22px 22px 22px 35px;margin-left:12px}.timeline-number{left:-33px;top:20px}.timeline-card>svg{width:36px;height:36px;margin:0 0 12px}.timeline-card h3{min-height:0;font-size:21px;margin-bottom:10px}.timeline-tag{min-height:0;font-size:11px}.timeline-card p{font-size:13px}.timeline-contact{align-items:flex-start;flex-direction:column;gap:12px;margin-top:25px}.timeline-contact p{margin:0}.footer-brand{gap:15px}.footer-brand h3{font-size:19px}}
/* Survey refinement: softer photographic hero, expanded FAQ and blueprint process. */
.survey-intro{background:#244c70;isolation:isolate}.survey-intro:after{width:100%;opacity:1;z-index:-1;background:linear-gradient(90deg,rgba(9,39,70,.94) 0%,rgba(27,67,103,.82) 40%,rgba(46,89,124,.35) 70%,rgba(62,99,131,.12) 100%),url('/assets/dublin-semi.webp') center 43%/cover}.survey-intro h1{text-shadow:0 2px 14px #092a4120}.survey-intro p{color:#e1ebf4}.survey-intro .crumb{color:#d0deec}.survey-intro .eyebrow{color:#e6d7bc}.faq-expanded{display:block;margin-top:60px;padding:38px 40px 24px;background:#f3f6f8;border:0}.faq-title{display:flex;justify-content:space-between;align-items:end;gap:25px;flex-wrap:wrap}.faq-title .eyebrow{width:100%;margin:0}.faq-title h3{font-size:29px;line-height:1.25}.faq-title p{font-size:12px;max-width:230px;margin:0}.faq-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.faq-columns details:first-child{padding-top:19px}.faq-columns details{border-top:1px solid #c8d3dd;border-bottom:0;padding:19px 0}.faq-columns summary{font-size:13px;font-weight:500;gap:15px;line-height:1.5}.faq-columns summary:after{font-size:20px;line-height:1;flex-shrink:0;color:#547893}.faq-columns details p{font-size:12px}.timeline-grid{gap:20px;margin-top:55px}.timeline-grid:before{top:0;left:15px;right:15px}.timeline-card{padding:0 0 25px;border:0;box-shadow:0 10px 28px #092a3f0a;border-bottom:3px solid #9bb2c4;transition:transform .2s,box-shadow .2s}.timeline-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #092a3f14}.timeline-number{z-index:2;left:18px;top:12px;border:0;background:#fff;color:#123859;width:30px;height:30px;font-size:10px}.timeline-visual{position:relative;height:125px;background:linear-gradient(135deg,#123856,#34678b);display:flex;align-items:center;justify-content:center;overflow:hidden;color:white;margin-bottom:25px}.timeline-visual>svg{width:53px;height:57px;position:relative;z-index:1;filter:drop-shadow(0 3px 4px #001c2d25)}.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:17px 17px}.timeline-visual:after{content:'';position:absolute;inset:16px;border:1px solid #ffffff20;border-left:0;border-bottom:0}.timeline-card h3,.timeline-card .timeline-tag,.timeline-card>p{margin-left:23px;margin-right:23px}.timeline-card h3{min-height:48px;font-size:19px;margin-bottom:15px}.timeline-tag{color:#476f79}.timeline-card>p{font-size:12px}.footer-mark{background:transparent;border:0;width:64px;height:66px;overflow:hidden}.footer-mark img{filter:brightness(0) invert(1);width:287px;height:71px;transform:translate(-3px,-3px)}@media(max-width:760px){.survey-intro:after{width:100%;opacity:1;background:linear-gradient(90deg,rgba(14,46,76,.92),rgba(28,65,96,.62)),url('/assets/dublin-semi.webp') 60% center/cover}.faq-expanded{padding:25px 20px;margin-top:35px}.faq-title{gap:14px}.faq-title h3{font-size:26px}.faq-title p{max-width:none}.faq-columns{grid-template-columns:1fr;gap:0;margin-top:20px}.faq-columns summary{font-size:14px}.faq-columns details p{font-size:13px}.timeline-grid{padding-left:0;gap:24px;margin-top:30px}.timeline-grid:before{display:none}.timeline-card{margin-left:0;padding:0 0 25px}.timeline-number{top:16px;left:16px}.timeline-visual{height:125px;margin-bottom:23px}.timeline-visual>svg{width:55px;height:58px}.timeline-card h3{min-height:0;font-size:23px}.timeline-tag{font-size:11px}.timeline-card>p{font-size:13px}.timeline-card h3,.timeline-card .timeline-tag,.timeline-card>p{margin-left:25px;margin-right:25px}}@media(prefers-reduced-motion:reduce){.timeline-card{transition:none}}
/* Match the survey opening to the homepage hero treatment. */
.survey-intro{background:var(--navy);min-height:540px;display:flex;align-items:center;padding:55px 0 70px;border-bottom:0}.survey-intro:after{background:linear-gradient(90deg,rgba(1,22,49,.93),rgba(1,22,49,.65) 43%,rgba(1,22,49,.05)),url('/assets/large-dublin-house.png') center 47%/cover}.survey-intro h1{font:500 clamp(40px,4.6vw,66px)/1.12 'Manrope',sans-serif;letter-spacing:-.045em}.survey-intro p{color:#d9e0e8;font-size:16px;max-width:500px;margin-bottom:31px}.survey-intro .eyebrow{color:#e0d3bc}.survey-intro .crumb{font-size:11px;color:#c6d2e1;margin-bottom:30px}.survey-intro .btn{padding:15px 24px}@media(max-width:760px){.survey-intro{min-height:530px;padding:35px 0 55px}.survey-intro:after{background:linear-gradient(90deg,#011631e8,#01163188),url('/assets/large-dublin-house.png') 60% center/cover}.survey-intro h1{font-size:44px}.survey-intro p{font-size:15px}}
.pricing .section-head{display:block;max-width:740px;margin-bottom:40px}.pricing .section-head h2{margin-bottom:18px}.pricing .section-head>p{max-width:620px;font-size:15px;line-height:1.75;margin:0}.price-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.price-card:focus-within{transform:translateY(-6px);box-shadow:0 18px 40px #05234c18;border-color:#8196ac}@media(hover:hover) and (pointer:fine){.price-card:hover{transform:translateY(-7px);box-shadow:0 20px 42px #05234c1c;border-color:#8196ac}}@media(prefers-reduced-motion:reduce){.price-card{transition:none}.price-card:hover,.price-card:focus-within{transform:none}}@media(max-width:760px){.pricing .section-head{margin-bottom:30px}.pricing .section-head>p{font-size:14px}}
.pricing .section-head .eyebrow{color:#e0d3bc}
.pricing .price-card:last-child .price-photo img{object-fit:contain;background:#dcebf5}
.pricing .section-head .eyebrow{color:#96713b;font-weight:800;font-size:12px;letter-spacing:.17em}.pricing .price-card:last-child .price-photo img{object-fit:cover;background:transparent;object-position:center!important}
.survey-addons{background:#eaf0f4;border-top:1px solid #d4dfe7}.survey-addons .section-head{align-items:center}.addon-intro{max-width:580px;font-size:15px}.optional-tag{font-size:9px;letter-spacing:.13em;border:1px solid #bacbd7;padding:10px 15px;color:#567186}.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.addon-card{position:relative;background:white;padding:35px 38px;border:1px solid #d3dfe7}.addon-icon{width:59px;height:59px;color:#2d5b79;margin-bottom:25px}.addon-icon svg{width:100%;height:100%}.addon-card .eyebrow{font-size:9px;color:#87693e}.addon-card h3{font-size:29px;line-height:1.25;margin:15px 0}.addon-card p{font-size:14px;max-width:460px}.addon-strip{display:flex;justify-content:space-between;gap:25px;padding-top:25px;font-size:12px;color:#607789}.addon-strip a{font-weight:700;color:var(--navy)}.checks-intro{border-bottom:5px solid #d9c9ad}.check-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:start}.check-layout>div>p{font-size:15px}.check-layout .btn{margin-top:20px}.check-method{padding:32px;background:#f1f5f7}.soft .check-method{background:white}.check-method h3{font-size:23px;margin-top:10px}.check-method ol{list-style:none;counter-reset:method;padding:0;margin:0}.check-method li{counter-increment:method;border-top:1px solid #d2dde5;padding:18px 0 16px 32px;position:relative}.check-method li:before{content:'0' counter(method);position:absolute;left:0;font-size:10px;color:#658298;top:22px}.check-method b{display:block;font-size:14px;font-weight:600}.check-method li span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.check-note{background:#f4f6f4;border-left:3px solid #9cae9e;margin-top:35px;padding:18px 23px}.check-note strong{font-size:12px}.check-note p{font-size:11px;margin:7px 0 0;max-width:1000px}.checks-next{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:30px}.checks-next>div{border-top:1px solid var(--line);padding-top:20px}.checks-next b{font-size:11px;color:#8194a5}.checks-next h3{font-size:21px}.checks-next p{font-size:13px}#boundary-check,#planning-check{scroll-margin-top:100px}@media(max-width:760px){.addon-grid,.check-layout,.checks-next{grid-template-columns:1fr;gap:25px}.addon-card{padding:28px}.addon-card h3{font-size:26px}.optional-tag{display:inline-block;margin-top:10px}.addon-strip{flex-direction:column;gap:10px}.check-method{padding:27px}.check-note{padding:17px}.addon-intro{font-size:14px}}
.addon-card>.eyebrow{font-size:15px;letter-spacing:.16em;font-weight:700;color:#87693e;margin-bottom:20px}.addon-icon{width:82px;height:82px;margin-bottom:25px}@media(max-width:760px){.addon-card>.eyebrow{font-size:13px}.addon-icon{width:74px;height:74px}}
.survey-addons .section-head{display:block;max-width:740px;margin-bottom:35px}.addon-heading-meta{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-bottom:23px}.survey-addons .addon-heading-meta>.eyebrow{color:#96713b;font-size:12px;font-weight:800;letter-spacing:.17em;margin:0}.addon-heading-meta .optional-tag{font-size:9px;border:0;border-left:1px solid #becbd5;padding:0 0 0 17px;margin:0;color:#6b8192;letter-spacing:.11em}.survey-addons .section-head h2{margin-bottom:17px}.survey-addons .addon-intro{max-width:590px;margin:0;line-height:1.75}@media(max-width:760px){.addon-heading-meta{gap:12px;margin-bottom:20px}.addon-heading-meta .optional-tag{font-size:8px;padding-left:12px}.survey-addons .addon-heading-meta>.eyebrow{font-size:10px}}
.survey-detail>.wrap>.section-head{display:block;max-width:740px;margin-bottom:35px}.survey-detail>.wrap>.section-head h2{margin-bottom:17px}.survey-detail>.wrap>.section-head>p{max-width:610px;font-size:15px;line-height:1.75;margin:0}.scope-grid{gap:38px;margin-top:35px}.scope-grid p{max-width:none;font-size:14px;line-height:1.85}@media(max-width:760px){.survey-detail>.wrap>.section-head>p{font-size:14px}.scope-grid{gap:25px}.scope-grid p{font-size:14px;line-height:1.75}}

.survey-detail>.wrap>.section-head>div>.eyebrow{color:#96713b}
.faq-title{display:block;max-width:650px}.faq-title .eyebrow{color:#96713b;margin-bottom:17px}.faq-title h3{margin-bottom:14px}.faq-title p{max-width:none;margin:0;font-size:13px;line-height:1.7}
.faq-title{text-align:center;margin-left:auto;margin-right:auto}.faq-title h3 br{display:none}.faq-columns{margin-top:34px}@media(max-width:760px){.faq-title{text-align:left}.faq-columns{margin-top:24px}}
/* A quieter timeline aligned with the site's service cards. */
.timeline-head>.eyebrow{color:#96713b}.timeline-grid{gap:22px}.timeline-grid:before{display:none}.timeline-card{background:#fff;border:1px solid #dce1e5;border-bottom:1px solid #dce1e5;box-shadow:none;padding:28px 24px;position:relative}.timeline-card:hover{box-shadow:0 12px 30px #05234c0a;transform:translateY(-3px)}.timeline-visual{background:transparent;height:68px;margin:0 0 24px;justify-content:flex-start;overflow:visible;color:#2d5b79}.timeline-visual:after,.timeline-visual .blueprint-grid{display:none}.timeline-visual>svg{width:45px;height:49px;filter:none}.timeline-number{top:30px;right:24px;left:auto;width:auto;height:auto;background:none;border:none;color:#87693e;font-size:11px;letter-spacing:.12em}.timeline-card h3,.timeline-card .timeline-tag,.timeline-card>p{margin-left:0;margin-right:0}.timeline-card h3{min-height:48px;font-size:20px;margin-bottom:18px}.timeline-tag{font-size:10px;color:#5e7588;font-weight:600;min-height:44px;border-bottom:1px solid #e0e5e9}.timeline-card>p{font-size:13px;line-height:1.8;margin-top:18px}.timeline-contact{margin-top:35px}@media(max-width:760px){.timeline-card{padding:25px}.timeline-number{top:29px;right:25px}.timeline-visual{height:58px;margin-bottom:18px}.timeline-card h3{min-height:0;font-size:22px;margin-bottom:13px}.timeline-tag{min-height:0;padding-bottom:15px}.timeline-card>p{margin-bottom:0}.timeline-head{text-align:center}}
.timeline-visual{height:94px;margin-bottom:25px}.timeline-visual>svg{width:88px;height:88px}.timeline-number{font-family:'Manrope',sans-serif;font-weight:500;font-size:28px;letter-spacing:-.04em;top:30px;right:23px;line-height:1.1;color:#96713b}.timeline-card h3{font-size:20px;min-height:49px;margin-bottom:18px}.timeline-card .timeline-tag{font-size:13px;font-weight:600;line-height:1.6;min-height:61px;color:#36546d;padding-bottom:18px}.timeline-card>p{font-size:13px;color:#637080;line-height:1.8}@media(max-width:760px){.timeline-visual{height:88px;margin-bottom:22px}.timeline-visual>svg{width:84px;height:84px}.timeline-number{font-size:30px;top:29px;right:25px}.timeline-card h3{font-size:23px;min-height:0;margin-bottom:13px}.timeline-card .timeline-tag{font-size:14px;min-height:0;padding-bottom:17px}.timeline-card>p{font-size:14px}}
.county-map>.interactive-coverage{display:block;width:100%;height:510px;overflow:visible}.county-shape{cursor:default}.county-raised{transform-box:fill-box;transform-origin:center;transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 3px 3px #05234c40) brightness(1.06);stroke:#fff;stroke-width:1.8;animation:county-lift .18s ease-out both}@keyframes county-lift{from{transform:translateY(0) scale(1);filter:drop-shadow(0 0 0 #05234c00)}to{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 3px 3px #05234c40) brightness(1.06)}}@media(max-width:760px){.county-map>.interactive-coverage{height:430px}}@media(prefers-reduced-motion:reduce){.county-raised{animation:none;transform:none}}
.county-hover-label{font-family:'DM Sans',Arial,sans-serif;font-weight:700;paint-order:stroke fill;stroke-width:2.5px;stroke-linejoin:round;letter-spacing:.015em;filter:drop-shadow(0 1px 1px #05234c20)}

.county-section .coverage-layout>div>.eyebrow{color:#96713b}
/* Refined quote strip: stronger contrast, restrained gold detail. */
.cta{background:#eae6dd;border-top:1px solid #d8cfbe;border-bottom:1px solid #d8cfbe;padding:46px 0}.cta .wrap{position:relative;border-left:3px solid #a78650;padding-left:25px}.cta h2{font-size:32px;font-weight:600;letter-spacing:-.035em;margin-bottom:9px}.cta p{font-size:14px;color:#536779}.cta .btn{padding:17px 28px;box-shadow:0 5px 14px #05234c18;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border-top:2px solid #b99a66}.cta .btn:hover{transform:translateY(-3px);box-shadow:0 9px 22px #05234c26;background:#12385e}.cta .btn:focus-visible{outline:3px solid #96713b;outline-offset:5px}@media(max-width:760px){.cta{padding:35px 0}.cta .wrap{padding-left:20px}.cta h2{font-size:27px}.cta p{font-size:13px;max-width:290px}.cta .btn{padding:15px 24px}}@media(prefers-reduced-motion:reduce){.cta .btn{transition:none}.cta .btn:hover{transform:none}}
footer .footgrid{grid-template-columns:1.7fr 1fr 1fr;gap:65px}.footer-full-logo{display:block!important;width:100%;max-width:410px;margin:0 0 25px!important}.footer-full-logo img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}@media(max-width:760px){footer .footgrid{grid-template-columns:1fr;gap:25px}.footer-full-logo{max-width:350px;margin-bottom:20px!important}}
footer .footer-full-logo{display:flex!important;align-items:center;gap:19px;max-width:450px;color:#fff!important}.footer-full-logo .footer-vector-mark{width:77px;height:auto;flex:0 0 77px;filter:none}.footer-wordmark{display:block;border-left:1px solid #ffffff85;padding-left:19px;min-width:0}.footer-wordmark>strong{font-family:'Manrope',Arial,sans-serif;font-weight:800;font-size:23px;line-height:1.25;letter-spacing:.01em;display:block;white-space:nowrap}.footer-associates{display:block;font-size:14px;letter-spacing:.23em;margin:7px 0 12px;color:#fff}.footer-disciplines{display:block;border-top:1px solid #ffffff80;padding-top:10px;font-size:9px;line-height:1.75;letter-spacing:.08em;color:#dbe4ee}@media(max-width:1100px) and (min-width:761px){footer .footgrid{grid-template-columns:1.9fr .9fr 1fr;gap:32px}.footer-wordmark>strong{font-size:20px}.footer-full-logo .footer-vector-mark{width:66px;flex-basis:66px}.footer-wordmark{padding-left:15px}footer .footer-full-logo{gap:15px}.footer-associates{font-size:12px}}@media(max-width:760px){footer .footer-full-logo{gap:15px;max-width:360px}.footer-full-logo .footer-vector-mark{width:65px;flex-basis:65px}.footer-wordmark{padding-left:15px}.footer-wordmark>strong{font-size:19px}.footer-associates{font-size:12px;letter-spacing:.2em}.footer-disciplines{font-size:8px;letter-spacing:.04em}}
/* Original supplied brand artwork: preserve the complete horizontal lockup. */
footer .footer-full-logo{display:block!important;width:100%;max-width:490px}
footer .footer-full-logo .footer-original-logo{display:block;width:100%;height:auto;filter:none;object-fit:contain}
footer .footgrid{grid-template-columns:1.8fr .85fr 1fr;gap:55px}
@media(max-width:760px){footer .footgrid{grid-template-columns:1fr;gap:35px}footer .footer-full-logo{max-width:490px}}

/* Boundary and planning introduction artwork */
.checks-intro{position:relative;isolation:isolate;overflow:hidden}.checks-intro:after{content:"";position:absolute;z-index:-1;pointer-events:none;right:6%;top:35px;bottom:20px;width:36%;background:url("/assets/boundary-blueprint.svg") center/contain no-repeat;opacity:.24}.checks-intro>.wrap>.eyebrow{color:#96713b}@media(max-width:1000px){.checks-intro:after{width:32%;right:0;opacity:.13}}@media(max-width:760px){.checks-intro:after{display:none}}


#boundary-check .check-layout>div>.eyebrow{color:#96713b}#boundary-check .check-method h3{font-size:clamp(20px,1.7vw,25px);line-height:1.3}.boundary-deliverable{margin-top:38px;padding:25px 0 0;border-top:1px solid #d9c9ad;max-width:560px}.boundary-deliverable>.eyebrow{color:#96713b;font-size:10px;letter-spacing:.17em}.boundary-deliverable h3{font-size:24px;line-height:1.3;margin:12px 0}.boundary-deliverable p{font-size:14px;line-height:1.8;margin:0}.boundary-deliverable-tags{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:19px;color:#567186;font-size:11px}.boundary-deliverable-tags span:before{content:"✓";color:#96713b;margin-right:7px}@media(max-width:760px){.boundary-deliverable{margin-top:28px;padding-top:22px}}

.boundary-examples{margin-top:65px;padding-top:50px;border-top:1px solid var(--line)}.boundary-examples .section-head>.eyebrow,.boundary-examples .eyebrow{color:#96713b}.boundary-examples .section-head{align-items:end;gap:35px}.boundary-examples .section-head p{max-width:440px;font-size:14px}.boundary-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.boundary-example-card{border:1px solid #d6dfe5;background:white;min-width:0}.boundary-example-preview{display:block;position:relative;height:350px;overflow:hidden;background:#f0f3f4}.boundary-example-preview img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block;transition:transform .25s}.boundary-example-preview:hover img{transform:scale(1.025)}.boundary-example-preview:focus-visible{outline:3px solid #96713b;outline-offset:3px}.boundary-example-preview>span{position:absolute;bottom:18px;right:18px;background:var(--navy);color:white;padding:12px 17px;font-size:12px;font-weight:600}.boundary-example-caption{padding:26px 28px}.boundary-example-caption .eyebrow{font-size:10px}.boundary-example-caption h3{font-size:24px;margin:13px 0}.boundary-example-caption p{font-size:13px;line-height:1.8;margin:0}.boundary-example-note{font-size:11px;line-height:1.8;color:var(--muted);max-width:850px;margin-top:20px}.boundary-viewer{padding:0;width:min(1200px,94vw);max-width:94vw;height:92vh;max-height:92vh;border:0;color:var(--navy);background:#e9edf0}.boundary-viewer::backdrop{background:#061b30c9}.boundary-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 20px;background:white;border-bottom:1px solid #d6dfe5}.boundary-viewer-bar>span{font-size:14px;font-weight:600}.boundary-viewer-bar>div{display:flex;gap:12px;align-items:center}.boundary-viewer-bar button,.boundary-viewer-bar a{font:inherit;font-size:12px;padding:9px 12px;color:var(--navy);background:white;border:1px solid #c6d2dc;cursor:pointer}.boundary-viewer-scroll{height:calc(100% - 70px);overflow:auto;padding:20px;text-align:center}.boundary-viewer-scroll img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;margin:0 auto;background:white}.boundary-viewer.is-zoomed .boundary-viewer-scroll img{width:1600px;max-width:none;max-height:none}@media(max-width:760px){.boundary-examples{margin-top:40px;padding-top:35px}.boundary-example-grid{grid-template-columns:1fr}.boundary-example-preview{height:300px}.boundary-example-caption{padding:22px}.boundary-viewer-bar{flex-wrap:wrap;padding:10px}.boundary-viewer-bar>span{display:none}.boundary-viewer-bar>div{width:100%;justify-content:space-between;gap:5px}.boundary-viewer-scroll{padding:10px}}

.boundary-examples .section-head{display:block;max-width:850px;margin-bottom:32px}.boundary-examples .section-head h2{margin-bottom:18px}.boundary-examples .section-head>p{max-width:740px;margin:0;font-size:14px;line-height:1.8}


#planning-check .check-layout>div>.eyebrow{color:#96713b}#planning-check .check-method h3{font-size:clamp(20px,1.7vw,25px);line-height:1.3}


#boundary-check .check-layout>div>.eyebrow,#planning-check .check-layout>div>.eyebrow{font-size:14px;font-weight:700;letter-spacing:.17em}@media(max-width:760px){#boundary-check .check-layout>div>.eyebrow,#planning-check .check-layout>div>.eyebrow{font-size:12px}}


.checks-booking .section-head{display:block;max-width:850px;margin-bottom:35px}.checks-booking .section-head .eyebrow{color:#96713b}.checks-booking .section-head h2{margin-bottom:18px}.checks-booking .section-head>p{max-width:740px;margin:0;line-height:1.8}

.availability-pill .status-dot{position:relative}.availability-pill .status-dot:after{content:"";position:absolute;inset:-5px;border:1px solid #25854d;border-radius:50%;animation:availability-pulse 2.4s ease-out infinite;pointer-events:none}@keyframes availability-pulse{0%{transform:scale(.65);opacity:.65}75%,100%{transform:scale(1.65);opacity:0}}@media(prefers-reduced-motion:reduce){.availability-pill .status-dot:after{animation:none;opacity:0}}

.availability-pill .status-dot{display:block;width:10px;height:10px;min-width:10px;min-height:10px;padding:0;border:0;box-sizing:border-box}.availability-pill .status-dot:after{inset:auto;left:50%;top:50%;width:20px;height:20px;box-sizing:border-box;transform-origin:center;animation:availability-pulse-centred 2.4s ease-out infinite}@keyframes availability-pulse-centred{0%{transform:translate(-50%,-50%) scale(.65);opacity:.65}75%,100%{transform:translate(-50%,-50%) scale(1.65);opacity:0}}@media(prefers-reduced-motion:reduce){.availability-pill .status-dot:after{animation:none;opacity:0}}

/* Home service introduction and cards */
#services>.wrap>.section-head{display:block;max-width:850px;margin-bottom:34px}#services .section-head .eyebrow{color:#96713b}#services .section-head h2{margin-bottom:18px}#services .section-head>p{max-width:740px;margin:0;line-height:1.8}
#services .card{overflow:hidden;border-top:3px solid #b49a70;display:flex;flex-direction:column;background:white}#services .service-card-visual{position:relative;min-height:150px;margin:-30px -30px 0;padding:23px 30px 18px;background:linear-gradient(125deg,#edf2f5,#f8f8f5);border-bottom:1px solid #dce4e9}#services .service-card-visual:after{content:"";position:absolute;right:-25px;top:0;width:145px;height:170px;background:repeating-linear-gradient(0deg,transparent 0 22px,#315c7609 22px 23px),repeating-linear-gradient(90deg,transparent 0 22px,#315c7609 22px 23px);transform:rotate(-12deg);pointer-events:none}#services .service-card-visual .number{display:block;font-size:10px;letter-spacing:.13em;color:#637d90}#services .service-card-visual svg{display:block;width:64px;height:64px;color:#2d5b79;margin:13px 0 7px}#services .service-card-hook{display:block;color:#96713b;font-size:10px;font-weight:700;letter-spacing:.13em}#services .card h3{margin:25px 0 12px;font-size:25px}#services .card>p{margin-top:0}#services .card>ul{flex:1;margin-top:16px}#services .card>.text-link{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#05234c;color:white;border-bottom:0;margin-top:8px;font-size:12px;transition:background .2s}#services .card>.text-link:hover{background:#214d6b}#services .card:focus-within{box-shadow:0 12px 32px #05234c12}#services .card:hover{border-top-color:#96713b}@media(prefers-reduced-motion:reduce){#services .card{transition:none}#services .card:hover{transform:none}}@media(max-width:760px){#services .service-card-visual{min-height:135px}#services .card h3{font-size:24px}}

.home-report-stack{width:100%;align-self:center;background:#2e3851;box-shadow:0 16px 40px #05234c12}.home-report-stack img{display:block;width:100%;height:auto;max-width:100%}


.home-report-section>.wrap.split{grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr);gap:40px;align-items:center}.home-report-section>.wrap{max-width:1440px}.home-report-stack{background:transparent;box-shadow:none}.home-report-stack a{display:block}.home-report-stack img{width:100%;height:auto;aspect-ratio:2300/1410}.report-stack-hint{display:block;text-align:center;font-size:11px;color:#63788b;margin-top:12px}.home-report-section .detail-list{font-size:12px}.home-report-section .split>div:first-child>p{font-size:14px;line-height:1.8}@media(max-width:900px){.home-report-section>.wrap.split{grid-template-columns:1fr;gap:35px}.home-report-section .split>div:first-child{max-width:650px}.home-report-stack{max-width:100%}}


.home-report-stack img{aspect-ratio:1580/1410}.home-report-section>.wrap.split{grid-template-columns:minmax(250px,.65fr) minmax(0,1.75fr);gap:30px}.home-report-stack{width:100%;max-width:1000px;justify-self:center}@media(max-width:900px){.home-report-section>.wrap.split{grid-template-columns:1fr;gap:30px}.home-report-stack{max-width:850px}}


.home-report-section>.wrap.split{grid-template-columns:minmax(300px,.85fr) minmax(0,1.55fr);gap:40px}@media(max-width:900px){.home-report-section>.wrap.split{grid-template-columns:1fr;gap:30px}}


.home-report-section .split>div:first-child>.eyebrow{color:#96713b}

/* A connected journey from enquiry to report. */
.home-process>.wrap>.eyebrow{color:#96713b}.home-process .steps{gap:30px;margin-top:45px;position:relative}.home-process .step{border:0;padding:0 12px 0 0;position:relative}.home-process .step>b{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#05234c;color:white;font-size:14px;letter-spacing:.04em;border:5px solid #fff;box-shadow:0 0 0 1px #bca67f;position:relative;z-index:1;margin-bottom:26px;box-sizing:border-box}.home-process .step:not(:last-child):before{content:"";position:absolute;height:1px;background:#cbb994;left:49px;right:-29px;top:24px}.home-process .step:not(:last-child):after{content:"";position:absolute;right:-16px;top:20px;width:8px;height:8px;border-top:1px solid #96713b;border-right:1px solid #96713b;transform:rotate(45deg)}.home-process .step:last-child>b{background:#96713b}.home-process .step h3{font-size:19px;margin:0 0 15px;line-height:1.35;max-width:240px}.home-process .step p{margin:0;line-height:1.8;max-width:260px}.home-process .formnote{margin-top:32px;padding-top:20px;border-top:1px solid #e0e5e9}@media(max-width:900px){.home-process .steps{grid-template-columns:1fr;gap:0;margin-top:32px}.home-process .step{padding:0 0 30px 76px;min-height:105px}.home-process .step>b{position:absolute;left:0;top:0;margin:0}.home-process .step:not(:last-child):before{left:24px;top:49px;bottom:0;height:auto;width:1px;right:auto}.home-process .step:not(:last-child):after{left:24px;right:auto;top:calc(50% + 24.5px);bottom:auto;transform:translate(-50%,-50%) rotate(135deg)}.home-process .step h3{padding-top:10px;max-width:none;margin-bottom:10px}.home-process .step p{max-width:560px}.home-process .step:last-child{padding-bottom:0}}

@media(min-width:901px){.home-process .step:not(:last-child):after{left:calc(50% + 35px);right:auto;transform:translateX(-50%) rotate(45deg)}}


.home-report-section{padding-top:45px;padding-bottom:45px}@media(max-width:760px){.home-report-section{padding-top:35px;padding-bottom:35px}}


@media(min-width:901px){.home-process .step{padding-right:0;text-align:center}.home-process .step>b{margin-left:auto;margin-right:auto}.home-process .step h3{max-width:none;text-align:center}.home-process .step p{max-width:none;text-align:center}.home-process .step:not(:last-child):before{left:calc(50% + 25px);right:calc(-50% - 5px)}.home-process .step:not(:last-child):after{left:calc(100% + 15px);right:auto;transform:translateX(-50%) rotate(45deg)}}


.home-process>.wrap>.eyebrow{display:block;text-align:center}.home-process>.wrap>h2{text-align:center;margin-left:auto;margin-right:auto}


.garden-dwelling-note{margin:25px 0;padding:22px 24px;border-left:3px solid #b49a70;background:#fff}.garden-dwelling-note>.eyebrow{font-size:10px;color:#96713b}.garden-dwelling-note h3{font-size:23px;line-height:1.3;margin:12px 0}.garden-dwelling-note p{font-size:13px;line-height:1.8}.garden-dwelling-note .garden-scope{font-size:11px;color:#63788b}.garden-dwelling-note .text-link{font-size:12px}


.home-design-section>.wrap.split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:55px;align-items:stretch}.home-design-image{position:relative;min-height:0;overflow:hidden}.home-design-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.home-design-section .split>div>.eyebrow{color:#96713b}@media(max-width:760px){.home-design-section>.wrap.split{grid-template-columns:1fr;gap:30px}.home-design-image{height:300px}.home-design-image img{position:static;height:100%}}


.home-branded-map{position:relative}.home-branded-map>.map-brand-icon{position:absolute;top:25px;left:25px;width:64px;height:60px;z-index:2;pointer-events:none}@media(max-width:760px){.home-branded-map>.map-brand-icon{top:18px;left:18px;width:48px;height:45px}}


.home-branded-map>.map-brand-icon{width:46px;height:43px}@media(max-width:760px){.home-branded-map>.map-brand-icon{width:38px;height:35px}}

/* Engineering reports: tailored property advice. */
.engineering-page .eyebrow{color:#96713b}.engineering-intro{position:relative;border-bottom:4px solid #d9c9ad}.engineering-intro h1{max-width:1000px}.engineering-intro p{max-width:740px}.engineering-intro .btn{margin-top:12px}.engineering-intro-note{font-size:12px;color:#63788b;margin-top:22px}.engineering-heading{max-width:850px;margin-bottom:35px}.engineering-heading h2{margin-bottom:18px}.engineering-heading>p{max-width:760px;line-height:1.8}.engineering-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.engineering-topics article{padding:30px 32px;border:1px solid #d7e0e6;border-top:3px solid #b49a70;background:linear-gradient(140deg,#f1f5f7,#fff 65%)}.engineering-topic-number{font-size:10px;font-weight:700;letter-spacing:.12em;color:#96713b}.engineering-topics h3{font-size:26px;line-height:1.3;margin:22px 0 15px}.engineering-topics p{font-size:14px;line-height:1.8;margin:0;max-width:530px}.engineering-open{margin-top:28px;padding:25px 30px;background:#f5f3ed;border-left:3px solid #b49a70}.engineering-open strong{font-size:20px;font-weight:500}.engineering-open p{font-size:14px;max-width:950px;line-height:1.8}.engineering-open .text-link{font-size:12px}.engineering-delivery{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.engineering-delivery>div>p{font-size:15px;line-height:1.8}.engineering-report-list{background:white;padding:10px 30px}.engineering-report-list>div{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid #dce4e9}.engineering-report-list>div:last-child{border-bottom:0}.engineering-report-list b{color:#96713b;font-size:11px;flex-shrink:0;padding-top:3px}.engineering-report-list span{font-size:13px;color:#63788b;line-height:1.8}.engineering-report-list strong{display:block;font-size:16px;color:var(--navy);font-weight:600;margin-bottom:5px}.engineering-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.engineering-examples article{padding:28px;border:1px solid #d7e0e6;background:white}.engineering-examples .eyebrow{font-size:9px;letter-spacing:.12em}.engineering-examples h3{font-size:24px;line-height:1.35;margin:20px 0 25px}.engineering-examples dl{margin:0}.engineering-examples dt{font-size:12px;font-weight:700;color:var(--navy);border-top:1px solid #dce4e9;padding-top:15px}.engineering-examples dd{font-size:13px;line-height:1.8;margin:7px 0 18px;color:var(--muted)}.engineering-examples dd:last-child{margin-bottom:0}.engineering-process .step>b{border-color:var(--paper)}.engineering-faq{max-width:900px}.engineering-faq h2{margin-bottom:30px}.engineering-faq details p{font-size:14px;line-height:1.8}.engineering-enquiry{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center}.engineering-enquiry>div>p{font-size:14px;line-height:1.8}.engineering-enquiry .btn{margin-top:12px}.engineering-phone{display:block;font-size:13px;margin-top:20px}.engineering-enquiry-note{padding:30px;background:white;border-top:3px solid #b49a70}.engineering-enquiry-note h3{font-size:24px;margin-top:0}.engineering-enquiry-note .formnote{font-size:11px}@media(max-width:900px){.engineering-delivery,.engineering-enquiry{grid-template-columns:1fr;gap:30px}.engineering-examples{grid-template-columns:1fr}.engineering-examples h3{margin-bottom:20px}}@media(max-width:760px){.engineering-topics{grid-template-columns:1fr;gap:18px}.engineering-topics article{padding:25px}.engineering-topics h3{font-size:24px}.engineering-open{padding:22px}.engineering-report-list{padding:5px 22px}.engineering-enquiry-note{padding:25px}}

.engineering-intro{background:linear-gradient(90deg,rgba(4,27,53,.94) 0%,rgba(4,27,53,.79) 42%,rgba(4,27,53,.42) 75%,rgba(4,27,53,.25) 100%),url("/assets/large-victorian-v13.png") center 45%/cover no-repeat;color:#fff;border-bottom:0;padding:60px 0 70px;min-height:480px;display:flex;align-items:center}.engineering-intro>.wrap{width:100%}.engineering-intro h1{color:#fff;max-width:900px}.engineering-intro p{color:#edf3f8;max-width:650px}.engineering-intro .crumb,.engineering-intro .crumb a{color:#edf3f8}.engineering-page .engineering-intro .eyebrow{color:#dec399}.engineering-intro .btn{background:#fff;color:#05234c;border-color:#fff}.engineering-intro .btn:hover{background:#edf3f8}.engineering-intro .engineering-intro-note{color:#d7e3ec}@media(max-width:760px){.engineering-intro{padding:40px 0 45px;min-height:440px;background-position:center}}


.engineering-intro{background-image:linear-gradient(90deg,rgba(4,27,53,.95) 0%,rgba(4,27,53,.84) 38%,rgba(4,27,53,.46) 72%,rgba(4,27,53,.28) 100%),url("/assets/engineering-attic.png");background-position:center,center 48%}.engineering-intro>.wrap{width:min(1240px,88%);margin-left:auto;margin-right:auto;box-sizing:border-box}.engineering-intro h1{max-width:850px}.engineering-intro p{max-width:650px}@media(max-width:760px){.engineering-intro>.wrap{width:88%}.engineering-intro{background-position:center,58% center}}


.hero>.wrap>.eyebrow,.survey-intro>.wrap>.eyebrow,.engineering-page .engineering-intro>.wrap>.eyebrow{font-size:16px;font-weight:700;letter-spacing:.16em;line-height:1.5}@media(max-width:760px){.hero>.wrap>.eyebrow,.survey-intro>.wrap>.eyebrow,.engineering-page .engineering-intro>.wrap>.eyebrow{font-size:13px;letter-spacing:.13em}}


.hero>.wrap>.eyebrow,.survey-intro>.wrap>.eyebrow,.engineering-page .engineering-intro>.wrap>.eyebrow{color:#dec399}


.engineering-topics article{position:relative;padding-right:115px;min-height:210px}.engineering-topic-icon{position:absolute;right:25px;top:28px;width:66px;height:66px;display:flex;align-items:center;justify-content:center;background:#eaf0f3;border:1px solid #dce5eb;border-radius:50%;color:#2d5b79}.engineering-topic-icon svg{width:48px;height:48px}.engineering-topics h3{max-width:440px}.engineering-topics article:nth-child(2) .engineering-topic-icon,.engineering-topics article:nth-child(3) .engineering-topic-icon{background:#f1eee7;border-color:#e6dece}@media(max-width:760px){.engineering-topics article{padding-right:90px;min-height:0}.engineering-topic-icon{width:50px;height:50px;right:20px;top:24px}.engineering-topic-icon svg{width:38px;height:38px}}@media(max-width:420px){.engineering-topics article{padding-right:25px}.engineering-topic-icon{position:static;margin-bottom:18px}}


.engineering-process-intro{max-width:700px;margin:18px auto 0;text-align:center;font-size:15px;line-height:1.8}.engineering-process-footer{margin-top:35px;padding-top:25px;border-top:1px solid #dce4e9;display:flex;align-items:center;gap:30px}.engineering-process-footer .btn{flex-shrink:0}.engineering-process-footer>p{font-size:12px;line-height:1.8;max-width:650px;margin:0}@media(max-width:760px){.engineering-process-footer{flex-direction:column;align-items:flex-start;gap:18px}.engineering-process-intro{text-align:left}}


.engineering-topics .engineering-topic-number{display:block;font-size:14px;font-weight:700;letter-spacing:.12em;line-height:1.5}@media(max-width:760px){.engineering-topics .engineering-topic-number{font-size:12px;letter-spacing:.1em}}


.engineering-faq-section .engineering-faq{max-width:none;margin-top:0}.engineering-faq-section .faq-title{text-align:center;margin-left:auto;margin-right:auto;max-width:800px}.engineering-faq-section .faq-title h3{font-size:29px;margin-bottom:14px}.engineering-faq-section .faq-columns details p{font-size:12px;line-height:1.8}@media(max-width:760px){.engineering-faq-section .faq-title h3{font-size:26px}.engineering-faq-section .faq-columns details p{font-size:13px}}

/* Snagging and the additional re-snag service. */
.snag-page .eyebrow{color:#96713b}.snag-intro{background:linear-gradient(90deg,#041b35ef 0%,#041b35cc 43%,#041b3560 78%,#041b3540),url("/assets/apartments.jpg") center 48%/cover;color:white;padding:60px 0 70px;min-height:480px;display:flex;align-items:center}.snag-intro>.wrap{width:min(1240px,88%);margin:auto}.snag-intro h1{color:white;max-width:950px}.snag-intro p{color:#edf3f8;max-width:660px}.snag-intro .crumb,.snag-intro .crumb a{color:#edf3f8}.snag-page .snag-intro .eyebrow{font-size:16px;font-weight:700;letter-spacing:.16em;color:#dec399;line-height:1.5}.snag-intro .btn{background:white;color:#05234c;margin-top:12px}.snag-intro-note{display:block;color:#d7e3ec;font-size:12px;margin-top:24px}.snag-stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.snag-stage{padding:32px;border:1px solid #d6e0e6;border-top:3px solid #b49a70;display:flex;flex-direction:column}.snag-stage-followup{background:#f2f6f7}.snag-stage-top{display:flex;align-items:center;gap:18px;margin-bottom:25px}.snag-stage-top .eyebrow{font-size:12px;line-height:1.6;margin:0}.snag-stage-number{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#05234c;color:white;font-size:13px}.snag-stage-followup .snag-stage-number{background:#96713b}.snag-stage h3{font-size:27px;line-height:1.3;margin:0 0 15px}.snag-stage>p{font-size:14px;line-height:1.8}.snag-stage .detail-list{flex:1;margin:12px 0 24px}.snag-stage .text-link{align-self:flex-start;font-size:12px}.snag-stage .snag-stage-note,.snag-stage-note{font-size:11px;line-height:1.8;color:#63788b}.snag-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.snag-check-grid article{background:white;padding:25px;border:1px solid #dce4e9}.snag-check-symbol{display:block;font-size:12px;color:#96713b;letter-spacing:.1em;margin-bottom:24px}.snag-check-grid h3{font-size:21px;line-height:1.35;min-height:57px;margin:0 0 15px}.snag-check-grid p{font-size:13px;line-height:1.8;margin:0}.snag-scope{font-size:11px;line-height:1.8;max-width:1000px;margin:25px 0 0;color:#63788b}.snag-report-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.snag-report-layout>div>p{font-size:14px;line-height:1.8}.snag-status-panel{background:#f2f6f7;border-top:3px solid #b49a70;padding:32px}.snag-status-panel>.eyebrow{font-size:10px}.snag-status-panel h3{font-size:25px;line-height:1.3;margin:15px 0 25px}.snag-status-panel>div{padding:20px 0;border-top:1px solid #d3dfe6;display:flex;gap:22px;align-items:center}.snag-status-panel>div>p{font-size:13px;line-height:1.7;margin:0}.snag-status{font-size:11px;font-weight:700;white-space:nowrap;min-width:94px;padding:8px 12px;border:1px solid}.snag-done{color:#276347;background:#e8f1eb;border-color:#c7dace}.snag-outstanding{color:#8c542b;background:#f8eee4;border-color:#e5cfb7}.snag-process .step>b{border-color:var(--paper)}.snag-faq-section .faq-expanded{margin-top:0}.snag-faq-section .faq-title{max-width:800px;text-align:center;margin-left:auto;margin-right:auto}@media(max-width:1000px){.snag-check-grid{grid-template-columns:1fr 1fr}.snag-check-grid h3{min-height:0}.snag-report-layout{gap:35px}}@media(max-width:760px){.snag-intro{padding:40px 0 45px;min-height:440px}.snag-page .snag-intro .eyebrow{font-size:13px;letter-spacing:.13em}.snag-stage-grid,.snag-report-layout,.snag-check-grid{grid-template-columns:1fr;gap:22px}.snag-stage,.snag-status-panel{padding:25px}.snag-stage h3{font-size:24px}.snag-stage-top .eyebrow{font-size:11px}.snag-status-panel>div{gap:12px}.snag-status{min-width:85px;padding:7px 9px}}

.home-faq-section .faq-expanded{margin-top:0}.home-faq-section .faq-title{max-width:800px;text-align:center;margin-left:auto;margin-right:auto}

.design-page .design-intro{background-image:linear-gradient(90deg,#041b35f5,#041b35b0 55%,#041b3545),url("/assets/house.png")}
.design-page section[id]{scroll-margin-top:100px}
.design-routes article > .eyebrow {
  font-size: 11px;
}
.design-routes h3 a{color:inherit}
.design-routes p{font-size:14px;line-height:1.7;margin-bottom:0}
.design-stages{list-style:none;counter-reset:design-stage;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.design-stages li{counter-increment:design-stage;background:#fff;border-top:2px solid #b49a70;padding:22px}
.design-stages li::before{content:counter(design-stage,decimal-leading-zero);display:block;color:#96713b;margin-bottom:16px;font-weight:700}
.design-stages strong{display:block;color:var(--navy);line-height:1.4}
.design-stages p{margin-bottom:0;font-size:13px;line-height:1.7}
@media(max-width:1050px){.design-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.design-stages{grid-template-columns:1fr}}
.design-project{padding:24px;border:1px solid var(--line);margin-top:24px;background:#f5f7f8}
.design-project h3{margin:0 0 6px}
.design-project>p{margin:0 0 18px}
.design-project-sheets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.design-project-sheets a{display:block;background:white;border:1px solid var(--line);color:var(--navy)}
.design-project-sheets img{display:block;width:100%;height:auto}
.design-project-sheets span{display:block;padding:12px;font-size:13px;font-weight:600}
@media(max-width:700px){.design-project-sheets{grid-template-columns:1fr}}
#new-house-examples>.wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#new-house-examples .engineering-heading{grid-column:1/-1;margin-bottom:0}
#new-house-examples .design-project,.exempt-example-grid .design-project{margin-top:0;min-width:0}
#new-house-examples .design-project-sheets,.exempt-example-grid .design-project-sheets{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
#new-house-examples .design-project-sheets>a,.exempt-example-grid .design-project-sheets>a{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start}
.design-sheet-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#05234c;font-size:13px}
.design-sheet-controls button{background:white;border:1px solid #c8d3dd;color:#05234c;cursor:pointer;min-width:44px;min-height:44px}
@media(max-width:700px){#new-house-examples>.wrap{grid-template-columns:1fr}}
.design-feature{grid-column:1/-1;border-top:3px solid #b49a70;background:#f5f7f8;padding:clamp(16px,3vw,30px)}
.design-feature-galleries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
#new-house-examples .design-feature .design-project{padding:0;border:0}
.design-feature h4{margin:0 0 10px;color:var(--navy)}
.design-feature .design-project-sheets img{aspect-ratio:4961/3508;object-fit:contain;background:#eef1f3}
@media(max-width:700px){.design-feature-galleries{grid-template-columns:1fr}}

.extension-comparison .design-project-sheets{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.extension-pair{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.extension-pair-title{grid-column:1/-1}
.extension-pair h3{margin:0 0 10px}
.extension-pair a{display:block;background:white;border:1px solid var(--line);color:var(--navy)}
.extension-pair img{display:block;width:100%;height:auto}
.extension-pair span{display:block;padding:12px;font-size:13px;font-weight:600}
@media(max-width:700px){.extension-pair{grid-template-columns:1fr}}

.design-routes .design-route-icon{display:block;width:60px;height:60px;padding:9px;margin-bottom:16px;border-radius:50%;background:#eaf0f3;color:#204e69}
.design-routes .route-accent{stroke:#98713d;stroke-width:2}
.design-routes article{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.design-routes article:focus-within{border-color:#b49a70;box-shadow:0 10px 24px #05234c14}
@media(hover:hover){.design-routes article:hover{transform:translateY(-4px);border-color:#b49a70;box-shadow:0 10px 24px #05234c14}}
@media(prefers-reduced-motion:reduce){.design-routes article{transition:none}.design-routes article:hover{transform:none}}
#planning-permission .engineering-heading > .eyebrow,
#planning-retention .engineering-heading > .eyebrow,
#exempt-development .engineering-heading > .eyebrow {
  font-size: 16px;
}

#planning-permission .design-stages {
  --stage-gap: 18px;
  --stage-marker: 42px;
  gap: var(--stage-gap);
}

#planning-permission .design-stages > li {
  position: relative;
  margin-top: 62px;
  border: 1px solid #e5ded2;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(19, 39, 61, .05);
}

#planning-permission .design-stages > li::before {
  position: absolute;
  z-index: 1;
  top: -63px;
  left: calc(50% - var(--stage-marker) / 2);
  display: grid;
  place-items: center;
  width: var(--stage-marker);
  height: var(--stage-marker);
  margin: 0;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

#planning-permission .design-stages > li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: -43px;
  left: 50%;
  width: calc(100% + var(--stage-gap) + 2px);
  border-top: 2px solid #b49a70;
}

@media (max-width: 1050px) {
  #planning-permission .design-stages {
    grid-template-columns: 1fr;
    padding-left: 58px;
  }

  #planning-permission .design-stages > li {
    margin-top: 0;
    padding: 18px;
  }

  #planning-permission .design-stages > li::before {
    top: 50%;
    left: -59px;
    transform: translateY(-50%);
  }

  #planning-permission .design-stages > li::after,
  #planning-permission .design-stages > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: calc(-1 * (var(--stage-gap) + 2px));
    left: -39px;
    width: 0;
    border-top: 0;
    border-left: 2px solid #b49a70;
  }

  #planning-permission .design-stages > li:first-child::after {
    top: 50%;
  }

  #planning-permission .design-stages > li:last-child::after {
    bottom: 50%;
  }
}

#planning-retention .engineering-enquiry-note {
  background: #f7f5f0;
  border: 1px solid #e5ded2;
  border-top: 3px solid #b49a70;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(19, 39, 61, .05);
}

#planning-retention .engineering-enquiry-note p {
  margin-bottom: 0;
}

.exempt-examples {
  margin-top: 40px;
}

.exempt-example-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 760px) {
  .exempt-example-grid {
    grid-template-columns: 1fr;
  }
}

.design-route-help {
  margin: 20px 0 0;
}

@media (min-width: 761px) {
  .design-stages.retention-stages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .design-stages.retention-stages {
    grid-template-columns: 1fr;
  }
}

#exempt-development .garden-dwelling-note {
  display: grid;
  gap: 16px clamp(24px, 4vw, 56px);
  padding: clamp(22px, 3vw, 38px);
  border-radius: 8px;
}

#exempt-development .garden-dwelling-note .eyebrow {
  font-size: 12px;
  margin-bottom: 10px;
}

#exempt-development .garden-dwelling-note h3 {
  margin: 0;
  max-width: 24ch;
}

#exempt-development .garden-dwelling-note p,
.exempt-next-steps > div > p {
  font-size: 15px;
  line-height: 1.7;
  max-width: 68ch;
}

.exempt-next-steps {
  gap: 20px;
  align-items: stretch;
}

.exempt-next-steps .engineering-enquiry-note {
  border-radius: 8px;
  padding: clamp(22px, 3vw, 38px);
}

@media (min-width: 761px) {
  #exempt-development .garden-dwelling-note {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
  }

  .exempt-next-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#services:has(+ .survey-availability) {
  padding-bottom: 0;
}

.survey-availability {
  padding-block: clamp(48px, 6vw, 76px);
  scroll-margin-top: 100px;
}

.availability-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: center;
  padding: clamp(24px, 5vw, 64px);
  border-radius: 14px;
  background: linear-gradient(135deg, #092448, #173a50);
  color: #fff;
}

.availability-panel h2,
.availability-panel p {
  color: inherit;
}

.availability-panel .eyebrow {
  color: #e7c991;
}

.availability-panel .btn {
  border-radius: 6px;
  background: #e7c991;
  color: #092448;
}

.availability-panel .btn:hover {
  background: #f3dbad;
}

.availability-panel .btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.availability-panel .availability-status {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
  color: #aef1c9;
}

.availability-panel time {
  display: block;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 14px;
}

.availability-beacon {
  width: 10px;
  height: 10px;
  flex: none;
  border-radius: 50%;
  background: #62e59c;
  animation: survey-beacon 2.6s ease-out infinite;
}

@keyframes survey-beacon {
  from { box-shadow: 0 0 0 0 #62e59c80; }
  to { box-shadow: 0 0 0 10px #62e59c00; }
}

.availability-metrics {
  display: grid;
  gap: 12px;
}

.availability-metrics > div {
  display: grid;
  gap: 4px;
  padding: 18px;
  border: 1px solid #ffffff33;
  border-radius: 8px;
  background: #ffffff0d;
}

.availability-metrics strong {
  font-size: 21px;
}

@media (max-width: 760px) {
  .availability-panel { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .availability-beacon { animation: none; }
}

.hero .rating a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.home-reviews {
  background: #eef3f6;
  border-block: 1px solid #d7e0e6;
}

.review-heading .eyebrow {
  margin-bottom: 10px;
}

.review-heading h2 {
  margin-bottom: 8px;
}

.review-stars {
  color: #896022;
  letter-spacing: .12em;
}

.home-reviews .review-carousel {
  padding: 0;
  border: 0;
  background: transparent;
}

.home-reviews .review-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
}

.review-track article {
  flex: 0 0 min(80%, 360px);
  scroll-snap-align: start;
  padding: 24px;
  background: #fff;
  border: 1px solid #d7e0e6;
  border-radius: 10px;
}

.review-track .eyebrow {
  margin: 10px 0;
}

.review-track article strong {
  color: var(--navy);
}

.review-track .review-more { scroll-snap-align: end; }

.review-track .review-more .btn {
  display: inline-flex;
  background: var(--navy);
  color: #fff;
}

.quote-page .pagehead {
  padding-block: clamp(28px, 4vw, 54px);
}

.quote-page .pagehead .eyebrow,
.quote-page .contact-info .eyebrow {
  color: #896022;
}

.quote-section {
  padding-block: clamp(32px, 5vw, 64px);
}

.quote-section .detailgrid {
  gap: clamp(20px, 4vw, 48px);
  align-items: stretch;
}

.quote-card,
.quote-page .contact-info {
  min-width: 0;
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid #d7e0e6;
  border-radius: 10px;
}

.quote-card {
  background: #fff;
  box-shadow: 0 6px 24px #0924480a;
}

.quote-page .contact-info {
  background: #f3f5f6;
  border-top: 3px solid #b49a70;
}

.quote-page .contact-info h2 {
  font-size: clamp(23px, 2.5vw, 31px);
  margin-bottom: 16px;
}

.quote-card :is(input, select, textarea, .btn) {
  border-radius: 6px;
}

.quote-card :is(input, select, textarea) {
  font-size: 16px;
}

.quote-card :is(input, select, textarea):focus-visible {
  outline: 2px solid #896022;
  outline-offset: 2px;
}

.quote-card #enquiry {
  scroll-margin-top: 100px;
}

.quote-page .pagehead {
  position: relative;
  isolation: isolate;
}

.quote-page .pagehead::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -7% 0 -7% 52%;
  background: url("/assets/quote-house-elevation.svg") right center / contain no-repeat;
  opacity: .28;
  mask-image: linear-gradient(to right, transparent, #000 42%);
  pointer-events: none;
}

@media (max-width: 760px) {
  .quote-page .pagehead::before {
    display: none;
  }
}

.quote-sidebar {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 16px;
  min-width: 0;
}

.quote-next {
  padding: clamp(20px, 3vw, 36px);
  border-radius: 10px;
  background: var(--navy);
  color: #fff;
}

.quote-next .eyebrow {
  color: #e7c991;
  margin-bottom: 10px;
}

.quote-next h2 {
  color: inherit;
  font-size: clamp(23px, 2.5vw, 31px);
  margin: 0 0 12px;
}

.quote-next ol {
  margin: 0;
  padding-left: 1.3em;
}

.quote-next li + li {
  margin-top: 8px;
}

.quote-next li::marker {
  color: #e7c991;
  font-weight: 700;
}

@media (min-width: 761px) {
  .quote-page .pagehead p {
    max-width: min(680px, 49%);
  }
}

/* About Us */
.about-hero {
  color: white;
  background: linear-gradient(90deg, #092441 15%, #092441ed 43%, #09244138 100%),
    url('/assets/west-cavan-photo-8.jpeg') center 77% / cover;
}
.about-hero h1 { max-width: 12ch; color: white; }
.about-hero p { max-width: 55ch; color: #edf2f6; }
.about-hero .crumb, .about-hero .crumb a { color: #edf2f6; }
.about-hero .eyebrow { color: #edce96; }
.about-hero .btn { background: #edce96; color: var(--navy); border-radius: 5px; }
.about-hero .btn:hover { background: #fff; }
.about-section { padding-block: clamp(52px, 7vw, 110px); }
.about-section .eyebrow { color: #8b6227; }
.about-section h2 { max-width: 19ch; }
.about-split, .about-pair, .about-steps { display: grid; gap: clamp(20px, 4vw, 64px); }
.about-split { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
.about-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.about-project { margin: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.about-project img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.about-project figcaption { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 15px 20px; color: var(--ink); }
.about-project figcaption span, .about-role { color: #8b6227; font-weight: 700; }
.about-link { display: inline-block; padding-block: 8px; border-bottom: 1px solid var(--stone); font-weight: 700; }
.about-team { background: var(--paper); }
.about-profile { padding: clamp(24px, 4vw, 48px); background: white; border: 1px solid var(--line); border-top: 2px solid #b79a69; border-radius: 10px; }
.about-profile p:last-child, .about-steps p { margin-bottom: 0; }
.about-portrait {
  width: min(100%, 180px);
  aspect-ratio: 4 / 5;
  margin-bottom: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #edf2f5;
  overflow: hidden;
}
.about-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.about-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 30px 0 0; padding: 0; list-style: none; }
.about-steps li { border-top: 1px solid #b79a69; padding-top: 18px; }
.about-steps li > span { display: block; margin-bottom: 12px; color: #8b6227; font-weight: 700; }
.about-services { background: #edf2f5; }
.about-routes { border-top: 1px solid #c3ced8; }
.about-routes a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border-bottom: 1px solid #c3ced8; color: var(--navy); }
.about-routes a:hover, .about-routes a:focus-visible { background: white; }
.about-routes small { display: block; color: var(--muted); }
@media (max-width: 760px) {
  .about-split, .about-pair, .about-steps { grid-template-columns: 1fr; }
  .about-hero { background-image: linear-gradient(90deg, #092441f5, #092441ba), url('/assets/west-cavan-photo-8.jpeg'); }
}

.quick-routes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding-block: 20px; }
.quick-routes a { display: grid; gap: 4px; align-content: start; padding: 16px; border: 1px solid var(--line); border-radius: 6px; color: var(--navy); }
.quick-routes small { color: var(--muted); }
.quick-routes a:hover, .quick-routes a:focus-visible { background: var(--paper); border-color: #b79a69; }
.service-proof p, .service-team p { max-width: 72ch; }
.service-team { padding-block: 26px; }
#design-planning-faq { padding-bottom: clamp(16px, 2vw, 28px); }
#design-planning-faq + .service-team { padding-top: 0; }
#design-planning-faq + .service-team p { margin-top: 0; }
#enquiry-email-fallback[hidden] { display: none; }
@media (max-width: 760px) { .quick-routes { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 360px) { .quick-routes { grid-template-columns: 1fr; } }

.west-cavan-hero {
  position: relative;
  isolation: isolate;
}
.west-cavan-hero::before {
  content: "";
  position: absolute;
  inset: 8% 3% 8% auto;
  width: min(34%, 500px);
  background: url('/assets/cavan-killinkere.svg') center / contain no-repeat;
  opacity: .36;
  z-index: -1;
  pointer-events: none;
}
.west-cavan-hero .eyebrow { color: #8b6227; }
@media (max-width: 760px) {
  .west-cavan-hero::before { width: 56%; opacity: .22; }
}
