/*
Theme Name: LE Holzbau
Theme URI: https://le-holzbau.de/
Author: LE Holzbau
Description: Individuelles, responsives WordPress-Theme für LE Holzbau.
Version: 2.6.0
Text Domain: le-holzbau
*/

:root{
  --ink:#171711; --paper:#FAF9F5; --paper-2:#F1EFE8; --stone:#6D695F;
  --line:#D8D4C8; --pine:#2F4A3C; --pine-soft:#E5ECE6; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;line-height:1.06;letter-spacing:-.025em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:auto;padding:0 clamp(20px,4vw,56px)}
section{padding:clamp(64px,8vw,112px) 0}
.rule{border-top:1px solid var(--line)}
.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;color:var(--pine);display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.eyebrow:before{content:"";display:block;width:22px;height:1px;background:var(--pine)}
.sec-h{font-size:clamp(1.9rem,3.5vw,3rem);max-width:18ch}
.lead{font-size:clamp(1rem,1.4vw,1.16rem);color:var(--stone);max-width:58ch}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.35rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:600;font-size:.88rem;transition:.18s}
.btn:hover{background:transparent;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.note{border-left:3px solid var(--pine);padding-left:1rem;color:var(--stone);max-width:64ch}
.tag{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:.68rem;color:var(--stone);border:1px solid var(--line);background:var(--paper);padding:.35rem .55rem}
.placeholder{position:relative;min-height:260px;background:var(--paper-2);border:1px solid var(--line);overflow:hidden;display:flex;align-items:flex-end}
.placeholder:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(45deg,transparent 0 10px,#e2ded3 10px 11px)}
.placeholder .tag{position:relative;margin:14px}

header{position:sticky;top:0;z-index:50;background:rgba(250,249,245,.94);backdrop-filter:blur(7px);border-bottom:1px solid var(--line)}
.navbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:inline-flex;align-items:center;text-decoration:none}
.logo img{display:block;width:172px;height:auto;max-height:52px;object-fit:contain}
.footer-logo img{width:215px;filter:invert(1);opacity:.96}
@media(max-width:600px){.logo img{width:145px}.footer-logo img{width:180px}}
.people{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,70px);align-items:start}.people-photo{min-height:390px}.contact-person{border-top:1px solid var(--line);padding:1.15rem 0}.contact-person:first-of-type{margin-top:1.6rem}.contact-person h3{font-size:1.15rem}.contact-person .role{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:.7rem;color:var(--pine);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}.contact-person p{color:var(--stone);font-size:.9rem;margin-top:.45rem}.person-note{margin-top:1.5rem;padding:1rem 1.1rem;background:var(--pine-soft);border-left:3px solid var(--pine);color:var(--stone)}@media(max-width:900px){.people{grid-template-columns:1fr}.people-photo{min-height:300px}}
nav{display:flex;gap:clamp(12px,2vw,26px);font-size:.84rem;color:var(--stone)}
nav a:hover{color:var(--ink)}
@media(max-width:900px){nav{display:none}}

.hero{padding-top:clamp(52px,7vw,90px)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,68px);align-items:center}
.hero h1{font-size:clamp(2.65rem,5vw,4.8rem);max-width:12ch}
.hero .lead{margin-top:1.35rem}
.ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.hero .placeholder{aspect-ratio:4/5}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero .placeholder{aspect-ratio:16/10}}

