@font-face{font-family:Niveau;src:url('../assets/fonts/niveau-grotesk-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Niveau;src:url('../assets/fonts/niveau-grotesk-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Niveau;src:url('../assets/fonts/niveau-grotesk-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Span;src:url('../assets/fonts/span-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{--ink:#0a0a0a;--muted:#545454;--pink:#faa1b5;--teal:#15505e;--grey:#f5f5f5;--line:#d3cace;--container:1080px;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Niveau,Arial,sans-serif;font-size:16px;line-height:1.68;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none;transition:color .25s ease,background .25s ease,border-color .25s ease}
img{display:block;max-width:100%;height:auto}
button,input{font:inherit}
button{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,.person-card h3{font-family:Span,Georgia,serif;font-weight:400;line-height:1.14}
h1{font-size:48px;margin-bottom:23px}
h2{font-size:36px;margin-bottom:20px}
p{margin-bottom:20px}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.narrow{width:min(calc(100% - 40px),852px);margin-inline:auto}
.section-pad{padding:70px 0}
.skip-link{position:fixed;top:-100px;left:16px;z-index:99999;background:#fff;padding:12px 20px}
.skip-link:focus{top:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:146px;padding:12px 30px;background:var(--pink);border:1px solid var(--pink);line-height:22px}
.button:hover,.button:focus-visible{background:transparent}
.button.small{min-width:118px;padding:10px 20px;font-size:14px}
.eyebrow{font-size:14px;line-height:1.3;text-transform:uppercase;margin-bottom:18px;font-weight:500}

.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:#fff;box-shadow:0 5px 5px rgb(0 0 0/.07);transition:transform .45s var(--ease)}
.topbar{height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 max(30px,calc((100vw - 1300px)/2))}
.topbar-links{display:flex;gap:32px;align-items:center;font-size:16px}
.topbar a:hover,.desktop-nav>a:hover{color:var(--teal)}
.nav-row{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1300px)/2))}
.brand img{width:148px;height:60px;object-fit:contain}
.desktop-nav{height:100%;display:flex;align-items:center;gap:39px}
.desktop-nav>a,.nav-link{position:relative;display:flex;align-items:center;height:100%;padding:0;border:0;background:none;font-size:18px;cursor:pointer}
.desktop-nav>a::after,.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:3px;background:var(--pink);transition:right .3s ease}
.desktop-nav>a:hover::after,.nav-link:hover::after,.nav-link[aria-expanded="true"]::after{right:0}
.icon-button{border:0;background:transparent;padding:8px;cursor:pointer;width:45px;height:45px;display:grid;place-items:center}
.icon-button img{width:26px;height:26px}
.desktop-nav .icon-button{border-left:1px solid var(--ink);padding-left:23px;width:51px}
.mobile-actions{display:none}
.mega-menu{position:absolute;top:150px;left:0;right:0;background:var(--grey);border-top:1px solid #e7e2e4;box-shadow:0 14px 25px rgb(0 0 0/.1)}
.mega-menu[hidden],.search-panel[hidden],.mobile-menu[hidden]{display:none}
.mega-inner{width:min(calc(100% - 40px),1180px);margin:auto;padding:35px 0 45px;display:grid;grid-template-columns:260px 1fr;gap:45px}
.mega-title{align-self:start;background:var(--teal);border-left:8px solid var(--pink);color:#fff;padding:17px 24px;font-size:20px}
.mega-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.mega-columns a{display:block;padding:9px 0;line-height:1.35;color:var(--muted)}
.mega-columns a:hover{color:var(--teal)}
.search-panel{position:absolute;top:150px;left:0;right:0;background:var(--teal);padding:30px max(30px,calc((100vw - var(--container))/2));box-shadow:0 12px 25px rgb(0 0 0/.18)}
.search-form{display:flex}
.search-form input{flex:1;border:0;background:#fff;padding:15px 18px;min-width:0}
.search-form button{border:1px solid var(--pink);background:var(--pink);padding:0 28px;cursor:pointer}
.search-message{color:#fff;margin:8px 0 0}

main{padding-top:150px}
.hero{background:#fff url('../assets/images/expertise-bg.svg') center/cover no-repeat;padding:70px 0 60px;min-height:475px}
.breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:15px}
.breadcrumbs a:hover{color:var(--teal)}
.hero-copy{max-width:730px}
.hero-copy p{color:var(--muted);line-height:1.68;margin-bottom:30px}

.services{background:var(--grey)}
.section-heading{max-width:610px;margin-bottom:33px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:80px;row-gap:28px}
.services-grid article{min-height:76px}
.services-grid h3{font-family:Niveau,Arial,sans-serif;font-size:18px;line-height:1.45;font-weight:400;margin:0 0 28px}
.services-grid h3 a{display:block;border-bottom:1px solid var(--ink);padding-bottom:15px}
.services-grid h3 a:hover,.services-grid li a:hover,.subservice:hover{color:var(--teal);border-color:var(--teal)}
.services-grid ul{list-style:none;padding:0;margin:-15px 0 0}
.services-grid li,.subservice{display:block;color:var(--muted);font-size:17px;line-height:1.65}

.stats{background:var(--teal) url('../assets/images/teal-rays.svg') center/cover no-repeat;padding:151px 0 130px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;color:#fff}
.stats-grid>div{position:relative;padding-top:17px}
.stats-grid>div::before{content:"";position:absolute;top:0;left:0;width:110px;height:1px;background:#fff}
.stats strong{display:block;font:400 60px/1.1 Span,Georgia,serif;margin-bottom:5px}
.stats span{display:block}

.quote-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-bottom:55px}
.quote-image{margin-top:-60px}
.quote-image img{width:100%;height:440px;object-fit:cover}
blockquote{margin:0;padding:20px 14% 20px 9%;font-family:Span,Georgia,serif;position:relative}
blockquote::before{content:'“';position:absolute;left:calc(9% - 30px);top:6px;font:60px/1 Span,Georgia,serif}
blockquote p{font-size:28px;line-height:1.35;margin-bottom:28px;position:relative}
blockquote p::after{content:"";position:absolute;left:0;bottom:-13px;width:90px;height:1px;background:var(--ink)}
blockquote cite{font-family:Niveau,Arial,sans-serif;font-style:normal;font-size:16px}

.contacts{position:relative;background:#fff;min-height:690px}
.contacts::before{content:"";position:absolute;inset:0 auto 0 0;width:48%;background:url('../assets/images/contact-shape.svg') left bottom/670px auto no-repeat;z-index:0;pointer-events:none}
.contacts-layout{position:relative;display:grid;grid-template-columns:40% 60%;align-items:center;gap:0}
.contact-intro{padding-right:58px;z-index:1}
.contact-intro>p:last-of-type{color:var(--muted)}
.desktop-controls{display:flex;gap:10px;margin-top:82px}
.round-button{width:40px;height:40px;border:1px solid var(--ink);border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .2s ease}
.round-button:hover{background:var(--pink)}
.round-button img{width:19px;height:19px}
.slider{position:relative}
.slides{position:relative}
.slide{display:none;animation:slideFade .52s var(--ease)}
.slide.is-active{display:block}
@keyframes slideFade{from{opacity:.2;transform:translateX(18px)}to{opacity:1;transform:none}}
.contact-slider{padding-left:50px}
.contact-slider .slide{position:relative;padding-bottom:70px}
.contact-slider .slide>img{width:520px;height:418px;object-fit:cover;margin-left:auto}
.person-card{position:absolute;left:0;right:2%;bottom:0;background:var(--teal);color:#fff;padding:23px 25px 20px}
.person-card .role{font-size:14px;text-transform:uppercase;margin:0 0 3px}
.person-card h3{font-size:28px;color:#fff;margin:0 0 17px;position:relative}
.person-card h3::after{content:"";position:absolute;left:0;bottom:-7px;width:125px;height:1px;background:#fff}
.person-details{display:flex;align-items:end;justify-content:space-between;gap:15px}
.person-details p{font-size:14px;line-height:1.55;margin:0}
.person-details a:not(.button){color:#fff}
.person-details a:not(.button):hover{text-decoration:underline}
.person-details .button:hover{color:#fff}
.slider-status{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:18px}
.progress{height:2px;background:var(--line);width:260px;display:block}
.progress i{display:block;width:16.666%;height:100%;background:var(--ink);transition:width .45s var(--ease)}
.fraction{font-size:14px;white-space:nowrap}
.fraction b{font-weight:400}
.mobile-controls{display:none}

.case-studies{position:relative;background:var(--teal) url('../assets/images/teal-rays.svg') center/cover no-repeat;padding-top:140px;padding-bottom:70px}
.case-studies::before{content:"";position:absolute;top:0;left:45%;right:0;height:65px;background:#fff}
.case-slider{padding-bottom:65px}
.case-slider .slide{display:none;grid-template-columns:45% 55%;align-items:center}
.case-slider .slide.is-active{display:grid}
.case-slider .slide>img{width:557px;height:357px;object-fit:cover;position:relative;z-index:2;margin-right:-220px}
.case-copy{min-height:420px;background:#fff url('../assets/images/case-card-rays.svg') right/contain no-repeat;padding:100px 80px 80px 250px}
.case-copy h2{font-size:30px;line-height:1.28}
.case-copy>p:not(.eyebrow){line-height:1.65}
.case-copy>a{text-decoration:underline}
.case-copy>a:hover{color:var(--teal)}
.case-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px;color:#fff}
.round-button.light{border-color:#fff;filter:invert(1)}
.case-controls .progress{width:42%;margin-left:12px;background:rgba(255,255,255,.45)}
.case-controls .progress i{width:14.285%;background:#fff}

.site-footer{background:var(--grey)}
.footer-main{padding:60px 0 40px}
.footer-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.footer-brand-row>img{width:148px;height:60px}
.social-links{display:flex;gap:13px;align-items:center}
.social-links a{font-weight:700;font-size:20px}
.social-links a:hover{color:var(--teal)}
.footer-links{display:flex;gap:40px;padding-bottom:30px;border-bottom:1px solid var(--teal);font-size:18px}
.footer-links a:hover,.locations a:hover{color:var(--teal)}
.locations{display:flex;gap:40px;align-items:center;padding-top:25px}
.legal-bar{background:var(--teal);color:#fff;padding:17px 0}
.legal-layout{display:grid;grid-template-columns:2fr 1fr;gap:35px;align-items:center}
.legal-layout nav{display:flex;gap:38px;font-size:13px}
.legal-layout nav a{color:#fff}
.legal-layout p{font-size:13px;line-height:1.6;margin:14px 0 0;max-width:700px}
.badges{display:flex;gap:25px;align-items:center;justify-content:flex-end}
.badges img:nth-child(1){width:145px;height:86px;object-fit:contain;background:#d9e2e4}
.badges img:nth-child(2){width:85px;height:85px;object-fit:contain}
.badges img:nth-child(3){width:55px;height:78px;object-fit:contain}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.slide{animation:none}}

@media (max-width:1100px){
  :root{--container:960px}.desktop-nav{gap:27px}.nav-row,.topbar{padding-inline:30px}.hero-copy{max-width:700px}.services-grid{column-gap:55px}.contact-slider .slide>img{width:100%}.person-card{right:0}.case-copy{padding-left:190px;padding-right:50px}.case-slider .slide>img{margin-right:-170px}.legal-layout nav{gap:22px}
}

@media (max-width:991px){
  h1{font-size:42px}h2{font-size:34px}.topbar,.desktop-nav{display:none}.site-header{height:70px}.nav-row{height:70px;padding-inline:22px}.brand img{width:124px;height:50px}.mobile-actions{display:flex;align-items:center;gap:8px}.menu-toggle{width:42px;height:42px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);transition:.3s ease}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.search-panel{top:70px;padding:22px}.mobile-menu{position:fixed;top:70px;right:0;bottom:0;width:min(88vw,430px);background:var(--teal);color:#fff;padding:28px;overflow:auto;box-shadow:-15px 0 35px rgb(0 0 0/.2)}.mobile-menu>a,.mobile-menu summary{display:block;color:#fff;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.3);font-size:20px;cursor:pointer}.mobile-menu details>a{display:block;color:#fff;padding:9px 0 9px 20px;font-size:17px}.mobile-menu summary::marker{color:var(--pink)}main{padding-top:70px}.hero{padding-top:42px}.services-grid{column-gap:35px}.stats{padding:115px 0 95px}.quote-image img{height:350px}.contacts{min-height:620px}.contacts-layout{grid-template-columns:40% 60%}.contact-intro{padding-right:25px}.contact-slider{padding-left:20px}.person-card{left:-20px}.case-slider .slide>img{width:100%;height:300px;margin-right:-120px}.case-copy{padding:70px 38px 60px 145px;min-height:370px}.legal-layout{grid-template-columns:1.5fr 1fr}.legal-layout nav{flex-wrap:wrap;gap:8px 20px}
}

@media (max-width:767px){
  body{line-height:1.55}.container,.narrow{width:min(calc(100% - 32px),var(--container))}.section-pad{padding:60px 0}h1{font-size:38px}h2{font-size:32px;line-height:1.25}.hero{padding:30px 0 60px;background-position:57% center}.breadcrumbs{white-space:nowrap;overflow:auto;padding-bottom:5px}.hero-copy{margin-top:15px}.services .section-heading br{display:none}.services-grid{grid-template-columns:1fr;gap:0}.services-grid article{min-height:0;margin-bottom:25px}.services-grid h3{margin-bottom:25px}.services-grid h3 a{width:100%}.services-grid ul{margin-top:-10px}.stats{padding:100px 0 65px}.stats-grid{grid-template-columns:1fr;gap:62px}.stats strong{font-size:58px}.quote-section{grid-template-columns:1fr;padding:0 16px 50px}.quote-image{margin-top:-60px}.quote-image img{height:250px}.quote-section blockquote{padding:55px 20px 20px 35px}.quote-section blockquote::before{left:7px;top:42px}.quote-section blockquote p{font-size:27px}.contacts{min-height:0;padding-bottom:85px}.contacts::before{width:100%;background-size:300px;background-position:left bottom}.contacts-layout{grid-template-columns:1fr}.contact-intro{padding:0;margin-bottom:40px}.desktop-controls{display:none}.contact-slider{padding-left:0}.contact-slider .slide{padding-bottom:0}.contact-slider .slide>img{height:auto;width:100%}.person-card{position:relative;left:0;right:auto;bottom:auto;width:100%;margin-top:-60px}.person-details{align-items:flex-start}.slider-status{justify-content:flex-end;margin-top:25px}.slider-status .progress{width:45%}.mobile-controls{display:flex;gap:10px;position:absolute;bottom:-51px;left:0}.case-studies{padding-top:100px;padding-bottom:60px}.case-studies::before{height:50px}.case-slider{padding-bottom:55px}.case-slider .slide.is-active{display:block}.case-slider .slide>img{width:95%;height:auto;margin:0 auto -70px}.case-copy{min-height:0;padding:105px 22px 35px;background-size:contain}.case-copy h2{font-size:29px}.case-controls{justify-content:flex-start;margin-top:25px}.case-controls .progress{flex:1;width:auto}.footer-main{padding:50px 0 30px}.footer-brand-row{display:block;text-align:center}.footer-brand-row>img{margin:auto}.social-links{justify-content:center;margin-top:30px}.footer-links{justify-content:center;gap:12px 25px;flex-wrap:wrap}.locations{justify-content:center;gap:8px 26px;flex-wrap:wrap}.locations span{width:100%;text-align:center}.legal-layout{grid-template-columns:1fr}.legal-layout nav{justify-content:center}.legal-layout p{text-align:center}.badges{justify-content:center}
}

@media (max-width:480px){
  .nav-row{padding-inline:16px}.search-form button{padding-inline:18px}.hero-copy p{font-size:16px;line-height:1.58}.button{min-width:150px}.section-heading{margin-bottom:25px}.services-grid h3 a{padding-bottom:12px}.person-card{padding:22px 18px}.person-details{display:block}.person-details .button{margin-top:14px}.slider-status .progress{width:42%}.case-studies::before{left:52%}.case-copy{padding-top:98px}.case-copy h2{font-size:27px}.case-controls .round-button{flex:0 0 40px}.footer-links a{font-size:16px}.legal-layout nav{font-size:12px}.badges{gap:15px}.badges img:nth-child(1){width:115px}.badges img:nth-child(2){width:70px;height:70px}.badges img:nth-child(3){width:45px;height:68px}
}

/* Town & Country Homes conversion landing page */
.button.outline{background:transparent;color:var(--ink)}
.button.outline:hover,.button.outline:focus-visible{background:var(--pink)}
.town-country-page{background:#fff}
.image-hero{position:relative;display:grid;align-items:end;min-height:570px;overflow:hidden;background:var(--teal)}
.image-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,34,.72) 0%,rgba(7,30,34,.28) 50%,rgba(7,30,34,.08) 75%),linear-gradient(0deg,rgba(7,30,34,.46),transparent 55%)}
.image-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%}
.image-hero-content{position:relative;z-index:1;padding-bottom:70px;color:#fff}
.image-hero .eyebrow,.image-hero h1{color:#fff}
.image-hero .eyebrow{margin-bottom:12px}
.image-hero h1{max-width:850px;margin:0;font-size:68px;line-height:1.06}
.tc-hero{min-height:690px;padding:45px 0 72px;background:#fff url('../assets/images/town-country-bg.svg') right center/auto 100% no-repeat}
.tc-hero .breadcrumbs{margin-bottom:28px}
.tc-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:72px;align-items:start}
.tc-hero-copy{padding-top:22px}
.tc-hero-copy h2{font-size:54px;max-width:720px;margin-bottom:24px}
.tc-hero-copy .hero-lead{max-width:700px;color:var(--muted);font-size:18px;line-height:1.6}
.proof-list,.tick-list{list-style:none;margin:27px 0;padding:0}
.proof-list li,.tick-list li{position:relative;padding:7px 0 7px 29px}
.proof-list li::before,.tick-list li::before{content:"";position:absolute;left:0;top:15px;width:12px;height:12px;background:var(--teal)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}
.cta-note{font-size:14px;color:var(--muted);margin:15px 0 0}
.cta-note a{text-decoration:underline;color:var(--ink)}
.enquiry-card{background:var(--teal);color:#fff;padding:36px 34px 30px;box-shadow:0 20px 45px rgb(21 80 94/.18)}
.enquiry-card .eyebrow,.enquiry-card h2,.enquiry-card>p{color:#fff}
.enquiry-card h2{font-size:34px;margin-bottom:9px}
.enquiry-card>p{font-size:15px;line-height:1.55;margin-bottom:23px}
.landing-form{display:grid;gap:14px}
.landing-form label{display:grid;gap:5px;font-size:13px;line-height:1.3}
.landing-form input,.landing-form select,.landing-form textarea{width:100%;border:1px solid rgba(255,255,255,.48);border-radius:0;background:#fff;color:var(--ink);padding:11px 12px;min-height:45px;resize:vertical}
.landing-form input:focus,.landing-form select:focus,.landing-form textarea:focus{outline:3px solid rgba(250,161,181,.42);border-color:var(--pink)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.landing-form .button{width:100%;cursor:pointer}
.form-note{font-size:11px;line-height:1.4;margin:0;color:rgba(255,255,255,.72)}
.form-response{font-size:14px;line-height:1.45;margin:0;color:#fff;font-weight:500}
.property-showcase{padding:0 0 90px;background:#fff}
.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:410px;gap:18px}
.showcase-card{position:relative;overflow:hidden;margin:0;background:var(--teal)}
.showcase-card::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(7,30,34,.78))}
.showcase-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.showcase-card:hover img{transform:scale(1.025)}
.showcase-card figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:24px;color:#fff}
.showcase-card .eyebrow{color:#fff;margin-bottom:9px}
.showcase-card h3,.showcase-card p{color:#fff}
.showcase-card h3{font:400 27px/1.2 Span,Georgia,serif;margin:0 0 3px}
.showcase-card figcaption>p:not(.eyebrow){font-size:14px;margin:0;color:rgba(255,255,255,.88)}
.testimonial-banner{overflow:hidden;padding:82px 0 76px;background:var(--teal) url('../assets/images/teal-rays.svg') center/cover no-repeat;color:#fff}
.testimonial-heading{margin-bottom:38px}
.testimonial-heading .eyebrow,.testimonial-heading h2{color:#fff}
.testimonial-heading .eyebrow{margin-bottom:10px}
.testimonial-heading h2{max-width:680px;margin:0;font-size:42px}
.testimonial-rail,.team-rail{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-ms-overflow-style:none}
.testimonial-rail::-webkit-scrollbar,.team-rail::-webkit-scrollbar{display:none}
.testimonial-rail:focus-visible,.team-rail:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}
.testimonial-track{display:flex;width:max-content;gap:18px;padding:0 18px}
.testimonial-card{display:flex;flex:0 0 clamp(390px,37vw,520px);min-height:310px;background:#fff;color:var(--ink);scroll-snap-align:start}
.testimonial-card--wide{flex-basis:clamp(430px,41vw,575px)}
.testimonial-card blockquote{display:flex;flex:1;flex-direction:column;margin:0;padding:37px 38px 33px;font-family:Span,Georgia,serif}
.testimonial-card blockquote::before{content:'“';position:static;display:block;height:43px;color:var(--pink);font:68px/.85 Span,Georgia,serif}
.testimonial-card blockquote p{flex:1;margin:0 0 31px;font-size:26px;line-height:1.36}
.testimonial-card blockquote p::after{display:none}
.testimonial-card blockquote footer{display:grid;gap:2px;padding-top:17px;border-top:1px solid var(--line)}
.testimonial-card blockquote cite{font:500 14px/1.35 Niveau,Arial,sans-serif}
.testimonial-card blockquote footer span{color:var(--muted);font:400 13px/1.35 Niveau,Arial,sans-serif}
.testimonial-controls{display:flex;gap:10px;margin-top:28px}
.testimonial-nav-button{display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:transparent;cursor:pointer;transition:background .25s ease,border-color .25s ease}
.testimonial-nav-button img{width:20px;filter:invert(1)}
.testimonial-nav-button:hover,.testimonial-nav-button:focus-visible{border-color:var(--pink);background:var(--pink)}
.testimonial-nav-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.tc-services{padding-top:100px;padding-bottom:115px;background:var(--grey)}
.section-heading.centred{text-align:center;max-width:720px;margin:0 auto 54px}
.section-heading.centred>p:last-child{color:var(--muted);font-size:18px}
.tc-service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.tc-service-grid article{grid-column:span 2;position:relative;background:#fff;padding:31px 28px 29px;border-top:4px solid transparent;min-height:290px;transition:transform .3s var(--ease),border-color .3s ease,box-shadow .3s ease}
.tc-service-grid article:nth-child(4){grid-column:2/span 2}.tc-service-grid article:nth-child(5){grid-column:4/span 2}
.tc-service-grid article:hover{transform:translateY(-6px);border-color:var(--pink);box-shadow:0 18px 30px rgb(0 0 0/.08)}
.tc-service-grid article>span{display:block;color:var(--pink);font-weight:700;margin-bottom:22px}
.tc-service-grid h3,.journey-grid h3{font:400 26px/1.24 Span,Georgia,serif;margin:0 0 15px}
.tc-service-grid p{color:var(--muted);font-size:15px;line-height:1.62}
.tc-service-grid a{position:absolute;left:28px;bottom:25px;text-decoration:underline}
.tc-service-grid a b{color:var(--pink);font-weight:400;text-decoration:none}
.team-section{overflow:hidden;padding:105px 0 112px;background:#fff}
.team-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:80px;align-items:end;margin-bottom:50px}
.team-heading h2{max-width:650px;margin-bottom:0;font-size:44px}
.team-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.team-rail{scroll-snap-type:x mandatory;padding-left:max(20px,calc((100vw - var(--container))/2))}
.team-track{display:flex;width:max-content;gap:18px;padding-right:max(20px,calc((100vw - var(--container))/2))}
.team-card{position:relative;display:block;flex:0 0 clamp(290px,27vw,365px);overflow:hidden;background:var(--teal);color:#fff;scroll-snap-align:start}
.team-card>img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 28%;filter:saturate(.88);transition:transform .7s var(--ease),filter .4s ease}
.team-card::after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(transparent,rgba(6,30,35,.9));pointer-events:none}
.team-card:hover>img,.team-card:focus-visible>img{transform:scale(1.025);filter:saturate(1)}
.team-card:focus-visible{outline:3px solid var(--pink);outline-offset:-3px}
.team-card-content{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:27px 28px 26px}
.team-role{margin:0 0 4px;color:rgba(255,255,255,.82);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.team-card h3{margin:0 0 5px;color:#fff;font:400 30px/1.18 Span,Georgia,serif}
.team-specialty{margin:0 0 20px;color:rgba(255,255,255,.86);font-size:14px}
.team-profile-link{display:inline-block;margin-top:15px;padding-bottom:2px;border-bottom:1px solid var(--pink);font-size:14px}
.personal-service{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff}
.personal-image{min-height:610px}
.personal-image img{width:100%;height:100%;object-fit:cover}
.personal-copy{padding:90px max(7vw,70px);background:#fff url('../assets/images/town-country-bg.svg') right bottom/70% auto no-repeat}
.personal-copy h2{font-size:40px}.personal-copy>p:not(.eyebrow){color:var(--muted);font-size:17px}.tick-list{margin-top:25px}.text-link{display:inline-block;margin-top:10px;text-decoration:underline;font-weight:500}.text-link:hover{color:var(--teal)}
.journey{padding-top:105px;padding-bottom:110px}
.journey .section-heading{margin-bottom:48px}
.journey-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--teal)}
.journey-grid li{position:relative;padding:46px 32px 0 0;margin-right:32px}
.journey-grid li::before{content:"";position:absolute;top:-7px;left:0;width:13px;height:13px;background:var(--pink);transform:rotate(45deg)}
.journey-grid span{display:block;color:var(--teal);font-weight:700;margin-bottom:17px}
.journey-grid p{color:var(--muted);font-size:15px}
.fees-banner{padding:75px 0;background:var(--teal) url('../assets/images/teal-rays.svg') center/cover no-repeat;color:#fff}
.fees-layout{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.fees-layout .eyebrow,.fees-layout h2,.fees-layout p{color:#fff}.fees-layout h2{font-size:38px}.fees-layout p{max-width:700px;margin-bottom:0}.fees-layout>div:last-child{display:grid;justify-items:center;gap:9px}.fees-layout>div:last-child span{font-size:12px;color:rgba(255,255,255,.75)}
.faq-section{padding-top:105px;padding-bottom:110px;background:var(--grey)}
.faq-layout{display:grid;grid-template-columns:38% 62%;gap:80px;align-items:start}
.faq-layout .section-heading p:not(.eyebrow){color:var(--muted)}
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--ink)}
.faq-list summary{position:relative;cursor:pointer;list-style:none;padding:23px 52px 23px 0;font:400 22px/1.35 Span,Georgia,serif}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:7px;top:17px;font:300 30px/1 Niveau,Arial,sans-serif;transition:transform .25s ease}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{color:var(--muted);padding:0 52px 24px 0;margin:0}
.final-cta{padding:100px 0;background:#fff url('../assets/images/town-country-bg.svg') right center/auto 145% no-repeat;text-align:center}
.final-cta .container{max-width:760px}.final-cta h2{font-size:48px}.final-cta p:not(.eyebrow){font-size:18px;color:var(--muted)}.final-cta>div>div{display:flex;gap:28px;align-items:center;justify-content:center;margin-top:30px}.phone-link{text-decoration:underline;font-weight:500}
.mobile-sticky-cta{display:none}

@media (max-width:1100px){
  .tc-hero-grid{gap:35px;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}.tc-hero-copy h2{font-size:48px}.enquiry-card{padding-inline:27px}.personal-copy{padding-inline:55px}.faq-layout{gap:50px}.tc-service-grid{gap:16px}.tc-service-grid article{padding-inline:22px}.tc-service-grid a{left:22px}
}

@media (max-width:991px){
  .image-hero{min-height:500px}.image-hero h1{font-size:58px}.tc-hero{padding-top:35px}.tc-hero-grid{grid-template-columns:1fr 380px;gap:28px}.tc-hero-copy h2{font-size:43px}.tc-hero-copy .hero-lead{font-size:17px}.hero-actions{display:grid}.hero-actions .button{width:100%}.tc-service-grid article{grid-column:span 3}.tc-service-grid article:nth-child(4),.tc-service-grid article:nth-child(5){grid-column:span 3}.personal-copy{padding:70px 38px}.journey-grid{grid-template-columns:repeat(2,1fr);row-gap:45px}.fees-layout{grid-template-columns:1fr auto}.faq-layout{grid-template-columns:42% 58%;gap:35px}
  .showcase-grid{grid-template-rows:350px}.team-heading{gap:40px}.team-card{flex-basis:330px}
}

@media (max-width:850px){
  .tc-hero-grid{grid-template-columns:1fr}.enquiry-card{max-width:620px}
  .showcase-grid{grid-template-rows:300px}
}

@media (max-width:767px){
  .image-hero{min-height:420px}.image-hero-content{padding-bottom:45px}.image-hero h1{font-size:49px}.tc-hero{padding:26px 0 55px;background-size:auto 64%;background-position:right top}.tc-hero .breadcrumbs{margin-bottom:13px}.tc-hero-grid{grid-template-columns:1fr;gap:42px}.tc-hero-copy{padding-top:8px}.tc-hero-copy h2{font-size:41px}.tc-hero-copy h2 br{display:none}.tc-hero-copy .hero-lead{font-size:17px}.hero-actions{display:flex}.hero-actions .button{width:auto}.enquiry-card{padding:32px 24px}.tc-services{padding-top:75px;padding-bottom:70px}.section-heading.centred{text-align:left;margin-bottom:36px}.tc-service-grid{grid-template-columns:1fr}.tc-service-grid article,.tc-service-grid article:nth-child(4),.tc-service-grid article:nth-child(5){grid-column:auto;min-height:270px}.personal-service{grid-template-columns:1fr}.personal-image{min-height:330px}.personal-copy{padding:65px 24px}.personal-copy h2{font-size:34px}.journey{padding-top:75px;padding-bottom:75px}.journey-grid{grid-template-columns:1fr;border-top:0}.journey-grid li{padding:10px 0 25px 46px;margin:0;border-left:1px solid var(--teal)}.journey-grid li::before{top:10px;left:-7px}.journey-grid span{position:absolute;left:15px;top:2px}.fees-banner{padding:65px 0}.fees-layout{grid-template-columns:1fr;gap:30px}.fees-layout>div:last-child{justify-items:start}.faq-section{padding-top:75px;padding-bottom:80px}.faq-layout{grid-template-columns:1fr;gap:38px}.faq-list summary{font-size:20px}.final-cta{padding:80px 0 105px;background-size:auto 100%}.final-cta h2{font-size:39px}.final-cta>div>div{flex-direction:column;gap:16px}.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:999;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -5px 20px rgb(0 0 0/.18)}.mobile-sticky-cta a{padding:13px;text-align:center;background:var(--pink);font-weight:500}.mobile-sticky-cta a+ a{background:var(--teal);color:#fff}.site-footer{padding-bottom:50px}
  .property-showcase{padding-bottom:65px}.showcase-grid{grid-template-rows:270px}.showcase-card figcaption{left:20px;right:20px;bottom:18px}.testimonial-banner{padding:65px 0 60px}.testimonial-heading{margin-bottom:29px}.testimonial-heading h2{font-size:34px}.testimonial-rail{scroll-snap-type:x mandatory}.testimonial-track{gap:14px;padding-inline:16px}.testimonial-card,.testimonial-card--wide{flex-basis:calc(100vw - 50px);min-height:330px}.testimonial-card blockquote{padding:31px 26px 27px}.testimonial-card blockquote p{font-size:24px}.testimonial-controls{margin-top:22px}.testimonial-nav-button{width:42px;height:42px}.team-section{padding:75px 0 80px}.team-heading{display:block;margin-bottom:35px}.team-heading h2{font-size:36px;margin-bottom:19px}.team-heading>p{font-size:16px}.team-rail{padding-left:16px}.team-track{gap:14px;padding-right:16px}.team-card{flex-basis:78vw;max-width:335px}.team-card-content{padding:24px 22px}.team-card h3{font-size:28px}
}

@media (max-width:480px){
  .image-hero{min-height:350px}.image-hero h1{font-size:42px}.image-hero-content{padding-bottom:35px}.tc-hero-copy h2{font-size:37px}.hero-actions{display:grid}.hero-actions .button{width:100%}.field-row{grid-template-columns:1fr}.tc-services .section-heading h2{font-size:31px}.personal-image{min-height:270px}.personal-copy{padding-inline:18px}.journey-grid li{padding-right:5px}.fees-layout h2{font-size:33px}.faq-list summary{padding-right:42px}.final-cta h2{font-size:36px}
  .showcase-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,245px)}.testimonial-card,.testimonial-card--wide{flex-basis:calc(100vw - 42px)}.testimonial-card blockquote p{font-size:23px}.team-card{flex-basis:82vw}.team-heading h2{font-size:33px}
}

@media (prefers-reduced-motion:reduce){
  .testimonial-nav-button{transition:none}
  .team-card>img{transition:none}
  .team-card:hover>img,.team-card:focus-visible>img{transform:none}
}
