@font-face{font-family:Manrope;src:url('/assets/manrope-latin-v1.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{--blue:#06477b;--blue-hover:#03345c;--ink:#152b3c;--muted:#586975;--line:#d8dedf;--soft:#f7f6f2;--dark:#102939;--light-blue:#b5cedf;--edge:max(1.25rem,calc((100vw - 1280px)/2));--section:clamp(3.5rem,7vw,6.5rem);--header:92px;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 1.5rem)}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.7 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation;transition:color .2s,background-color .2s,border-color .2s}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.035em;text-wrap:balance;hyphens:auto;overflow-wrap:anywhere}h1{font-size:clamp(2.75rem,5.5vw,5rem)}h2{font-size:clamp(2.2rem,3.8vw,3.5rem)}h3{font-size:1.4rem;line-height:1.35;letter-spacing:-.025em;font-weight:600;text-wrap:balance}p{color:var(--muted);text-wrap:pretty}::selection{background:#d6e8f6;color:var(--ink)}:where(a,button,summary,input,textarea,select):focus-visible{outline:3px solid var(--blue);outline-offset:4px;box-shadow:0 0 0 2px #fff}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;padding:.7rem 1rem;color:#fff;background:var(--blue)}.skip-link:focus{top:1rem}

/* Identity and navigation */
.preview-notice{padding:.35rem var(--edge);background:var(--soft);color:var(--muted);font-size:.8125rem;line-height:1.6;text-align:center;border-bottom:1px solid var(--line)}.preview-notice a{text-decoration:underline;text-underline-offset:.2em}.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:var(--header);padding:1rem var(--edge);border-bottom:1px solid var(--line);background:#fff}.brand{display:block;width:210px;flex-shrink:0;grid-column:1;grid-row:1}.logo-window{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:4.4;background:#fff}.logo-window img{position:absolute;width:100%;max-width:none;top:50%;left:0;transform:translateY(-52%)}.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,1.9vw,2rem);grid-column:2;grid-row:1;font-size:.875rem}.main-nav>a{display:flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;white-space:nowrap}.main-nav>a:hover,.main-nav>a[aria-current='page']{color:var(--blue);border-bottom-color:var(--blue)}.header-actions{display:none;align-items:center;gap:.75rem;grid-column:3;grid-row:1}.header-contact{grid-column:3;grid-row:1}.main-nav>.nav-contact{display:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;min-height:50px;max-width:100%;padding:.8rem 1.3rem;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:#fff;font-size:.9375rem;font-weight:600;line-height:1.5;text-align:left}.button:hover{color:#fff;background:var(--blue-hover);border-color:var(--blue-hover)}.button>span{flex-shrink:0;font-size:1.2rem;line-height:1}.button-small{min-height:44px;padding:.6rem 1rem;gap:1.3rem;font-size:.875rem;white-space:nowrap}.button-light{background:#fff;border-color:#fff;color:var(--blue)}.button-light:hover{background:#e9f0f5;border-color:#e9f0f5;color:var(--blue-hover)}.button-secondary{background:#fff;border-color:#a7b8c4;color:var(--blue)}.button-secondary:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.button-outline{background:transparent;border-color:#90aab9;color:#fff}.button-outline:hover{border-color:#fff;background:#ffffff12;color:#fff}.text-link{display:inline-flex;align-items:center;gap:1rem;min-height:44px;color:var(--blue);font-size:.9375rem;font-weight:600;text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px}.text-link>span{flex-shrink:0;font-size:1.15rem}.text-link:hover{color:var(--blue-hover)}
.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:3px;color:var(--ink)}.menu-lines,.menu-lines::before,.menu-lines::after{display:block;position:relative;width:19px;height:1.5px;background:currentColor;transition:transform .2s}.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0}.menu-lines::before{top:-6px}.menu-lines::after{top:6px}.menu-toggle[aria-expanded='true'] .menu-lines{background:transparent}.menu-toggle[aria-expanded='true'] .menu-lines::before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded='true'] .menu-lines::after{top:0;transform:rotate(-45deg)}