.problem-intro{max-width:760px}
.gaube{margin-top:2.4rem;display:grid;grid-template-columns:1fr auto 2.2fr auto 1fr;align-items:center;gap:18px}
.idea-box,.result-box{border:1px solid var(--ink);padding:1rem 1.1rem;background:var(--paper);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:600;text-align:center}
.result-box{background:var(--pine);color:var(--paper);border-color:var(--pine)}
.arrow{font-family:'IBM Plex Mono';color:var(--stone)}
.cloud{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.cloud span{font-family:'IBM Plex Mono';font-size:.72rem;padding:.38rem .6rem;border:1px solid var(--line);color:var(--stone);background:var(--paper-2)}
@media(max-width:900px){.gaube{grid-template-columns:1fr}.arrow{text-align:center;transform:rotate(90deg)}}
.interfaces{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem}
.interface{background:var(--paper);padding:1.2rem;text-align:center}
.interface .mini{font-family:'IBM Plex Mono';font-size:.62rem;color:var(--stone);text-transform:uppercase;letter-spacing:.08em}
.interface strong{display:block;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;margin:.55rem 0}
.interface span{color:var(--pine)}
@media(max-width:760px){.interfaces{grid-template-columns:repeat(2,1fr)}}

.question{background:var(--ink);color:var(--paper);text-align:center}
.question .eyebrow{color:#9fb2a3;justify-content:center}.question .eyebrow:before{background:#9fb2a3}
.question h2{color:var(--paper);font-size:clamp(2rem,4.7vw,4rem);max-width:18ch;margin:auto;font-weight:600}

.principle-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,90px);align-items:start}
.principle-grid p{color:var(--stone);margin-top:1.2rem;max-width:60ch}
.statement{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:1.16rem;max-width:42ch}
@media(max-width:900px){.principle-grid{grid-template-columns:1fr}}

.process-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end}
.process-head .lead{justify-self:end}
@media(max-width:800px){.process-head{grid-template-columns:1fr}.process-head .lead{justify-self:start}}
.process{margin-top:2.5rem;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:72px 1.05fr 1.8fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
.step .num{font-family:'IBM Plex Mono';color:var(--pine)}
.step h3{font-size:1.08rem}
.step p{color:var(--stone);max-width:60ch}
.step .status{font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--stone);margin-top:.45rem}
@media(max-width:720px){.step{grid-template-columns:44px 1fr}.step p,.step .status{grid-column:2}}

.boundary{background:var(--paper-2)}
.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
.boundary-card{background:var(--paper);padding:clamp(24px,3vw,38px)}
.boundary-card h3{font-size:1.25rem;margin-top:.5rem}
.boundary-card p{color:var(--stone);margin-top:.8rem}
.boundary-card ul{list-style:none;margin-top:1rem}
.boundary-card li{padding:.28rem 0 .28rem 1.2rem;position:relative;color:var(--stone);font-size:.92rem}
.boundary-card li:before{content:"+";position:absolute;left:0;color:var(--pine);font-weight:700}
.boundary-card.paid{background:var(--pine);color:var(--paper)}
.boundary-card.paid .eyebrow,.boundary-card.paid p,.boundary-card.paid li{color:#dfe8e1}.boundary-card.paid .eyebrow:before{background:#dfe8e1}
.boundary-card.paid li:before{color:#fff}
@media(max-width:760px){.boundary-grid{grid-template-columns:1fr}}

.branch{margin-top:1.5rem;display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--line);padding:1.1rem 1.2rem;background:var(--paper)}
.branch strong{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;min-width:150px}.branch p{color:var(--stone)}
@media(max-width:650px){.branch{display:block}.branch p{margin-top:.4rem}}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
.service{background:var(--paper);padding:clamp(22px,2.6vw,34px);min-height:180px}
.service .idx{font-family:'IBM Plex Mono';font-size:.7rem;color:var(--stone)}
.service h3{font-size:1.08rem;margin-top:1.3rem}.service p{color:var(--stone);font-size:.9rem;margin-top:.55rem}
@media(max-width:900px){.services{grid-template-columns:1fr 1fr}}@media(max-width:560px){.services{grid-template-columns:1fr}}

.planning-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,70px);align-items:start}
.planning-grid p{color:var(--stone);margin-top:1rem}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.benefit{background:var(--paper);padding:1.2rem}.benefit h4{font-size:.98rem}.benefit p{font-size:.84rem;margin-top:.3rem;color:var(--stone)}
@media(max-width:900px){.planning-grid{grid-template-columns:1fr}}

.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:2rem}
.project .placeholder{aspect-ratio:5/4}.project .meta{padding-top:.9rem}.project small{font-family:'IBM Plex Mono';color:var(--pine);text-transform:uppercase;letter-spacing:.07em}.project h3{font-size:1.05rem;margin-top:.35rem}
@media(max-width:900px){.projects{grid-template-columns:1fr}}

