/* planwerk.sobottka – Gestaltung
   Farben: --w Weiß · --b Schwarz · --g Grau · --t Textgrau · --rule Linien */
:root{--w:#f9f9f7;--b:#1a1a18;--g:#888882;--t:#5c5c57;--rule:#ddddd7;--pad:4rem;--head:4.6rem;}
html{scroll-behavior:smooth;}
body{background:var(--w);color:var(--b);font-family:Barlow,sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;}
body a{color:inherit;text-decoration:none;}
.wp-site-blocks{padding:0 !important;}
.wp-site-blocks > *{margin-block-start:0 !important;}
.pw-main p,.pw-main h1,.pw-main h2,.pw-main h3,.pw-main h4,.pw-main ul,.pw-main figure{margin:0;}
.pw-main img{max-width:100%;height:auto;display:block;}
.pw-main .wp-block-columns{margin:0;flex-wrap:nowrap;}
.pw-main .wp-block-image{margin:0;}

/* ── KOPFBEREICH ─────────────────────────────────────────────────── */
.pw-header{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.4rem var(--pad);background:var(--w);border-bottom:0.5px solid var(--rule);}
.admin-bar .pw-header{top:32px;}
.pw-logo{margin:0;font-weight:400;font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;}
.pw-nav{margin:0;}
.pw-nav .wp-block-navigation__container{gap:2.8rem;}
.pw-nav .wp-block-navigation-item__content{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--g);transition:color .2s;padding:0;}
.pw-nav .wp-block-navigation-item__content:hover,.pw-nav .is-active .wp-block-navigation-item__content{color:var(--b);}

/* ── RUBRIKEN ALLGEMEIN ──────────────────────────────────────────── */
.pw-sec{padding:5.5rem var(--pad);border-bottom:0.5px solid var(--rule);scroll-margin-top:var(--head);}
.pw-label{font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--g);margin-bottom:4rem !important;}
.pw-statement{font-weight:300;font-size:1.3rem;line-height:1.55;text-transform:uppercase;letter-spacing:0.03em;color:var(--b);max-width:54ch;margin-bottom:3rem !important;}
.pw-main .wp-block-button__link{font-family:inherit;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--g);background:none;border:0.5px solid var(--rule);border-radius:0;padding:0.75rem 1.4rem;transition:border-color .2s,color .2s,background .2s;}
.pw-main .wp-block-button__link:hover{border-color:var(--b);color:var(--b);}
.pw-totop{justify-content:flex-end;margin-top:3.5rem !important;}

/* ── START ───────────────────────────────────────────────────────── */
.pw-hero{min-height:100vh;display:flex;padding-top:var(--head);border-bottom:0.5px solid var(--rule);scroll-margin-top:var(--head);}
.pw-hero-cols{width:100%;gap:0 !important;align-items:stretch !important;}
.pw-hero-cols > .wp-block-column{display:flex;flex-direction:column;justify-content:flex-end;}
.pw-hero-cols > .wp-block-column:first-child{padding:0 var(--pad) 5.5rem;}
.pw-hero-cols > .wp-block-column:last-child{border-left:0.5px solid var(--rule);padding-bottom:5.5rem;align-items:center;}
.pw-hero-img{width:100%;}
.pw-hero-img img{width:100%;max-height:70vh;object-fit:contain;object-position:center bottom;}
.pw-eyebrow{font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--g);margin-bottom:2.5rem !important;}
.pw-h1{font-weight:300;font-size:clamp(2.4rem,4.5vw,4.4rem);line-height:1.1;letter-spacing:0.01em;text-transform:uppercase;max-width:16ch;}
.pw-h1 em,.pw-kontakt-h em{font-style:italic;text-transform:none;color:var(--g);}
.pw-hero-sub{font-size:0.85rem;color:var(--g);line-height:1.85;max-width:44ch;margin-top:3rem !important;padding-left:1.2rem;border-left:0.5px solid var(--rule);}