/* Shared editorial rhythm */
.eyebrow{font-size:.8125rem;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--blue)}.section{padding:var(--section) var(--edge)}.section-soft{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2.5rem;margin-bottom:2.5rem}.section-heading .eyebrow{margin-bottom:.9rem}.section-heading h2{max-width:20ch}.section-heading>p{max-width:25rem;font-size:1rem}.section-footnote{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem}.section-footnote>p{max-width:44rem;font-size:.875rem}.section-footnote .text-link{flex-shrink:0}

/* One regional photograph and a recognisable personal contact */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(2.5rem,5vw,5rem);padding:clamp(3rem,5vw,4.75rem) var(--edge);background:var(--soft)}.hero-copy{min-width:0}.hero .eyebrow{margin-bottom:1.4rem;max-width:31rem}.hero h1{font-size:clamp(3.25rem,5.55vw,5.35rem);line-height:1.03;max-width:100%;text-wrap:initial}.hero h1 em{color:var(--blue);font-weight:400}.hero h1 .hero-subline{display:inline-block;margin-top:.5em;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-weight:500;font-size:.41em;letter-spacing:-.035em;line-height:1.35}.hero-lead{max-width:32rem;margin-top:1.65rem;font-size:1rem;line-height:1.8}.hero-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:.8rem 1.5rem;margin-top:2rem}.hero .button-light{background:var(--blue);color:#fff;border-color:var(--blue)}.hero .button-light:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.hero-person{display:flex;align-items:center;gap:.9rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:30rem;min-height:60px}.hero-person>img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}.hero-person>span:nth-child(2){flex:1;min-width:0}.hero-person strong{display:block;color:var(--ink);font-size:.875rem;font-weight:600}.hero-person small{display:block;color:var(--muted);font-size:.8125rem;line-height:1.6}.hero-person>span:last-child{color:var(--blue)}.hero-visual{min-width:0;position:relative}.hero-image{position:relative;overflow:hidden;aspect-ratio:1.04;background:#e3e5de;border-radius:3px}.hero-visual figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 1rem;align-items:center;margin-top:.7rem;color:var(--muted);font-size:.8125rem;line-height:1.6}.hero-visual figcaption>span{grid-column:1}.hero-visual figcaption>strong{grid-column:1;font-size:.875rem;font-weight:500;color:var(--ink)}.hero-visual figcaption>a{grid-column:2;grid-row:1/3;display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--blue);border:1px solid var(--line);border-radius:50%;font-size:1.15rem}.hero-visual figcaption>a:hover{border-color:var(--blue);background:#fff}.hero-index{font-size:.8125rem;letter-spacing:.08em;color:var(--blue);font-variant-numeric:tabular-nums}.hero-location{display:flex;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.8125rem;color:var(--muted)}.hero-location svg{width:18px;height:18px;flex-shrink:0}
.photo-window{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e1e5e3}.photo-window>img{width:100%;height:100%;object-fit:cover}.post-photo>img{position:absolute;top:50%;left:-16%;width:132%;height:auto;max-width:none;transform:translateY(-50%)}.photo-window.geislingen>img{object-position:50% 56%}.hero-visuals{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hero-photo{position:relative;aspect-ratio:1;overflow:hidden;background:#e1e5e3}.hero-figure figcaption{padding-top:.75rem;font-size:.8125rem;color:var(--muted)}

/* Three useful routes */
.service-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--edge);border-block:1px solid var(--line);background:#fff}.service-route{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem 1rem;position:relative;min-width:0;padding:1.8rem 1.8rem 1.9rem 0}.service-route+.service-route{border-left:1px solid var(--line);padding-left:1.8rem}.route-number{grid-column:1/-1;margin-bottom:.4rem;color:var(--blue);font-size:.8125rem;letter-spacing:.07em;font-variant-numeric:tabular-nums}.service-route h2{font-family:Manrope,Arial,sans-serif;font-size:1.125rem;line-height:1.45;letter-spacing:-.025em;font-weight:600}.service-route p{grid-column:1;max-width:29ch;font-size:.875rem;line-height:1.7}.route-arrow{grid-column:2;grid-row:2;color:var(--blue);font-size:1.5rem;line-height:1.4}.service-route::after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}.service-route:hover::after{transform:scaleX(1)}

/* Property views retain their availability status */
.property-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 .9rem}.property-filters button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.1rem;border:1px solid #aebdc6;border-radius:3px;background:#fff;color:var(--ink);font-size:.875rem;line-height:1.5}.property-filters button:hover{border-color:var(--blue);color:var(--blue)}.property-filters button[aria-pressed='true']{color:#fff;border-color:var(--blue);background:var(--blue)}.filter-summary{font-size:.875rem;margin:.6rem 0 1.5rem}.empty-state{padding:2rem;border:1px solid var(--line);background:#fff;color:var(--muted)}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.property-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:3px}.property-image{display:block;position:relative}.property-image .photo-window{aspect-ratio:4/3}.property-badge{position:absolute;left:.85rem;top:.85rem;z-index:1;padding:.35rem .65rem;color:var(--ink);background:#fffffff5;font-size:.8125rem;line-height:1.5;border-radius:2px}.property-info{display:flex;flex-direction:column;flex:1;padding:1.35rem 1.3rem 1.2rem}.property-type{margin:0 0 .4rem;color:var(--muted);font-size:.8125rem;line-height:1.6}.property-info h3{font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.4}.property-info .property-status{margin:.7rem 0 1.2rem;font-size:.8125rem;line-height:1.7}.property-enquiry{width:100%;min-height:46px;margin-top:auto;padding:.7rem .85rem;gap:.5rem;font-size:.8125rem}.property-info .text-link{align-self:start;margin-top:.4rem;font-size:.8125rem}.property-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.property-arrow{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;border:1px solid var(--line);color:var(--blue)}.property-card>p:last-of-type{margin:.7rem 1.3rem;font-size:.875rem}.gallery-notice{margin:-.5rem 0 2rem;padding:.9rem 1.1rem;border-left:2px solid #7295af;background:#eaf0f3;color:#3c5568;font-size:.875rem;line-height:1.75}.property-detail{margin:1rem 0;border-top:1px solid var(--line);font-size:.875rem}.property-detail summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.5rem 0;color:var(--blue);font-weight:600;cursor:pointer;list-style:none}.property-detail summary::-webkit-details-marker{display:none}.property-detail summary::after{content:'+';font-size:1.2rem}.property-detail[open] summary::after{content:'−'}.property-detail p{margin:.5rem 0;font-size:.875rem;line-height:1.75}

/* Personal profile and regional context */
.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}.split-copy .eyebrow{margin-bottom:1rem}.split-copy h2{max-width:20ch}.split-copy>p:not(.eyebrow){max-width:37rem;margin-top:1.35rem;font-size:1rem;line-height:1.85}.split-copy .text-link{margin-top:1.25rem}.split-figure .photo-window{aspect-ratio:1.2;border-radius:3px}.split-figure figcaption{padding-top:.7rem;font-size:.8125rem;line-height:1.7;color:var(--muted)}.person-portrait{width:100%;max-width:420px;margin:0;justify-self:end}.person-portrait>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px}.person-portrait figcaption{margin-top:.75rem;font-size:.8125rem;line-height:1.65;color:var(--muted)}.person-portrait figcaption a,.profile-source a{text-decoration:underline;text-underline-offset:.2em}.split-copy>.profile-source{margin-top:.8rem;font-size:.8125rem}.profile-source a{color:var(--blue)}.home-person{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.home-person .person-portrait{max-width:360px;justify-self:center}.home-person .split-copy h2{max-width:23ch}.home-person .split-copy>p{max-width:41rem}.profile-facts{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin:1.7rem 0 .25rem;padding-top:1.25rem;border-top:1px solid var(--line)}.profile-facts dt{font-size:.8125rem;color:var(--muted)}.profile-facts dd{margin:.25rem 0 0;font-size:.9375rem;font-weight:600;color:var(--ink)}.about-signature{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding-top:1.4rem;margin-top:2rem;border-top:1px solid var(--line)}.about-signature strong{display:block;font-size:1.0625rem;font-weight:600}.about-signature small{display:block;margin-top:.2rem;font-size:.8125rem;color:var(--muted)}.about-mark{display:flex;align-items:center;justify-content:center;padding:2rem;aspect-ratio:1.3;background:#fff;border-block:1px solid var(--line)}.about-mark .logo-window{max-width:400px}
.region-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);background:var(--soft);border-top:1px solid var(--line)}.region-editorial .eyebrow{margin-bottom:1rem}.region-editorial h2{max-width:20ch}.region-editorial p+p{margin-top:1rem}.region-editorial .text-link{margin-top:1.2rem}.region-tags{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;padding:0;margin:1.5rem 0 0}.region-tags>*{display:inline-flex;align-items:center;padding:.45rem .85rem;border:1px solid #cbd4d9;border-radius:2px;color:var(--muted);font-size:.8125rem}.region-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem var(--edge);background:var(--soft);border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}.region-strip>div{display:flex;flex-wrap:wrap;gap:1.5rem}.region-strip strong{color:var(--ink);font-weight:500}

/* Concrete process */
.process-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);background:var(--dark);color:#fff}.process-section .eyebrow{margin-bottom:1.1rem;color:#b7d0e0}.process-section h2{max-width:17ch}.process-intro>p:not(.eyebrow){max-width:31rem;margin-top:1.5rem;line-height:1.8;color:#cbd8e1}.process-intro .text-link{margin-top:1.25rem;color:#fff}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:1rem;padding:1.5rem 0;border-top:1px solid #ffffff33}.process-list li>span{color:#adcadd;font-size:.8125rem;line-height:2.1;font-variant-numeric:tabular-nums}.process-list h3{font-size:1.2rem;line-height:1.5}.process-list p{margin-top:.4rem;font-size:.9375rem;line-height:1.8;color:#cbd8e1}