.arch{background:var(--paper-2)}
.arch-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.arch p{color:var(--stone);margin-top:1rem;max-width:62ch}.arch .placeholder{aspect-ratio:4/3}
@media(max-width:900px){.arch-grid{grid-template-columns:1fr}}

.team-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,70px);align-items:center}.team-grid p{color:var(--stone);margin-top:1rem}.team-grid .placeholder{aspect-ratio:4/3}
.values{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.3rem}.value{border:1px solid var(--pine);color:var(--pine);font-size:.78rem;padding:.45rem .7rem}
@media(max-width:900px){.team-grid{grid-template-columns:1fr}}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px)}
form{display:grid;gap:14px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}
label{display:block;font-size:.78rem;color:var(--stone);margin-bottom:.35rem;font-weight:500}
input,select,textarea{width:100%;border:1px solid var(--line);background:var(--paper);padding:.78rem .9rem;font:inherit;color:var(--ink)}
textarea{min-height:120px;resize:vertical}.hint{font-size:.77rem;color:var(--stone);margin-top:.3rem}.upload{border:1px dashed var(--line);padding:1rem;background:var(--paper-2);font-size:.86rem;color:var(--stone)}
@media(max-width:850px){.contact-grid{grid-template-columns:1fr}}@media(max-width:560px){.row{grid-template-columns:1fr}}

footer{background:var(--ink);color:#b8b5aa}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding:52px 0 34px;border-bottom:1px solid #34332d}footer h5{font-family:'IBM Plex Mono';font-size:.72rem;color:var(--paper);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.8rem}footer a{display:block;margin:.4rem 0;font-size:.86rem}.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:18px 0 26px;font-size:.77rem}@media(max-width:700px){.footer-grid{grid-template-columns:1fr}}

.process-note{margin-top:1.5rem;padding:1.15rem 1.3rem;border-left:3px solid var(--pine);background:var(--pine-soft);max-width:900px}
.process-note strong{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:.96rem}
.process-note p{margin-top:.35rem;color:var(--stone);font-size:.9rem;max-width:78ch}
.step .micro{margin-top:.6rem;font-family:'IBM Plex Mono';font-size:.67rem;color:var(--pine);letter-spacing:.035em}

/* --- Mobile UX --- */
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{display:block;width:19px;height:1.5px;background:var(--ink);transition:.2s}
.mobile-nav{display:none}
@media(max-width:900px){
  header{position:sticky}
  .navbar{height:64px;padding-top:0;padding-bottom:0}
  .navbar>.btn{display:none}
  .menu-toggle{display:flex}
  .mobile-nav{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(250,249,245,.985);border-bottom:1px solid var(--line);padding:10px clamp(20px,4vw,56px) 22px;box-shadow:0 14px 30px rgba(23,23,17,.08)}
  header.menu-open .mobile-nav{display:block}
  .mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:600;font-size:1rem}
  .mobile-nav .btn{margin-top:16px;width:100%;border-bottom:1px solid var(--ink)}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}