/* ── PROFIL ──────────────────────────────────────────────────────── */
.pw-cols{gap:6rem !important;align-items:flex-start !important;}
.pw-lead{font-weight:300;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.45;text-transform:uppercase;letter-spacing:0.03em;margin-bottom:2.5rem !important;border-top:0.5px solid var(--b);padding-top:2rem;}
.pw-body p{font-size:0.86rem;color:var(--g);line-height:2;margin-bottom:1.2rem !important;}
.pw-body p:last-child{margin-bottom:0 !important;}
.pw-profil-cols > .wp-block-column:last-child{padding-top:2.5rem;}
.pw-portrait{display:flex;justify-content:center;margin-bottom:2rem !important;}
.pw-portrait img{width:180px;aspect-ratio:2/3;object-fit:cover;object-position:top;}
.pw-step{display:flex;align-items:baseline;gap:1.5rem;padding:1.1rem 0;border-bottom:0.5px solid var(--rule);}
.pw-step:first-child{border-top:0.5px solid var(--rule);}
.pw-step-word{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;min-width:7rem;}
.pw-step-desc{font-size:0.78rem;color:var(--g);line-height:1.7;}

/* ── ARCHITEKTUR ─────────────────────────────────────────────────── */
.pw-arch .pw-label,.pw-arch .pw-statement,.pw-arch .pw-grid,.pw-arch .pw-totop{margin-left:var(--pad) !important;margin-right:var(--pad) !important;}
.pw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;}
.pw-card{position:relative;overflow:hidden;}
.pw-card .wp-block-image img{width:100%;aspect-ratio:2/3;object-fit:cover;}
.pw-card::after{content:"";position:absolute;inset:0;background:rgba(26,26,24,0);transition:background .35s;pointer-events:none;}
.pw-card-title,.pw-card-loc{position:absolute;left:1rem;right:1rem;z-index:2;text-transform:uppercase;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s;}
.pw-card-title{bottom:2.2rem;font-size:0.6rem;letter-spacing:0.1em;color:#f9f9f7;font-weight:400;line-height:1.4;}
.pw-card-loc{bottom:1rem;font-size:0.52rem;letter-spacing:0.08em;color:rgba(249,249,247,0.6);}
.pw-card:hover::after{background:rgba(26,26,24,0.62);}
.pw-card:hover .pw-card-title,.pw-card:hover .pw-card-loc{opacity:1;transform:none;}

/* ── BÜRO ────────────────────────────────────────────────────────── */
.pw-buero-cols .pw-statement{font-size:1.25rem;}
.pw-types{margin-bottom:2rem !important;}
.pw-type{padding:0.9rem 0;border-bottom:0.5px solid var(--rule);}
.pw-type:first-child{border-top:0.5px solid var(--rule);}
.pw-type-label{font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--g);margin-bottom:0.25rem !important;}
.pw-type p:not(.pw-type-label){font-size:0.84rem;line-height:1.75;}
.pw-sustain{font-size:0.84rem;color:var(--g);line-height:1.85;padding:1.5rem 0;border-bottom:0.5px solid var(--rule);margin-bottom:3rem !important;}
.pw-lph{border-top:0.5px solid var(--rule);padding-top:1.5rem;}
.pw-lph-label{font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--g);margin-bottom:1.2rem !important;}
.pw-lph-list{list-style:none;padding:0 !important;}
.pw-lph-list li{font-size:0.78rem;color:var(--g);padding:0.55rem 0;border-bottom:0.5px solid var(--rule);line-height:1.4;}