/* Interior pages */
.page-intro{padding:2.5rem var(--edge) 4rem;color:var(--ink);background:var(--soft);border-bottom:1px solid var(--line)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:2rem;font-size:.8125rem;color:var(--muted)}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}.breadcrumb a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:.25em}.page-intro .eyebrow{margin-bottom:1rem}.page-intro h1{max-width:18ch}.page-intro-wide h1{max-width:23ch}.page-intro .page-lead,.page-intro>p:last-child{max-width:45rem;margin-top:1.4rem;font-size:1.0625rem;line-height:1.8;color:var(--muted)}.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem 1.5rem;margin-top:1.75rem}.page-intro .button-light{background:var(--blue);border-color:var(--blue);color:#fff}.page-intro .button-light:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.page-intro .button-outline{border-color:#a7b8c4;color:var(--blue)}.page-intro .button-outline:hover{background:#fff;border-color:var(--blue)}
.service-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem)}.service-intro h2{max-width:19ch}.service-intro .eyebrow{margin-bottom:1rem}.service-intro-copy>p+p{margin-top:1rem}.service-intro-copy>.text-link{margin-top:1.25rem}.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3rem}.service-item{padding-top:1.5rem;border-top:1px solid #b5c5cf}.service-item>span{display:block;margin-bottom:1.2rem;color:var(--blue);font-size:.8125rem}.service-item h3{font-size:1.3rem}.service-item p{margin-top:1rem;font-size:.9375rem;line-height:1.8}.plain-list{list-style:none;max-width:40rem;padding:0;margin:2rem 0 0}.plain-list li{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.9375rem;color:var(--muted)}.plain-list li>span{color:var(--blue)}.checklist{list-style:none;padding:0;margin:1.5rem 0;color:var(--muted)}.checklist li{position:relative;padding:1rem 0 1rem 1.8rem;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.8}.checklist li::before{content:'✓';position:absolute;left:0;color:var(--blue)}.checklist strong{color:var(--ink);font-weight:600}.information-line{padding:1.3rem 0;margin-top:2.2rem;max-width:48rem;border-block:1px solid var(--line);font-size:.875rem}
.home-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,6rem)}.home-faq .eyebrow{margin-bottom:1rem}.home-faq .text-link{margin-top:1.2rem}.faq-list{max-width:900px;margin-top:2.5rem}.home-faq .faq-list{margin-top:0}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:60px;padding:1.15rem 0;list-style:none;cursor:pointer;font-size:1rem;line-height:1.6;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:var(--blue);font-size:1.5rem;font-weight:400;flex-shrink:0}.faq-list details[open] summary::after{content:'−'}.faq-list summary:hover{color:var(--blue)}.faq-list details p{max-width:47rem;padding:0 2rem 1.5rem 0;font-size:.9375rem;line-height:1.8}.faq-list a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}