@media(max-width:720px){
  body{font-size:16px;overflow-x:hidden}
  .wrap{padding-left:20px;padding-right:20px}
  section{padding:56px 0}
  .hero{padding-top:36px;padding-bottom:60px}
  .hero-grid{gap:34px}
  .hero h1{font-size:clamp(2.35rem,11vw,3.25rem);max-width:11ch;line-height:1.02}
  .sec-h{font-size:clamp(1.8rem,8.6vw,2.55rem);max-width:14ch}
  .lead{font-size:1rem;line-height:1.58}
  .eyebrow{font-size:.65rem;line-height:1.5;letter-spacing:.1em}
  .ctas{display:grid;grid-template-columns:1fr;gap:10px;margin-top:1.5rem}
  .ctas .btn{width:100%;min-height:48px}
  .hero .placeholder{aspect-ratio:4/3;min-height:0}
  .placeholder{min-height:220px}
  .gaube{gap:10px;margin-top:1.8rem}
  .cloud{gap:6px}
  .cloud span{font-size:.66rem;padding:.32rem .45rem}
  .interfaces{grid-template-columns:1fr;margin-top:1.8rem}
  .interface{padding:1rem;text-align:left}
  .question{padding:62px 0}
  .question h2{font-size:clamp(2rem,9vw,3rem);line-height:1.08}
  .principle-grid,.planning-grid,.arch-grid,.team-grid,.people,.contact-grid{gap:30px}
  .process{margin-top:1.5rem;border-top:0}
  .step{grid-template-columns:38px 1fr;gap:10px 12px;padding:20px 0}
  .step .num{font-size:.8rem}
  .step h3{font-size:1.02rem}
  .step p{grid-column:2;font-size:.92rem}
  .step .status,.step .micro{grid-column:2}
  .process-note{padding:1rem;margin-top:1rem}
  .boundary-grid,.benefits{grid-template-columns:1fr}
  .services{grid-template-columns:1fr}
  .service{min-height:0;padding:22px}
  .projects{grid-template-columns:1fr;gap:34px}
  .project .placeholder{aspect-ratio:16/10}
  .people-photo{min-height:260px!important;margin-top:1.4rem!important}
  .contact-person{padding:1rem 0}
  .contact-person:first-of-type{margin-top:0}
  .person-note{font-size:.92rem}
  .row{grid-template-columns:1fr}
  input,select,textarea{font-size:16px;min-height:48px}
  textarea{min-height:130px}
  .footer-grid{padding:42px 0 28px;gap:24px}
  .foot-bottom{display:block;line-height:1.7}
  .logo img{width:132px;max-height:46px}
}
@media(max-width:390px){
  .wrap{padding-left:16px;padding-right:16px}
  .hero h1{font-size:2.25rem}
  .btn{padding:.85rem 1rem}
}


.wp-editable-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.wp-editable-image .tag{z-index:2}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.privacy{display:flex;gap:.6rem;align-items:flex-start}.privacy input{width:auto;margin-top:.3rem}
.form-success{padding:1rem;border-left:3px solid var(--pine);background:var(--pine-soft)}
.form-error{padding:1rem;border-left:3px solid #8b2d2d;background:#f5e8e8}

/* Projektanfrage FINAL 2.0 */
.project-form .form-intro{margin-bottom:2rem}
.project-form .form-intro h3{margin:0 0 .55rem;font-size:1.45rem}
.project-form .form-intro p,.project-form .section-note{opacity:.76;line-height:1.6}
.project-form .form-section{border:0;border-top:1px solid rgba(0,0,0,.14);padding:1.8rem 0 .4rem;margin:0}
.project-form .form-section legend{font-size:1.08rem;font-weight:700;padding-right:1rem}
.project-form .form-section legend span{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#171717;color:#fff;margin-right:.5rem;font-size:.82rem}
.project-form .section-note{margin:.45rem 0 1.1rem}
.project-form .form-question{font-weight:700;margin-bottom:.55rem}
.project-form .check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.2rem;margin-bottom:1.2rem}
.project-form .check-grid label{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem 0}
.project-form .check-grid input{width:18px;height:18px;margin-top:.1rem;flex:0 0 auto}
.project-form .budget-field{display:flex}
.project-form .budget-field input{border-radius:4px 0 0 4px}
.project-form .budget-field span{display:grid;place-items:center;padding:0 .9rem;border:1px solid rgba(0,0,0,.18);border-left:0;border-radius:0 4px 4px 0;background:rgba(0,0,0,.035)}
.project-form .submit-hint{margin-top:.6rem}
.project-form .privacy a{text-decoration:underline}
@media(max-width:720px){.project-form .check-grid{grid-template-columns:1fr}.project-form .form-section{padding-top:1.45rem}}


/* =========================================================
   Projekte & Einblicke – FINAL 2.2
   ========================================================= */
.project-card-link{display:block}.project-linked .project-thumb{overflow:hidden}.project-linked .project-thumb img{transition:transform .35s ease}.project-linked:hover .project-thumb img{transform:scale(1.025)}
.project-more{display:inline-block;margin-top:.65rem;font-family:'IBM Plex Mono';font-size:.72rem;color:var(--pine)}
.project-archive-link{margin-top:2rem}

.project-page-header{padding:clamp(70px,9vw,120px) 0 44px;border-bottom:1px solid var(--line)}
.project-page-header .lead{max-width:720px}.project-back{font-family:'IBM Plex Mono';font-size:.76rem;color:var(--pine);display:inline-block;margin-bottom:1.2rem}
.project-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,42px)}
.project-archive-card{border-bottom:1px solid var(--line);padding-bottom:1.4rem}.project-archive-card a{display:block}.project-archive-card .project-cover{aspect-ratio:5/4;position:relative;overflow:hidden;background:var(--paper-2)}
.project-archive-card .project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-archive-card:hover .project-cover img{transform:scale(1.025)}
.project-archive-card .project-meta{padding-top:1rem}.project-archive-card small{font-family:'IBM Plex Mono';font-size:.7rem;color:var(--pine);text-transform:uppercase;letter-spacing:.07em}.project-archive-card h2{font-size:1.2rem;margin-top:.35rem}.project-archive-card p{color:var(--stone);margin-top:.55rem;font-size:.92rem}
.project-empty{padding:2rem;border:1px solid var(--line);background:var(--paper-2)}

