/* ==========================================================
   Deutsche Baugesellschaft – V7 refinement layer
   Precision, calmer accent use, stronger page-to-page coherence
   ========================================================== */
:root{
  --stone:#e6e1d8;
  --stone-2:#f1eee8;
  --chalk:#d7d5cf;
  --charcoal:#11161c;
  --charcoal-2:#1b2229;
}

/* ---------- Header / navigation ---------- */
.site-header-v6{grid-template-columns:172px minmax(0,1fr) auto;gap:18px}
.site-header-v6 .menu{gap:clamp(9px,1vw,18px)}
.site-header-v6 .menu a{font-size:9px;letter-spacing:.095em}
.header-actions-v6{gap:10px}
.header-call{padding-left:3px;padding-right:3px}

/* ---------- Hero blueprint: precise & collision-safe ---------- */
.hero-v6 .hero-blueprint-field{right:-1vw;width:min(68vw,1020px)}
.hero-floorplan text{
  font-size:10.5px;
  letter-spacing:1.55px;
  fill:rgba(235,239,242,.72);
  paint-order:stroke fill;
  stroke:#111821;
  stroke-width:3.2px;
  stroke-linejoin:round;
}
.hero-floorplan .plan-title{font-size:11px;font-weight:700;letter-spacing:2.4px;fill:rgba(255,255,255,.82);stroke-width:4px}
.hero-floorplan .dim-label{font-size:9px;fill:#d8c39c;letter-spacing:1px;stroke-width:3px}
.hero-floorplan .plan-fixtures path,.hero-floorplan .plan-fixtures rect,.hero-floorplan .plan-fixtures ellipse{stroke:rgba(218,225,230,.44)}
.hero-floorplan .plan-openings path{stroke:rgba(237,241,244,.78)}
.blueprint-stamp{top:6%;right:6%;background:rgba(12,17,23,.66);backdrop-filter:blur(5px)}

/* ---------- Profile: compact logo in the text column ---------- */
.intro-v6{grid-template-columns:1.16fr .66fr;gap:7vw;padding-bottom:82px}
.intro-v6 .intro-side{align-self:end}
.profile-logo-inline{width:min(250px,72%);margin:0 0 25px;filter:drop-shadow(0 12px 25px rgba(17,18,20,.08))}
.profile-logo-inline img{display:block;width:100%;height:auto;background:transparent}
.intro-v6 .profile-strip{grid-column:1/-1;margin-top:24px}

/* ---------- Services overview + page ---------- */
.services-page-hero-v7 .page-hero-copy{max-width:960px}
.services-hero-system{position:absolute;right:7%;top:22%;width:min(34vw,470px);height:48%;z-index:1;opacity:.82}
.services-hero-system .system-core{position:absolute;left:50%;top:49%;width:88px;height:88px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.025);box-shadow:0 0 0 22px rgba(255,255,255,.015),0 0 0 44px rgba(255,255,255,.01)}
.services-hero-system .system-core:before,.services-hero-system .system-core:after{content:"";position:absolute;background:rgba(199,165,106,.72)}
.services-hero-system .system-core:before{left:50%;top:15%;bottom:15%;width:1px}.services-hero-system .system-core:after{top:50%;left:15%;right:15%;height:1px}
.system-node{position:absolute;padding:8px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(15,20,26,.74);color:#d9dde0;font-size:7px;letter-spacing:.18em;white-space:nowrap}
.system-node.n1{left:0;top:6%}.system-node.n2{right:2%;top:12%}.system-node.n3{right:0;bottom:10%}.system-node.n4{left:2%;bottom:6%}
.services-hero-system .system-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform-origin:left center}
.services-hero-system .l1{left:18%;top:20%;width:35%;transform:rotate(28deg)}
.services-hero-system .l2{left:51%;top:36%;width:33%;transform:rotate(-26deg)}
.services-hero-system .l3{left:52%;top:61%;width:36%;transform:rotate(25deg)}
.services-hero-system .l4{left:16%;top:78%;width:38%;transform:rotate(-25deg)}
.service-process-v7{position:relative;overflow:hidden}
.service-process-v7:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(199,165,106,.65),transparent)}
.service-process-model{position:relative;margin-top:48px;width:min(430px,100%);height:190px;border:1px solid rgba(255,255,255,.12);overflow:hidden;background:#141a20;perspective:850px}
.spm-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:26px 26px}
.spm-foundation{position:absolute;left:24%;bottom:31px;width:52%;height:34px;background:#363e45;transform:skewY(-6deg)}
.spm-wall{position:absolute;background:rgba(226,222,214,.88);border:1px solid rgba(255,255,255,.2)}
.spm-wall.w1{left:30%;bottom:64px;width:21%;height:72px}.spm-wall.w2{left:52%;bottom:58px;width:19%;height:79px;transform:skewY(-8deg)}.spm-wall.w3{left:40%;bottom:84px;width:18%;height:53px;background:#c9c4bb}
.spm-roof{position:absolute;left:28%;bottom:133px;width:44%;height:44px;clip-path:polygon(0 100%,50% 0,100% 100%);background:#2d343b;border-bottom:2px solid var(--gold)}
.service-process-model>span{position:absolute;left:14px;right:14px;bottom:10px;color:#777f86;font-size:6px;letter-spacing:.17em;text-align:center}
.service-detail-v6{scroll-margin-top:100px}

/* ---------- Build interaction ---------- */
.house-stage{background:radial-gradient(circle at 55% 50%,rgba(199,165,106,.075),transparent 33%),linear-gradient(145deg,#111820,#0d1217)}
.house-canvas{filter:drop-shadow(0 38px 40px rgba(0,0,0,.31))}
.house-stage-note{padding:8px 10px;background:rgba(13,18,23,.72);border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(5px)}

/* ---------- Plan -> reality comparison ---------- */
.compare-real{background:#111820}
.compare-image-side img{position:absolute;inset:0;width:100%;height:100%}
.compare-side-plan.compare-image-side{background:#f5f3ee}
.compare-side-plan.compare-image-side img{object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.03);background:#f5f3ee}
.compare-side-build.compare-image-side{background:#d8d2c8}
.compare-side-build.compare-image-side img{object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.03)}
.compare-image-side:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(17,18,20,.12)}
.compare-caption{z-index:4;background:rgba(13,18,23,.84);backdrop-filter:blur(8px);padding:10px 12px;color:#fff;border:1px solid rgba(255,255,255,.08)}
.compare-side-plan .compare-caption{background:rgba(245,243,238,.88);color:#11161c;border-color:rgba(17,18,20,.12)}
.compare-side-plan .compare-caption span{color:#686b6e}

/* ---------- Projects / references archive ---------- */
.projects-page-hero-v7{min-height:82svh}
.projects-hero-lines{display:none!important}
.projects-hero-showcase{position:absolute;right:4.5%;top:15%;width:min(47vw,720px);height:66%;z-index:1;perspective:1200px}
.project-board{position:absolute;overflow:hidden;background:#161c22;border:1px solid rgba(255,255,255,.13);box-shadow:0 30px 60px rgba(0,0,0,.24);transform-style:preserve-3d}
.project-board img,.project-board svg{width:100%;height:100%;display:block;object-fit:cover}
.project-board svg path{fill:none;stroke:rgba(255,255,255,.62);stroke-width:1.6}
.project-board>span{position:absolute;left:12px;bottom:10px;background:rgba(12,16,21,.84);color:#d4d8dc;padding:6px 8px;font-size:6px;letter-spacing:.16em}
.board-photo{left:0;top:15%;width:52%;height:60%;transform:rotateY(8deg) rotateZ(-2deg)}
.board-plan{right:4%;top:0;width:43%;height:46%;transform:rotateY(-9deg) rotateZ(2deg);background:#141a20}
.board-development{right:0;bottom:0;width:46%;height:42%;transform:rotateY(-6deg) rotateZ(-1deg);background:#20262c}
.board-plan:before,.board-development:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px}
.project-grid-v7 .project-card-v6-media{background:#171d23}
.project-visual{height:100%;position:relative;background:linear-gradient(145deg,#171d23,#222a31);display:grid;place-items:center;overflow:hidden}
.project-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:30px 30px}
.project-visual svg{position:relative;width:88%;height:82%;z-index:1}
.project-visual path,.project-visual circle{fill:none;stroke:rgba(239,242,244,.72);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.project-visual .pv-grid path,.project-visual .pv-plan-grid path{stroke:rgba(255,255,255,.07);stroke-width:1}
.project-visual .pv-accent path,.project-visual .pv-stamp path,.project-visual .pv-stamp circle{stroke:var(--gold)}
.project-visual .pv-stamp path{stroke:var(--red);stroke-width:3}
.project-visual>span{position:absolute;left:15px;right:15px;bottom:12px;z-index:2;color:#aeb5ba;font-size:7px;letter-spacing:.15em;text-transform:uppercase}
.project-card-v6-media>img{filter:saturate(.92) contrast(1.02)}

/* ---------- Neutral CTAs: red/gold as accents only ---------- */
.project-start-v6{
  background:linear-gradient(135deg,#dfdad1 0%,#ece8e0 58%,#d8d2c8 100%)!important;
  color:#11161c!important;
  border-top:1px solid rgba(17,18,20,.09);
  border-bottom:1px solid rgba(17,18,20,.08);
}
.project-start-v6:before{content:"";position:absolute;right:5%;top:10%;width:32%;height:70%;pointer-events:none;background-image:linear-gradient(rgba(17,18,20,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,20,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#000)}
.project-start-copy p{color:#57544f!important}
.project-start-copy .eyebrow{color:#866e47}
.start-action{background:rgba(255,255,255,.35)}
.team-join-cta{background:linear-gradient(135deg,#ded8cf,#ece8e1)!important;color:#11161c!important;border-top:1px solid rgba(17,18,20,.08)}
.team-join-cta .eyebrow{color:#826b47}
.team-join-cta .dbg-btn-light{background:#11161c;color:#fff;border-color:#11161c}
.team-join-cta .dbg-btn-light:hover{background:#272e35}

/* ---------- General subpage hero polish ---------- */
.page-hero-v6{isolation:isolate;border-bottom:1px solid rgba(255,255,255,.07)}
.page-hero-v6:before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 8%,#000 55%,#000 100%)}
.page-hero-v6 .page-hero-copy:before{content:"";position:absolute;left:-22px;top:8px;width:1px;height:72px;background:linear-gradient(var(--red),var(--gold));opacity:.8}
.page-hero-v6 .page-hero-copy{padding-left:4px}
.page-hero-v6 .page-hero-copy .eyebrow{color:#c8ad7c}

/* Services hero system subtle motion */
.services-page-hero-v7 .services-hero-system{animation:v7Float 7s ease-in-out infinite alternate}
@keyframes v7Float{to{transform:translate3d(0,-8px,0)}}
@keyframes v7Pulse{0%,100%{opacity:.5}50%{opacity:1}}
.services-hero-system .system-core{animation:v7Core 8s linear infinite}
@keyframes v7Core{to{transform:translate(-50%,-50%) rotate(405deg)}}
.services-hero-system .system-line{animation:v7Pulse 2.8s ease-in-out infinite}
.services-hero-system .l2{animation-delay:.5s}.services-hero-system .l3{animation-delay:1s}.services-hero-system .l4{animation-delay:1.5s}

/* Career */
.career-hero-nodes{position:absolute;right:6%;bottom:12%;width:min(39vw,520px);height:160px;z-index:1}
.ch-node{position:absolute;padding:8px 10px;border:1px solid rgba(255,255,255,.16);background:rgba(16,21,27,.78);font-size:7px;letter-spacing:.17em;color:#c9cdd0}
.ch-node.c1{left:0;top:48%}.ch-node.c2{left:42%;top:5%}.ch-node.c3{right:0;bottom:8%}
.career-hero-nodes i{position:absolute;height:1px;background:linear-gradient(90deg,rgba(199,165,106,.18),rgba(199,165,106,.72),rgba(199,165,106,.18));transform-origin:left center}
.career-hero-nodes i:nth-of-type(1){left:17%;top:53%;width:31%;transform:rotate(-24deg)}
.career-hero-nodes i:nth-of-type(2){left:57%;top:32%;width:29%;transform:rotate(31deg)}
.career-hero-nodes i:nth-of-type(3){left:23%;top:62%;width:62%;transform:rotate(8deg)}
.career-values-v7 article{position:relative;overflow:hidden}
.career-value-icon{width:72px;height:72px;margin-bottom:22px;color:#22272c}
.career-value-icon svg{width:100%;height:100%}.career-value-icon path,.career-value-icon circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.career-value-icon .accent{stroke:var(--gold)}
.career-values-v7 article:hover .career-value-icon{transform:translateY(-4px)}.career-value-icon{transition:.3s ease}

/* Team */
.team-hero-network{position:absolute;right:5%;top:20%;width:min(40vw,560px);height:55%;z-index:1}
.thn-core{position:absolute;left:50%;top:50%;width:135px;height:82px;transform:translate(-50%,-50%);display:grid;place-items:center;background:rgba(244,241,235,.94);border:1px solid rgba(255,255,255,.16);padding:14px 18px;box-shadow:0 20px 50px rgba(0,0,0,.16)}
.thn-core img{width:100%;height:auto}
.thn-node{position:absolute;padding:8px 10px;border:1px solid rgba(255,255,255,.17);background:rgba(15,20,26,.78);font-size:7px;letter-spacing:.15em;color:#cbd0d4}
.thn-node.n1{left:3%;top:12%}.thn-node.n2{right:0;top:13%}.thn-node.n3{right:0;bottom:10%}.thn-node.n4{left:0;bottom:12%}
.team-hero-network .line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform-origin:left center}
.team-hero-network .l1{left:19%;top:29%;width:34%;transform:rotate(29deg)}.team-hero-network .l2{left:51%;top:40%;width:35%;transform:rotate(-28deg)}.team-hero-network .l3{left:52%;top:61%;width:36%;transform:rotate(25deg)}.team-hero-network .l4{left:18%;top:75%;width:36%;transform:rotate(-24deg)}

/* Vision */
.vision-grid-art{overflow:hidden;background:rgba(255,255,255,.018)}
.vision-grid-art svg{position:absolute;inset:8%;width:84%;height:84%;transform:skewY(7deg)}
.vision-grid-art svg path,.vision-grid-art svg circle{fill:none;stroke:rgba(255,255,255,.48);stroke-width:1.5}
.vision-grid-art svg circle{fill:var(--gold);stroke:none}
.vision-grid-art small{position:absolute;right:14px;bottom:12px;font-size:6px;letter-spacing:.16em;color:#93999f;transform:skewY(7deg)}

/* Project image crispness */
.home-project-media img,.project-card-v6-media img{image-rendering:auto;backface-visibility:hidden}
.home-project-media img[src*="nussloch"]{filter:saturate(.94) contrast(1.06) brightness(1.01)}

/* Partner / applicant / contact hero gets an architectural focus instead of emptiness */
.partner-page-hero:after,.applicant-page-hero:after,.contact-page-hero:after,.tender-page-hero:after{background:linear-gradient(90deg,rgba(8,11,15,.78),rgba(8,11,15,.23) 63%,rgba(8,11,15,.38))}
.partner-page-hero:before,.contact-page-hero:before,.tender-page-hero:before{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(135deg,transparent 47%,rgba(199,165,106,.10) 48%,transparent 49%);background-size:52px 52px,52px 52px,340px 340px}

/* ---------- Mobile ---------- */
@media(max-width:1180px){
  .site-header-v6 .main-nav{display:none}.site-header-v6 .menu-toggle{display:flex}.header-actions-v6{display:none}
  .services-hero-system{right:2%;opacity:.52;width:45vw}
  .projects-hero-showcase{opacity:.48;right:-3%;width:54vw}
  .team-hero-network{opacity:.56;right:-2%;width:48vw}
}
@media(max-width:800px){
  .hero-v6 .hero-blueprint-field{right:-38%;width:125vw;top:10vh;height:54vh;opacity:.55}
  .hero-floorplan text{font-size:9px;stroke-width:6px}.hero-floorplan .plan-title{font-size:9px}.hero-floorplan .dim-label{font-size:7px}
  .intro-v6{grid-template-columns:1fr;gap:28px;padding-bottom:66px}.intro-v6 .section-index,.intro-v6 .profile-strip{grid-column:auto}.profile-logo-inline{width:min(220px,62vw);margin-bottom:20px}
  .services-hero-system{width:75vw;right:-24%;top:17%;height:40%;opacity:.35}.services-hero-system .system-node{display:none}
  .service-process-model{height:165px;margin-top:32px}
  .projects-hero-showcase{width:90vw;height:48%;right:-32%;top:16%;opacity:.32}.board-photo{width:58%}.board-plan,.board-development{width:47%}
  .project-start-v6:before{width:70%;right:-20%;opacity:.65}
  .career-hero-nodes{width:72vw;right:-24%;opacity:.38}.career-hero-nodes .ch-node{font-size:6px}
  .career-values-v7 .career-value-icon{width:58px;height:58px}
  .team-hero-network{width:76vw;right:-27%;opacity:.34}.thn-node{display:none}.thn-core{width:115px;height:70px}
  .vision-grid-art{width:72%;right:-24%;opacity:.42}
}
@media(max-width:540px){
  .hero-v6 .hero-blueprint-field{right:-55%;width:155vw;opacity:.42}.blueprint-stamp,.blueprint-coord{display:none}
  .profile-logo-inline{width:190px}
  .page-hero-v6 .page-hero-copy:before{left:-12px;height:55px}
  .page-hero-v6{min-height:72svh}
  .projects-hero-showcase{right:-44%;width:110vw;opacity:.25}
  .project-board>span{display:none}
  .career-hero-nodes,.team-hero-network{opacity:.23}
  .service-process-model{height:150px}
  .compare-image-side .compare-caption{font-size:7px}.compare-caption span{font-size:6px}
}
@media(prefers-reduced-motion:reduce){
  .services-page-hero-v7 .services-hero-system,.services-hero-system .system-core,.services-hero-system .system-line{animation:none!important}
}

/* Keep rich hero artwork beside, never on top of, the headline on wide screens. */
@media(min-width:1181px){
  .projects-page-hero-v7 .page-hero-copy{max-width:54vw}
  .services-page-hero-v7 .page-hero-copy{max-width:61vw}
  .career-page-hero-v7 .page-hero-copy,.team-page-hero-v7 .page-hero-copy,.vision-page-hero .page-hero-copy{max-width:61vw}
}
@media(max-width:1180px){
  .projects-page-hero-v7 .page-hero-copy,.services-page-hero-v7 .page-hero-copy,.career-page-hero-v7 .page-hero-copy,.team-page-hero-v7 .page-hero-copy,.vision-page-hero .page-hero-copy{max-width:780px}
}

/* Calm interaction palette: no full signal-red surfaces. */
.dbg-btn-dark:hover{background:#2a3138;border-color:#2a3138}
.project-start-v6{position:relative;overflow:hidden}
.project-start-v6>*{position:relative;z-index:1}

/* Detailed service icons stay meaningful and gain only a restrained motion cue. */
.service-detail-v6 .service-svg g{transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.service-detail-v6:hover .service-svg .icon-building,.service-detail-v6:hover .service-svg .icon-room,.service-detail-v6:hover .service-svg .icon-plan,.service-detail-v6:hover .service-svg .icon-unit{transform:translateY(-3px)}
.service-detail-v6:hover .service-svg .icon-tool{transform:rotate(-5deg);transform-origin:center}
.service-detail-v6:hover .service-svg .icon-gear{transform:rotate(24deg);transform-origin:48px 43px}
.service-detail-v6:hover .service-svg .icon-accent{transform:translate(2px,-2px)}