/* Contact and footer */
.contact-band{padding:var(--section) var(--edge);color:#fff;background:var(--blue)}.contact-band>.eyebrow{margin-bottom:1.2rem;color:#c7dbe9}.contact-band-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:4rem}.contact-band h2{max-width:22ch;font-size:clamp(2.5rem,4.2vw,4.1rem)}.contact-band p{max-width:29rem;margin-bottom:1.5rem;color:#d8e5ee;font-size:1rem}.contact-direct{display:flex;align-items:center;width:fit-content;min-height:44px;margin-top:1rem;color:#fff;font-size:.875rem;text-decoration:underline;text-underline-offset:.25em}.contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(3rem,8vw,8rem)}.contact-copy h2{max-width:19ch}.contact-copy>p{max-width:35rem;margin-top:1.4rem}.contact-copy .button{margin-top:2rem}.instagram-name{display:block;margin-top:.8rem;color:var(--muted);font-size:.875rem}.contact-details{padding-top:1.5rem;border-top:1px solid var(--line)}.contact-details .eyebrow{margin-bottom:1rem}.contact-details h3{margin-bottom:.75rem}.contact-details address{font-style:normal;color:var(--muted);font-size:1rem;line-height:1.9}.contact-details dl{padding:0;margin:1.6rem 0 0}.contact-details dl>div{padding:1rem 0;border-top:1px solid var(--line)}.contact-details dt{color:var(--blue);font-size:.8125rem}.contact-details dd{margin:.4rem 0 0;color:var(--muted);font-size:.9375rem}.contact-note{margin-top:1.5rem;font-size:.8125rem}
.site-footer{padding:3.75rem var(--edge) 1.25rem;background:var(--soft)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);gap:3rem;padding-bottom:2.75rem}.footer-brand{width:210px;margin-bottom:1.25rem}.footer-grid p{max-width:26rem;font-size:.875rem;line-height:1.8}.footer-heading{display:block;margin-bottom:.9rem;color:var(--blue);font-size:.8125rem;line-height:1.6;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.footer-links{display:flex;flex-direction:column;align-items:start}.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}.footer-links a:hover,.footer-meta a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:.25em}.footer-address{color:var(--muted);font-style:normal;font-size:.875rem;line-height:1.9}.footer-social{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;margin-top:.8rem;color:var(--blue);font-size:.875rem}.footer-social svg{width:20px;height:20px}.footer-meta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}.footer-meta>div{display:flex;flex-wrap:wrap;gap:1.5rem}.footer-meta a{display:inline-flex;align-items:center;min-height:44px}

