/*
Theme Name: Rodenberg Innenausbau
Description: Individuelles Theme mit Video, animierten Bildern und sechs bearbeitbaren Projekten.
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rodenberg-innenausbau
License: GPL-2.0-or-later
*/
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/manrope-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/manrope-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/manrope-700.ttf) format('truetype');
}

:root{--ink:#191d1b;--paper:#f5f5f1;--accent:#c4d0b5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}header{height:90px;position:absolute;top:0;width:100%;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 5%;color:white;border-bottom:1px solid #ffffff35}.brand{font-size:25px;font-weight:700;letter-spacing:.05em;line-height:1}.brand span{display:block;font-size:11px;letter-spacing:.36em;margin-top:9px}nav{display:flex;gap:38px;font-size:14px}nav a:last-child{border-bottom:1px solid #fff;padding-bottom:5px}#menu{display:none}.hero{height:100svh;min-height:650px;position:relative;color:white;background:#555}.hero img,.panorama img,.film video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero img{object-position:center 55%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0009 0%,#0002 75%),linear-gradient(0deg,#0006,transparent 35%)}.hero-copy{position:absolute;left:8%;top:34%;max-width:850px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.17em;line-height:1.7;margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(60px,7.8vw,126px);letter-spacing:-.055em;line-height:1.03;font-weight:500;margin-bottom:25px}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;margin-bottom:30px}.light-link,.dark-link{display:inline-block;font-size:14px;padding:12px 0;border-bottom:1px solid currentColor}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.13em}.intro{padding:120px 8%;display:grid;grid-template-columns:1fr 2fr;gap:30px}.intro>div{display:grid;grid-template-columns:1.4fr 1fr;gap:70px}h2{font-size:clamp(38px,4.6vw,74px);font-weight:500;letter-spacing:-.05em;line-height:1.13;margin-bottom:25px}.intro p:not(.eyebrow),article p,.interior p:not(.eyebrow),.contact p:not(.eyebrow){font-size:16px;line-height:1.85;color:#616760}.panorama{height:82vh;min-height:530px;position:relative;color:white;background:#3a3d3a}.panorama:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent 80%)}.picture-copy{position:absolute;left:8%;bottom:16%;z-index:1}.picture-copy h2{font-size:clamp(55px,6.5vw,100px)}.image-caption{position:absolute;right:5%;bottom:24px;font-size:11px;letter-spacing:.16em;color:white;z-index:2}.services{padding:105px 8%}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px}.section-heading h2{font-size:40px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.service-grid article{border-top:1px solid #bfc4bc;padding-top:25px}.service-grid span{font-size:12px;color:#66715f}.service-grid h3{font-size:23px;font-weight:500;margin:32px 0 17px}.film{height:85vh;min-height:550px;position:relative;background:#4f554e;color:white}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0001)}.film-copy{position:absolute;left:8%;bottom:18%}.film-copy h2{font-size:clamp(45px,5.5vw,90px);max-width:850px}.film-button{border:1px solid #fff9;border-radius:40px;background:transparent;color:white;padding:15px 26px;display:flex;gap:30px;align-items:center;font-size:14px}.film-button span{font-size:23px}.interior{padding:120px 8%;background:#e6e9e1}.interior h2{font-size:clamp(60px,8vw,128px)}.interior-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:45px}.interior-bottom p{max-width:470px;margin-bottom:0}.wordline{border-top:1px solid #b5bcb0;margin-top:65px;padding-top:24px;font-size:clamp(14px,2.4vw,36px);letter-spacing:-.035em}.wordline span{color:#919b8a;padding:0 18px}.process{padding:110px 8%;display:grid;grid-template-columns:1fr 2fr;gap:60px}.process article{border-bottom:1px solid #ccd0c7;padding:0 0 20px;margin-bottom:35px}.process h3{font-size:24px;font-weight:500}.process h3 span{font-size:12px;display:inline-block;vertical-align:middle;width:50px;color:#66715f}.process article p{padding-left:50px;max-width:650px}.contact{background:#222923;color:#f4f6f0;padding:100px 8%}.contact h2{font-size:clamp(65px,9vw,145px)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact p:not(.eyebrow){color:#bbc2b8}.contact-button{background:#d7e1cb;color:#242a22;border:0;padding:19px 28px;font-size:14px}.contact-button:hover{background:white}footer{padding:50px 5%;display:flex;gap:60px;align-items:start;justify-content:space-between;font-size:12px;line-height:1.8}footer small{color:#747a70;font-size:12px}footer details{max-width:330px}footer summary{cursor:pointer}footer details a{text-decoration:underline}dialog{border:0;background:var(--paper);color:var(--ink);width:min(590px,92%);padding:42px;max-height:90svh}dialog::backdrop{background:#0009}dialog h2{font-size:36px}.close{position:absolute;top:12px;right:18px;border:0;background:transparent;font-size:30px}form{display:grid;gap:18px}label{font-size:14px;display:grid;gap:8px}input,textarea,select{width:100%;padding:12px;border:1px solid #b5bcb0;background:white;font-size:16px}.contact .form-note{font-size:12px;color:#666;margin:0}a:focus-visible,button:focus-visible{outline:3px solid #b2cd94;outline-offset:7px}@media(max-width:800px){header{height:78px;padding:0 6%}.brand{font-size:21px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#222923;padding:28px 6%;flex-direction:column;gap:24px}nav.open{display:flex}#menu{display:block;border:0;background:transparent;color:white;font-size:14px}.hero{min-height:650px}.hero-copy{left:7%;right:7%;top:33%}h1{font-size:clamp(58px,13vw,94px)}.hero-bottom{font-size:10px}.intro{padding:70px 7%;display:block}.intro>div{display:block}.intro>div>p{margin-top:30px;max-width:500px}.panorama{height:72svh;min-height:490px}.picture-copy,.film-copy{left:7%;right:7%}.services{padding:70px 7%}.section-heading{display:block}.section-heading h2{font-size:36px}.service-grid{grid-template-columns:1fr;gap:28px;margin-top:36px}.service-grid h3{margin:18px 0 12px}.film{height:70svh;min-height:500px}.film-copy h2{font-size:46px}.interior{padding:75px 7%}.interior h2{font-size:64px}.interior-bottom{display:block}.interior-bottom a{margin-top:25px}.wordline{font-size:15px;line-height:2}.wordline span{padding:0 6px}.process{padding:70px 7%;display:block}.contact{padding:75px 7%}.contact-bottom{display:block}.contact-button{margin-top:12px}footer{padding:40px 7%;flex-direction:column;gap:30px}dialog{padding:35px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
header .brand{width:220px;display:block}header .brand img{display:block;width:100%;height:auto;max-height:78px;object-fit:contain}footer .brand{width:220px;display:block}footer .brand img{display:block;width:100%;height:auto}.hero video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-bottom button{border:1px solid #ffffff80;background:#0002;color:white;font-size:12px;padding:8px 14px;border-radius:25px;margin-top:-8px}.contact-actions{display:flex;flex-direction:column;align-items:start;gap:18px}.contact-actions .contact-button{display:inline-block}.contact-phone{font-size:23px}.brief-link{padding:0 0 5px;border:0;border-bottom:1px solid #aab4a5;background:none;color:#c9d1c3;font-size:14px}.interior{background:#e7e7e5}.contact{background:#272727}.contact-button{background:#e6e6e6;color:#292929}.contact-button:hover{background:white}@media(max-width:800px){header .brand{width:165px}.hero-bottom{align-items:center;gap:15px}.hero-bottom>span{display:none}.contact-actions{margin-top:28px}.hero-copy{top:31%}}
.projects{padding:110px 6% 80px;background:#f5f5f1}.project-heading{display:flex;justify-content:space-between;align-items:end;margin:0 2% 65px;gap:30px}.project-heading h2{margin:0}.project-note{font-size:14px;line-height:1.8;color:#6c7069;margin:0 0 7px}.project-grid{display:grid;grid-template-columns:1.18fr 1fr;column-gap:6%;row-gap:75px;align-items:start}.project:nth-child(even){margin-top:110px}.project-image{position:relative;overflow:hidden;background:#d9dcd5;aspect-ratio:1.2}.project:nth-child(2) .project-image,.project:nth-child(5) .project-image{aspect-ratio:.9}.project:nth-child(3) .project-image{aspect-ratio:1.35}.project-image img{height:100%;width:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.2,.6,.2,1)}.project:hover img{transform:scale(1.035)}.project-index{position:absolute;top:22px;left:22px;color:white;font-size:14px;text-shadow:0 1px 5px #000}.stock-label{position:absolute;bottom:18px;right:20px;background:#0005;color:white;padding:5px 9px;font-size:10px;letter-spacing:.13em}.project-caption{padding:21px 0;display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-bottom:1px solid #c8ccc3}.project-caption h3{font-size:22px;font-weight:500;letter-spacing:-.035em;margin:0}.project-caption p{font-size:12px;color:#70766c;margin:0;line-height:1.6;text-align:right}.project.reveal-ready{opacity:0;transform:translateY(45px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.project.reveal-ready.is-visible{opacity:1;transform:none}.project.reveal-ready img{transform:scale(1.07);transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}.project.is-visible img{transform:scale(1)}.project.is-visible:hover img{transform:scale(1.035)}@media(max-width:1000px){nav{gap:22px}.project-caption{display:block}.project-caption p{text-align:left;margin-top:8px}}@media(max-width:650px){.projects{padding:70px 7%}.project-heading{display:block;margin:0 0 38px}.project-note{margin-top:24px}.project-grid{grid-template-columns:1fr;gap:36px}.project:nth-child(even){margin-top:0}.project .project-image,.project:nth-child(2) .project-image,.project:nth-child(3) .project-image,.project:nth-child(5) .project-image{aspect-ratio:1.15}.project-caption h3{font-size:23px}.project-caption p{font-size:13px}}@media(prefers-reduced-motion:reduce){.project.reveal-ready{opacity:1;transform:none;transition:none}.project-image img,.project.reveal-ready img{transform:none!important;transition:none}}
/* Compact project overview and neutral brand palette */
:root{--ink:#333333;--paper:#f5f5f5;--accent:#b3b3b3}body{background:var(--paper);color:var(--ink)}.intro p:not(.eyebrow),article p,.interior p:not(.eyebrow){color:#666}.service-grid article,.process article{border-color:#ccc}.service-grid span,.process h3 span{color:#808080}.interior{background:#e6e6e6}.wordline{border-color:#b3b3b3}.wordline span{color:#999}.contact{background:#333}.contact p:not(.eyebrow){color:#ccc}.contact-button{background:#e6e6e6;color:#333}.contact-phone{color:#e6e6e6}.brief-link{color:#ccc;border-color:#999}footer small{color:#808080}input,textarea,select{border-color:#b3b3b3}nav.open{background:#333}a:focus-visible,button:focus-visible{outline-color:#999}.projects{padding:65px 8% 55px;background:#ededed}.project-heading{margin:0 0 32px;align-items:center}.project-heading h2{font-size:clamp(32px,3.3vw,50px);line-height:1.15}.project-heading h2 br{display:none}.project-heading .eyebrow{margin-bottom:12px}.project-note{color:#808080;font-size:12px;margin:0}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px;row-gap:25px}.project:nth-child(even){margin-top:0}.project .project-image,.project:nth-child(2) .project-image,.project:nth-child(3) .project-image,.project:nth-child(5) .project-image{aspect-ratio:1.5}.project-caption{display:block;padding:13px 0 12px;border-color:#ccc}.project-caption h3{font-size:18px;margin:0}.project-caption p{font-size:12px;text-align:left;color:#808080;margin:5px 0 0}.project-index{top:12px;left:13px;font-size:12px}.stock-label{bottom:10px;right:10px;font-size:9px}.project.reveal-ready{transform:translateY(22px)}.project.reveal-ready.is-visible{transform:none}@media(max-width:900px){.projects{padding:50px 7%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.project-heading{gap:22px}.project-caption h3{font-size:18px}}@media(max-width:650px){.project-heading{display:block;margin-bottom:25px}.project-note{margin-top:14px}.project-grid{gap:22px 13px}.project .project-image,.project:nth-child(2) .project-image,.project:nth-child(3) .project-image,.project:nth-child(5) .project-image{aspect-ratio:1.08}.project-caption h3{font-size:16px;line-height:1.4}.project-caption p{font-size:12px;line-height:1.5}.stock-label{font-size:8px;padding:4px 5px;letter-spacing:.08em}.project-index{font-size:11px}}@media(max-width:350px){.project-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.project.reveal-ready{transform:none}}
/* Scroll choreography */
.motion-ready{opacity:0;transform:translateY(28px);transition:opacity .85s ease var(--motion-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms)}.motion-ready.motion-visible{opacity:1;transform:none}h1.motion-ready,h2.motion-ready{transform:translateY(42px);filter:blur(3px);transition:opacity .9s ease var(--motion-delay,0ms),transform 1.15s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),filter 1s ease var(--motion-delay,0ms)}h1.motion-visible,h2.motion-visible{transform:none;filter:blur(0)}.panorama.media-ready img{transform:scale(1.09);transition:transform 1.8s cubic-bezier(.16,1,.3,1)}.panorama.media-visible img{transform:scale(1)}.project.reveal-ready{transition:opacity .9s ease var(--project-delay,0ms),transform 1.1s cubic-bezier(.16,1,.3,1) var(--project-delay,0ms);transform:translateY(35px)}.project.reveal-ready.is-visible{transform:none}.project.reveal-ready .project-image{clip-path:inset(0 0 14% 0);transition:clip-path 1.15s cubic-bezier(.16,1,.3,1) var(--project-delay,0ms)}.project.is-visible .project-image{clip-path:inset(0)}.project.reveal-ready img{transform:scale(1.13);transition:transform 1.6s cubic-bezier(.16,1,.3,1) var(--project-delay,0ms)}.project.is-visible img{transform:scale(1)}.project.is-visible:hover img{transform:scale(1.035)}.light-link,.dark-link{transition:opacity .25s ease,border-color .25s ease}.light-link:hover,.dark-link:hover{opacity:.7}.hero-bottom>a{animation:scroll-cue 2.8s ease-in-out infinite}@keyframes scroll-cue{0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(4px);opacity:1}}@media(prefers-reduced-motion:reduce){.motion-ready,h1.motion-ready,h2.motion-ready{opacity:1;transform:none;filter:none;transition:none}.panorama.media-ready img{transform:none;transition:none}.project.reveal-ready,.project.reveal-ready .project-image,.project.reveal-ready img{opacity:1;transform:none;clip-path:none;transition:none}.hero-bottom>a{animation:none}}
.closing-image{height:70svh;min-height:480px;max-height:850px}.closing-image img{object-position:center 58%}.closing-image .picture-copy h2{font-size:clamp(48px,5.8vw,90px)}.project.reveal-ready{opacity:1;transform:none}.project.reveal-ready .project-image{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s cubic-bezier(.22,1,.36,1) var(--project-delay,0ms)}.project:nth-child(even).reveal-ready .project-image{clip-path:inset(0 0 100% 0)}.project.is-visible .project-image,.project:nth-child(even).is-visible .project-image{clip-path:inset(0)}.project.reveal-ready img{transform:scale(1.18);transition:transform 1.9s cubic-bezier(.22,1,.36,1) var(--project-delay,0ms)}.project.is-visible img{transform:scale(1)}.project .project-caption{opacity:0;transform:translateY(12px);transition:opacity .65s ease calc(var(--project-delay,0ms) + 250ms),transform .8s ease calc(var(--project-delay,0ms) + 250ms)}.project:not(.reveal-ready) .project-caption,.project.is-visible .project-caption{opacity:1;transform:none}.project.is-visible:hover img{transform:scale(1.045)}@media(max-width:650px){.closing-image{height:65svh;min-height:430px}.closing-image .picture-copy h2{font-size:46px}}@media(prefers-reduced-motion:reduce){.project.reveal-ready .project-image,.project:nth-child(even).reveal-ready .project-image{clip-path:none;transition:none}.project .project-caption{opacity:1;transform:none;transition:none}}
.project-image{display:block;color:white}.project-cta{position:absolute;left:17px;bottom:15px;font-size:13px;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .45s ease;text-shadow:0 1px 8px #000}.project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0006,transparent 40%);opacity:0;transition:opacity .4s ease}.project-cta{z-index:1}.project-image:hover:after,.project-image:focus-visible:after,.project-image:hover .project-cta,.project-image:focus-visible .project-cta{opacity:1}.project-image:hover .project-cta,.project-image:focus-visible .project-cta{transform:none}.project-page .project-hero{height:85svh;min-height:540px;position:relative;background:#555;color:white}.project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-hero-copy{position:absolute;left:8%;right:8%;bottom:13%}.project-hero-copy h1{font-size:clamp(52px,7vw,110px);max-width:1000px}.project-hero-copy>p:last-child{font-size:16px}.project-story{padding:95px 8%;display:grid;grid-template-columns:1fr 2fr;gap:50px}.project-story>div{max-width:750px}.project-story h2{font-size:48px}.project-story p{font-size:17px;line-height:1.8;color:#666}.project-story .example-disclosure{font-size:13px;color:#808080;margin-top:35px}.project-detail-photo{height:75svh;min-height:430px;position:relative}.project-detail-photo img{width:100%;height:100%;object-fit:cover}.project-next{padding:75px 8%;display:flex;justify-content:space-between;align-items:center;gap:40px;background:#e6e6e6}.project-next h2{font-size:40px}.next-project{display:grid;gap:16px;padding:25px 0;border-top:1px solid #999}.next-project span{font-size:12px;letter-spacing:.12em;color:#777}.next-project strong{font-weight:500;font-size:25px}.mobile-back{display:none}@media(hover:none){.project-cta,.project-image:after{opacity:1}.project-cta{transform:none}}@media(max-width:800px){.mobile-back{display:block;font-size:13px}.project-story{padding:60px 7%;display:block}.project-story h2{font-size:38px}.project-hero-copy{left:7%;right:7%}.project-next{display:block;padding:60px 7%}.next-project{margin-top:40px}.project-detail-photo{height:60svh}}

body.admin-bar header{top:32px} @media(max-width:782px){body.admin-bar header{top:46px}} .wp-page{padding:160px 8vw 80px;min-height:80vh} .wp-page img{max-width:100%;height:auto}

/* Mobile: prevent horizontal overflow from animated media and long content. */
html, body { max-width: 100%; overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
.panorama, .hero, .project-hero, .project-detail-photo { overflow: hidden; }
.project-grid > *, .intro > *, .intro > div > *, .service-grid > * { min-width: 0; }
@media (max-width: 800px) {
  h1, h2, h3, .contact-phone, footer a { overflow-wrap: anywhere; }
  .hero-copy h1 { font-size: clamp(42px, 11.5vw, 80px); }
  .hero-bottom { flex-wrap: wrap; }
  .wordline { overflow-wrap: anywhere; }
}

.wp-page article{max-width:900px;margin:0 auto}.wp-page article h1{font-size:clamp(34px,5vw,60px);overflow-wrap:anywhere}.wp-page article h2{font-size:clamp(24px,3vw,32px);margin-top:36px}.wp-page article p,.wp-page article li{line-height:1.8;overflow-wrap:anywhere}.wp-page article a{text-decoration:underline}.legal-links{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}