/* ── LEBENSLAUF (Flyout) ─────────────────────────────────────────── */
.pw-modal{display:none;position:fixed;inset:0;z-index:600;background:rgba(26,26,24,0.75);overflow-y:auto;padding:3rem 1rem;}
.pw-modal:target{display:flex;align-items:flex-start;justify-content:center;}
html.pw-modal-open,html.pw-modal-open body{overflow:hidden;}
.pw-modal-box{background:var(--w);max-width:680px;width:100%;margin:auto;position:relative;padding:3.5rem 4rem;}
.pw-modal-close{position:absolute;top:1rem;right:1.2rem;font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--g);}
.pw-modal-close a:hover{color:var(--b);}
.pw-cv-portrait{display:flex;justify-content:center;margin-bottom:1.6rem !important;}
.pw-cv-portrait img{width:200px;aspect-ratio:3/4;object-fit:cover;object-position:top;}
.pw-cv-name{text-align:center;font-size:1.25rem;font-weight:300;text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.4rem !important;}
.pw-cv-sub{text-align:center;font-size:0.85rem;color:var(--g);padding-bottom:2rem;border-bottom:0.5px solid var(--rule);margin-bottom:0.5rem !important;}
.pw-cv-section{padding:1.6rem 0 0.4rem;}
.pw-cv-section + .pw-cv-section{border-top:0.5px solid var(--rule);}
.pw-cv-label{font-size:0.72rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--g);margin-bottom:0.4rem !important;}
.pw-cv-row{display:grid;grid-template-columns:7rem 1fr;gap:1.5rem;padding:1rem 0;border-bottom:0.5px solid var(--rule);align-items:baseline;}
.pw-cv-section .pw-cv-row:last-child{border-bottom:none;}
.pw-cv-year{font-size:0.82rem;color:var(--g);line-height:1.7;font-variant-numeric:tabular-nums;}
.pw-cv-role{font-size:0.85rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;line-height:1.5;margin-bottom:0.15rem !important;}
.pw-cv-place,.pw-cv-text,.pw-cv-list li{font-size:0.82rem;color:var(--t);line-height:1.7;}
.pw-cv-place{color:var(--g);margin-bottom:0.35rem !important;}
.pw-cv-text + .pw-cv-text{margin-top:0.2rem !important;}
.pw-cv-listlabel{font-size:0.82rem;margin-top:0.6rem !important;line-height:1.7;}
.pw-cv-list{list-style:none;padding:0 !important;margin-top:0.15rem !important;}
.pw-cv-list li{padding-left:1rem;position:relative;}
.pw-cv-list li::before{content:"–";position:absolute;left:0;color:var(--g);}
.pw-cv-keys{font-size:0.82rem;font-weight:400;line-height:1.7;margin-top:0.5rem !important;}

/* ── KONTAKT ─────────────────────────────────────────────────────── */
.pw-kontakt{padding-left:0;padding-right:0;border-bottom:none;}
.pw-kontakt > .pw-label{margin-left:var(--pad) !important;margin-bottom:0 !important;}
.pw-kontakt-upper{padding:3rem var(--pad) 5rem;display:flex;flex-direction:column;align-items:center;}
.pw-kontakt-h{align-self:flex-start;font-weight:300;font-size:clamp(1.8rem,3vw,2.8rem);text-transform:uppercase;letter-spacing:0.04em;line-height:1.15;margin-bottom:3rem !important;}
.pw-kontakt-portrait{margin-bottom:2rem !important;}
.pw-kontakt-portrait img{width:160px;aspect-ratio:2/3;object-fit:cover;object-position:top;}
.pw-cta .wp-block-button__link{color:var(--b);border-color:var(--b);padding:1rem 2rem;}
.pw-cta .wp-block-button__link:hover{background:var(--b);color:var(--w);}
.pw-address{border-top:0.5px solid var(--rule);padding:2.5rem var(--pad) 3rem;display:flex;flex-direction:column;align-items:center;gap:0.35rem;}
.pw-address p{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--g);line-height:1.6;}
.pw-address a:hover{color:var(--b);}
.pw-kontakt .pw-totop{margin:0 var(--pad) 3rem !important;}

/* ── FUSSBEREICH ─────────────────────────────────────────────────── */
.pw-footer{display:flex;justify-content:space-between;align-items:center;padding:1.4rem var(--pad);border-top:0.5px solid var(--rule);}
.pw-footer p{margin:0;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--g);}
.pw-footer-links a{margin-left:2rem;}
.pw-footer-links a:hover{color:var(--b);}