.footer-notice{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.75;color:var(--muted)}.footer-notice a{text-decoration:underline;text-underline-offset:.25em}

/* Legal and long-form content */
.legal-page{max-width:1440px;padding:3.5rem var(--edge) 5rem}.legal-page>.eyebrow{margin-bottom:1.2rem}.legal-page h1{margin-bottom:2rem}.legal-content,.prose{max-width:820px}.legal-content h2,.prose h2{margin:2.3rem 0 .85rem;font-family:Manrope,Arial,sans-serif;font-size:1.4rem;line-height:1.4;letter-spacing:-.025em;font-weight:600}.legal-content h3,.prose h3{margin:1.6rem 0 .6rem;font-size:1.125rem}.legal-content p,.prose p{margin:.75rem 0;line-height:1.85}.legal-content a,.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:.25em;overflow-wrap:anywhere}.legal-content address{font-style:normal;color:var(--muted);line-height:1.9}.legal-content ul{padding-left:1.4rem;color:var(--muted)}.legal-notice{margin-bottom:2rem;padding:1rem 1.3rem;background:var(--soft);border-left:3px solid var(--blue);color:var(--muted);font-size:.9375rem}.legal-notice p{margin:0}.legal-page .button{margin-top:2rem}

@media(max-width:1400px){:root{--edge:clamp(1.25rem,4.5vw,4rem)}}
@media(max-width:1100px){.site-header{gap:1.2rem}.brand{width:185px}.main-nav{gap:1rem}.hero{gap:2.5rem}.hero h1{font-size:clamp(3.2rem,5.3vw,4.2rem)}.property-grid{gap:1rem}.property-info{padding:1.2rem 1rem 1rem}.property-enquiry{padding-inline:.65rem}.footer-grid{gap:2rem}}
@media(max-width:940px){
 :root{--header:80px}.site-header{grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;padding-block:.9rem}.brand{width:200px}.js .site-header{grid-template-columns:minmax(0,1fr) auto auto}.header-contact{grid-column:2}.js .header-actions{display:flex;grid-column:3}.main-nav>.nav-contact{display:flex}.main-nav{grid-column:1/-1;grid-row:2;justify-content:start;gap:.5rem 1.4rem;flex-wrap:wrap}.js .menu-toggle{display:inline-flex}.js .main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.75rem var(--edge) 1.1rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 20px #1029390d;max-height:calc(100dvh - var(--header));overflow-y:auto}.js .main-nav.is-open{display:flex}.js .main-nav>a{min-height:50px;padding:.75rem .5rem;border-bottom:1px solid var(--line);font-size:1rem}.js .main-nav>a:last-child{border-bottom:0}.js .main-nav>a[aria-current='page']{color:var(--blue);background:#eef3f6}
 .hero{gap:2rem;padding-block:3rem}.hero h1{font-size:clamp(2.8rem,5.8vw,3.8rem)}.hero-lead{font-size:.9375rem}.hero-person{margin-top:1.5rem;padding-top:1.25rem}.hero-image{aspect-ratio:.85}.hero-image.post-photo>img{width:158%;left:-29%}.service-route{padding:1.5rem 1rem 1.6rem 0}.service-route+.service-route{padding-left:1rem}.service-route h2{font-size:1rem}.service-route p{font-size:.8125rem}.section-heading{gap:2rem}.section-heading>p{max-width:21rem}.split-section,.process-section,.service-intro,.home-faq,.region-editorial{gap:2.5rem}.home-person{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.home-person .split-copy h2{font-size:2.4rem}.property-info h3{font-size:1.15rem}.contact-band-inner{gap:2rem}.footer-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.75fr);gap:1.7rem}.footer-brand{width:185px}.contact-layout{gap:3rem}
}
@media(max-width:760px){
 .hero{grid-template-columns:minmax(0,1fr);gap:2.2rem}.hero h1{max-width:18ch;font-size:clamp(2.65rem,8.1vw,4rem)}.hero-lead{max-width:40rem;font-size:1rem}.hero-person{max-width:34rem}.hero-image{aspect-ratio:1.35}.hero-image.post-photo>img{width:132%;left:-16%}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.property-info h3{font-size:1.3rem}.section-heading{display:block}.section-heading>p{max-width:39rem;margin-top:1.2rem}.section-heading>.text-link{margin-top:1rem}.split-section,.home-person,.process-section,.service-intro,.home-faq,.region-editorial,.contact-layout{grid-template-columns:minmax(0,1fr)}.split-copy h2,.home-person .split-copy h2{max-width:23ch;font-size:clamp(2.1rem,5.8vw,3rem)}.home-person .person-portrait{justify-self:start;max-width:340px}.person-portrait{justify-self:start;max-width:380px}.process-section h2{max-width:22ch}.process-list{margin-top:.2rem}.contact-band-inner{grid-template-columns:minmax(0,1fr);gap:2rem}.contact-band h2{max-width:24ch}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:600px){
 :root{--header:76px;--section:3.5rem}h2{font-size:2.2rem}.preview-notice{padding:.35rem 1rem}.site-header{padding-block:.8rem;gap:.5rem}.brand{width:170px}.header-actions{gap:.5rem}.button-small{padding-inline:.8rem;gap:.6rem;font-size:.8125rem}.hero{padding-top:2.5rem;padding-bottom:2rem;gap:1.9rem}.hero .eyebrow{margin-bottom:1.1rem;font-size:.8125rem;letter-spacing:.08em}.hero h1{font-size:clamp(2.9rem,11vw,4rem);line-height:1.06;max-width:100%}.hero h1 .hero-subline{font-size:.43em;margin-top:.55em}.hero-lead{margin-top:1.3rem;font-size:.9375rem;line-height:1.8}.hero-buttons{margin-top:1.5rem;gap:.5rem 1rem}.hero-buttons .button{padding-inline:1rem;gap:1rem}.hero-buttons .text-link{font-size:.875rem}.hero-person{margin-top:1.3rem;padding-top:1.1rem}.hero-person>img{width:46px;height:46px}.hero-image{aspect-ratio:1.2}.hero-visuals{gap:.75rem}
 .service-routes{grid-template-columns:minmax(0,1fr)}.service-route,.service-route+.service-route{grid-template-columns:minmax(0,1fr) 1.5rem;gap:.3rem .8rem;padding:1.35rem 0;border-left:0;border-bottom:1px solid var(--line)}.service-route:last-child{border-bottom:0}.route-number{grid-column:1;grid-row:1;margin-bottom:.2rem;font-size:.8125rem}.service-route h2{grid-column:1;grid-row:2;font-size:1.125rem}.service-route p{grid-column:1;grid-row:3;max-width:none;font-size:.8125rem}.route-arrow{grid-column:2;grid-row:2/4}.section-heading{margin-bottom:1.8rem}.section-heading .eyebrow{margin-bottom:.8rem}.section-heading>p{font-size:.9375rem}.property-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.property-info{padding:1.25rem}.property-info h3{font-size:1.4rem}.property-enquiry{font-size:.875rem;min-height:48px}.gallery-notice{margin-top:0;font-size:.8125rem}.property-filters{gap:.5rem}.property-filters button{padding-inline:.8rem;font-size:.8125rem}.section-footnote{display:block;margin-top:1.6rem}.section-footnote .text-link{margin-top:.8rem}
 .split-section,.home-person,.process-section,.service-intro,.home-faq,.region-editorial{gap:2rem}.split-copy>p:not(.eyebrow){font-size:.9375rem;margin-top:1.2rem}.split-copy>.profile-source{font-size:.8125rem}.profile-facts{gap:1rem 1.5rem}.home-person .person-portrait,.person-portrait{max-width:330px}.region-strip{display:block}.region-strip>div{margin-top:.6rem;gap:.5rem 1.2rem}.process-list li{gap:.7rem;padding-block:1.25rem}.process-list h3{font-size:1.1rem}.process-list p{font-size:.875rem}.page-intro{padding-top:1.5rem;padding-bottom:2.5rem}.breadcrumb{margin-bottom:1.2rem}.page-intro h1{font-size:clamp(2.6rem,9vw,3.6rem)}.page-intro .page-lead,.page-intro>p:last-child{font-size:.9375rem;margin-top:1.25rem}.page-actions{gap:.7rem 1rem;margin-top:1.5rem}.page-actions .button{font-size:.875rem;padding-inline:1rem;gap:1rem}.service-list{grid-template-columns:minmax(0,1fr);gap:1.7rem;margin-top:2rem}.service-item>span{margin-bottom:.7rem}.service-item h3{font-size:1.2rem}.service-item p{margin-top:.7rem}.faq-list{margin-top:1.8rem}.faq-list summary{font-size:.9375rem}.faq-list details p{padding-right:0;font-size:.875rem}.contact-band h2{font-size:2.5rem}.contact-band p{font-size:.9375rem}.site-footer{padding-top:3rem}.footer-grid{gap:2rem 1.2rem}.footer-brand{width:195px}.footer-meta{display:block}.footer-meta>div{margin-top:.6rem}.legal-page{padding-top:2.5rem;padding-bottom:3.5rem}.legal-page h1{font-size:2.8rem}.legal-content h2,.prose h2{font-size:1.25rem}.legal-content p,.prose p{font-size:.9375rem}
}
@media(max-width:380px){.brand{width:138px}.header-actions{gap:.4rem}.button-small{padding-inline:.65rem}.button-small>span{display:none}.hero h1{font-size:2.9rem}.hero-buttons .button{font-size:.875rem}.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
