@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Latin-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Latin-SemiBold.woff') format('woff');font-weight:600;font-display:swap}
:root{--ink:#14140f;--dark:#171a1d;--cream:#f2efe6;--gold:#cdbe7c;--gold-light:#a89452;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Roboto,Arial,sans-serif;color:var(--ink);font-size:18px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.dark{color:var(--cream)}.light{color:var(--ink)}.eyebrow{font-size:12px!important;font-weight:600;letter-spacing:.19em;line-height:1.3!important;margin:0 0 32px!important}.dark .eyebrow{color:var(--gold)}.light .eyebrow{color:#786b3e}h1,h2,h3,p{margin-top:0}h2{font-weight:400;font-size:clamp(48px,4.7vw,72px);line-height:1.04;letter-spacing:-.045em;margin-bottom:48px;max-width:850px}h3{font-weight:400;letter-spacing:-.025em}.section-copy>p:not(.eyebrow){max-width:690px}.section-copy>p{margin-bottom:24px}.lead,.field-lead{font-weight:600}.closing{margin-top:48px;font-weight:600}.split{display:grid;gap:80px;align-items:center}.media{overflow:hidden}.media img{width:100%;height:100%;object-fit:cover}
.site-header{height:96px;background:var(--dark);color:#fff;position:relative;z-index:5}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:48px}.brand img{width:156px;height:auto}.desktop-nav{display:flex;align-items:center;gap:36px;font-size:15px}.desktop-nav>a:not(.button){transition:color .2s}.desktop-nav>a:hover,.desktop-nav>a:focus-visible{color:var(--gold)}.button{min-height:48px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px;font-weight:600;letter-spacing:.015em;transition:background .2s,color .2s,transform .15s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button:focus-visible,.site-header a:focus-visible,.mobile-trigger:focus-visible{outline:2px solid currentColor;outline-offset:4px}.button-dark{background:var(--gold);color:var(--dark)}.button-dark:hover{background:#e1d49c}.button-light{background:#847036;color:#fff}.button-light:hover{background:#75642c}.mobile-trigger,.mobile-menu{display:none}
.coffee-button{gap:16px}
.coffee-icon{width:20px;height:20px;flex:none;display:block;transform:translateY(-1px)}
.site-header .button-dark,.site-header .button-dark:hover,.site-header .button-dark:focus-visible{color:#171a1d}
.site-header .button-dark:hover{background:#ddca87}
.kaffee .button-light,.kaffee .button-light:hover{color:#fff}.kaffee .button-light:focus-visible{color:#fff;outline-color:#14140f}
.hero{background:var(--dark);min-height:calc(100vh - 96px);display:flex;align-items:center}.hero-inner{padding-block:64px 96px}.hero h1{font-size:clamp(74px,8.2vw,118px);line-height:.98;font-weight:400;letter-spacing:-.06em;margin-bottom:48px}.hero h1 span{display:block}.hero h1 .gold{color:var(--gold)}.hero-subline{font-size:23px;max-width:620px;color:#dadad3}
.dazwischen{background:#24241f;padding:160px 0}.dazwischen-grid{grid-template-columns:55fr 45fr}.between-lines{margin:48px 0}.between-lines p{margin:0 0 7px}.between-media{height:740px}.between-media img{object-position:55% 50%}
.wirkungsfelder{background:#373730;padding:160px 0}.wirkungsfelder h2{margin-bottom:80px}.fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px 24px}.field img{width:100%;aspect-ratio:1.38;object-fit:cover}.field-copy{padding-top:24px}.field-number{font-size:12px;letter-spacing:.14em;color:var(--gold);margin-bottom:24px}.field h3{font-size:34px;line-height:1.15;margin-bottom:16px}.field-copy p{max-width:500px}.field-copy p:last-child{color:#d6d3ca}
.projektkompass{background:#5b5a53;padding:160px 0}.projektkompass h2{max-width:950px}.section-intro{max-width:640px;margin-bottom:96px}.compass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.compass-grid article{border-top:1px solid rgba(242,239,230,.6);padding-top:32px}.compass-number{font-size:80px;line-height:1;color:var(--gold);font-weight:400}.compass-grid h3{font-size:34px;margin:48px 0 24px}.compass-grid p{max-width:340px}
.kennzahlen{background:#85837b;padding:160px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:160px}.stats>div{border-top:1px solid rgba(20,20,15,.65);padding-top:24px}.stats strong{font-weight:400;font-size:clamp(55px,5vw,80px);line-height:1;letter-spacing:-.05em;display:block;margin-bottom:16px}.stats small{font-size:.44em;letter-spacing:-.02em}.stats span{font-size:12px;letter-spacing:.12em;font-weight:600}.stats-copy{display:grid;grid-template-columns:1fr 1fr;gap:80px}.stats-copy h2{font-size:52px}.stats-copy p{max-width:600px}
.referenzen{background:#b4b0a4;padding:160px 0}.refs-head h2{max-width:900px}.refs-head>p:last-child{max-width:650px}.refs-track{display:flex;gap:24px;overflow-x:auto;padding:80px max(40px,calc((100vw - 1200px)/2)) 16px;scroll-snap-type:x mandatory;scrollbar-width:thin}.reference{flex:0 0 430px;scroll-snap-align:start}.reference picture{height:420px;display:block}.reference img{width:100%;height:100%;object-fit:cover}.reference.rema img{object-fit:contain;background:#a4a198}.reference h3{font-size:26px;margin:24px 0 4px}.reference p{font-size:16px;margin:0}
.ueber-uns{background:#ddd9ce;padding:160px 0}.about-grid{grid-template-columns:45fr 55fr}.portrait{height:740px}.portrait img{object-position:center 20%}.about-grid h2{font-size:62px}.kaffee{background:#f5f3ec;padding:160px 0}.coffee-grid{grid-template-columns:1fr 1fr}.coffee-grid h2{font-size:64px}.coffee-media{height:660px}.cta-note{font-size:14px;margin-top:18px}.kaffee .button{margin-top:32px}
.site-footer{background:#fff;color:#292b2a;border-top:1px solid #d1cdc1;padding:96px 0 40px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.footer-logo{width:220px;margin-bottom:32px}.footer-grid>div:first-child p{max-width:300px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-links a{display:block;margin-bottom:12px}.footer-links a:hover{color:var(--gold-light)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #d1cdc1;margin-top:96px;padding-top:24px;font-size:12px;letter-spacing:.08em}
@media(max-width:1199px){.container{width:calc(100% - 64px)}.desktop-nav{gap:20px}.split{gap:48px}.stats-copy{gap:48px}}
@media(min-width:768px) and (max-width:1199px){.stats-copy h2{font-size:44px}}
@media(min-width:768px) and (max-width:1023px){.stats-copy{grid-template-columns:1fr}.stats-copy h2{font-size:52px}}
@media(max-width:767px){body{font-size:16px}.container{width:calc(100% - 48px)}.site-header{height:72px}.brand img{width:126px}.desktop-nav{display:none}.mobile-trigger{display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;width:48px;height:48px;cursor:pointer}.mobile-trigger img{width:30px;height:36px;object-fit:contain}.mobile-menu{position:absolute;inset:72px 0 auto;background:var(--dark);min-height:calc(100vh - 72px);padding:48px 24px;flex-direction:column;gap:28px;font-size:32px;line-height:1.2}.mobile-menu:not([hidden]){display:flex}.hero{min-height:calc(100svh - 72px)}.hero-inner{padding-block:40px 56px}.hero h1{font-size:clamp(40px,11.7vw,54px);line-height:1.14;letter-spacing:-.048em;margin-bottom:32px}.hero-subline{font-size:18px;line-height:1.35;max-width:320px}.eyebrow{margin-bottom:24px!important}h2{font-size:clamp(38px,10.2vw,50px);line-height:1.08;margin-bottom:32px;letter-spacing:-.04em}.split{grid-template-columns:1fr;gap:48px}.dazwischen,.wirkungsfelder,.projektkompass,.kennzahlen,.referenzen,.ueber-uns,.kaffee{padding:88px 0}.dazwischen-grid{grid-template-columns:1fr}.between-lines{margin:32px 0}.between-media{height:420px}.fields-grid{grid-template-columns:1fr;gap:64px}.wirkungsfelder h2{margin-bottom:56px}.field img{aspect-ratio:1.1}.field h3{font-size:30px}.field-copy{padding-top:20px}.compass-grid{grid-template-columns:1fr;gap:48px}.section-intro{margin-bottom:64px}.compass-number{font-size:64px}.compass-grid h3{font-size:30px;margin:24px 0 16px}.stats{grid-template-columns:1fr;gap:40px;margin-bottom:96px}.stats strong{font-size:70px}.stats-copy{grid-template-columns:1fr;gap:20px}.stats-copy h2{font-size:43px}.refs-head h2{font-size:42px}.refs-track{padding:48px 24px 16px;gap:16px}.reference{flex:0 0 84vw}.reference picture{height:330px}.reference h3{font-size:24px}.about-grid{grid-template-columns:1fr}.portrait{height:520px}.about-grid h2{font-size:43px}.coffee-grid{grid-template-columns:1fr}.coffee-grid h2{font-size:43px}.coffee-media{height:430px}.site-footer{padding:80px 0 32px}.footer-grid,.footer-links{grid-template-columns:1fr;gap:48px}.footer-logo{width:200px}.footer-bottom{margin-top:64px;display:block}.footer-bottom span{display:block;margin-top:10px}}
@media(max-width:389px){.container{width:calc(100% - 40px)}.hero h1{font-size:40px}.hero-subline{font-size:17px}.reference picture{height:290px}}

/* Referenzbilder bleiben in ihrem Seitenverhältnis vollständig sichtbar. */
.reference.city-gate,.reference.rema,.reference.loisium-residences,.reference.loisium-suedsteiermark,.reference.smart-city{flex-basis:746px}
.reference.city-gate picture,.reference.rema picture,.reference.loisium-residences picture,.reference.loisium-suedsteiermark picture,.reference.smart-city picture{height:auto;aspect-ratio:16/9}
.reference.city-gate img,.reference.rema img,.reference.loisium-residences img,.reference.loisium-suedsteiermark img,.reference.smart-city img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.reference.city-gate{flex-basis:600px}
.reference.city-gate picture{aspect-ratio:10/7}
.reference.city-gate img{object-fit:cover;object-position:right center}
.reference.merkur{flex-basis:560px}
.reference.merkur picture{height:auto;aspect-ratio:4/3}
.reference.merkur img{display:block;width:100%;height:100%;object-fit:contain}
.reference.smart-city{flex-basis:560px}
.reference.smart-city picture{aspect-ratio:4/3}
.reference.smart-city img{object-fit:cover;object-position:left center}
.reference.loisium-suedsteiermark{flex-basis:661px}
.reference.loisium-suedsteiermark picture{aspect-ratio:96/61}
@media(max-width:767px){
  .reference.city-gate,.reference.rema,.reference.loisium-residences,.reference.loisium-suedsteiermark,.reference.smart-city,.reference.merkur{flex-basis:84vw}
  .reference.city-gate picture{aspect-ratio:10/7}
  .reference.loisium-residences picture{aspect-ratio:16/9}
  .reference.loisium-suedsteiermark picture{aspect-ratio:96/61}
  .reference.rema picture{aspect-ratio:4/5}
  .reference.merkur picture{aspect-ratio:4/3}
  .reference.smart-city picture{aspect-ratio:4/3}
}
.back-to-top{position:fixed;z-index:20;right:28px;bottom:calc(28px + env(safe-area-inset-bottom));display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(168,148,82,.6);border-radius:50%;background:#171a1d;color:#fff;box-shadow:0 3px 14px rgba(0,0,0,.15);cursor:pointer}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:20px;height:20px}
.back-to-top:hover{background:#343739}
.back-to-top:focus-visible{outline:2px solid #a89452;outline-offset:3px}
@media(max-width:767px){.back-to-top{width:40px;height:40px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom))}.back-to-top svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.desktop-nav>a{transition:none}}

/* Referenzgalerie: ruhige Pfeile auf Desktop, natürlicher Swipe ohne sichtbare Scrollbar. */
.refs-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:28px;margin-bottom:-44px;position:relative;z-index:1}
.refs-arrow{width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(20,20,15,.42);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background-color .2s,border-color .2s}
.refs-arrow:hover{background:rgba(20,20,15,.08);border-color:var(--ink)}
.refs-arrow:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.refs-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.refs-track{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;scroll-padding-inline-start:max(40px,calc((100vw - 1200px)/2))}
.refs-track::-webkit-scrollbar{display:none}
@media(max-width:767px){.refs-controls{display:none}.refs-track{touch-action:pan-x pan-y;scroll-padding-inline-start:24px}}
@media(prefers-reduced-motion:reduce){.refs-arrow{transition:none}}
@media(max-width:767px){.stats-copy h2{font-size:32px;line-height:1.12;letter-spacing:-.04em}}
@media(max-width:767px){.stats-copy h2{font-size:clamp(26px,8.3vw,32px)}}
.field img{height:auto}
.hero h1{letter-spacing:-.015em}
@media(max-width:767px){.hero h1{font-size:clamp(39px,11vw,50px);letter-spacing:-.01em}}

.skip-link{position:fixed;top:12px;left:16px;z-index:100;background:var(--cream);color:var(--ink);padding:12px 18px;transform:translateY(-180%)}.skip-link:focus{transform:none}