/* ── PROJEKTSEITE ────────────────────────────────────────────────── */
.pw-project{padding-bottom:5rem;}
.pw-backbar{padding:calc(var(--head) + 1rem) var(--pad) 1rem;border-bottom:0.5px solid var(--rule);}
.pw-backbar p{margin:0;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--g);}
.pw-backbar a:hover{color:var(--b);}
.pw-project-hero img{width:100%;max-height:80vh;object-fit:cover;}
.pw-meta{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3.5rem var(--pad) 0;}
.pw-tag{font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--g);margin-bottom:0.6rem !important;}
.pw-title{font-size:1.8rem;font-weight:300;text-transform:uppercase;letter-spacing:0.04em;line-height:1.15;margin-bottom:0.4rem !important;}
.pw-sub{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--g);margin-bottom:2rem !important;max-width:70ch;}
.pw-facts{margin:0 0 2.5rem !important;}
.pw-facts table{border-collapse:collapse;table-layout:auto !important;width:auto;margin:0 auto;}
.pw-facts td{border:none;padding:0.18rem 0.5rem;vertical-align:baseline;}
.pw-facts td:first-child{text-align:right;font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--g);}
.pw-facts td:first-child::after{content:"  ·";color:var(--rule);}
.pw-facts td:last-child{text-align:left;font-size:0.82rem;}
.pw-desc{max-width:54ch;width:100%;text-align:left;}
.pw-sec-h{font-size:0.62rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--g);margin:2rem 0 0.5rem !important;}
.pw-desc > .pw-sec-h:first-child{margin-top:0 !important;}
.pw-desc p{font-size:0.83rem;line-height:1.95;margin-bottom:0.8rem !important;}
.pw-gallery.wp-block-gallery{display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;align-items:center !important;gap:1.5rem !important;padding-top:3.5rem;margin:0 !important;}
.pw-gallery.wp-block-gallery figure.wp-block-image{width:55% !important;margin:0 auto !important;flex:none !important;}
.pw-gallery.wp-block-gallery figure.wp-block-image img{width:100% !important;height:auto !important;aspect-ratio:5/7;object-fit:cover;}
.pw-end{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:5rem;padding:2.5rem var(--pad) 5rem;border-top:2px solid var(--b);text-align:center;}
.pw-end p{margin:0;}
.pw-end-name{font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;}
.pw-end-addr{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--g);line-height:2.2;}
.pw-end-addr a:hover{color:var(--b);}
.pw-back .wp-block-button__link{font-family:inherit;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--b);background:none;border:0.5px solid var(--b);border-radius:0;padding:0.9rem 2.5rem;}
.pw-back .wp-block-button__link:hover{background:var(--b);color:var(--w);}

/* ── EINFACHE SEITEN (Impressum, Datenschutz) ────────────────────── */
.pw-page{max-width:760px;margin:0 auto !important;padding:calc(var(--head) + 4rem) 1.25rem 5rem;}
.pw-page-title{font-size:1.4rem;font-weight:300;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:3rem !important;padding-bottom:1.5rem;border-bottom:0.5px solid var(--rule);}
.pw-legal-h{font-size:0.62rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;margin:2.2rem 0 0.8rem !important;padding-bottom:0.4rem;border-bottom:0.5px solid var(--rule);}
.pw-page-content p,.pw-page-content li{font-size:0.86rem;color:var(--t);line-height:1.9;margin-bottom:0.5rem;}
.pw-page-content a{border-bottom:0.5px solid var(--rule);}

/* ── TOUCH: Projekttitel ohne Hover sichtbar ─────────────────────── */
@media (hover:none){
  .pw-card::after{background:linear-gradient(to top,rgba(26,26,24,0.6),rgba(26,26,24,0) 45%);}
  .pw-card-title,.pw-card-loc{opacity:1;transform:none;}
}

/* ── TABLET ──────────────────────────────────────────────────────── */
@media (max-width:1100px){
  :root{--pad:2rem;}
  .pw-arch .pw-label,.pw-arch .pw-statement,.pw-arch .pw-grid,.pw-arch .pw-totop{margin-left:0 !important;margin-right:0 !important;}
  .pw-grid{gap:2rem;}
  .pw-cols{gap:3.5rem !important;}
}