.project-single-hero{padding:clamp(70px,9vw,120px) 0 46px;border-bottom:1px solid var(--line)}
.project-single-title{font-size:clamp(2.5rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em;max-width:14ch}.project-single-intro{max-width:760px;color:var(--stone);margin-top:1.15rem;font-size:1.08rem}
.project-cover-large{margin-top:2.3rem;aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--paper-2)}.project-cover-large img{width:100%;height:100%;object-fit:cover}
.project-content-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(36px,7vw,100px);align-items:start}.project-facts{border-top:1px solid var(--line)}
.project-fact{padding:1rem 0;border-bottom:1px solid var(--line)}.project-fact span{display:block;font-family:'IBM Plex Mono';font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pine);margin-bottom:.35rem}.project-fact p{color:var(--stone);white-space:pre-line}
.project-body{font-size:1.04rem;line-height:1.75}.project-body p{margin:0 0 1.2rem}.project-body h2,.project-body h3{margin:2rem 0 .8rem}
.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.5vw,20px);margin-top:2rem}.project-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}.project-gallery img{width:100%;height:100%;object-fit:cover;display:block}.project-gallery figure:nth-child(3n+1){grid-column:span 2;aspect-ratio:16/9}
.project-next{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:3rem;flex-wrap:wrap}

@media(max-width:900px){.project-archive-grid{grid-template-columns:1fr 1fr}.project-content-grid{grid-template-columns:1fr}.project-single-title{max-width:18ch}}
@media(max-width:620px){.project-archive-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.project-gallery figure,.project-gallery figure:nth-child(3n+1){grid-column:auto;aspect-ratio:4/3}.project-single-title{font-size:2.5rem}.project-page-header,.project-single-hero{padding-top:48px}}


/* =========================================================
   Rechtliches & Projektunterlagen – FINAL 2.6
   ========================================================= */
.legal-page{padding:clamp(56px,7vw,92px) 0}.legal-content{max-width:840px}.legal-content h1{font-size:clamp(2.35rem,5vw,4.4rem);margin-bottom:1.5rem}.legal-content h2{font-size:1.35rem;margin:2.2rem 0 .75rem}.legal-content h3{font-size:1.05rem;margin:1.6rem 0 .55rem}.legal-content p,.legal-content li{color:var(--stone)}.legal-content p{margin:.75rem 0}.legal-content ul{padding-left:1.2rem;margin:.75rem 0}.legal-content a{text-decoration:underline;text-underline-offset:2px}.legal-content strong{color:var(--ink)}
.upload-status{font-size:.8rem;margin-top:.55rem}.upload-status.is-error{color:#8b2d2d}.upload-status.is-ok{color:var(--pine)}
.project-form input[type=file]{min-height:auto;padding:.7rem;background:var(--paper)}
.request-files{margin:8px 0 0;padding-left:18px}.request-files li{margin:6px 0}.request-file-size{color:#646970;font-size:12px}
