@charset "UTF-8";
:root{--bg:#101211;--panel:#1c201e;--text:#f9f9f6;--muted:#aeb3af;--accent:#ffffff;--line:#ffffff26;--pad:clamp(22px,5vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}p{font-size:15px;line-height:1.7;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;letter-spacing:-.055em}h1{font-size:clamp(52px,7vw,112px);line-height:1.02}h2{font-size:clamp(36px,4.5vw,70px);line-height:1.05;margin-bottom:30px}h3{font-size:28px}em{font-style:normal;color:inherit}.section{padding:95px var(--pad)}.eyebrow{display:block;font-size:9px;letter-spacing:.18em;line-height:1.8;margin-bottom:24px;font-weight:500}.topline{display:none}.skip{position:fixed;top:-100px;left:20px;background:white;color:black;padding:15px;z-index:200}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 23px;border:1px solid #fff;background:#fff;color:#17201b;font-size:12px;font-weight:600;border-radius:100px;transition:background .2s,transform .2s}.button:hover{background:#e8ece7;transform:translateY(-2px)}.button span{font-size:20px;font-weight:400}.button.small{font-size:12px;padding:12px 20px;gap:28px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid currentColor;padding:10px 0;font-size:12px}.text-link:hover{opacity:.65}header{height:105px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30;border-bottom:1px solid var(--line)}.home header{position:absolute;inset:0 0 auto;border:0;background:linear-gradient(#0006,transparent)}.logo{font-size:30px;font-weight:800;letter-spacing:-1.7px;display:flex;align-items:center}.logo-fach{font-weight:400;letter-spacing:-1.7px}.logo small{display:block;font-size:7px;letter-spacing:.27em;margin-top:6px;font-weight:400}.logo-mark{display:none}nav{display:flex;gap:35px;align-items:center;font-size:12px}nav>a:not(.button){opacity:.85}nav>a:hover{opacity:1}.menu-toggle{display:none}.hero{position:relative;height:100svh;min-height:730px;max-height:1100px;isolation:isolate;display:flex;align-items:center;padding:145px var(--pad) 200px;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;width:100%;z-index:-3;object-position:center}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#08120f9c,transparent 85%),linear-gradient(0deg,#0a1512b3,transparent 30%)}.hero-content{margin-top:0}.hero h1{font-size:clamp(80px,10.5vw,168px);line-height:.96;letter-spacing:-.075em;margin:30px 0 36px;max-width:900px;color:#fff}.hero .eyebrow{font-size:9px;color:#fff}.hero-intro{display:flex;align-items:center;gap:38px}.hero-intro p{font-size:14px;color:#fff;margin:0}.hero-intro .button{padding:15px 20px;font-size:11px;gap:25px}.hero-location{position:absolute;left:var(--pad);bottom:65px;font-size:10px;letter-spacing:.04em;display:flex;align-items:center;gap:9px}.location-dot{width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 0 4px #ffffff20}.room-picker{position:absolute;right:var(--pad);bottom:48px;display:flex;background:#12201966;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff50;border-radius:12px;overflow:hidden}.room-choice{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;gap:18px 30px;min-width:175px;background:transparent;color:#fff;border:0;border-right:1px solid #ffffff35;padding:19px 22px;font-size:14px;transition:background .2s}.room-choice:last-child{border-right:0}.room-choice span{grid-column:1/-1;font-size:8px;letter-spacing:.1em;opacity:.75}.room-choice i{font-size:18px;font-style:normal;opacity:.55}.room-choice.active{background:#fff;color:#18211b}.room-choice:hover:not(.active){background:#ffffff20}.room-choice:focus-visible{outline-offset:-5px;outline:2px solid currentColor}.hero-credit{position:absolute;right:var(--pad);bottom:22px;font-size:8px;color:#fff9;letter-spacing:.03em}.spaces{background:#f5f6f2;color:#1b221d}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-head h2{margin-bottom:0}.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.space-card{height:440px;position:relative;overflow:hidden;border-radius:12px;isolation:isolate;background:#677469}.space-card img{position:absolute;inset:0;height:100%;z-index:-2;transition:transform .65s cubic-bezier(.2,.6,.3,1)}.space-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b1b16b3,transparent 60%)}.space-card:hover img{transform:scale(1.035)}.space-wide{grid-column:1/-1;height:570px}.space-card>div{position:absolute;left:34px;right:34px;bottom:30px;color:white}.space-card h3{font-size:35px;letter-spacing:-.04em;margin:12px 55px 0 0;line-height:1.12}.space-card>div>span{font-size:11px;color:#fffd}.space-card i{font-style:normal;position:absolute;right:0;bottom:0;display:grid;place-items:center;width:45px;height:45px;border:1px solid #ffffff90;border-radius:50%;font-size:24px;transition:background .2s}.space-card:hover i{background:#fff;color:#18241d}.space-technical{grid-column:1/-1;height:340px}.space-technical img{object-position:center 56%}.spaces-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px}.spaces-bottom p{font-size:10px;color:#66736b;margin:0}.contact{position:relative;min-height:650px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.contact>img{position:absolute;inset:0;z-index:-3;height:100%;object-position:right center}.contact:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07100fe6,#07100fa3 50%,#07100f55);z-index:-2}.contact h2{font-size:clamp(60px,7.5vw,120px);letter-spacing:-.07em;line-height:.98;margin-bottom:45px}.contact .eyebrow{color:#fffc}.contact-phone{display:inline-flex;gap:55px;align-items:center;font-size:clamp(25px,3vw,45px);letter-spacing:-.04em;border-bottom:1px solid #fff8;padding-bottom:12px}.contact-phone span{font-size:35px}.contact p{font-size:10px;color:#fffa;margin-top:40px;max-width:600px}footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:65px var(--pad) 25px;background:#101411}footer .logo{font-size:26px}footer p{font-size:12px;margin-top:24px}footer b{display:block;font-size:11px;margin:7px 0 23px}footer>div>a:not(.logo){display:block;font-size:11px;color:var(--muted);margin:14px 0}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:25px;font-size:9px;color:var(--muted)}
/* Shared detail pages retain the existing routes and service content. */
.page-intro{padding-top:75px}.page-intro>.lead{max-width:700px}.lead{font-size:20px;line-height:1.65;color:#d8ddd8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.service-card{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:30px;min-height:230px;transition:background .2s}.service-card:hover{background:#2b332d}.service-card .number{font-size:10px;color:var(--muted)}.service-card h3{font-size:24px;margin:28px 0 12px;letter-spacing:-.035em}.service-card p{font-size:13px;max-width:85%}.service-card .arrow{position:absolute;bottom:25px;right:25px;font-size:23px}.service-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding:65px var(--pad);align-items:center}.service-hero h1{font-size:clamp(40px,4.5vw,70px)}.service-hero h1 em{display:block;font-size:.55em;letter-spacing:-.025em;line-height:1.3;margin-top:23px;color:#b9c6bc}.service-hero .lead{font-size:16px}.service-hero>img{height:540px;border-radius:12px}.breadcrumb{display:block;font-size:11px;color:var(--muted);margin-bottom:35px}.detail-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;background:var(--panel)}.detail-layout h2{font-size:42px}.detail-layout h3{font-size:22px;letter-spacing:-.03em}.detail-layout p{font-size:14px}.scope-list{padding-left:20px;line-height:2.5;color:var(--muted)}.related-links{display:flex;flex-wrap:wrap;gap:12px}.related-links a{font-size:13px;border:1px solid var(--line);padding:15px;border-radius:5px}.town-list{max-width:750px;margin-top:45px}.town-list a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-size:22px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0}.filters button{padding:12px 21px;border:1px solid var(--line);background:transparent;border-radius:30px;color:var(--text);font-size:12px}.filters button.active{background:#fff;color:#172019;border-color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{border:0;padding:0;background:var(--panel);color:#fff;text-align:left;overflow:hidden;border-radius:10px}.gallery-item img{height:340px;transition:transform .5s}.gallery-item:hover img{transform:scale(1.03)}.gallery-item>span{display:block;padding:20px;font-size:18px}.gallery-item small{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em;margin-bottom:12px}.gallery-item b{float:right}.caption{font-size:10px;color:var(--muted);margin-top:17px}[hidden]{display:none!important}dialog{background:#111a15;color:white;border:1px solid var(--line);padding:16px;max-width:90vw;max-height:94svh;border-radius:12px}dialog::backdrop{background:#050909ed}dialog img{width:auto;max-width:85vw;height:auto;max-height:76svh;object-fit:contain}dialog p{font-size:11px;margin:15px 0 0}.close{position:absolute;top:22px;right:22px;background:#161d16;color:white;border:1px solid #fff7;width:40px;height:40px;border-radius:50%;font-size:20px}
@media(min-width:1700px){.hero{max-height:1200px}.space-wide{height:680px}.space-card:not(.space-wide):not(.space-technical){height:550px}}
@media(max-width:1100px){.hero h1{font-size:115px}.room-choice{min-width:140px;gap:15px 20px;padding:17px 18px;font-size:13px}.hero-location{font-size:9px}.hero-intro{gap:25px}.section{padding:75px var(--pad)}.space-wide{height:480px}.space-card{height:390px}.space-technical{height:300px}.service-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){header{height:84px}.logo{font-size:26px}nav{gap:20px;font-size:11px}.button.small{padding:11px 16px;gap:16px}.hero{min-height:740px;max-height:1000px;align-items:center;padding-top:145px;padding-bottom:235px}.hero h1{font-size:clamp(75px,13vw,110px);margin:24px 0 28px}.hero .eyebrow{font-size:8px;letter-spacing:.12em}.hero-intro{display:block}.hero-intro p{font-size:13px;margin-bottom:22px}.hero-intro .button{padding:14px 19px}.hero-image{object-position:58% center}.hero:after{background:linear-gradient(90deg,#08120fa8,#08120f14),linear-gradient(0deg,#08120f9c,transparent 35%)}.room-picker{left:var(--pad);right:var(--pad);bottom:60px}.room-choice{min-width:0;width:33.333%;padding:17px;gap:12px 5px;font-size:12px}.room-choice span{font-size:7px}.room-choice i{font-size:15px}.hero-location{bottom:177px;left:var(--pad)}.hero-credit{bottom:30px;font-size:7px}.section-head h2{font-size:45px}.space-card{height:340px}.space-wide{height:430px}.space-card h3{font-size:26px}.space-card>div{left:23px;right:23px;bottom:25px}.space-card>div>span{font-size:10px}.space-card i{width:34px;height:34px;font-size:19px}.space-technical{height:290px}.spaces-bottom{align-items:start}.spaces-bottom .text-link{white-space:nowrap;font-size:11px}.contact{min-height:600px}.contact h2{font-size:75px}.contact p{line-height:1.9;max-width:310px}.service-hero,.detail-layout{grid-template-columns:1fr;gap:35px}.service-hero>img{height:400px}.service-hero h1{font-size:48px}footer{gap:25px}.detail-layout h2{font-size:36px}}
@media(max-width:520px){:root{--pad:21px}.menu-toggle{display:block;padding:10px 13px;background:#ffffff15;border:1px solid #ffffff60;border-radius:30px;color:#fff;font-size:11px}.menu-toggle:after{content:' ☰';margin-left:5px}nav{display:none;position:absolute;top:76px;left:var(--pad);right:var(--pad);background:#17201bf5;padding:20px;border:1px solid #ffffff40;border-radius:12px;box-shadow:0 15px 30px #0004}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav>a:not(.button){padding:17px 5px;font-size:14px}nav .button{margin-top:12px}.hero{height:100svh;min-height:690px;max-height:940px;padding-top:145px;padding-bottom:235px}.hero h1{font-size:clamp(70px,16vw,86px);line-height:.97;letter-spacing:-.065em}.hero .eyebrow{font-size:7px;letter-spacing:.13em}.hero-location{font-size:9px;bottom:174px}.room-choice{padding:15px 11px;font-size:11px}.room-choice span{font-size:7px}.room-choice i{font-size:13px}.hero-credit{font-size:7px}.section{padding:55px var(--pad)}.section-head{align-items:start;gap:18px;margin-bottom:27px}.section-head h2{font-size:37px;letter-spacing:-.055em}.section-head .text-link{font-size:10px;gap:15px;margin-top:5px;max-width:130px}.space-grid{gap:12px}.space-card{height:290px;border-radius:8px;grid-column:1/-1}.space-wide{height:360px}.space-card>div{left:21px;right:21px;bottom:24px}.space-card h3{font-size:28px}.space-wide h3{font-size:29px}.space-card>div>span{font-size:9px;max-width:230px;display:block;line-height:1.6}.space-technical{height:290px}.spaces-bottom{display:block;margin-top:20px}.spaces-bottom p{font-size:9px;margin-bottom:16px}.contact{min-height:540px}.contact h2{font-size:64px;margin-bottom:35px}.contact .eyebrow{font-size:8px}.contact-phone{font-size:32px;gap:35px}.contact p{font-size:9px}.contact>img{object-position:60% center}footer{grid-template-columns:1fr 1fr;padding:45px var(--pad) 20px}footer>div:first-child{grid-column:1/-1}footer p{font-size:11px}.footer-bottom{font-size:8px;gap:20px;line-height:1.5}footer .logo{font-size:26px}.page-intro h1{font-size:48px}.lead{font-size:17px}.service-grid,.gallery-grid{grid-template-columns:1fr;gap:14px}.service-card{min-height:180px}.service-hero{padding:45px var(--pad)}.service-hero h1{font-size:42px}.service-hero>img{height:300px}.gallery-item img{height:300px}.filters{gap:7px}.filters button{padding:11px 14px;font-size:11px}.town-list a{font-size:20px}.scope-list{font-size:14px}.detail-layout h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Canonical homepage refinement */
.home .topline{display:none}
.home .hero h1{font-size:clamp(3.4rem,7.2vw,7.7rem);line-height:1.04;letter-spacing:-.065em;max-width:1020px;margin:22px 0 22px}
.home .hero h1 em{font-style:normal;color:#d5b98b}
.home .hero-content{max-width:1040px}
.home .hero-intro{display:flex;align-items:flex-start;flex-direction:column;gap:24px}
.home .hero-intro p{font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.55;max-width:560px}
.home .hero-intro .button{font-size:14px;padding:18px 28px}
.home .hero-benefits{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:25px var(--pad);background:#151716e8;backdrop-filter:blur(12px);color:#fff}
.home .hero-benefits div{display:flex;flex-direction:column;gap:8px;padding:4px 26px;border-right:1px solid #ffffff36}
.home .hero-benefits div:first-child{padding-left:0}
.home .hero-benefits div:last-child{border-right:0}
.home .hero-benefits strong{font-size:15px}
.home .hero-benefits span{font-size:12px;color:#d5d5d5}
.home .hero-location{bottom:155px}
.home .hero-credit{bottom:145px}
@media(max-width:700px){.home .hero{min-height:760px;padding-bottom:260px}.home .hero h1{font-size:clamp(2.9rem,11vw,5rem)}.home .hero-benefits{grid-template-columns:1fr;padding:14px 22px}.home .hero-benefits div{padding:8px 0;border-right:0;border-bottom:1px solid #ffffff24}.home .hero-benefits div:last-child{border:0}.home .hero-location{bottom:225px}.home .hero-credit{bottom:215px}}