/* ── HANDY ───────────────────────────────────────────────────────── */
@media (max-width:782px){
  :root{--pad:1.25rem;--head:5.6rem;}
  .admin-bar .pw-header{top:46px;}
  .pw-header{flex-direction:column;align-items:stretch;gap:0.7rem;padding:0.9rem var(--pad) 0.8rem;}
  .pw-logo{font-size:0.8rem;}
  .pw-nav .wp-block-navigation__container{gap:0;width:100%;justify-content:space-between;}
  .pw-nav .wp-block-navigation-item__content{font-size:0.66rem;letter-spacing:0.12em;padding:0.3rem 0;}
  .pw-main .wp-block-columns{flex-wrap:wrap !important;}
  .pw-main .wp-block-column{flex-basis:100% !important;}

  .pw-hero{min-height:auto;padding-top:calc(var(--head) + 1rem);}
  .pw-hero-cols > .wp-block-column:first-child{padding:2rem var(--pad) 2.5rem;}
  .pw-hero-cols > .wp-block-column:last-child{border-left:none;border-top:0.5px solid var(--rule);padding:0;}
  .pw-hero-img img{max-height:none;}
  .pw-eyebrow{margin-bottom:1.5rem !important;font-size:0.68rem;}
  .pw-h1{font-size:2.3rem;max-width:none;}
  .pw-hero-sub{margin-top:2rem !important;font-size:0.9rem;}

  .pw-sec{padding:3.5rem var(--pad);}
  .pw-label{margin-bottom:2rem !important;}
  .pw-statement,.pw-buero-cols .pw-statement{font-size:1.1rem;margin-bottom:2rem !important;}
  .pw-totop{justify-content:center;margin-top:2.5rem !important;}
  .pw-totop .wp-block-button__link{padding:0.85rem 1.6rem;}

  .pw-cols{gap:2.5rem !important;}
  .pw-lead{font-size:1.2rem;}
  .pw-body p{font-size:0.92rem;line-height:1.85;color:var(--t);}
  .pw-profil-cols > .wp-block-column:last-child{padding-top:0;}
  .pw-step{flex-direction:column;gap:0.2rem;padding:0.9rem 0;}
  .pw-step-desc{font-size:0.85rem;}

  .pw-grid{grid-template-columns:1fr 1fr;gap:1.25rem 0.75rem;}
  .pw-card::after{display:none;}
  .pw-card-title,.pw-card-loc{position:static;opacity:1;transform:none;pointer-events:auto;}
  .pw-card-title{color:var(--b);font-size:0.68rem;line-height:1.35;margin-top:0.55rem !important;}
  .pw-card-loc{color:var(--g);font-size:0.62rem;}

  .pw-type p:not(.pw-type-label),.pw-sustain{font-size:0.9rem;}
  .pw-sustain{margin-bottom:2rem !important;}
  .pw-cvbtn .wp-block-button{width:100%;}
  .pw-cvbtn .wp-block-button__link{width:100%;padding:0.95rem 1.4rem;}
  .pw-lph-list li{font-size:0.85rem;}

  .pw-modal{padding:0;}
  .pw-modal:target{align-items:stretch;}
  .pw-modal-box{min-height:100%;padding:3.5rem var(--pad) 2.5rem;}
  .pw-cv-row{grid-template-columns:1fr;gap:0.1rem;}
  .pw-cv-year{font-size:0.78rem;}

  .pw-kontakt-upper{padding:2rem var(--pad) 3rem;}
  .pw-kontakt-h{font-size:1.7rem;margin-bottom:2rem !important;}
  .pw-cta .wp-block-button__link{white-space:normal;text-align:center;line-height:1.6;padding:1rem 1.25rem;}
  .pw-address{padding:2rem var(--pad);}
  .pw-address p{font-size:0.7rem;letter-spacing:0.1em;}
  .pw-kontakt .pw-totop{margin:0 var(--pad) 2.5rem !important;}
  .pw-footer{flex-direction:column;gap:0.9rem;padding:1.4rem var(--pad) 1.8rem;text-align:center;}
  .pw-footer-links a{margin:0 1rem;}

  .pw-project-hero img{max-height:62vh;}
  .pw-meta{padding-top:2.5rem;}
  .pw-title{font-size:1.35rem;}
  .pw-sub{font-size:0.68rem;letter-spacing:0.1em;line-height:1.6;}
  .pw-facts{width:100%;}
  .pw-facts table{width:100%;}
  .pw-facts tr{display:flex;flex-direction:column;align-items:center;padding:0.6rem 0;border-bottom:0.5px solid var(--rule);}
  .pw-facts tr:first-child{border-top:0.5px solid var(--rule);}
  .pw-facts td{padding:0;text-align:center !important;}
  .pw-facts td:first-child::after{content:none;}
  .pw-desc p{font-size:0.92rem;line-height:1.85;}
  .pw-gallery.wp-block-gallery{gap:0.75rem !important;padding:2rem var(--pad) 0;}
  .pw-gallery.wp-block-gallery figure.wp-block-image{width:100% !important;}
  .pw-project{padding-bottom:3rem;}
  .pw-end{padding-bottom:3rem;}
  .pw-end-addr{font-size:0.68rem;letter-spacing:0.06em;}
  .pw-page{padding-top:calc(var(--head) + 2.5rem);}
}
