@layer reset,base,layout,components,motion,responsive;
@layer reset{*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,figure,dl,dd{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}button{color:inherit}a{color:inherit}fieldset{border:0;padding:0;margin:0;min-width:0}dialog{border:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:110px}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}}
@layer base{
:root{--ink:#252b27;--muted:#697069;--paper:#f8f7f3;--white:#fff;--orange:#dc6c20;--orange-dark:#a9470b;--line:#dddfd6;--dark:#242b26;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
body{font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper);overflow-wrap:break-word}body.dialog-open{overflow:hidden}::selection{background:#efc6a8;color:var(--ink)}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(48px,5.8vw,94px)}h2{font-size:clamp(38px,4.15vw,66px)}h3{font-size:27px;letter-spacing:-.035em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}p{max-width:68ch}a{text-decoration:none}p a,.check a,.legal-content a{text-decoration:underline;text-underline-offset:4px}button{border:0;background:none}a,button,input,select,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange)}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;margin-bottom:22px}.small{font-size:13px}.muted{color:var(--muted)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;z-index:100;padding:14px;background:white;top:10px;left:10px}.section{max-width:1600px;margin:auto;padding:110px 6vw}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--orange);color:#211b16;font-size:13px;font-weight:600;line-height:1.5;padding:18px 24px;min-height:54px;border:1px solid transparent;transition:background .25s,transform .25s}.button:hover{background:#f08840;transform:translateY(-2px)}.button span,.text-link span{font-size:21px;font-weight:400;line-height:1}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#fff}.text-link,.text-button{display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:600;padding:13px 0;border-bottom:1px solid currentColor;line-height:1.5}.text-link:hover,.text-button:hover{color:var(--orange-dark)}.round-button{display:inline-grid;place-items:center;flex-shrink:0;border:1px solid currentColor;border-radius:50%;width:50px;height:50px;font-size:23px}.wide-image{width:100%;max-height:680px;object-fit:cover;margin-top:48px}.notice{background:#fff1e3;padding:16px;font-size:13px;border-left:3px solid var(--orange);margin-bottom:22px}}
@layer layout{
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:94px;padding:18px 4vw;background:rgba(248,247,243,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{width:275px;flex-shrink:0}.brand img{width:100%;height:auto}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:600}.site-header nav>a{padding:12px 0}.site-header nav>a:hover{color:var(--orange-dark)}.site-header nav .nav-contact{border:1px solid #b9bdb5;padding:13px 19px;margin-left:10px}.nav-contact span{margin-left:20px}.menu-toggle{display:none}
.hero{max-width:1800px;margin:auto;min-height:685px;display:grid;grid-template-columns:49% 51%}.hero-copy{padding:76px 3.5vw 28px 6vw;display:flex;flex-direction:column}.hero-copy>.eyebrow{margin-bottom:35px;color:#646a63}.hero h1{position:relative;z-index:1;line-height:1.04}.hero h1 em{color:var(--orange-dark)}.hero-description{margin-top:30px;color:#5c645c;font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:31px;flex-wrap:wrap}.hero-foot{margin-top:auto;padding-top:45px;display:flex;align-items:center;gap:15px;font-size:10px;line-height:1.65;color:#636b64}.tiny-mark{font-family:var(--serif);font-size:23px;font-style:italic;border-right:1px solid var(--line);padding-right:16px;color:var(--ink)}.scroll-cue{display:grid;place-items:center;margin-left:auto;border:1px solid #c9cdc4;border-radius:50%;height:42px;width:42px;font-size:19px}.hero-visual{position:relative;min-height:685px;overflow:hidden;background:#bec5c1}.hero-img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:51% center;animation:hero-settle 1.8s var(--ease) both}.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,17,.14),transparent 45%,rgba(14,26,17,.52));pointer-events:none}.hero-image-label{position:absolute;top:30px;left:30px;padding:8px 13px;color:white;background:rgba(30,41,34,.55);backdrop-filter:blur(12px);font-size:10px;z-index:1;display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0}.hero-property{position:absolute;left:32px;right:32px;bottom:30px;z-index:2;background:rgba(248,247,243,.96);backdrop-filter:blur(15px);padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;transition:background .2s}.hero-property:hover{background:white}.hero-property small{display:block;font-size:9px;letter-spacing:.15em;color:#626b63;margin-bottom:9px}.hero-property strong{display:block;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2}.hero-property>span>span{font-size:11px;color:#636a62}.hero-property .round-button{color:var(--orange-dark);border-color:#cf9b7c}.vertical-note{position:absolute;right:20px;top:50%;writing-mode:vertical-rl;color:white;letter-spacing:.2em;font-size:9px;z-index:1}.intro-strip{background:var(--dark);color:var(--paper);padding:31px 6vw;display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;align-items:center;gap:30px}.intro-strip>span:first-child{font-size:12px;color:#bdc2bb;line-height:1.7}.intro-strip strong{font-weight:400;color:#fff}.intro-strip>span:not(:first-child){font-family:var(--serif);font-size:25px;border-left:1px solid #4c554c;padding-left:30px;display:flex;justify-content:space-between;align-items:center}.intro-strip i{font-family:var(--sans);font-style:normal;color:#e18b4d;font-size:20px}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:12%;margin-bottom:55px}.section-heading>p{font-size:15px;color:var(--muted);padding-bottom:7px}.portfolio-tools{display:flex;justify-content:space-between;gap:20px;margin-bottom:36px;border-top:1px solid var(--line);padding-top:26px;align-items:center;flex-wrap:wrap}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-buttons button{border:1px solid var(--line);padding:10px 18px;font-size:12px;min-height:44px;transition:.2s}.filter-buttons button.active{background:var(--dark);color:white;border-color:var(--dark)}.filter-buttons span{font-size:10px;opacity:.7;margin-left:9px}.portfolio-search{display:flex;gap:8px}.portfolio-search input,.portfolio-search select{border:0;border-bottom:1px solid #b9c0b7;background:transparent;font-size:12px;padding:10px 4px;min-height:44px;border-radius:0}.portfolio-search input{width:160px}.portfolio-search select{max-width:165px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 26px}.property-cover{position:relative;display:block;aspect-ratio:1.33;overflow:hidden;background:#dce0d6}.property-cover img{height:100%;width:100%;object-fit:cover;transition:transform .9s var(--ease),filter .6s}.property-cover:hover img{transform:scale(1.045);filter:saturate(1.08)}.property-cover::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.3));pointer-events:none}.image-tag{position:absolute;top:16px;left:16px;background:rgba(248,247,243,.95);padding:5px 10px;font-size:9px;letter-spacing:.03em;z-index:1}.image-arrow{position:absolute;right:16px;bottom:16px;background:var(--paper);height:39px;width:39px;display:grid;place-items:center;border-radius:50%;font-size:22px;z-index:1;transition:.3s}.property-cover:hover .image-arrow{background:var(--orange);transform:rotate(45deg)}.property-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.07em;text-transform:uppercase;margin:20px 0 9px;color:var(--muted)}.property-meta i{font-style:normal;margin:0 5px}.property-card h3{font-size:24px;letter-spacing:-.035em}.property-card>p{font-size:12px;color:var(--muted);margin-top:7px}.portfolio-note{font-size:12px;color:var(--muted);margin-top:45px;border-top:1px solid var(--line);padding-top:20px;max-width:none}.empty-state{padding:70px 0;text-align:center}.empty-state p{margin:15px auto 25px}
.feature-story{display:grid;grid-template-columns:1.05fr 1fr;background:var(--dark);color:var(--paper)}.story-image{position:relative;min-height:650px;overflow:hidden}.story-image img{width:100%;height:100%;position:absolute;object-fit:cover}.story-image>span{position:absolute;bottom:26px;left:30px;color:white;letter-spacing:.18em;font-size:10px;text-shadow:0 1px 8px black}.story-copy{padding:85px 7vw}.story-copy .eyebrow{color:#b9c2b6}.story-copy h2{font-size:clamp(42px,4.9vw,76px)}.story-copy em{color:#f7b07b}.story-copy p{font-size:15px;margin:27px 0 33px;color:#c9cec6}.story-copy>.small{display:block;margin-top:15px;color:#aeb8aa}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-card{padding:35px 0 0;border-top:1px solid #9ca699}.service-number{font-family:var(--serif);font-size:33px;font-style:italic;color:var(--orange-dark);display:block;margin-bottom:40px}.service-card h3{font-size:27px}.service-card p{font-size:14px;color:var(--muted);margin:18px 0 28px}.about-strip{padding-top:30px;display:grid;grid-template-columns:1.12fr 1fr;gap:8vw;align-items:center}.about-image{position:relative;min-height:420px;height:100%;overflow:hidden}.about-image img{height:100%;width:100%;object-fit:cover}.photo-caption{position:absolute;bottom:0;left:0;background:var(--orange);padding:14px 23px;font-size:12px}.about-copy p{margin:28px 0 20px;color:var(--muted);font-size:15px}.service-center{background:#ecede6;max-width:none;display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;align-items:center}.service-intro p{color:var(--muted);font-size:15px;margin:25px 0}.contact-phone{font-size:25px;letter-spacing:-.035em;display:block;margin:20px 0 7px}.service-intro>.small{display:block}.terminal{background:var(--paper);padding:28px 34px 20px;border:1px solid #d5d9ce;box-shadow:0 20px 60px #24302408}.terminal-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;color:var(--muted);margin-bottom:35px}.terminal-top .status-dot{margin-right:8px}.terminal h3{font-size:23px;margin-bottom:25px}.terminal-row{display:flex;align-items:center;gap:20px;padding:23px 0;border-top:1px solid var(--line);transition:padding .25s,color .25s}.terminal-row:hover{padding-left:8px;color:var(--orange-dark)}.terminal-number{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--muted)}.terminal-row strong{display:block;font-size:14px;font-weight:500;line-height:1.4}.terminal-row small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.terminal-bottom{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.faq h2{font-size:46px}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;list-style:none;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;font-weight:400}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin-top:17px;font-size:14px;color:var(--muted)}
.site-footer{padding:65px 6vw 25px;background:var(--dark);color:var(--paper)}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:6vw;padding-bottom:60px}.footer-top p{font-size:13px;color:#c8cec4;margin-top:25px}.footer-top .eyebrow{color:#b8c2b2;margin-top:6px}.footer-top>div:nth-child(2) p{margin-top:0;margin-bottom:17px}.footer-top .muted{color:#adb7a8;font-size:11px}.footer-phone{display:block;font-size:25px;line-height:1.4;letter-spacing:-.02em;margin-bottom:6px}.footer-top>div:last-child>a:not(.footer-phone){font-size:12px;display:block}.footer-service{margin-top:26px;text-decoration:underline;text-underline-offset:7px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#b6c0b1;border-top:1px solid #485044;padding-top:24px;gap:20px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom>a{font-size:21px}.site-footer a:hover{color:#f5a165}
.subpage-intro{padding-bottom:65px}.subpage-intro>.eyebrow{color:var(--orange-dark)}.subpage-intro>p{margin-top:30px;margin-bottom:30px;color:var(--muted)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:45px;max-width:1000px;color:var(--muted)}.team-section{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;padding-top:25px}.team-portrait{height:570px;overflow:hidden}.team-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.team-section p{margin:24px 0;color:var(--muted)}.team-section .role{color:var(--orange-dark);margin:20px 0}.team-section .button{margin-top:35px}.team-section>div>a:not(.button){display:block}.management{background:#eceedf;max-width:none}.management h2{font-size:44px}.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:45px 0 25px}.management-grid article{border-top:1px solid #b9c2ad;padding-top:20px}.management-grid article>span{font-family:var(--serif);font-style:italic;color:var(--orange-dark)}.management-grid h3{margin-top:20px}.management-grid p{font-size:13px;margin-top:9px;color:var(--muted)}.service-team{padding-top:95px}.service-team>img{width:100%;height:auto}.contact-page{display:grid;grid-template-columns:1fr 1.07fr;gap:10vw;padding-top:80px;align-items:start}.contact-page-intro{position:sticky;top:140px}.contact-page h1{font-size:76px}.contact-page-intro>p{margin-top:27px;color:var(--muted);font-size:15px}.contact-address{margin-top:42px}.contact-address .eyebrow{margin-bottom:10px}.contact-address .contact-phone{margin-top:0}.contact-address>a:not(.contact-phone){font-size:12px}.contact-form-panel{background:white;border:1px solid var(--line);padding:35px}.contact-form-panel>.eyebrow{color:var(--muted);margin-bottom:28px}
.property-page{padding-top:40px}.property-page-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:45px 0}.property-page-heading .eyebrow{margin-bottom:15px}.property-page h1{font-size:clamp(45px,5vw,76px)}.property-page-heading>.button{flex-shrink:0}.property-page-image{position:relative;display:block;width:100%;padding:0;max-height:680px;overflow:hidden}.property-page-image>img{width:100%;height:650px;object-fit:cover}.property-page-image>span{position:absolute;bottom:22px;right:22px;background:var(--paper);padding:15px 20px;font-size:13px}.property-description{display:grid;grid-template-columns:1.5fr 1fr;gap:9vw;margin:70px 0}.property-description h2{font-size:46px}.property-description p{color:var(--muted);margin-top:23px;font-size:15px}.property-description h3{margin-top:35px;font-size:25px}.property-description aside{background:#eceee5;padding:30px;align-self:start}.property-description aside h3{margin-top:0}.facts{margin-top:20px}.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid #cbd1c5;padding:14px 0;font-size:13px}.facts dt{color:var(--muted)}.facts dd{text-align:right}.feature-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.feature-chips span{font-size:10px;border:1px solid #c6cdc1;padding:6px 9px}.thumbnail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.thumbnail-grid button{padding:0;overflow:hidden;aspect-ratio:1.4}.thumbnail-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.thumbnail-grid button:hover img{transform:scale(1.04)}.object-feature-link{padding:35px;background:var(--dark);color:white;margin-top:55px;display:flex;gap:30px;justify-content:space-between;align-items:center}.legal-page{max-width:1050px}.legal-page h1{margin-bottom:50px}.legal-content{font-size:15px;line-height:1.85}.legal-content h2,.legal-content h3{font-size:25px;margin:35px 0 15px}.legal-content strong{font-weight:600}.legal-content p{margin:20px 0;max-width:none}.legal-content .notice{line-height:1.7}
}

@layer components{
 dialog{background:var(--paper);color:var(--ink);position:fixed;margin:auto;max-width:calc(100vw - 40px);max-height:90dvh;box-shadow:0 35px 150px #0006}dialog::backdrop{background:rgba(15,25,17,.65);backdrop-filter:blur(7px)}.dialog-close{position:sticky;float:right;right:18px;top:18px;z-index:5;background:var(--paper);border:1px solid #d0d5ca;box-shadow:0 5px 20px #0001;border-radius:50%;height:44px;width:44px;font-size:28px;font-weight:300;line-height:1;display:grid;place-items:center;margin:18px 18px -62px 0}.dialog-close:hover{background:var(--orange)}.property-dialog{width:1060px}.modal-hero{height:390px;position:relative;overflow:hidden}.modal-hero img{height:100%;width:100%;object-fit:cover}.modal-hero>button{position:absolute;bottom:20px;right:24px;background:var(--paper);padding:12px 18px;font-size:12px}.modal-body{padding:40px 45px}.modal-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.modal-title h2{font-size:48px}.modal-title .eyebrow{margin-bottom:10px}.modal-body>.property-description{margin:30px 0;gap:45px}.modal-body .property-description h3{font-size:26px;margin:0 0 15px}.modal-body .property-description p{font-size:14px;margin-top:0}.modal-body .property-description aside{padding:0;background:none}.modal-body .property-description .facts{margin-top:0}.modal-body .property-description .feature-chips{margin-top:20px}.modal-actions{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.gallery-dialog{width:min(1400px,94vw);height:92dvh;max-height:92dvh;background:#171d18;color:var(--paper);overflow:hidden}.gallery-image{width:100%;height:calc(100% - 90px);object-fit:contain;padding:30px 60px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;padding:10px 30px;gap:20px;height:90px}.gallery-caption{text-align:center;font-size:12px}.gallery-bottom button{color:white}.service-dialog{width:650px;padding:45px}.service-dialog>.dialog-close{margin:-25px -25px -19px 0;top:0;right:0}.service-dialog-heading h2{font-size:42px;margin-bottom:30px}.service-dialog-heading .eyebrow{font-size:10px;margin-bottom:12px}.form-progress{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:30px;gap:8px;font-size:11px;color:var(--muted)}.form-progress span.current{color:var(--orange-dark);font-weight:700}.contact-form legend{font-size:25px;letter-spacing:-.03em;line-height:1.3;margin-bottom:12px}.contact-form fieldset>p{font-size:13px;margin-bottom:22px}.field{margin:21px 0}.field>label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field label span{font-weight:400;color:var(--muted)}.field input,.field textarea,.field select{border:1px solid #cdd2c7;border-radius:0;background:#fff;width:100%;min-height:48px;padding:12px;color:var(--ink);font-size:14px;line-height:1.5}.field textarea{resize:vertical;min-height:135px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange)}.field-hint{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.6}.check{display:flex;align-items:start;gap:11px;font-size:12px;line-height:1.7;margin:25px 0}.check input{margin:4px 0 0;width:18px;height:18px;accent-color:var(--orange);flex-shrink:0}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.contact-form .button{font-size:12px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{background:#fbeae3;color:#7f270d;padding:15px;margin-bottom:25px;font-size:13px;border-left:3px solid #ad4020}.review{font-size:13px;margin:25px 0}.review>div{padding:13px 0;border-bottom:1px solid var(--line)}.review dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.review dd{white-space:pre-wrap;overflow-wrap:anywhere}.form-success{text-align:center;padding:30px 0}.form-success h3{margin:25px 0 15px}.form-success p{font-size:14px;color:var(--muted);margin:0 auto 25px}.success-icon{display:inline-grid;place-items:center;border-radius:50%;background:#e1e8dc;width:70px;height:70px;font-size:30px;color:#426a39}
}
@layer motion{
@keyframes hero-settle{from{transform:scale(1.075);filter:brightness(.88)}to{transform:scale(1);filter:brightness(1)}}@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}dialog[open]{animation:dialog-in .35s var(--ease)}.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s var(--ease),transform .85s var(--ease)}.motion-ready .reveal.visible{opacity:1;transform:none}.property-card:nth-child(3n+2){transition-delay:70ms}.property-card:nth-child(3n+3){transition-delay:130ms}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
}
@layer responsive{
@media(min-width:1650px){.hero-copy{padding-left:100px}.hero{min-height:780px}.hero-visual{min-height:780px}}
@media(max-width:1150px){.site-header nav{gap:20px}.brand{width:230px}.site-header{min-height:83px}.hero{min-height:640px}.hero-visual{min-height:640px}.hero-copy{padding-top:55px}.hero-actions{gap:14px}.hero-actions .button{padding:16px 18px}.hero-actions .text-link{font-size:12px}.hero-property{left:22px;right:22px;padding:19px}.hero-property strong{font-size:22px}.hero h1{font-size:clamp(50px,6.2vw,76px)}.section{padding:85px 5vw}.service-center{gap:6vw}.terminal{padding:25px}.property-page-heading{display:block}.property-page-heading .button{margin-top:25px}.contact-page{gap:6vw}.contact-page h1{font-size:66px}.contact-form-panel{padding:25px}.story-copy{padding:65px 5vw}.story-image{min-height:590px}.footer-top{gap:4vw}.footer-phone{font-size:22px}}
@media(max-width:850px){.site-header{padding:16px 5vw;min-height:78px}.brand{width:245px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:12px;min-height:44px;padding:5px}.menu-toggle span{font-size:20px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 5vw 30px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #0001}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px}.site-header nav>a{padding:15px 0}.site-header nav .nav-contact{margin:10px 0 0;display:flex;justify-content:space-between}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:53px}.hero-copy{padding:45px 5vw 25px}.hero-copy .eyebrow{font-size:9px;margin-bottom:27px}.hero-description{font-size:14px}.hero-actions{display:block}.hero-actions .text-link{margin-top:12px}.hero-property{bottom:22px;left:16px;right:16px;padding:17px}.hero-property strong{font-size:20px}.hero-property .round-button{width:35px;height:35px;font-size:19px}.hero-image-label{top:20px;left:16px;font-size:8px}.hero-foot{font-size:9px;gap:10px}.tiny-mark{font-size:18px}.hero .scroll-cue{display:none}.intro-strip{gap:18px;padding:26px 5vw}.intro-strip>span:not(:first-child){font-size:20px;padding-left:15px}.intro-strip>span:first-child{font-size:10px}.section-heading{gap:7%;grid-template-columns:1.2fr 1fr}.section-heading>p{font-size:13px}.property-grid{grid-template-columns:repeat(2,1fr)}.property-card h3{font-size:24px}.feature-story{grid-template-columns:1fr 1fr}.story-copy{padding:55px 5vw}.story-copy h2{font-size:43px}.story-copy p{font-size:13px}.story-image{min-height:540px}.story-copy .button{font-size:11px;padding:15px}.service-grid{gap:23px}.service-card h3{font-size:23px}.service-card p{font-size:13px}.service-card .text-link{font-size:11px}.about-strip{gap:6vw}.about-image{min-height:370px}.service-center{gap:5vw;grid-template-columns:.85fr 1.15fr}.terminal{padding:22px}.terminal-row{gap:13px}.terminal-row strong{font-size:12px}.terminal-row small{font-size:10px}.service-center h2{font-size:42px}.service-intro p{font-size:13px}.service-intro .contact-phone{font-size:23px}.faq h2{font-size:39px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:2;grid-row:1 / 3}.footer-top>div:nth-child(2){grid-column:1;margin-top:20px}.footer-top{padding-bottom:40px;gap:20px}.footer-bottom{flex-wrap:wrap;gap:15px}.footer-bottom>div{gap:20px}.contact-page{grid-template-columns:1fr}.contact-page-intro{position:static}.contact-page-intro .contact-address{display:inline-block;vertical-align:top;margin-right:40px}.contact-page-intro>.small{max-width:none}.contact-form-panel{max-width:650px;width:100%;margin-top:40px;padding:35px}.team-section{gap:6vw}.team-section h2{font-size:42px}.team-portrait{height:490px}.property-page-image>img{height:480px}.property-description{gap:5vw;grid-template-columns:1.2fr 1fr}.property-description h2{font-size:37px}.property-description aside{padding:22px}.property-dialog .property-description{grid-template-columns:1fr}.modal-body{padding:30px}.modal-hero{height:310px}.modal-title h2{font-size:39px}}
@media(max-width:600px){html{scroll-padding-top:85px}.site-header{padding:12px 6vw;min-height:74px}.brand{width:222px}.menu-toggle{font-size:0}.menu-toggle span{font-size:23px}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:40px 6vw 30px}.hero h1{font-size:clamp(49px,12.2vw,72px);line-height:1.04}.hero-copy>.eyebrow{margin-bottom:22px;font-size:9px}.hero-description{margin-top:23px;font-size:14px}.hero-actions{display:flex;gap:20px;margin-top:25px}.hero-actions .text-link{margin-top:0;font-size:11px;gap:10px}.hero-actions .button{font-size:11px;gap:16px;padding:14px 17px;min-height:48px}.hero-foot{padding-top:30px;margin-top:0}.hero .scroll-cue{display:grid;margin-right:0}.hero-visual{min-height:435px;height:435px;margin:0 0 0 6vw}.hero-img{object-position:55% center}.hero-property{left:19px;right:19px;bottom:20px;padding:17px 19px}.hero-property strong{font-size:24px}.hero-property .round-button{height:41px;width:41px}.hero-image-label{left:20px;font-size:9px}.vertical-note{right:12px;font-size:8px}.intro-strip{grid-template-columns:repeat(3,1fr);padding:25px 6vw;gap:20px 12px}.intro-strip>span:first-child{grid-column:1/-1;font-size:12px}.intro-strip>span:first-child br{display:none}.intro-strip>span:first-child strong{margin-left:4px}.intro-strip>span:not(:first-child){font-size:20px;padding-left:12px}.intro-strip>span:nth-child(2){border:0;padding-left:0}.intro-strip i{font-size:16px}.section{padding:68px 6vw}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:42px}.section-heading>p{margin-top:24px;font-size:14px}.eyebrow{font-size:9px;margin-bottom:19px}.portfolio-tools{padding-top:20px;gap:18px}.filter-buttons{gap:6px}.filter-buttons button{padding:9px 12px;font-size:11px}.portfolio-search{width:100%;justify-content:space-between}.portfolio-search input{width:47%}.portfolio-search select{width:48%;max-width:none}.property-grid{grid-template-columns:1fr;gap:36px}.property-cover{aspect-ratio:1.35}.property-card h3{font-size:28px}.property-meta{font-size:9px;margin-top:16px}.property-card>p{font-size:13px}.image-tag{font-size:10px}.image-arrow{width:42px;height:42px}.portfolio-note{font-size:11px;margin-top:33px}.feature-story{display:flex;flex-direction:column}.story-image{min-height:400px}.story-image img{object-position:center}.story-copy{padding:48px 8vw 55px}.story-copy h2{font-size:53px}.story-copy p{font-size:14px}.story-copy .button{font-size:12px;padding:17px 20px}.service-grid{grid-template-columns:1fr;gap:33px}.service-card{padding-top:22px}.service-number{font-size:26px;margin-bottom:20px}.service-card h3{font-size:28px}.service-card p{margin:15px 0;font-size:14px}.service-card .text-link{font-size:12px}.about-strip{display:flex;flex-direction:column;padding-top:0;gap:38px;align-items:stretch}.about-image{min-height:330px;height:330px}.about-copy h2{font-size:44px}.about-copy p{font-size:14px}.service-center{display:block}.service-center h2{font-size:47px}.service-intro p{font-size:14px}.terminal{margin-top:35px;padding:25px 22px}.terminal-row strong{font-size:13px}.terminal-row small{font-size:11px}.terminal-top{font-size:8px}.terminal h3{font-size:23px}.terminal-row{padding:21px 0}.faq{display:block}.faq h2{font-size:42px}.faq-list{margin-top:32px}.faq summary{font-size:13px}.faq details p{font-size:13px}.site-footer{padding:50px 6vw 23px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top>div:last-child{grid-column:auto;grid-row:auto}.footer-top>div:nth-child(2){grid-column:auto;margin-top:0}.footer-top p{margin-top:20px}.footer-top .eyebrow{margin-bottom:13px}.footer-phone{font-size:26px}.footer-bottom{font-size:9px;align-items:start}.footer-bottom>span{width:100%}.footer-bottom>div{flex-wrap:wrap;gap:10px 19px;max-width:90%}.footer-bottom>a{margin-left:auto}.subpage-intro h1{font-size:48px}.intro-columns{grid-template-columns:1fr;gap:18px;font-size:14px;margin-top:30px}.team-section{display:flex;flex-direction:column;gap:35px;align-items:stretch;padding-top:0}.team-portrait{height:480px}.team-section h2{font-size:47px}.team-section p{font-size:14px}.team-section .contact-phone{font-size:25px}.management h2{font-size:38px}.management-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.management-grid h3{font-size:28px}.service-team{padding-top:60px}.service-team img{order:-1}.contact-page{padding-top:45px}.contact-page h1{font-size:61px}.contact-page-intro .contact-address{margin-right:0;margin-top:30px;display:block}.contact-page-intro>p{font-size:14px}.contact-form-panel{padding:25px 20px;margin-top:35px}.property-page{padding-top:25px}.property-page-heading{margin:30px 0}.property-page h1{font-size:43px}.property-page-image>img{height:320px}.property-page-image>span{bottom:14px;right:14px;font-size:11px;padding:12px 15px}.property-description{display:block;margin:40px 0}.property-description h2{font-size:36px}.property-description p{font-size:14px}.property-description aside{margin-top:30px}.thumbnail-grid{grid-template-columns:repeat(2,1fr);gap:10px}.object-feature-link{display:block;padding:25px}.object-feature-link h3{font-size:25px;margin-bottom:25px}.legal-page h1{font-size:47px}.legal-content{font-size:13px}.legal-content h2,.legal-content h3{font-size:22px}
 dialog{max-width:calc(100vw - 20px);max-height:94dvh}.service-dialog{padding:30px 22px}.service-dialog>.dialog-close{margin:-15px -8px -30px 0}.service-dialog-heading h2{font-size:33px;margin-right:30px}.service-dialog-heading .eyebrow{font-size:8px}.form-progress{font-size:10px}.contact-form legend{font-size:24px}.field{margin:19px 0}.field input,.field textarea,.field select{font-size:16px}.form-actions{gap:15px}.form-actions .button{font-size:11px;padding:14px 17px;min-height:48px}.contact-form .text-button{font-size:11px}.contact-form .next-step{width:100%;gap:8px}.modal-hero{height:260px}.modal-body{padding:26px 22px}.modal-title h2{font-size:35px}.modal-body .property-description{margin:25px 0}.modal-body .property-description aside{margin-top:20px}.modal-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.modal-actions .text-link{align-self:start}.modal-actions .button{font-size:12px}.gallery-image{padding:50px 10px 0;height:calc(100% - 95px)}.gallery-bottom{padding:10px 17px;height:95px;gap:10px}.gallery-caption{font-size:10px}.gallery-bottom .round-button{width:42px;height:42px}.gallery-dialog{height:85dvh}.dialog-close{right:12px;top:12px;width:40px;height:40px;margin:12px 12px -52px 0}.property-card:nth-child(n){transition-delay:0ms}}
@media(max-width:370px){.brand{width:195px}.hero h1{font-size:46px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:10px}.hero-actions .button{font-size:10px;padding:14px}.hero-property strong{font-size:21px}.filter-buttons button{padding:9px 10px}.terminal{padding:22px 17px}.terminal-row{gap:10px}.terminal-row small{font-size:10px}.footer-phone{font-size:23px}}
}
@layer responsive{
@media(max-width:600px){.intro-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-strip>span{min-width:0}.intro-strip>span:first-child br{display:block}.intro-strip>span:first-child strong{margin-left:0}}
@media(max-width:370px){.intro-strip>span:not(:first-child){font-size:18px;padding-left:9px}.intro-strip i{font-size:14px}.intro-strip>span:nth-child(2){padding-left:0}}
@media print{.site-header,.site-footer,.portfolio-tools,.hero-actions,.scroll-cue,dialog,.button{display:none!important}.motion-ready .reveal{opacity:1;transform:none}body{background:white;color:black}.section{padding:25px 0}.property-grid{grid-template-columns:repeat(2,1fr)}.property-card{break-inside:avoid}}
}

/* Display type from the Grimmelallee reference, self-hosted for the parent site. */
@font-face {
  font-family: 'Bebas Neue';
  src: url('fonts/BebasNeue-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@layer typography {
  :root { --display: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif; }
  h1, h2, h3, .contact-form legend,
  h1 em, h2 em, h3 em,
  .hero-property strong,
  .intro-strip > span:not(:first-child),
  .terminal-row strong,
  .service-number, .terminal-number,
  .management-grid article > span {
    font-family: var(--display);
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: .015em;
  }
  h1, h2, h3 { line-height: 1.02; }
  .hero h1 { font-size: clamp(72px, 7.8vw, 116px); line-height: .98; }
  .hero h1 em { letter-spacing: .015em; }
  .eyebrow, .image-tag, .hero-image-label, .photo-caption {
    font-family: var(--display);
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
  }
  .eyebrow { font-size: 16px; letter-spacing: .12em; }
  .hero-copy > .eyebrow { font-size: 16px; }
  .image-tag { font-size: 15px; letter-spacing: .06em; }
  .hero-image-label { font-size: 14px; letter-spacing: .065em; }
  .photo-caption { font-size: 18px; letter-spacing: .06em; }
  .hero-property strong { font-size: 32px; }
  .intro-strip > span:not(:first-child) { font-size: 32px; }
  .property-card h3 { font-size: 31px; }
  .service-card h3 { font-size: 32px; }
  .terminal h3 { font-size: 30px; }
  .terminal-row strong { font-size: 22px; }
  .terminal-number { font-size: 22px; }
  .service-number { font-size: 40px; }
  .management-grid article > span { font-size: 25px; }
  .contact-form legend { font-size: 31px; }
  .service-dialog-heading .eyebrow { font-size: 14px; }
  @media (max-width: 1150px) {
    .hero h1 { font-size: clamp(64px, 7.5vw, 86px); }
  }
  @media (min-width: 601px) and (max-width: 850px) {
    .hero h1 { font-size: 64px; }
    .hero-copy > .eyebrow { font-size: 13px; }
    .hero-property strong { font-size: 26px; }
    .intro-strip > span:not(:first-child) { font-size: 28px; }
    .terminal-row strong { font-size: 19px; }
  }
  @media (max-width: 600px) {
    .hero h1 { font-size: clamp(58px, 17vw, 86px); }
    .hero-copy > .eyebrow, .eyebrow { font-size: 14px; }
    .hero-property strong { font-size: 30px; }
    .intro-strip > span:not(:first-child) { font-size: 22px; }
    .hero-image-label { font-size: 12px; }
    .image-tag { font-size: 14px; }
    .property-card h3 { font-size: 32px; }
    .service-number { font-size: 34px; }
    .terminal-row strong { font-size: 21px; }
    .service-dialog-heading .eyebrow { font-size: 12px; }
    .contact-form legend { font-size: 28px; }
  }
  @media (max-width: 370px) {
    .hero h1 { font-size: 56px; }
    .hero-copy > .eyebrow { font-size: 12px; }
    .intro-strip > span:not(:first-child) { font-size: 20px; }
    .hero-property strong { font-size: 28px; }
    .terminal-row strong { font-size: 19px; }
  }
}

/* The original Magnetcenter photograph becomes a quiet, full-width opening film. */
@layer intro {
  .magnet-intro { position: relative; isolation: isolate; height: 88svh; min-height: 660px; max-height: 1120px; overflow: hidden; background: #202523; color: #f8f7f3; }
  .intro-media, .intro-media picture, .intro-media img, .intro-video { position: absolute; inset: 0; width: 100%; height: 100%; }
  .intro-media img, .intro-video { object-fit: cover; object-position: center; }
  .intro-video { opacity: 0; transition: opacity .8s ease; }
  .intro-video.has-frame { opacity: 1; }
  .magnet-intro::after { content: ''; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(10,18,15,.52), transparent 25%, transparent 50%, rgba(10,18,15,.37) 69%, rgba(10,18,15,.88)); }
  .intro-topline { position: absolute; z-index: 1; top: 35px; left: 5vw; right: 5vw; display: flex; justify-content: space-between; align-items: center; gap: 25px; }
  .intro-location { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
  .intro-location .status-dot { background: #f08b39; }
  .intro-skip { display: inline-flex; align-items: center; gap: 28px; min-height: 44px; border-bottom: 1px solid #ffffff70; font-size: 12px; }
  .intro-skip span { font-size: 22px; }
  .intro-bottom { position: absolute; z-index: 1; left: 5vw; right: 5vw; bottom: 48px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
  .intro-copy .eyebrow { color: #e5e7dd; margin-bottom: 16px; font-size: 15px; }
  .intro-copy h2 { font-family: var(--display); font-size: clamp(58px, 6.8vw, 105px); line-height: .98; font-weight: 400; letter-spacing: .012em; text-transform: uppercase; text-shadow: 0 2px 35px #0002; }
  .intro-copy h2 span { color: #f08b39; }
  .intro-caption { margin-top: 18px; font-size: 12px; color: #e0e3da; }
  .intro-progress { position: absolute; z-index: 1; bottom: 0; left: 0; width: 100%; height: 3px; background: #f08b39; transform: scaleX(0); transform-origin: left; }
  @media (max-width: 850px) {
    .magnet-intro { height: 88svh; min-height: 620px; max-height: 1050px; }
    .intro-bottom { bottom: 36px; gap: 25px; }
    .intro-copy h2 { font-size: clamp(55px, 9vw, 76px); }
    .intro-copy .eyebrow { font-size: 13px; }
    .intro-caption { max-width: 280px; }
    .intro-topline { top: 24px; }
    .intro-location { font-size: 9px; letter-spacing: .08em; }
    .intro-skip { gap: 15px; font-size: 11px; }
  }
  @media (max-width: 600px) {
    .magnet-intro { min-height: 680px; max-height: 920px; }
    .intro-topline { top: 18px; left: 6vw; right: 6vw; gap: 20px; align-items: start; }
    .intro-location { max-width: 160px; align-items: baseline; line-height: 1.8; padding-top: 10px; font-size: 9px; }
    .intro-location .status-dot { width: 5px; height: 5px; }
    .intro-skip { font-size: 10px; gap: 10px; flex-shrink: 0; }
    .intro-skip span { font-size: 18px; }
    .intro-bottom { left: 6vw; right: 6vw; bottom: 28px; display: block; }
    .intro-copy h2 { font-size: clamp(48px, 13.3vw, 75px); }
    .intro-copy .eyebrow { margin-bottom: 12px; font-size: 12px; }
    .intro-caption { font-size: 11px; max-width: 270px; margin-top: 14px; }
    .magnet-intro::after { background: linear-gradient(180deg, rgba(10,18,15,.58), transparent 21%, transparent 42%, rgba(10,18,15,.42) 66%, rgba(10,18,15,.91)); }
  }
  @media (prefers-reduced-motion: reduce) { .intro-video { transition: none; } }
  @media print { .magnet-intro { display: none; } }
}

/* An architectural journal: a scroll-driven image stage and a deliberate address index. */
@layer architecture {
  .portfolio-journal { background: #e9eae2; }
  .journal-heading { position: relative; display: grid; grid-template-columns: 1.5fr .6fr 1fr; align-items: end; gap: 5vw; padding: 95px 6vw 74px; overflow: hidden; }
  .journal-heading .eyebrow { color: var(--orange-dark); }
  .journal-heading h2 { font-size: clamp(55px, 6.4vw, 94px); line-height: .98; }
  .journal-heading h2 em { color: var(--orange-dark); }
  .journal-counter { border-left: 1px solid #bdc4b6; padding-left: 30px; }
  .journal-counter > span { font-family: var(--display); font-size: 112px; line-height: .85; }
  .journal-counter p { font-size: 11px; margin-top: 15px; color: var(--muted); }
  .journal-intro { font-size: 14px; padding-bottom: 5px; color: #596454; }
  .journal-line { position: absolute; width: 26vw; height: 5px; bottom: 0; right: 6vw; background: var(--orange); }
  .object-theatre { color: #f8f7f3; background: #222a24; --scene-drift: 0; }
  .theatre-stage { position: relative; overflow: hidden; background-color: #222a24; background-image: linear-gradient(#e1e9d307 1px,transparent 1px),linear-gradient(90deg,#e1e9d307 1px,transparent 1px); background-size: 72px 72px; }
  .theatre-rail { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 8; height: 76px; padding: 0 5vw; border-bottom: 1px solid #ffffff17; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
  .theatre-rail > span { display: flex; align-items: center; gap: 12px; }
  .theatre-rail i { height: 6px; width: 6px; background: var(--orange); }
  .theatre-rail a { display: inline-flex; align-items: center; gap: 25px; min-height: 44px; letter-spacing: .03em; text-transform: none; font-size: 12px; }
  .theatre-rail a > span { color: #f39248; font-size: 23px; }
  .theatre-scenes { position: relative; }
  .theatre-scene { position: relative; min-height: 720px; overflow: hidden; isolation: isolate; }
  .scene-ghost { position: absolute; top: 10px; left: 4.4vw; font-family: var(--display); font-size: clamp(170px, 22vw, 340px); line-height: 1; color: #f7f7e907; letter-spacing: -.04em; z-index: -1; }
  .scene-photo { position: absolute; top: 5%; right: 7%; width: 65%; height: 64%; overflow: hidden; background: #354035; }
  .scene-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#0004,transparent 35%); pointer-events: none; }
  .scene-photo img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06) translateY(calc(var(--scene-drift) * -15px)); }
  .scene-corner { position: absolute; top: 18px; right: 18px; height: 30px; width: 30px; border-top: 2px solid #fff9; border-right: 2px solid #fff9; z-index: 2; }
  .scene-headline { position: absolute; z-index: 3; top: 13%; left: 5vw; font-family: var(--display); font-size: clamp(66px, 8.7vw, 128px); line-height: .93; text-transform: uppercase; letter-spacing: .01em; text-shadow: 0 2px 35px #0005; pointer-events: none; }
  .scene-headline > span { color: #f58d40; }
  .scene-caption { position: absolute; left: 5vw; bottom: 7%; max-width: 43%; z-index: 4; }
  .scene-caption .eyebrow { font-size: 12px; color: #aebca8; margin-bottom: 10px; }
  .scene-caption h3 { font-size: clamp(27px, 3.1vw, 45px); }
  .scene-caption p { font-size: 12px; margin: 12px 0 15px; color: #bac6b3; }
  .scene-link { display: inline-flex; align-items: center; justify-content: space-between; min-height: 44px; min-width: 190px; gap: 35px; font-size: 12px; border-bottom: 1px solid #8f9e83; }
  .scene-link span { font-size: 25px; color: #fa9b58; }
  .scene-link:hover { color: #ffa666; }
  .scene-detail { position: absolute; right: 10.5%; bottom: 3%; width: 26%; z-index: 4; padding: 9px; background: #ebeee3; color: var(--ink); box-shadow: 0 15px 55px #0003; transform: rotate(-3deg); }
  .scene-detail img { width: 100%; height: clamp(110px, 14vw, 190px); object-fit: cover; }
  .scene-detail figcaption { padding: 8px 3px 1px; font-size: 9px; line-height: 1.6; display: flex; gap: 10px; justify-content: space-between; }
  .scene-detail figcaption > span { color: #67745e; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
  .scene-city { position: absolute; right: 2.5%; top: 37%; writing-mode: vertical-rl; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; color: #a8b7a0; }
  .theatre-navigation { position: relative; z-index: 8; display: none; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 5vw; gap: 20px; border-top: 1px solid #ffffff18; }
  .theatre-ready .theatre-navigation { display: flex; }
  .theatre-scroll-cue { display: inline-flex; align-items: center; gap: 12px; text-align: left; color: var(--ink); }
  .theatre-scroll-cue > span:last-child { display: grid; line-height: 1.25; }
  .theatre-scroll-cue strong { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
  .theatre-scroll-cue small { margin-top: 3px; font-size: 11px; color: #555b5b; }
  .theatre-scroll-arrow { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; background: var(--orange); color: white; font-size: 26px; line-height: 1; animation: theatre-scroll-nudge 1.8s ease-in-out infinite; }
  .theatre-scroll-cue:hover .theatre-scroll-arrow { background: var(--orange-dark); }
  .theatre-gallery-hint { display: none; color: #555b5b; font-size: 11px; }
  @keyframes theatre-scroll-nudge { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
  .scene-selectors { display: flex; gap: 10px; }
  .scene-selectors button { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px; color: #a6b49b; font-family: var(--display); font-size: 22px; }
  .scene-selectors button i { display: block; height: 2px; width: 25px; background: #748169; transition: width .4s, background .4s; }
  .scene-selectors button[aria-pressed="true"] { color: #f79b55; }
  .scene-selectors button[aria-pressed="true"] i { width: 65px; background: #f79b55; }
  .theatre-arrows { display: flex; gap: 9px; }
  .theatre-arrows button { width: 44px; height: 44px; border: 1px solid #6b7962; border-radius: 50%; font-size: 22px; }
  .theatre-arrows button:hover { background: #f58c3e; color: #202820; border-color: #f58c3e; }
  .theatre-arrows button:disabled { opacity: .35; cursor: default; }
  .theatre-progress { position: absolute; z-index: 9; height: 5px; background: #e98538; left: 0; bottom: 0; width: 100%; transform: scaleX(var(--theatre-progress,0)); transform-origin: left; }
  .object-theatre.is-pinned { height: 365svh; }
  .is-pinned .theatre-stage { position: sticky; top: 93px; height: calc(100svh - 93px); min-height: 540px; display: grid; grid-template-rows: 64px 1fr 68px; }
  .is-pinned .theatre-rail { height: 64px; }
  .is-pinned .theatre-navigation { min-height: 68px; }
  .is-pinned .theatre-scenes { min-height: 0; }
  .is-pinned .theatre-scene { position: absolute; inset: 0; min-height: 0; opacity: 0; transition: opacity .55s; pointer-events: none; }
  .is-pinned .theatre-scene.is-active { opacity: 1; pointer-events: auto; }
  .is-pinned .scene-photo { clip-path: inset(0 0 100% 0); transition: clip-path .85s var(--ease); }
  .is-pinned .is-active .scene-photo { clip-path: inset(0 0 0 0); }
  .is-pinned .scene-headline { transform: translateY(35px); opacity: 0; transition: transform .9s var(--ease), opacity .65s; }
  .is-pinned .is-active .scene-headline { transform: translateY(0); opacity: 1; }
  .is-pinned .scene-detail { transform: translateY(60px) rotate(2deg); opacity: 0; transition: transform 1s var(--ease), opacity .6s; }
  .is-pinned .is-active .scene-detail { transform: translateY(0) rotate(-3deg); opacity: 1; }
  .is-pinned .scene-caption { transform: translateY(15px); opacity: 0; transition: transform .75s var(--ease), opacity .75s; }
  .is-pinned .is-active .scene-caption { transform: translateY(0); opacity: 1; }
  .is-gallery .theatre-scenes { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .is-gallery .theatre-scenes::-webkit-scrollbar { display: none; }
  .is-gallery .theatre-scene { flex: 0 0 100%; scroll-snap-align: start; min-width: 0; }
  .is-gallery .theatre-scroll-cue { display: none; }
  .is-gallery .theatre-gallery-hint { display: inline; }
  .portfolio-index { max-width: none; padding-top: 50px; padding-bottom: 65px; }
  .address-directory { border-top: 1px solid #afb9a6; border-bottom: 1px solid #afb9a6; }
  .address-directory > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 27px 0; cursor: pointer; }
  .address-directory > summary::-webkit-details-marker { display: none; }
  .address-directory summary small { display: block; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
  .address-directory summary strong { font: 400 48px/1 var(--display); text-transform: uppercase; }
  .directory-mark { width: 60px; height: 60px; border: 1px solid #9aa98d; border-radius: 50%; display: grid; place-items: center; font-size: 35px; font-weight: 300; transition: transform .3s; }
  .address-directory[open] .directory-mark { transform: rotate(45deg); }
  .directory-content { padding: 12px 0 30px; }
  .directory-content .property-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 35px; }
  .directory-content .property-card { display: grid; grid-template-columns: 128px 1fr; grid-template-rows: 28px auto 25px; gap: 0 23px; padding: 21px 0; border-bottom: 1px solid #c0c9b9; transition: background .3s; }
  .directory-content .property-card:hover { background: transparent; }
  .directory-content .property-cover { grid-column: 1; grid-row: 1 / 4; width: 128px; height: 99px; aspect-ratio: auto; }
  .directory-content .property-meta { grid-column: 2; grid-row: 1; margin: 0; align-items: center; font-size: 8px; }
  .directory-content .property-card h3 { grid-column: 2; grid-row: 2; font-size: 27px; align-self: center; }
  .directory-content .property-card > p { grid-column: 2; grid-row: 3; margin: 0; font-size: 11px; }
  .directory-content .image-tag, .directory-content .image-arrow { display: none; }
  .directory-content .portfolio-note { margin-top: 27px; border: 0; padding-top: 0; }
  .feature-story { display: block; position: relative; min-height: 690px; background: #e57e31; color: #222a24; overflow: hidden; }
  .feature-story .story-image { position: absolute; inset: 0 0 0 38%; min-height: 0; clip-path: polygon(19% 0,100% 0,100% 100%,0 100%); }
  .feature-story .story-image img { height: 100%; object-position: 55% center; }
  .feature-story .story-image > span { left: auto; right: 25px; writing-mode: vertical-rl; bottom: 35px; }
  .feature-story .story-copy { position: relative; z-index: 2; width: 52%; padding: 75px 0 75px 6vw; }
  .feature-story .story-copy .eyebrow { color: #583a23; }
  .feature-story .story-copy h2 { font-size: clamp(59px,6.1vw,92px); }
  .feature-story .story-copy h2 em { color: #fff3e5; }
  .feature-story .story-copy p { color: #442e1d; max-width: 300px; font-size: 14px; }
  .feature-story .story-copy > .small { color: #513522; }
  .services .service-grid { display: block; }
  .services .service-card { display: grid; grid-template-columns: 110px 1.05fr 1.35fr .9fr; gap: 35px; align-items: center; padding: 36px 0; border-top: 1px solid #b1bbaa; }
  .services .service-card:last-child { border-bottom: 1px solid #b1bbaa; }
  .services .service-number { font-size: 80px; line-height: 1; margin: 0; color: #c17138; }
  .services .service-card h3 { font-size: 38px; }
  .services .service-card p { margin: 0; font-size: 13px; }
  .services .service-card .text-link { justify-self: end; white-space: nowrap; font-size: 12px; gap: 15px; }
  .about-manifesto { display: grid; grid-template-columns: 1.15fr 1fr; gap: 8vw; align-items: center; padding-top: 10px; }
  .manifesto-art { position: relative; min-height: 570px; background: #e38135; padding: 32px; overflow: hidden; isolation: isolate; }
  .manifesto-art > .eyebrow { position: relative; z-index: 2; font-size: 13px; color: #352c20; }
  .architecture-lines { position: absolute; inset: 5% -5% auto auto; width: 108%; height: 95%; z-index: 0; color: #a18f7d; opacity: .8; transform: rotate(-7deg); }
  .architecture-lines path, .architecture-lines circle { stroke: currentColor; stroke-width: 1; vector-effect: non-scaling-stroke; }
  .architecture-lines .accent-line { stroke: #e87512; stroke-width: 3; }
  .motion-ready .manifesto-art .architecture-lines path { stroke-dasharray: 1800; stroke-dashoffset: 1800; transition: stroke-dashoffset 2.8s ease .15s; }
  .motion-ready .manifesto-art.visible .architecture-lines path { stroke-dashoffset: 0; }
  .manifesto-copy h2 { font-size: clamp(45px,4.5vw,69px); }
  .manifesto-copy h2 em { color: #a84d16; }
  .manifesto-copy > p { color: var(--muted); font-size: 14px; margin: 27px 0 25px; }
  .manifesto-principles { display: flex; flex-wrap: wrap; gap: 18px; border-top: 1px solid #c9d0c1; margin-top: 42px; padding-top: 20px; font: 400 17px/1.4 var(--display); text-transform: uppercase; letter-spacing: .06em; color: #68745e; }
  @media (min-width:851px) and (max-width:1150px) {
    .theatre-scroll-cue small { display: none; }
    .theatre-scroll-cue strong { font-size: 11px; }
    .theatre-scroll-arrow { width: 35px; height: 35px; flex-basis: 35px; font-size: 22px; }
    .is-pinned .theatre-stage { top: 82px; height: calc(100svh - 82px); }
    .journal-heading { gap: 4vw; grid-template-columns: 1.5fr .65fr 1fr; }
    .journal-heading h2 { font-size: 66px; }
    .journal-counter { padding-left: 20px; }
    .journal-counter > span { font-size: 90px; }
    .journal-intro { font-size: 12px; }
    .scene-headline { font-size: 88px; }
    .scene-caption h3 { font-size: 32px; }
    .scene-caption p { max-width: 300px; }
    .scene-detail { right: 9%; width: 29%; }
    .services .service-card { grid-template-columns: 70px 1fr 1.2fr; gap: 25px; }
    .services .service-card .text-link { grid-column: 3; justify-self: start; }
    .services .service-number { font-size: 64px; grid-row: 1 / 3; }
    .services .service-card h3 { font-size: 32px; }
  }
  @media (max-width:850px) {
    .journal-heading { grid-template-columns: 1fr .5fr; gap: 30px; padding: 70px 6vw 45px; }
    .journal-heading h2 { font-size: 64px; }
    .journal-counter { justify-self: end; padding-left: 25px; }
    .journal-counter > span { font-size: 96px; }
    .journal-intro { grid-column: 1 / -1; max-width: 480px; }
    .theatre-scene { min-height: 680px; }
    .theatre-rail { height: 66px; padding: 0 6vw; font-size: 9px; }
    .theatre-rail a { font-size: 11px; gap: 15px; }
    .scene-photo { top: 4%; width: 73%; height: 54%; right: 7%; }
    .scene-headline { font-size: clamp(65px,11.7vw,93px); top: 20%; left: 6vw; }
    .scene-caption { left: 6vw; bottom: 7%; max-width: 49%; }
    .scene-caption h3 { font-size: 33px; }
    .scene-caption p { max-width: 270px; font-size: 11px; }
    .scene-caption .eyebrow { font-size: 11px; }
    .scene-detail { width: 30%; bottom: 7%; right: 9%; }
    .scene-detail img { height: 160px; }
    .scene-detail figcaption { display: block; font-size: 8px; }
    .scene-detail figcaption > span { display: block; }
    .scene-city { right: 2%; font-size: 8px; }
    .scene-ghost { font-size: 230px; top: 0; left: 4vw; }
    .theatre-navigation { padding: 0 6vw; min-height: 74px; }
    .theatre-gallery-hint { display: none; }
    .scene-selectors button[aria-pressed="true"] i { width: 45px; }
    .scene-selectors button i { width: 18px; }
    .directory-content .property-grid { grid-template-columns: 1fr; }
    .directory-content .property-card { grid-template-columns: 150px 1fr; grid-template-rows: 28px auto 25px; }
    .directory-content .property-cover { width: 150px; }
    .feature-story { min-height: 660px; }
    .feature-story .story-copy { width: 55%; padding: 65px 0 65px 6vw; }
    .feature-story .story-copy h2 { font-size: 62px; }
    .feature-story .story-copy p { max-width: 250px; font-size: 13px; }
    .services .service-card { grid-template-columns: 65px 1fr; gap: 15px 25px; padding: 28px 0; }
    .services .service-number { font-size: 60px; grid-row: 1 / 4; align-self: start; }
    .services .service-card h3 { font-size: 34px; }
    .services .service-card p, .services .service-card .text-link { grid-column: 2; }
    .services .service-card .text-link { justify-self: start; }
    .about-manifesto { gap: 6vw; }
    .manifesto-art { min-height: 490px; padding: 25px; }
    .manifesto-copy h2 { font-size: 44px; }
    .manifesto-copy > p { font-size: 13px; }
    .manifesto-principles { margin-top: 28px; gap: 10px; font-size: 14px; }
  }
  @media (max-width:600px) {
    .journal-heading { padding: 58px 6vw 39px; gap: 27px 18px; grid-template-columns: 1fr 85px; }
    .journal-heading h2 { font-size: clamp(43px,10.7vw,63px); }
    .journal-heading .eyebrow { font-size: 11px; }
    .journal-counter { padding-left: 17px; margin-bottom: 4px; }
    .journal-counter > span { font-size: 73px; }
    .journal-counter p { font-size: 8px; line-height: 1.5; margin-top: 10px; }
    .journal-intro { font-size: 12px; }
    .journal-line { height: 4px; width: 40vw; }
    .theatre-rail { height: 61px; padding: 0 6vw; font-size: 8px; letter-spacing: .06em; }
    .theatre-rail > span { gap: 8px; max-width: 150px; }
    .theatre-rail a { font-size: 10px; gap: 8px; }
    .theatre-rail a > span { font-size: 21px; }
    .theatre-scene { min-height: 660px; }
    .scene-photo { top: 4%; width: 82%; height: 43%; right: 6%; }
    .scene-headline { top: 30%; left: 6vw; font-size: clamp(54px,15vw,86px); line-height: .95; }
    .scene-caption { bottom: 5%; max-width: 60%; }
    .scene-caption .eyebrow { font-size: 9px; letter-spacing: .08em; }
    .scene-caption h3 { font-size: 30px; }
    .scene-caption p { max-width: 190px; line-height: 1.65; font-size: 11px; margin-top: 10px; }
    .scene-link { min-width: 150px; gap: 15px; font-size: 11px; }
    .scene-detail { width: 32%; right: 5%; bottom: 22%; padding: 6px; }
    .scene-detail img { height: 110px; }
    .scene-detail figcaption { font-size: 7px; padding: 5px 1px 0; }
    .scene-detail figcaption > span { font-size: 7px; }
    .scene-city { font-size: 7px; top: 8%; right: 1.7%; }
    .scene-ghost { font-size: 190px; top: 18%; }
    .scene-corner { width: 23px; height: 23px; top: 12px; right: 12px; }
    .theatre-navigation { padding: 0 6vw; gap: 12px; }
    .scene-selectors { gap: 3px; }
    .scene-selectors button { font-size: 19px; gap: 7px; padding: 3px; }
    .scene-selectors button i { width: 8px; }
    .scene-selectors button[aria-pressed="true"] i { width: 27px; }
    .theatre-arrows { gap: 7px; }
    .theatre-arrows button { width: 40px; height: 40px; font-size: 20px; }
    .portfolio-index { padding-top: 30px; padding-bottom: 40px; }
    .address-directory > summary { padding: 22px 0; }
    .address-directory summary strong { font-size: 34px; }
    .address-directory summary small { font-size: 8px; }
    .directory-mark { height: 45px; width: 45px; font-size: 28px; }
    .directory-content .property-card { grid-template-columns: 97px 1fr; grid-template-rows: 26px auto 27px; gap: 0 15px; padding: 18px 0; }
    .directory-content .property-cover { width: 97px; height: 105px; }
    .directory-content .property-card h3 { font-size: 25px; }
    .directory-content .property-meta { font-size: 7px; letter-spacing: .01em; }
    .directory-content .property-meta > span:last-child { display: none; }
    .directory-content .property-card > p { font-size: 10px; }
    .feature-story { min-height: 960px; }
    .feature-story .story-copy { width: 100%; padding: 52px 7vw 0; }
    .feature-story .story-copy h2 { font-size: 64px; }
    .feature-story .story-copy p { max-width: 280px; }
    .feature-story .story-image { inset: 55% 0 0 12%; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
    .feature-story .story-image img { object-position: 55% center; }
    .feature-story .story-image > span { font-size: 8px; right: 13px; }
    .services .service-card { grid-template-columns: 46px 1fr; gap: 14px 17px; }
    .services .service-number { font-size: 52px; }
    .services .service-card h3 { font-size: 32px; }
    .services .service-card p { font-size: 12px; }
    .services .service-card .text-link { font-size: 11px; }
    .about-manifesto { grid-template-columns: 1fr; gap: 40px; padding-top: 0; }
    .manifesto-art { min-height: 500px; padding: 28px; }
    .manifesto-copy h2 { font-size: 51px; }
    .manifesto-copy > p { font-size: 14px; }
    .manifesto-principles { font-size: 15px; gap: 17px; }
  }
  @media (max-width:370px) {
    .journal-heading { grid-template-columns: 1fr 65px; gap: 22px 14px; }
    .journal-heading h2 { font-size: 39px; }
    .journal-counter { padding-left: 12px; }
    .journal-counter > span { font-size: 64px; }
    .theatre-rail > span { max-width: 130px; font-size: 7px; }
    .scene-headline { font-size: 52px; }
    .scene-caption h3 { font-size: 27px; }
    .scene-detail { bottom: 24%; }
    .scene-selectors button i { display: none; }
    .scene-selectors { gap: 12px; }
    .scene-selectors button[aria-pressed="true"] { border-bottom: 2px solid #f79b55; }
    .directory-content .property-card { grid-template-columns: 82px 1fr; gap: 0 12px; }
    .directory-content .property-cover { width: 82px; }
    .directory-content .property-card h3 { font-size: 23px; }
    .directory-content .property-meta { font-size: 6px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .theatre-scroll-arrow { animation: none; }
    .scene-photo img { transform: none; }
    .motion-ready .manifesto-art .architecture-lines path { stroke-dashoffset: 0; }
  }
  @media print {
    .object-theatre { display: none; }
    .address-directory > .directory-content { display: block; }
    .manifesto-art { min-height: 300px; }
  }
}

@layer architecture {
  .theatre-ready .theatre-scenes { cursor: grab; }
  .is-pinned .theatre-scenes { touch-action: pan-y pinch-zoom; }
  .theatre-scenes.is-dragging { cursor: grabbing; user-select: none; scroll-snap-type: none; scroll-behavior: auto; }
  .is-pinned .theatre-scene.is-active { translate: var(--drag-offset, 0px) 0; }
  .theatre-scenes img { -webkit-user-drag: none; user-select: none; }
  @media (prefers-reduced-motion: reduce) {
    .is-pinned .theatre-scene.is-active { translate: none; }
  }
}

/* Clear text controls and the single, restrained intro scroll cue. */
@layer controls {
  .dialog-close { color: var(--ink); }
  .intro-scroll { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 14px 8px; min-height: 60px; flex-shrink: 0; color: #e0e3da; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; text-align: center; }
  .intro-scroll:hover { color: #fff; }
  .intro-scroll-arrow { width: 10px; height: 10px; border-right: 2px solid #f08b39; border-bottom: 2px solid #f08b39; transform: rotate(45deg); animation: intro-scroll-nudge 2s ease-in-out infinite; }
  @keyframes intro-scroll-nudge { 0%, 100% { transform: translateY(0) rotate(45deg); } 50% { transform: translateY(6px) rotate(45deg); } }
  .magnet-intro a:focus-visible { outline-color: #ffb982; }
  .gallery-bottom .round-button, .theatre-arrows button { width: auto; height: auto; min-height: 44px; border-radius: 0; padding: 10px 15px; font-size: 12px; line-height: 1.4; }
  .scroll-cue { width: auto; height: auto; min-height: 44px; border-radius: 0; padding: 8px 12px; font-size: 11px; text-align: center; }
  .theatre-navigation { flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
  @media (max-width: 600px) {
    .intro-scroll { margin: 20px auto 0; width: max-content; max-width: 100%; font-size: 10px; gap: 13px; }
    .gallery-bottom { gap: 8px; }
    .gallery-bottom .round-button, .theatre-arrows button { padding: 10px; font-size: 11px; }
  }
  @media (prefers-reduced-motion: reduce) { .intro-scroll-arrow { animation: none; } }
}

/* Original company logo, with a light surface for its dark lettering. */
@layer footer-brand {
  .footer-top > div { min-width: 0; }
  .footer-brand { display: inline-block; width: 340px; max-width: 100%; padding: 14px 16px; background: var(--paper); line-height: 0; }
  .footer-brand img { display: block; width: 100%; height: auto; }
}

/* Preserve the complete portrait instead of enlarging a landscape crop. */
@layer portrait {
  .team-portrait { width: 100%; max-width: 520px; height: auto; justify-self: center; align-self: center; background: #d9c7ac; }
  .team-portrait img { display: block; width: 100%; height: auto; object-fit: contain; }
}

/* Light content sheet over the original, stationary Magnetcenter photograph. */
@layer classic-layout {
  :root { --paper: #fff; --dark: #343536; --ink: #303237; --muted: #666a6c; --line: #e3e3e0; --orange: #e87512; --orange-dark: #ba5c0c; }
  html { background: #d9d9d9; }
  body { background: transparent; }
  body::before { content: ''; position: fixed; z-index: -1; inset: 0; background: linear-gradient(#0006, #0006), url('../../images/bg%20Kopie.jpg') center top / cover no-repeat; }
  .magnet-intro { height: 82svh; min-height: 610px; max-height: 1100px; background: transparent; overflow: visible; }
  .magnet-intro::after { background: linear-gradient(180deg, #0002, #0000 28%, #0002 65%, #0007); }
  .intro-topline { left: max(3vw, 24px); right: max(3vw, 24px); }
  .intro-bottom { left: 5vw; right: 5vw; bottom: 128px; justify-content: center; text-align: center; }
  .intro-copy h2 { font-size: clamp(80px, 11vw, 166px); line-height: .84; color: white; text-shadow: 0 3px 25px #0005; }
  .intro-copy h2 span { color: white; }
  .intro-copy .eyebrow { color: white; }
  .intro-caption { margin-left: auto; margin-right: auto; color: white; }
  .intro-scroll { position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); color: white; }
  .site-header, main, .site-footer { width: min(94%, 1540px); margin-left: auto; margin-right: auto; }
  .site-header { position: relative; top: auto; z-index: 20; min-height: 0; margin-top: -64px; padding: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; background: transparent; border: 0; backdrop-filter: none; }
  .site-header nav { order: -1; display: flex; align-self: stretch; justify-content: flex-start; gap: 0; min-height: 64px; background: #24242480; color: white; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .site-header nav > a { display: flex; align-items: center; min-height: 64px; padding: 0 28px; border-right: 1px solid #ffffff20; }
  .site-header nav > a:hover { color: var(--ink); background: white; }
  .site-header nav .nav-contact { border: 0; border-right: 1px solid #ffffff20; margin: 0; padding: 0 28px; }
  .site-header nav > a[aria-current="page"] { color: var(--ink); background: white; }
  .brand { display: flex; justify-content: center; width: 100%; margin: 0 auto; padding: 64px 0 25px; background: white; }
  .brand img { width: min(75%, 850px); }
  main { background: white; }
  .section { padding: 90px clamp(24px, 5vw, 84px); }
  .hero { display: block; min-height: 0; padding: 0 clamp(24px, 5vw, 84px) 85px; text-align: center; }
  .hero-copy { padding: 0; align-items: center; }
  .hero-copy > .eyebrow { margin: 10px 0 20px; }
  .hero h1 { font-size: clamp(54px, 6.5vw, 96px); }
  .hero-description { margin: 22px auto 0; max-width: 700px; }
  .hero-actions { justify-content: center; }
  .hero-foot { display: none; }
  .hero-visual { min-height: 0; height: clamp(300px, 39vw, 570px); margin-top: 62px; }
  .hero-property { max-width: 380px; right: auto; }
  .intro-strip { background: #f5f5f3; color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .intro-strip > span:first-child, .intro-strip strong { color: var(--ink); }
  .intro-strip > span:not(:first-child) { border-left-color: #d4d4d1; }
  .portfolio-journal { background: white; }
  .journal-heading { padding: 85px clamp(24px, 5vw, 84px) 65px; }
  .journal-line { background: #e87512; height: 3px; }
  .object-theatre, .theatre-stage { color: var(--ink); background: #f5f5f3; }
  .theatre-stage { background-image: none; }
  .theatre-rail, .theatre-navigation { border-color: #d8d8d5; }
  .theatre-rail { color: #555b5b; }
  .scene-ghost { color: #e7e7e4; }
  .scene-headline { color: #303237; text-shadow: 0 1px 12px #ffffffe0; }
  .scene-headline > span { color: #f28a37; }
  .scene-caption .eyebrow, .scene-caption p, .scene-city, .theatre-hint { color: #656a68; }
  .scene-link { border-color: #aab0ad; }
  .scene-selectors button { color: #555b5b; }
  .scene-selectors button i { background: #b8bfba; }
  .scene-selectors button[aria-pressed="true"] { color: var(--orange-dark); }
  .scene-selectors button[aria-pressed="true"] i { background: var(--orange); }
  .theatre-arrows button { border-color: #b9bfba; }
  .scene-detail { transform: none; box-shadow: 0 8px 25px #0002; background: white; }
  .is-pinned .scene-detail { transform: translateY(60px); }
  .is-pinned .is-active .scene-detail { transform: none; }
  .portfolio-index { background: white; }
  .feature-story { min-height: 620px; background: #f3f1ed; color: var(--ink); }
  .feature-story .story-image { inset: 0 0 0 50%; clip-path: none; }
  .feature-story .story-image img { object-position: 25% 40%; transform: scale(1.28); transform-origin: center top; }
  .feature-story .story-copy { width: 50%; padding: 75px 4vw 65px clamp(24px, 5vw, 84px); }
  .feature-story .story-copy .eyebrow, .feature-story .story-copy p, .feature-story .story-copy > .small { color: var(--muted); }
  .feature-story .story-copy h2 { font-size: clamp(48px, 5vw, 76px); }
  .feature-story .story-copy h2 em { color: var(--orange-dark); }
  .button, .button-light { background: var(--orange); color: white; border: 1px solid var(--orange); border-radius: 0; }
  .button:hover, .button-light:hover { background: var(--orange-dark); border-color: var(--orange-dark); color: white; }
  .filter-buttons button, .theatre-arrows button, .directory-mark, .scroll-cue { border-radius: 0; }
  .filter-buttons button.active { background: var(--orange); border-color: var(--orange); }
  .manifesto-art { background: #f4f2ef; }
  .service-center, .management { background: #f5f5f3; }
  .site-footer { background: white; color: var(--ink); border-top: 1px solid var(--line); }
  .footer-top p, .footer-top .eyebrow, .footer-top .muted, .footer-bottom { color: var(--muted); }
  .footer-bottom { border-top-color: var(--line); }
  .footer-brand { padding: 0; }
  .site-footer a:hover { color: var(--orange-dark); }
  @media (max-width: 850px) {
    .site-header, main, .site-footer { width: min(96%, 1540px); }
    .site-header { margin-top: -56px; }
    .site-header nav { min-height: 56px; flex-wrap: wrap; }
    .site-header nav > a, .site-header nav .nav-contact { min-height: 56px; padding: 0 17px; font-size: 11px; }
    .brand { width: 100%; padding: 42px 0 18px; }
    .brand img { width: min(78%, 680px); }
    .is-pinned .theatre-stage { top: 0; height: 100svh; }
  }
  @media (max-width: 600px) {
    body::before { background-position: center top; }
    .magnet-intro { height: 75svh; min-height: 570px; }
    .intro-bottom { bottom: 135px; }
    .intro-copy h2 { font-size: clamp(58px, 14vw, 90px); }
    .intro-scroll { top: calc(100% + 15px); }
    .site-header, main, .site-footer { width: 100%; }
    .site-header { margin-top: -56px; }
    .site-header nav { order: 0; position: static; display: flex; background: #333; width: 100%; box-shadow: none; padding: 0; gap: 0; }
    .site-header nav > a, .site-header nav .nav-contact { width: 50%; padding: 11px 15px; min-height: 50px; border-bottom: 1px solid #ffffff20; }
    .brand { order: 1; width: 100%; padding: 38px 0 20px; }
    .brand img { width: min(82%, 450px); }
    .menu-toggle { display: none; }
    .hero { padding-bottom: 54px; }
    .hero h1 { font-size: clamp(52px, 13vw, 76px); }
    .hero-visual { margin-top: 45px; height: 350px; }
    .hero-property { left: 12px; right: 12px; bottom: 12px; max-width: none; padding: 14px; }
    .journal-heading { padding-top: 60px; }
    .scene-caption { max-width: 62%; }
    .feature-story { min-height: 0; display: flex; flex-direction: column; }
    .feature-story .story-copy { width: 100%; padding: 50px 6vw 45px; }
    .feature-story .story-image { position: relative; inset: auto; height: 360px; clip-path: none; order: 2; }
    .feature-story .story-copy h2 { font-size: 58px; }
    .manifesto-art { min-height: 470px; }
  }
  @media print { body::before { display: none; } .site-header, main, .site-footer { width: 100%; } }
}

@layer classic-layout {
  body:has(.magnet-intro) .site-header .home-tab { color: var(--ink); background: white; }
  body:not(:has(.magnet-intro)) { padding-top: clamp(160px, 26vh, 290px); }
  body:not(:has(.magnet-intro)) .site-header { margin-top: 0; }
  .is-pinned .theatre-stage { top: 0; height: 100svh; }
  @media (max-width: 600px) {
    body:not(:has(.magnet-intro)) { padding-top: 145px; }
  }
}

@layer classic-layout {
  body:has(.team-section) .site-header nav > a[href="team.html"],
  body:has(.contact-page) .site-header nav > a[href="kontakt.html"] {
    color: var(--ink); background: white;
  }
}

/* Scroll-led facade shot: the sign rises into focus before the title appears. */
@layer facade-intro {
  body.intro-motion::before {
    transform: translate3d(0, var(--intro-pan, 0px), 0) scale(var(--intro-scale, 1.06));
    transform-origin: center center;
    will-change: transform;
  }
  .magnet-intro {
    height: calc(100svh + 460px);
    min-height: 1080px;
    max-height: none;
  }
  .magnet-intro::after {
    background: none;
  }
  .intro-bottom {
    bottom: 190px;
    left: 5vw;
    right: 5vw;
  }
  .site-transition {
    position: fixed;
    z-index: 1000;
    inset: 0;
    background: #171a1a;
    opacity: 0;
    pointer-events: none;
    transition: opacity 460ms ease-in-out;
  }
  .site-transition.is-visible { opacity: 1; pointer-events: auto; }
  main[tabindex="-1"]:focus, section[tabindex="-1"]:focus { outline: none; }
  html.site-transition-arrival::after {
    content: '';
    position: fixed;
    z-index: 1000;
    inset: 0;
    background: #171a1a;
    opacity: 1;
    pointer-events: auto;
    transition: opacity 600ms ease-in-out;
  }
  html.site-transition-arrival.site-transition-revealing::after { opacity: 0; pointer-events: none; }
  .intro-copy {
    width: 100%;
  }
  .intro-motion .intro-copy {
    opacity: var(--intro-copy-opacity, 0);
    transform: translate3d(0, var(--intro-copy-shift, 70px), 0);
    will-change: opacity, transform;
  }
  .intro-copy h2 {
    font-size: clamp(36px, 4.5vw, 68px);
    line-height: .97;
    letter-spacing: .025em;
    text-shadow: 0 2px 24px #0008;
  }
  .intro-copy h2 span { color: white; }
  .intro-scroll {
    position: fixed;
    z-index: 10;
    top: auto;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    opacity: var(--intro-cue-opacity, 1);
    pointer-events: auto;
    text-shadow: 0 1px 8px #0009;
  }
  .site-header nav {
    background: rgba(238, 240, 240, .60);
    color: #262b2d;
    padding: 0;
    box-shadow: none;
    border: 1px solid rgba(255,255,255,.55);
    border-bottom: 0;
    -webkit-backdrop-filter: blur(16px) saturate(1.25);
    backdrop-filter: blur(16px) saturate(1.25);
  }
  .site-header nav > a, .site-header nav .nav-contact {
    border-right-color: rgba(255,255,255,.45);
  }
  @media (max-width: 850px) {
    .menu-toggle { display: none; }
    .site-header nav { position: static; flex-direction: row; align-items: center; }
  }
  .site-header nav > a:hover,
  .site-header nav > a[aria-current="page"],
  body:has(.magnet-intro) .site-header .home-tab,
  body:has(.team-section) .site-header nav > a[href="team.html"],
  body:has(.contact-page) .site-header nav > a[href="kontakt.html"] {
    background: rgba(255,255,255,.95);
    color: #23282a;
  }
  @media (max-width: 600px) {
    .magnet-intro { height: calc(100svh + 340px); min-height: 890px; }
    .intro-bottom { bottom: 160px; }
    .intro-copy h2 { font-size: clamp(32px, 8.6vw, 46px); }
    .site-header nav { background: rgba(238,240,240,.72); }
    .site-header nav > a, .site-header nav .nav-contact { border-bottom-color: rgba(255,255,255,.45); }
  }
  @media (prefers-reduced-motion: reduce) {
    .magnet-intro { height: 85svh; min-height: 620px; }
    .intro-bottom { bottom: 150px; }
    .intro-copy { opacity: 1; transform: none; }
    .site-transition { transition: none; }
    html.site-transition-arrival::after { transition: none; }
  }
  @media print {
    .magnet-intro { display: none; }
  }
}

/* Tall, fine headline forms echo the facade's vertical windows and masonry. */
@font-face {
  font-family: 'Barlow Condensed';
  src: url('fonts/BarlowCondensed-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('fonts/BarlowCondensed-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@layer architectural-type {
  :root { --headline: 'Barlow Condensed', 'Arial Narrow', sans-serif; }
  h1, h2, h3, h1 em, h2 em, h3 em,
  .intro-copy h2, .scene-headline,
  .address-directory summary strong, .hero-property strong,
  .contact-form legend, .form-success h3 {
    font-family: var(--headline);
    font-weight: 300;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: .035em;
    line-height: .98;
  }
  h1 { font-size: clamp(68px, 7.3vw, 118px); }
  h2 { font-size: clamp(54px, 5.6vw, 88px); }
  h3 { font-size: clamp(32px, 3vw, 46px); font-weight: 400; }
  .hero h1 { font-size: clamp(74px, 8.4vw, 130px); line-height: .94; }
  .intro-copy h2 { font-size: clamp(46px, 5.8vw, 88px); letter-spacing: .055em; line-height: .91; }
  .section-heading h2 { font-size: clamp(62px, 6.3vw, 98px); }
  .story-copy h2, .feature-story .story-copy h2 { font-size: clamp(62px, 6.4vw, 98px); }
  .scene-headline { font-size: clamp(82px, 10vw, 146px); letter-spacing: .045em; }
  .subpage-intro h1 { font-size: clamp(70px, 7.5vw, 116px); }
  .contact-page h1 { font-size: clamp(70px, 7.5vw, 116px); }
  .property-page h1 { font-size: clamp(68px, 7vw, 112px); }
  .property-card h3, .service-card h3 { font-size: 36px; }
  .hero-property strong { font-size: 38px; }
  .terminal h3, .address-directory summary strong { font-size: 38px; }
  .contact-form legend { font-size: 34px; }
  .legal-content h2 { font-size: clamp(34px, 3vw, 46px); font-weight: 400; }
  .legal-content h3 { font-size: clamp(28px, 2.4vw, 36px); font-weight: 400; }
  .modal-title h2, .service-dialog-heading h2 { font-size: clamp(42px, 4vw, 58px); }
  @media (max-width: 850px) {
    h1 { font-size: clamp(62px, 8vw, 82px); }
    h2 { font-size: clamp(52px, 6.4vw, 70px); }
    .hero h1 { font-size: clamp(70px, 8.5vw, 92px); }
    .section-heading h2 { font-size: clamp(60px, 7.4vw, 78px); }
    .story-copy h2, .feature-story .story-copy h2 { font-size: clamp(62px, 7.5vw, 82px); }
    .subpage-intro h1, .contact-page h1, .property-page h1 { font-size: clamp(64px, 8vw, 86px); }
  }
  @media (max-width: 600px) {
    h1 { font-size: clamp(54px, 12vw, 76px); }
    h2 { font-size: clamp(46px, 10vw, 62px); }
    h3 { font-size: clamp(29px, 7vw, 40px); }
    .hero h1 { font-size: clamp(64px, 15vw, 88px); }
    .intro-copy h2 { font-size: clamp(38px, 9vw, 52px); }
    .section-heading h2 { font-size: clamp(51px, 11vw, 68px); }
    .story-copy h2, .feature-story .story-copy h2 { font-size: clamp(58px, 12vw, 76px); }
    .scene-headline { font-size: clamp(60px, 13vw, 82px); }
    .subpage-intro h1, .contact-page h1, .property-page h1 { font-size: clamp(56px, 12vw, 76px); }
    .property-card h3, .service-card h3 { font-size: 34px; }
    .hero-property strong { font-size: 32px; }
  }
}

/* A single service entry and a compact contact drawer rising from the page edge. */
@layer contact-center {
  .services .service-card { grid-template-columns: 110px minmax(220px, 1fr) minmax(0, 1.4fr); }
  .services-contact-entry { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 38px; padding: 25px 0 0 30px; border-top: 1px solid var(--orange); }
  .services-contact-entry::before { content: ''; position: absolute; top: -1px; left: 0; width: 30px; height: 28px; border-left: 1px solid var(--orange); border-bottom: 1px solid var(--orange); }
  .services-contact-entry .eyebrow { margin: 0 0 5px; color: var(--orange-dark); }
  .services-contact-entry p { color: var(--muted); font-size: 14px; }
  .services-contact-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; min-width: 260px; min-height: 58px; padding: 14px 18px; border: 1px solid var(--orange); color: var(--ink); background: white; font-size: 13px; font-weight: 700; text-align: left; transition: color .2s, background .2s; }
  .services-contact-button span { color: var(--orange-dark); font-size: 21px; font-weight: 400; line-height: 1; }
  .services-contact-button:hover { background: var(--orange); color: white; }
  .services-contact-button:hover span { color: white; }

  .contact-badge { position: fixed; right: clamp(16px, 4vw, 72px); bottom: 0; z-index: 80; display: flex; align-items: center; gap: 15px; min-height: 52px; padding: 10px 16px; border: 1px solid var(--orange); border-bottom: 0; background: white; box-shadow: 0 -8px 28px #0002; color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .04em; transition: transform .25s, box-shadow .25s; }
  .contact-badge::before { content: ''; position: absolute; right: 100%; bottom: -1px; width: 48px; height: 16px; border-top: 1px solid var(--orange); border-left: 1px solid var(--orange); pointer-events: none; }
  .contact-badge::after { content: ''; position: absolute; right: calc(100% + 48px); bottom: 15px; width: 31px; height: 13px; border-bottom: 1px solid var(--orange); pointer-events: none; }
  .contact-badge:hover { transform: translateY(-5px); box-shadow: 0 -10px 32px #0003; }
  .contact-badge-mark { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--orange); color: var(--orange-dark); font-family: var(--headline); font-size: 13px; font-weight: 400; }
  .contact-badge-arrow { margin-left: 11px; color: var(--orange-dark); font-size: 21px; line-height: 1; }
  body.dialog-open .contact-badge { opacity: 0; pointer-events: none; }

  dialog.service-dialog { top: auto; right: 0; bottom: 0; left: 0; margin: 0 auto; width: min(100vw, 1280px); max-width: 100vw; height: min(86dvh, 780px); max-height: 94dvh; padding: 0; border: 1px solid var(--orange); border-bottom: 0; background: white; overflow: hidden; box-shadow: 0 -25px 100px #0005; }
  dialog.service-dialog::backdrop { background: #171a1ab8; backdrop-filter: blur(3px); }
  dialog.service-dialog[open] { animation: contact-drawer-up .46s cubic-bezier(.22,.8,.22,1) both; }
  @keyframes contact-drawer-up { from { opacity: .85; transform: translateY(100%); } to { opacity: 1; transform: translateY(0); } }
  .contact-drawer-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; height: 53px; padding: 0 30px; border-bottom: 1px solid #ebc5a8; color: var(--orange-dark); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
  .contact-drawer-top::after { content: ''; position: absolute; left: 30px; bottom: -1px; width: 110px; border-bottom: 2px solid var(--orange); }
  .contact-drawer-top button { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding: 5px 0 5px 12px; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .contact-drawer-top button span { color: var(--orange-dark); font-size: 26px; font-weight: 300; line-height: 1; }
  .contact-drawer-grid { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); height: calc(100% - 53px); }
  .contact-drawer-intro { position: relative; display: flex; flex-direction: column; padding: clamp(35px, 4.5vw, 70px); background: #f8f7f4; overflow: hidden; }
  .contact-drawer-intro::before { content: ''; position: absolute; inset: 30% -20% -15% 10%; background: repeating-linear-gradient(160deg, transparent 0 56px, #e8751215 57px, transparent 58px 114px); pointer-events: none; }
  .contact-drawer-intro::after { content: ''; position: absolute; right: 0; bottom: 0; width: 52%; height: 27%; border-top: 1px solid #e8751270; border-left: 1px solid #e8751270; pointer-events: none; }
  .contact-drawer-intro > * { position: relative; z-index: 1; }
  .contact-drawer-intro .eyebrow { color: var(--orange-dark); margin-bottom: 22px; }
  .contact-drawer-intro h2 { max-width: 11ch; font-size: clamp(42px, 4.2vw, 64px); line-height: .98; }
  .contact-drawer-intro > p { max-width: 30ch; margin-top: 25px; color: var(--muted); font-size: 14px; }
  .contact-drawer-direct { margin-top: auto; padding-top: 22px; }
  .contact-drawer-direct a { display: grid; grid-template-columns: 1fr auto; gap: 0 15px; padding: 12px 0; border-top: 1px solid #d1d1cb; }
  .contact-drawer-direct a:last-child { border-bottom: 1px solid #d1d1cb; }
  .contact-drawer-direct small { grid-column: 1 / 3; color: var(--orange-dark); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
  .contact-drawer-direct strong { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
  .contact-drawer-direct a > span { color: var(--orange-dark); font-size: 19px; }
  .contact-drawer-form { min-height: 0; padding: 38px clamp(28px, 4.2vw, 68px) 45px; overflow-y: auto; overscroll-behavior: contain; }
  .contact-drawer-form > .eyebrow { color: var(--orange-dark); margin-bottom: 17px; }
  .contact-drawer-form .contact-form { max-width: 650px; }
  .contact-drawer-form .form-progress { border-bottom-color: #e4d8cd; }
  .contact-drawer-form .field input:focus, .contact-drawer-form .field select:focus, .contact-drawer-form .field textarea:focus { outline-color: var(--orange); }
  @media (max-width: 850px) {
    .services .service-card { grid-template-columns: 65px 1fr; }
    .services-contact-entry { align-items: flex-start; }
    .services-contact-button { min-width: 220px; }
    .contact-drawer-intro { padding: 32px; }
    .contact-drawer-intro h2 { font-size: 42px; }
  }
  @media (max-height: 760px) and (min-width: 651px) {
    .contact-drawer-intro { padding-top: 30px; padding-bottom: 24px; overflow-y: auto; }
    .contact-drawer-intro .eyebrow { margin-bottom: 14px; }
    .contact-drawer-intro h2 { font-size: clamp(38px, 3.5vw, 50px); }
    .contact-drawer-intro > p { margin-top: 14px; font-size: 13px; }
    .contact-drawer-direct { padding-top: 14px; }
    .contact-drawer-direct a { padding: 8px 0; }
  }
  @media (max-width: 650px) {
    .services-contact-entry { display: block; padding-left: 20px; }
    .services-contact-entry p { margin-bottom: 18px; }
    .services-contact-button { width: 100%; }
    .contact-badge { right: 12px; min-height: 48px; font-size: 11px; }
    .contact-badge::before { width: 27px; }
    .contact-badge::after { display: none; }
    dialog.service-dialog { width: 100vw; height: min(92dvh, 860px); max-height: 96dvh; overflow-y: auto; }
    .contact-drawer-top { position: sticky; top: 0; height: 49px; padding: 0 18px; background: white; }
    .contact-drawer-top::after { left: 18px; }
    .contact-drawer-grid { display: block; height: auto; }
    .contact-drawer-intro { padding: 25px 22px 22px; }
    .contact-drawer-intro .eyebrow { margin-bottom: 8px; }
    .contact-drawer-intro h2 { max-width: none; font-size: 43px; }
    .contact-drawer-intro > p { margin-top: 13px; font-size: 12px; }
    .contact-drawer-direct { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 16px; }
    .contact-drawer-direct a { min-width: 44%; border-bottom: 1px solid #d1d1cb; }
    .contact-drawer-direct strong { font-size: 12px; }
    .contact-drawer-form { overflow: visible; padding: 27px 22px 38px; }
  }
  @media (prefers-reduced-motion: reduce) { dialog.service-dialog[open] { animation: none; } }
  @media print { .contact-badge, .services-contact-entry { display: none !important; } }
}

/* Keep the Erker and the framing tree canopy together in the tall story panel. */
@layer feature-image {
  .feature-story .story-image { background: #d8d4cb; }
  .feature-story .story-image img { object-position: 41% center; transform: none; filter: contrast(1.04) saturate(1.04); }
  .feature-story .story-image::after { content: ''; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.54); pointer-events: none; }
  @media (max-width: 600px) {
    .feature-story .story-image img { object-position: 42% center; }
    .feature-story .story-image::after { inset: 12px; }
  }
}

/* Light title strips sit over the photograph while leaving most of the facade visible. */
@layer theatre-title-surface {
  .scene-photo::after { background: none; }
  .theatre-scene[data-scene="0"] .scene-photo img { width: 118%; max-width: none; object-position: left center; transform-origin: left center; }
  .scene-headline { display: grid; justify-items: start; gap: .055em; width: calc(100% - 10vw); max-width: calc(100% - 10vw); font-size: clamp(76px, 8.8vw, 128px); text-shadow: none; }
  .scene-headline > .scene-title-line { display: block; width: max-content; max-width: 100%; margin-left: -.13em; padding: .015em .15em .07em .13em; background: rgba(250,249,246,.94); color: #303237; box-shadow: 0 8px 26px #00000012; backdrop-filter: blur(6px); }
  .scene-headline > .scene-title-line-accent { color: #d96813; }
  @media (max-width: 850px) {
    .scene-headline { font-size: clamp(62px, 10vw, 90px); }
  }
  @media (max-width: 600px) {
    .scene-headline { max-width: calc(100% - 12vw); font-size: clamp(43px, 11vw, 68px); }
    .scene-headline > .scene-title-line { padding-right: .11em; }
  }
}

@layer team-ensemble {
  .team-ensemble { padding-top: 35px; }
  .team-ensemble-heading { display: flex; justify-content: space-between; align-items: end; gap: 5vw; margin-bottom: 28px; }
  .team-ensemble-heading h2 { margin-top: 12px; font-size: clamp(48px, 6vw, 86px); line-height: .96; }
  .team-ensemble-heading p { max-width: 340px; margin: 0 0 4px; color: var(--muted); font-size: 15px; }
  .team-ensemble-photo { margin: 0; padding: 11px 11px 0; background: #f6f3ee; border: 1px solid #d8d5ce; border-top: 3px solid var(--orange); }
  .team-ensemble-photo img { display: block; width: 100%; height: clamp(360px, 48vw, 720px); object-fit: cover; object-position: center 38%; }
  .team-ensemble-photo figcaption { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; padding: 21px 13px 23px; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .035em; }
  .team-ensemble-photo figcaption span { border-left: 2px solid var(--orange); padding-left: 12px; }
  .team-ensemble-photo figcaption small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; }
  .office-portraits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; height: 570px; overflow: hidden; }
  .office-portraits img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
  .management-grid:has(> article:only-child) { grid-template-columns: 1fr; max-width: 580px; }
  .service-team-text { border-top: 1px solid var(--line); }
  .team-service-names { margin: 0; align-self: center; border-top: 1px solid var(--line); }
  .team-service-names div { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--line); }
  .team-service-names dt { color: var(--muted); font-size: 12px; }
  .team-service-names dd { margin: 0; font-family: var(--display); font-size: clamp(24px, 2.5vw, 38px); text-align: right; }
  @media (max-width: 800px) {
    .team-ensemble-heading { display: block; }
    .team-ensemble-heading p { margin-top: 22px; }
    .team-ensemble-photo figcaption { grid-template-columns: repeat(2, 1fr); }
    .team-ensemble-photo img { height: clamp(300px, 58vw, 500px); }
    .office-portraits { height: 480px; }
  }
  @media (max-width: 520px) {
    .team-ensemble-photo { padding: 6px 6px 0; }
    .team-ensemble-photo img { height: 380px; object-position: center; }
    .team-ensemble-photo figcaption { gap: 13px 6px; padding: 15px 7px 18px; font-size: 9px; }
    .office-portraits { height: 360px; }
    .team-service-names div { display: block; }
    .team-service-names dd { margin-top: 7px; text-align: left; }
  }
}

/* The facade title fades in at one viewport position and is covered by the page sheet. */
@layer intro-stationary-title {
  .magnet-intro { z-index: 0; }
  .intro-copy {
    position: fixed;
    top: 55svh;
    left: 4vw;
    right: 4vw;
    width: auto;
    pointer-events: none;
  }
  .intro-motion .intro-copy {
    opacity: var(--intro-copy-opacity, 0);
    transform: none;
    will-change: opacity;
  }
  body:has(.magnet-intro) main { position: relative; z-index: 2; }
  @media (max-width: 600px) {
    .intro-copy { top: 53svh; left: 5vw; right: 5vw; }
  }
  @media (prefers-reduced-motion: reduce) {
    .intro-copy { opacity: 1; transform: none; }
  }
}

/* Portfolio and Gumpert campaign, October 2026 */
.campaign-teaser{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;background:#f1f0eb}.campaign-teaser img{width:100%;aspect-ratio:4/3;object-fit:cover}.campaign-teaser h2,.portfolio-heading h2{margin:18px 0}.category-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.category-overview a{background:#f3f2ee;padding-bottom:20px;text-decoration:none}.category-overview img{width:100%;height:240px;object-fit:cover}.category-overview h3,.category-overview p{margin:16px 20px 0}.category-overview a:hover{outline:2px solid #d96b32}.portfolio-index{padding-top:0}.campaign-intro>.eyebrow{display:block;margin-top:45px}.campaign-intro h1{max-width:1100px}.campaign-lead{display:flex;align-items:center;justify-content:space-between;gap:32px}.campaign-lead p{max-width:650px;font-size:20px}.campaign-hero{margin:0}.campaign-hero img{display:block;width:100%;max-height:760px;object-fit:cover}.campaign-hero figcaption{padding:12px 5%;font-size:13px;color:#65655e}.campaign-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-bottom:1px solid #ddd}.campaign-facts strong{display:block;font-size:clamp(22px,2.5vw,36px);font-weight:400}.campaign-facts span{display:block;font-size:14px;margin-top:8px;color:#666}.campaign-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,7vw,110px);align-items:center}.campaign-story>img{width:100%;max-height:700px;object-fit:cover}.campaign-story:first-of-type>img{max-width:450px;justify-self:center}.campaign-gallery>h2{margin-bottom:clamp(28px,3.5vw,56px)}.campaign-photo-grid{display:grid;grid-template-columns:1fr 1fr .65fr;gap:24px}.campaign-photo-grid figure{margin:0}.campaign-photo-grid img{width:100%;height:360px;object-fit:cover}.campaign-photo-grid figcaption{font-size:14px;padding-top:12px}.campaign-contact{background:#eeeee8;text-align:center}.campaign-contact p{max-width:640px;margin:25px auto}.campaign-contact>a{margin:12px}.gumpert-landing{background:white}.campaign-location .small{margin-top:30px}
@media(max-width:760px){.campaign-teaser,.campaign-story{grid-template-columns:1fr}.category-overview{grid-template-columns:1fr}.category-overview img{height:220px}.campaign-lead{display:block}.campaign-facts{grid-template-columns:1fr 1fr}.campaign-photo-grid{grid-template-columns:1fr 1fr}.campaign-photo-grid .portrait{grid-column:1/-1;max-width:330px;justify-self:center}.campaign-photo-grid img{height:260px}.campaign-photo-grid .portrait img{height:440px}.campaign-story>img{max-height:560px}.campaign-contact>a{display:inline-flex}.campaign-hero img{min-height:280px}.campaign-intro h1{font-size:clamp(55px,12vw,90px)}}
body:has(.gumpert-landing),body:has(.category-overview):not(:has(.magnet-intro)){padding-top:24px}.site-header:has(+.gumpert-landing) .brand,body:has(.category-overview) .brand{padding:24px}.site-header:has(+.gumpert-landing) .brand img,body:has(.category-overview) .brand img{width:min(65%,420px)}.campaign-intro{padding-top:28px;padding-bottom:35px}.campaign-intro>.eyebrow{margin-top:20px}.campaign-intro h1{font-size:clamp(52px,6vw,92px);margin:18px 0}.campaign-story>img[src*="perspektive"]{max-width:430px;justify-self:center;object-fit:contain}
/* A compact, consistent overview makes several addresses easy to compare. */
body:has(.category-overview) .directory-content .property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start}
body:has(.category-overview) .directory-content .property-card{display:flex;flex-direction:column;gap:0;padding:0 0 20px;min-width:0;border-bottom:1px solid var(--line)}
body:has(.category-overview) .directory-content .property-cover{display:block;width:100%;height:auto;aspect-ratio:16/10;flex-shrink:0;grid-row:auto}
body:has(.category-overview) .directory-content .property-cover img{width:100%;height:100%;object-fit:cover}
body:has(.category-overview) .directory-content .property-meta{margin:14px 0 0;font-size:9px;line-height:1.5;gap:8px}
body:has(.category-overview) .directory-content .property-name-row{margin-top:8px;gap:8px 10px}
body:has(.category-overview) .directory-content .property-card h3{font-size:clamp(25px,2.2vw,32px);line-height:1.12;margin:0}
body:has(.category-overview) .directory-content .property-card>p{margin:6px 0 0;font-size:12px;line-height:1.5}
body:has(.category-overview) .directory-content .property-card>.offer-detail{margin-top:12px}
body:has(.category-overview) .directory-content .offer-link{margin-top:12px;padding:8px 0;font-size:12px;line-height:1.5;align-self:flex-start}
body:has(.category-overview) .directory-content .portfolio-portrait-link{margin-top:10px;font-size:12px;line-height:1.5;align-self:flex-start}
body:has(.category-overview) .directory-content .image-tag{display:block;top:12px;left:12px;max-width:calc(100% - 24px);font-size:11px;padding:6px 9px}
body:has(.category-overview) .address-directory>summary{padding:22px 0}
body:has(.category-overview) .directory-mark{width:44px;height:44px;flex-shrink:0;font-size:28px}
body:has(.category-overview) .portfolio-tools{gap:16px;margin-bottom:24px;padding-top:18px}
body:has(.category-overview) .filter-buttons button{padding:9px 13px}
@media(max-width:1100px){body:has(.category-overview) .directory-content .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 body:has(.category-overview) .directory-content .property-grid{grid-template-columns:1fr;gap:24px}
 body:has(.category-overview) .directory-content .property-cover{aspect-ratio:16/9}
 body:has(.category-overview) .directory-content .property-card h3{font-size:28px}
 body:has(.category-overview) .portfolio-search{width:100%;flex-wrap:wrap;gap:12px}
 body:has(.category-overview) .portfolio-search input{flex:1 1 140px;min-width:0;width:auto}
 body:has(.category-overview) .portfolio-search select{flex:1 1 130px;max-width:100%;min-width:0}
 .filter-buttons{flex-wrap:wrap}
}
/* Original facade with restrained tonal emphasis; no generated lighting. */
body:has(.magnet-intro)::before{background-image:radial-gradient(ellipse 28% 46% at 50% 49%,rgba(0,0,0,.27) 0%,rgba(0,0,0,.32) 42%,rgba(0,0,0,.43) 78%,rgba(0,0,0,.48) 100%),url('../../images/bg%20Kopie.jpg');background-size:cover;background-position:center top;background-repeat:no-repeat;}

/* Keep the teaser copy and its action clearly separated at every viewport. */
.campaign-teaser h2{margin-bottom:24px}
.campaign-teaser p+.button{margin-top:clamp(24px,2vw,32px);max-width:100%;text-align:center}

/* Slightly more breathing room in the campaign room description. */
.gumpert-landing .campaign-story h2{margin-bottom:24px}.gumpert-landing .campaign-story p+p{margin-top:16px}.gumpert-landing .campaign-story p+.button{margin-top:22px}

/* Home: standalone brand mark below the primary actions. */
body:has(.magnet-intro) .site-header>.brand{display:none}body:has(.magnet-intro) .hero{padding-top:55px}.hero-monogram{display:flex;justify-content:center;margin-top:42px}.hero-monogram svg{display:block;width:132px;height:auto;overflow:hidden}@media(max-width:600px){body:has(.magnet-intro) .hero{padding-top:38px}.hero-monogram{margin-top:32px}.hero-monogram svg{width:110px}}

.intro-strip>span>a{display:block;width:100%;color:inherit;text-decoration:none}.intro-strip>span>a:hover{color:var(--orange-dark)}.intro-strip>span>a:focus-visible{outline:2px solid var(--orange);outline-offset:8px}

/* Keep the fixed intro title inside the intro section, including at the footer. */
.magnet-intro{clip-path:inset(0)}

/* Continuous frosted-glass navigation, without tab dividers. */
.site-header nav{background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(238,242,243,.48));color:#fff;border:0;box-shadow:0 4px 16px rgba(0,0,0,.045),inset 0 1px 16px rgba(255,255,255,.16);-webkit-backdrop-filter:blur(28px) saturate(1.15);backdrop-filter:blur(28px) saturate(1.15)}
.site-header nav>a,.site-header nav .nav-contact{border:0;color:#fff;background:transparent;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.site-header nav>a:hover,.site-header nav>a:focus-visible{background:rgba(255,255,255,.18);color:#fff}
.site-header nav>a[aria-current="page"],body:has(.magnet-intro) .site-header .home-tab,body:has(.team-section) .site-header nav>a[href="team.html"],body:has(.contact-page) .site-header nav>a[href="kontakt.html"]{background:#fff;color:#252a2d;text-shadow:none}

/* Confirmed offers stay distinct from the building portfolio. */
.offer-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid color-mix(in srgb,var(--orange) 32%,white);border-radius:0;box-shadow:none;font:600 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.02em;background:color-mix(in srgb,var(--orange) 8%,white);color:var(--orange-dark);max-width:calc(100% - 24px)}.property-cover .offer-badge{position:absolute;left:12px;top:12px;z-index:2}.offer-sale,.offer-rent{background:color-mix(in srgb,var(--orange) 8%,white);color:var(--orange-dark)}.property-card .offer-detail{font-size:13px;line-height:1.5;margin:14px 0 10px}.property-card .offer-link{display:table;margin-top:12px}.portfolio-portrait-link{display:table;font-size:12px;margin-top:14px;color:var(--muted)}.property-offer-callout{padding:26px;background:#f3f2ed;margin:25px 0;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.property-offer-callout h3{font-size:28px}.property-offer-callout p{margin:0}.property-offer-callout .offer-badge{position:static}

.modal-hero{position:relative}.modal-hero>.offer-badge{position:absolute;top:18px;left:18px;z-index:2}

/* Fine inactive labels and glass limited to the navigation items. */
.site-header nav{align-self:flex-start;width:max-content;max-width:100%;font-weight:400}
.site-header nav>a,.site-header nav .nav-contact{font-weight:400;color:#34393c;text-shadow:none}
.site-header nav>a:hover,.site-header nav>a:focus-visible{color:#252a2d;background:rgba(255,255,255,.42)}
.site-header nav>a[aria-current="page"],body:has(.magnet-intro) .site-header .home-tab,body:has(.team-section) .site-header nav>a[href="team.html"],body:has(.contact-page) .site-header nav>a[href="kontakt.html"]{font-weight:700;color:#252a2d;background:#fff}
@media(max-width:600px){.site-header nav{width:100%}}

/* Offer badges beside the name, keeping image captions in their original position. */
.property-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:10px}body:has(.category-overview) .property-name-row h3{margin:0;min-width:0}.property-name-row .offer-badge{flex-shrink:0;max-width:100%;border-radius:0;padding:5px 9px;border:1px solid color-mix(in srgb,var(--orange) 32%,white);box-shadow:none;background:color-mix(in srgb,var(--orange) 8%,white);color:var(--orange-dark);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.02em;white-space:normal}

/* Gumpert: complete room views, no thumbnail cropping. */
.gumpert-landing .campaign-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);align-items:start}.gumpert-landing .campaign-photo-grid img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}.campaign-photo-link{display:block;position:relative;cursor:zoom-in}.campaign-photo-zoom{position:absolute;right:12px;bottom:12px;background:#fffE;padding:7px 12px;font-size:12px;color:#222}.campaign-photo-link:hover .campaign-photo-zoom{background:#fff}@media(max-width:760px){.gumpert-landing .campaign-photo-grid{grid-template-columns:1fr}}

/* Supplied room photo retains its complete composition. */
.gumpert-landing .campaign-story>img.campaign-story-room{width:100%;height:auto;max-height:none;max-width:none;object-fit:contain}

/* Gumpert rental terms, confirmed against the supplied listing. */
.campaign-rent{padding-top:55px;padding-bottom:55px;background:#f3f2ee}.campaign-rent h2{margin-bottom:30px}.campaign-rent-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:24px}.campaign-rent-list dt{font-size:14px}.campaign-rent-list dd{font-size:clamp(26px,3vw,42px);margin-top:8px}.campaign-rent>p{font-size:14px}@media(max-width:760px){.campaign-rent-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.address-nowrap{white-space:nowrap}

.gumpert-landing .campaign-rent-list{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Full facade complements the two uncropped interior views. */
.gumpert-landing .campaign-photo-grid .campaign-facade{grid-column:1/-1;margin-top:8px}.campaign-facade .campaign-photo-link{background:#f3f2ee}.gumpert-landing .campaign-photo-grid .campaign-facade img{width:100%;height:auto;max-height:640px;object-fit:contain}.campaign-facade figcaption{text-align:center}
