/*
Theme Name: Hainz Architektur
Author: OpenAI / Projektentwurf
Description: Responsives Architekturbüro-Theme mit pflegbaren Projekten.
Version: 0.7.0
Text Domain: hainz
*/
:root{--ink:#252a29;--muted:#626b68;--sand:#b39d80;--paper:#f7f6f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(1160px,90%);margin:auto}.site-header{background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid #eee}.head-inner{min-height:83px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{text-decoration:none;line-height:1.05;letter-spacing:.12em;font-size:1.45rem;font-weight:700}.brand small{display:block;font-size:.62rem;letter-spacing:.21em;font-weight:400;margin-top:8px}.nav ul{display:flex;list-style:none;gap:28px;margin:0;padding:0}.nav a{text-decoration:none;font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}.nav a:hover{color:#91785a}.menu-toggle{display:none;background:none;border:1px solid #ddd;padding:10px 15px;font:inherit}.hero{min-height:64vh;display:flex;align-items:end;background:linear-gradient(0deg,rgba(0,0,0,.64),rgba(0,0,0,.08)),url('assets/images/burg18_4.jpg') center/cover;color:#fff}.hero-content{padding:85px 0 65px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;font-weight:700}.hero h1{font-size:clamp(2.2rem,5.8vw,5.2rem);line-height:1.1;font-weight:400;max-width:850px;margin:15px 0}.section{padding:85px 0}.section.alt{background:var(--paper)}h2{font-weight:400;font-size:clamp(1.8rem,3vw,2.9rem);line-height:1.2;margin:0 0 24px}.lead{font-size:1.2rem;max-width:780px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.project-card{text-decoration:none;display:block}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eae8e4}.project-card h3{font-size:1.2rem;font-weight:500;margin:12px 0 0}.project-card p{margin:3px 0;color:var(--muted);font-size:.88rem}.button{display:inline-block;text-decoration:none;background:var(--ink);color:white;padding:13px 24px;margin-top:20px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:65px}.site-footer{background:#252a29;color:white;padding:45px 0}.site-footer a{color:white}.page-title{padding:70px 0 35px;background:var(--paper)}.entry{padding:55px 0 85px;max-width:900px}.entry img{height:auto}.prose{max-width:800px}.contact-line{font-size:1.12rem}.notice{background:#fff4db;padding:15px 20px;border-left:4px solid #b39d80}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:760px){.head-inner{min-height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;border-bottom:1px solid #ddd;padding:15px 5%}.nav.open{display:block}.nav ul{display:block}.nav li{padding:10px 0}.hero{min-height:56vh}.section{padding:55px 0}.grid,.columns{grid-template-columns:1fr}.hero-content{padding:65px 0 45px}}

/* Version 0.2 – approved editorial architecture concept */
:root{--ink:#292827;--muted:#8a8986;--sand:#817157;--paper:#f6f5f2}
body{font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.55}.wrap{width:min(1320px,86%)}
.site-header{position:relative;background:#f9f9f8;border:0}.head-inner{min-height:114px;justify-content:flex-start;gap:24px}.brand{font-weight:300;font-size:clamp(1.6rem,2.5vw,2.65rem);letter-spacing:.09em;white-space:nowrap}.brand small{font-size:.34em;letter-spacing:.56em;margin-top:2px}.brand-sub{border-left:1px solid #a9a49b;padding-left:24px;letter-spacing:.16em;font-size:.75rem;line-height:1.75}.nav{margin-left:auto}.nav ul{gap:34px}.nav a{font-size:.76rem;letter-spacing:.1em}.nav a:hover{color:var(--sand)}
.hero{min-height:510px;align-items:center;color:var(--ink);background-image:linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.93) 26%,rgba(250,249,247,.58) 48%,rgba(250,249,247,.05) 78%),var(--hero-image,url('assets/images/meissen-banner-entwurf.jpg'));background-position:center,center;background-size:cover,cover}.hero-content{padding:62px 0 66px}.eyebrow{font-size:.71rem;font-weight:400;letter-spacing:.34em;color:#62533f}.hero h1{font-size:clamp(2.3rem,4.4vw,4.25rem);font-weight:300;line-height:1.12;max-width:640px;margin:23px 0 18px;letter-spacing:-.035em}.hero p{font-size:1.07rem;max-width:500px;line-height:1.6;margin:0}.button{background:#807058;padding:15px 28px;margin-top:25px;font-size:.75rem;letter-spacing:.18em}.button span{margin-left:15px}.service-strip{background:white;padding:34px 0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.service{display:flex;align-items:flex-start;gap:22px;padding-right:26px}.service:not(:last-child){border-right:1px solid #d4d0c9}.service-icon{font-size:2.9rem;color:#88755b;line-height:1}.service h2{font-size:.78rem;font-weight:500;letter-spacing:.12em;margin:0 0 4px}.service p{font-size:.94rem;line-height:1.5;color:#888;margin:0}.project-section{background:var(--paper)}.section{padding:68px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.section-top h2{font-size:clamp(1.3rem,2vw,1.85rem);letter-spacing:.12em;margin:7px 0 0}.all-projects{font-size:.72rem;letter-spacing:.15em;text-decoration:none;color:#6c5b42;white-space:nowrap}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.project-card img{aspect-ratio:1.42;object-fit:cover}.project-card h3{font-size:1rem;margin-top:10px}.project-card p{color:#92908c}.about-section .lead{max-width:850px}.contact-section{background:#f6f5f2}
@media(max-width:1020px){.brand-sub{display:none}.nav ul{gap:15px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{gap:16px}.service{gap:12px}}
@media(max-width:760px){.wrap{width:90%}.head-inner{min-height:78px}.brand{font-size:1.7rem}.menu-toggle{margin-left:auto;display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 5%;z-index:10}.nav.open{display:block}.nav ul{display:block}.nav li{padding:10px 0}.hero{min-height:550px;background-image:linear-gradient(90deg,rgba(250,249,247,.96),rgba(250,249,247,.68)),var(--hero-image,url('assets/images/meissen-banner-entwurf.jpg'));background-position:center,right center}.hero h1{font-size:clamp(2.15rem,9vw,3.5rem)}.hero-content{padding:60px 0}.service-grid{grid-template-columns:1fr;gap:23px}.service:not(:last-child){border-right:0;border-bottom:1px solid #ddd;padding-bottom:20px}.section-top{align-items:start;flex-direction:column}.grid{grid-template-columns:1fr 1fr;gap:14px}.project-card h3{font-size:.9rem}}
@media(max-width:440px){.grid{grid-template-columns:1fr}.hero h1{font-size:2.3rem}}

/* Version 0.3 – reduced banner, Meißen castle panorama and sharp ornament */
.hero{min-height:440px;background-image:linear-gradient(90deg,rgba(250,249,247,.99) 0%,rgba(250,249,247,.94) 26%,rgba(250,249,247,.65) 43%,rgba(250,249,247,.04) 76%),var(--hero-image,url('assets/images/meissen-banner-v03.jpg'));background-position:center,center;background-size:cover,cover}
.hero-content{padding:46px 0 50px}.hero h1{font-size:clamp(2.25rem,4vw,3.9rem)}
@media(max-width:760px){.hero{min-height:490px;background-image:linear-gradient(90deg,rgba(250,249,247,.96),rgba(250,249,247,.72)),var(--hero-image,url('assets/images/meissen-banner-v03.jpg'));background-position:center,65% center}.hero-content{padding:44px 0}}

/* Version 0.4: legal pages */
.legal-content{max-width:850px;overflow-wrap:anywhere}.legal-content h2{font-size:1.35rem;font-weight:600;margin:2.2rem 0 .6rem}.legal-content p{margin:.85rem 0;line-height:1.75}.legal-content a{text-decoration:underline;text-underline-offset:3px}

/* Version 0.5: legible legal pages at all viewport widths */
body.page .hainz-page{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;max-width:950px;width:min(90%,950px);margin:0 auto;padding:35px 0 80px;min-height:150px}
body.page .hainz-page .legal-content{display:block!important;visibility:visible!important;opacity:1!important;width:100%;max-width:100%;min-width:0;overflow-wrap:break-word;word-wrap:break-word;hyphens:auto;font-size:1rem;line-height:1.75;color:#252a29}
body.page .legal-content h2{font-size:clamp(1.3rem,3.5vw,1.8rem);margin:2rem 0 .85rem;line-height:1.35}
body.page .legal-content h3{font-size:clamp(1.05rem,3vw,1.2rem);font-weight:650;margin:1.6rem 0 .55rem;line-height:1.4}
body.page .legal-content p{margin:.65rem 0 1rem;max-width:100%}
body.page .legal-content a{overflow-wrap:anywhere}
body.page .page-title{padding:38px 0 24px}
body.page .page-title h1{font-size:clamp(1.8rem,5vw,2.7rem);margin:0;overflow-wrap:anywhere}
body.page .legal-content .legal-source{font-size:.85rem;color:#626b68;margin-top:2rem}
@media(max-width:760px){body.page .hainz-page{width:90%;padding:22px 0 60px}body.page .legal-content{font-size:16px;line-height:1.65}body.page .legal-content h2{margin:1.6rem 0 .65rem}body.page .legal-content h3{margin:1.3rem 0 .5rem}}

/* V0.6: always-visible legal pages on mobile and desktop */
.legal-page-section{display:block!important;position:relative!important;clear:both;min-height:300px;background:#fff;color:#252a29;padding:36px 0 80px}
.legal-page-inner{display:block!important;max-width:900px;width:90%;margin:0 auto}
.legal-page-inner .legal-content{display:block!important;opacity:1!important;visibility:visible!important;position:static!important;color:#252a29!important;font-size:16px!important;line-height:1.75!important;max-width:100%;overflow-wrap:anywhere}
.legal-page-inner .legal-content *{max-width:100%}
@media(max-width:760px){.legal-page-section{padding:24px 0 60px!important}.legal-page-inner{width:90%!important}.legal-page-inner .legal-content{display:block!important;font-size:16px!important}.legal-page-inner h2{font-size:1.35rem!important}.legal-page-inner h3{font-size:1.12rem!important}}

/* V0.7 legal page and mobile rendering */
body.page #content,body.page .legal-page-section,body.page .legal-page-inner{display:block;visibility:visible;opacity:1;overflow:visible}body.page .legal-content{width:100%;white-space:normal}body.page .legal-content p,body.page .legal-content h2,body.page .legal-content h3{color:#292827}body.page .legal-content{word-break:normal}body.page .legal-content a{overflow-wrap:anywhere}
