@font-face{font-family:Manrope;src:url('assets/fonts/manrope-regular.woff2');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope-bold.woff2');font-weight:700;font-display:swap}@font-face{font-family:Editorial;src:url('assets/fonts/dm-serif-display-regular.woff2');font-weight:400;font-display:swap}@font-face{font-family:Editorial;src:url('assets/fonts/dm-serif-display-italic.woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:#f6f8fb;--ink:#233b50;--dark:#17344f;--accent:#b9d4ee;--muted:#5b6d7e;--line:#cbd7e2;--gutter:clamp(24px,5vw,80px);--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-color:#929587 var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.1}h1,h2{font-family:Editorial,serif;letter-spacing:-.025em}h2{font-size:clamp(40px,4.5vw,66px)}h2 em{color:#417bb6}h3{font-size:28px;letter-spacing:-.03em}p{max-width:56ch}.arrow{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #417bb6;outline-offset:6px}::selection{background:#b9d4ee;color:#17344f}.skip{position:absolute;top:-90px;left:24px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:15px}
.header{background:var(--dark);color:var(--paper);padding:28px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:25px}.brand-mark{font-family:Manrope,sans-serif;font-weight:700;font-size:36px;letter-spacing:-.04em;line-height:.87;display:block}.brand-mark>span{display:block;font-size:17px;letter-spacing:.16em;margin-top:9px}.brand-place{font-size:10px;line-height:1.65;text-transform:uppercase;letter-spacing:.14em;color:#c4d3e0;border-left:1px solid #ffffff29;padding-left:24px}.header nav{display:flex;align-items:center;gap:35px;font-size:14px}.nav-contact{margin-left:30px;border:1px solid #b9d4ee5c;border-radius:30px;padding:11px 17px!important;display:flex;gap:24px;align-items:center}.header nav a{padding:10px 0}.menu-toggle{display:none}
.opening{background:var(--dark);color:var(--paper);display:grid;grid-template-columns:1fr 1.04fr;gap:3vw;padding:35px var(--gutter) 50px;min-height:720px;align-items:center}.opening-copy{align-self:stretch;display:flex;flex-direction:column;padding:45px 0 0}.opening h1{font-size:clamp(54px,5.8vw,88px);line-height:1.08;position:relative;z-index:1}.opening h1 em{color:var(--accent)}.opening-copy>p{font-size:21px;line-height:1.6;margin:32px 0 35px;color:#d8e3ed}.opening-details>p{font-size:13px;color:#bdcfdf;margin-bottom:28px}.primary-link{display:inline-flex;gap:30px;align-items:center;border-radius:40px;background:var(--accent);color:var(--dark);font-size:13px;padding:8px 8px 8px 23px}.primary-link .arrow{background:#17344f14;border-radius:50%;padding:12px;width:43px;height:43px}.opening-scroll{margin-top:auto;padding-top:45px;display:flex;gap:24px;font-size:13px;color:#c5d8e8;align-items:center}.opening-scroll svg{height:26px;width:22px}.opening-visual{position:relative;padding-left:10px}.image-mat{padding:7px;background:#ffffff08;border:1px solid #ffffff14;border-radius:3px}.opening-image{height:540px;object-fit:cover;object-position:center 28%;border-radius:1px}.image-foot{display:flex;justify-content:space-between;align-items:end;gap:20px;font-size:14px;color:#d8e5ef;padding:18px 8px 0}.image-foot>span:last-child{font-size:10px;color:#c4d6e5}.video-open{position:absolute;bottom:93px;right:28px;border:1px solid #f8f9f56b;border-radius:40px;display:flex;align-items:center;gap:12px;background:#f6f8fb;color:var(--ink);padding:9px 15px 9px 9px;font-size:13px}.video-open svg{width:35px;height:35px;border:1px solid #cbd7e2;border-radius:50%;padding:10px;fill:var(--ink)}.video-open>span:last-child{padding-left:10px;color:var(--muted);border-left:1px solid var(--line)}.service-strip{background:#244861;color:#d2e1ed;display:flex;gap:24px;padding:23px var(--gutter);font-size:14px;align-items:center}.service-strip>span:first-child{margin-right:auto;color:#bdcfdf}.service-strip>a:last-child{margin-left:auto;display:flex;gap:20px;align-items:center}
.section{padding:115px var(--gutter)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;margin-bottom:65px;align-items:end}.section-heading>p{font-size:15px;color:var(--muted)}.services{padding-bottom:90px}.service-row{display:grid;grid-template-columns:1fr 1.3fr .9fr;align-items:start;gap:5vw;padding:34px 0;border-top:1px solid var(--line)}.service-row h3{font-family:Editorial,serif;font-size:36px;letter-spacing:-.02em}.service-row p{font-size:14px;color:var(--muted)}.text-link{display:inline-flex;gap:26px;align-items:center;padding:5px 0;border-bottom:1px solid currentColor;font-size:14px}.service-row .text-link{justify-self:end;white-space:nowrap;margin-top:3px}.portfolio{padding-top:80px;background:#e9f0f6}.portfolio .section-heading{grid-template-columns:1.1fr 1fr}.project-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:5vw}.project-wide img{aspect-ratio:1.4;object-fit:cover}.project-tall{margin-top:120px}.project-tall img{aspect-ratio:.85;object-fit:cover;object-position:58% center}figcaption{display:flex;flex-direction:column;gap:2px;padding-top:18px;font-size:14px}figcaption span:last-child{font-size:13px;color:var(--muted)}.progress-project{display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:center;margin-top:100px}.progress-copy h3{font-family:Editorial,serif;font-size:46px;letter-spacing:-.025em}.progress-copy p{font-size:14px;color:var(--muted);margin-top:25px}.phase-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.phase-controls button{border:1px solid #8ba2b6;background:transparent;color:var(--ink);padding:12px 15px;border-radius:30px;font-size:13px}.phase-controls button[aria-pressed=true]{background:var(--dark);color:var(--paper);border-color:var(--dark)}.phase-images{padding:7px;background:#f9fcff55;border:1px solid #426b9226}.phase-images img{height:530px;object-fit:cover;object-position:50% 52%}.phase-status{min-height:45px}.process h2{margin-bottom:55px}.process ol{list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5vw;padding:0;margin:0}.process li{padding-top:25px;border-top:1px solid var(--line)}.process li>span{font-family:Editorial,serif;font-style:italic;color:#417bb6;font-size:32px}.process h3{font-size:22px;margin:18px 0}.process p{font-size:14px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw;padding-top:10px}.about img{aspect-ratio:1.2;object-fit:cover}.about p{font-size:15px;color:var(--muted);margin:28px 0}.about h2{font-size:50px}.reviews{padding-top:0;padding-bottom:90px}.reviews h2{font-size:32px;margin-bottom:20px}.reviews>.text-link{font-size:14px}#reviews-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.review{padding:22px 0}.review p{font-size:14px;margin:14px 0}.review small{color:var(--muted)}.contact{background:var(--dark);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact h2{font-size:58px}.contact h2 em{color:var(--accent)}.contact-copy>p{font-size:14px;color:#c4d6e5;margin:30px 0}.contact-copy>a{display:table;margin-bottom:15px;font-size:14px}.contact-copy .contact-phone{font-size:28px;letter-spacing:-.03em}.contact-copy address{font-style:normal;font-size:14px;color:#c4d6e5;margin-top:38px}.contact a:focus-visible,.contact button:focus-visible{outline-color:var(--accent)}form label{display:block;font-size:14px;margin-bottom:23px}form label>span{margin-left:4px}.optional{font-size:13px;color:#c4d6e5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #7c98b0;border-radius:0;background:transparent;color:var(--paper);padding:12px 0;caret-color:var(--accent);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent)}select option{background:var(--paper);color:var(--ink)}textarea{resize:vertical;min-height:120px}textarea::placeholder{font-size:13px;color:#c3d5e5;opacity:1}.privacy-note{font-size:13px;color:#c4d6e5;margin-bottom:25px}.privacy-note a{text-decoration:underline}.submit{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--accent);border:0;border-radius:40px;color:var(--dark);font-size:13px;padding:8px 8px 8px 23px}.submit .arrow{width:40px;height:40px;border-radius:50%;padding:10px;background:#17344f14}.submit:disabled{opacity:.7;cursor:wait}#form-status{font-size:13px;margin-top:18px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer{background:#11283e;color:var(--paper);padding:55px var(--gutter) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px}.footer-brand{font-size:80px;letter-spacing:-.04em;font-weight:700;line-height:1}.footer-top p{font-size:14px;color:#c3d5e5}.footer-bottom{border-top:1px solid #ffffff1c;padding-top:20px;display:flex;justify-content:space-between;font-size:13px;color:#c3d5e5}.footer-bottom>div{display:flex;gap:25px}dialog{border:1px solid #ffffff20;border-radius:8px;padding:18px;background:var(--dark);color:var(--paper);width:min(1000px,94vw);max-height:90vh}dialog::backdrop{background:#10283ded}dialog video{display:block;width:100%;max-height:72vh}dialog p{font-size:14px;margin-top:10px}.video-close{display:block;margin:0 0 14px auto;color:var(--paper);border:1px solid #ffffff30;border-radius:30px;padding:8px 18px;background:transparent}.legal{max-width:860px;margin:auto;padding:70px 24px}.legal h1{font-size:52px;margin-bottom:36px}.legal h2{font-size:25px;margin:36px 0 14px}.legal p{margin:15px 0}.legal a{text-decoration:underline}
button,.primary-link{transition:transform 140ms var(--ease)}button:active,.primary-link:active{transform:scale(.98)}body.keyboard-input button,body.keyboard-input .primary-link{transition:none;transform:none}html:has(body.keyboard-input){scroll-behavior:auto}
@media(hover:hover) and (pointer:fine){.text-link .arrow,.primary-link .arrow{transition:transform 180ms var(--ease)}.text-link:hover .arrow,.primary-link:hover .arrow{transform:translate(2px,-2px)}.header nav a:hover{color:var(--accent)}.phase-controls button:hover{border-color:var(--dark)}.submit:hover{background:#cee2f5}}
@media(max-width:1000px){.opening{gap:24px;min-height:660px}.opening h1{font-size:61px}.opening-image{height:480px}.opening-copy{padding-top:25px}.brand-place{display:none}.nav-contact{margin-left:0}.header nav{gap:23px}.service-row{grid-template-columns:1fr 1.3fr;gap:25px}.service-row .text-link{grid-column:2;justify-self:start}.contact{gap:50px}.contact h2{font-size:46px}.progress-project{gap:50px}.about h2{font-size:42px}}
@media(max-width:700px){.header{padding:25px var(--gutter)}.brand-mark{font-size:30px}.brand-mark>span{font-size:13px;margin-top:7px}.menu-toggle{display:flex;align-items:center;gap:14px;padding:10px 0;min-height:44px;border:0;background:transparent;color:var(--paper);font-size:14px}.menu-toggle span{width:22px;height:9px;border-top:1px solid;border-bottom:1px solid}.header nav{display:none;position:absolute;top:93px;left:0;right:0;z-index:5;background:var(--dark);padding:25px var(--gutter);flex-direction:column;align-items:stretch}.header nav.open{display:flex}.nav-contact{align-self:start}.opening{display:block;min-height:0;padding:20px var(--gutter) 33px}.opening-copy{padding-top:10px}.opening h1{font-size:clamp(46px,12.2vw,72px);line-height:1.04}.opening-copy>p{font-size:18px;margin:22px 0}.opening-details>p{font-size:14px;margin-bottom:22px}.opening-scroll{display:none}.opening-visual{padding-left:0;margin-top:38px}.opening-image{height:410px;object-position:center 25%}.image-mat{padding:5px}.image-foot{font-size:13px;gap:16px;padding:14px 4px 0}.image-foot>span:last-child{font-size:13px;max-width:120px;text-align:right}.video-open{right:18px;bottom:87px;font-size:13px}.video-open .video-label{display:inline}.video-open>span:last-child{display:none}.service-strip{font-size:13px;gap:13px;padding:20px var(--gutter);flex-wrap:wrap}.service-strip>span:first-child{width:100%;margin:0 0 2px}.service-strip>a:last-child{display:none}.section{padding:70px var(--gutter)}.section-heading{display:block;margin-bottom:36px}.section-heading>p{margin-top:24px;font-size:14px}.service-row{display:block;padding:26px 0}.service-row h3{font-size:33px}.service-row p{margin:15px 0}.project-grid{display:block}.project-tall{margin-top:38px}.project-tall img{aspect-ratio:1.15;object-position:center}.project-wide img{aspect-ratio:1.15}.progress-project{display:flex;flex-direction:column;gap:25px;margin-top:65px;align-items:stretch}.progress-copy h3{font-size:38px}.phase-images img{height:440px}.phase-status{min-height:0}.phase-controls{gap:6px}.phase-controls button{min-height:44px;padding:10px 13px}.process h2{margin-bottom:36px}.process ol{grid-template-columns:1fr;gap:28px}.process li{display:grid;grid-template-columns:40px 1fr;gap:0 18px}.process h3{margin:4px 0 14px}.process p{grid-column:2}.about{display:flex;flex-direction:column;gap:32px;padding-top:0}.about img{aspect-ratio:1.4}.about h2{font-size:42px}.about p{font-size:14px}.reviews{padding-top:0;padding-bottom:60px}.reviews h2{font-size:30px}#reviews-list{grid-template-columns:1fr;gap:10px}.contact{display:block}.contact h2{font-size:46px}.contact-copy{margin-bottom:48px}.contact-copy address{margin-top:26px}.contact-copy .contact-phone{font-size:25px}.form-grid{gap:0 20px}input,select,textarea{font-size:16px}.submit{min-height:54px}.video-close{min-height:44px}footer{padding-top:40px}.footer-top{display:block;padding-bottom:28px}.footer-brand{font-size:70px}.footer-top p{margin-top:22px}.footer-bottom{display:block}.footer-bottom>div{margin-top:15px;gap:23px}.legal h1{font-size:42px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}button:active,.primary-link:active,.text-link:hover .arrow,.primary-link:hover .arrow{transform:none}}
.all-projects{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:70px;padding-top:35px;border-top:1px solid #b9cbdc}.all-projects p{font-size:14px;color:var(--muted)}.all-projects .primary-link{background:var(--dark);color:var(--paper)}.gallery-intro{padding:65px var(--gutter) 40px}.gallery-intro h1{font-size:clamp(50px,6vw,88px);margin:35px 0 25px}.gallery-intro h1 em{color:#417bb6}.gallery-intro>p{font-size:15px;color:var(--muted)}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:38px 0 20px}.gallery-filters button{background:transparent;border:1px solid #a9bfd2;border-radius:30px;padding:10px 19px;color:var(--ink);font-size:14px;min-height:44px}.gallery-filters button[aria-pressed=true]{background:var(--dark);color:var(--paper);border-color:var(--dark)}#gallery-count{font-size:14px}.gallery-grid{padding:0 var(--gutter) 90px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px;align-items:start}.gallery-item[hidden]{display:none}.gallery-item>a{display:block;position:relative;overflow:hidden}.gallery-item img{aspect-ratio:4/5;object-fit:cover}.gallery-item:nth-child(6n+2) img{aspect-ratio:4/4}.gallery-item figcaption{font-size:13px;padding-top:12px}.enlarge{position:absolute;bottom:14px;right:14px;background:var(--paper);color:var(--ink);display:flex;gap:12px;align-items:center;border-radius:25px;padding:8px 14px;font-size:13px}.enlarge svg{width:16px;height:16px}#photo-dialog{width:min(1200px,96vw)}.photo-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.photo-toolbar button,.photo-bottom button{border:1px solid #ffffff40;border-radius:30px;color:var(--paper);background:transparent;padding:10px 18px;min-height:44px;font-size:14px}#photo-large{height:70vh;width:100%;object-fit:contain}.photo-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.photo-bottom p{font-size:14px;text-align:center;margin:0}@media(max-width:700px){.all-projects{display:block;margin-top:45px}.all-projects p{margin-bottom:20px}.gallery-intro{padding-top:35px}.gallery-grid{grid-template-columns:1fr 1fr;gap:25px 14px}.gallery-item figcaption{font-size:13px}.enlarge{right:8px;bottom:8px;font-size:13px;padding:7px 10px}.gallery-filters{gap:7px}.gallery-filters button{padding:9px 14px}.photo-bottom{flex-wrap:wrap;gap:10px}.photo-bottom p{order:3;width:100%}#photo-large{height:62vh}}@media(max-width:360px){.gallery-grid{grid-template-columns:1fr}}

/* Restore authentic identity and preserve the fleet photograph's full frame. */
.brand-logo{width:152px;height:auto;display:block;object-fit:contain;background:#fff;padding:7px;border-radius:2px}.footer-brand .brand-logo{width:185px}.header{position:relative}.about img{aspect-ratio:auto;height:auto;object-fit:contain}.gallery-item.gallery-original img{aspect-ratio:auto;height:auto;object-fit:contain}.gallery-filters [data-filter="Alle"]{order:-1}@media(max-width:700px){.brand-logo{width:120px}.header nav{top:100%}.footer-brand .brand-logo{width:152px}.about img{aspect-ratio:auto;height:auto}}

/* Soft logo frame, retaining the original brand artwork. */
.brand-logo{border-radius:16px;padding:10px 12px;background:#fff;box-shadow:0 4px 16px rgba(7,30,50,.10)}.footer-brand .brand-logo{border-radius:18px;padding:12px 14px}@media(max-width:700px){.brand-logo{border-radius:13px;padding:8px 10px}.footer-brand .brand-logo{border-radius:16px;padding:10px 12px}}

.minigolf-comparison{padding-top:65px;border-top:1px solid var(--line)}.minigolf-comparison .phase-images img{height:auto;max-height:620px;object-fit:contain;background:#dce7f0}@media(max-width:700px){.minigolf-comparison{padding-top:40px}.minigolf-comparison .phase-images img{height:auto;max-height:none}}

.contact-copy .contact-email{font-size:clamp(23px,2.6vw,38px);letter-spacing:-.025em;border-bottom:1px solid #b9d4ee;padding-bottom:5px;overflow-wrap:anywhere}.contact-copy .contact-phone{font-size:14px;letter-spacing:0;color:#c4d6e5}.room-comparison .phase-images img{height:auto;max-height:620px;object-fit:contain}@media(max-width:700px){.contact-copy .contact-phone{font-size:14px}.room-comparison .phase-images img{max-height:none}.service-strip>a:last-child{display:flex;width:100%;margin:8px 0 0}}

#video-dialog{width:min(510px,94vw)}#video-dialog video{object-fit:contain;max-height:72vh}

.apartment-comparison{padding-top:65px;border-top:1px solid var(--line)}.apartment-comparison .phase-images img{height:560px;object-fit:contain;background:#e9f0f6}@media(max-width:700px){.apartment-comparison{padding-top:40px}.apartment-comparison .phase-images img{height:440px}}

/* Contact attachments and explicit submission feedback. */
.attachments{margin:26px 0;border:1px solid #ffffff40;border-radius:8px;padding:20px;min-width:0}
.attachments input[type=file]{border:0;max-width:100%;padding:8px 0;color:inherit;font-size:14px}
.attachments input::file-selector-button{font:inherit;background:#e3effa;color:#17334e;border:0;border-radius:5px;padding:12px 16px;margin-right:12px;cursor:pointer}
#attachment-help,#attachment-list{font-size:14px;line-height:1.6;overflow-wrap:anywhere;margin:10px 0 0;color:#d0e0ed}
.clear-attachments{background:transparent;color:inherit;border:1px solid #ffffff70;border-radius:5px;padding:10px 14px;min-height:44px;margin-top:14px}
.clear-attachments[hidden]{display:none}
#form-status:not(:empty){padding:16px 18px;border:1px solid #9cb5ca;border-radius:6px;background:#183650;color:#fff;font-size:14px;line-height:1.6;overflow-wrap:anywhere;scroll-margin:30px}
#form-status[data-state=error]{border-color:#efb5a7;background:#422b30}
#form-status[data-state=success]{border-color:#a5cbbb;background:#193e36}
#form-status:focus-visible{outline:2px solid #fff;outline-offset:4px}
.submit:disabled{opacity:.7;cursor:wait}

/* Direct enquiry route while keeping email prominent. */
.hero-request{display:flex;align-items:center;gap:18px;width:fit-content;min-height:44px;margin-top:14px;font-size:14px;text-decoration:underline;text-underline-offset:5px;color:var(--paper)}

.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom>div{flex-wrap:wrap;gap:8px 23px}
.service-strip>a,.contact-copy .contact-phone{min-height:44px;align-content:center}
@media(min-width:701px) and (max-width:1150px){.header nav{gap:15px;font-size:12px}.brand-place{display:none}.nav-contact{margin-left:0;gap:12px}}
