.shell { width:min(1240px,100%); margin:auto; padding:0 28px; overflow:hidden; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 0; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; }.mark { width:43px; height:43px; }
.wordmark { font-size:24px; font-weight:750; letter-spacing:-.055em; line-height:1; }.wordmark span { color:var(--accent); }.tag { margin-top:5px; color:var(--muted); font-size:11px; font-weight:600; }
.header-side { display:flex; align-items:center; gap:16px; }.region { color:var(--muted); font-size:13px; font-weight:650; }
.theme-toggle { display:none !important; }
.theme-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.hero { display:grid; grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr); gap:clamp(36px,5vw,74px); align-items:center; min-height:570px; padding:22px 0 54px; }.copy { position:relative; padding:14px 0; }
.eyebrow { margin:0 0 11px; color:var(--accent-deep); font-size:13px; font-weight:650; letter-spacing:.018em; }.copy h1 { max-width:590px; margin:0; font-size:clamp(43px,4.25vw,58px); line-height:1.035; letter-spacing:-.058em; }.lead { max-width:520px; margin:15px 0; color:var(--muted); font-size:18px; line-height:1.45; }
.copy h1 span{color:var(--accent)}.intermediary-copy{max-width:590px;margin:18px 0 0;color:var(--muted);font-size:16px;line-height:1.52}
.room-lines { position:absolute; z-index:-1; top:-75px; right:-176px; width:345px; height:345px; opacity:.18; color:var(--green); pointer-events:none; }.trust-list { display:flex; flex-wrap:wrap; gap:0 8px; margin:14px 0 12px; color:var(--muted); font-size:13px; line-height:1.4; }.trust-list span { white-space:nowrap; }
.partner-note { display:flex; flex-wrap:wrap; gap:1px 7px; margin:0; padding:2px 0 2px 10px; border-left:2px solid var(--accent); color:var(--muted); font-size:13px; line-height:1.35; }.partner-note strong { color:var(--ink); font-weight:680; }.review { white-space:nowrap; }
.form-panel { overflow:hidden; border:1px solid var(--line); border-radius:3px; background:var(--surface); box-shadow:0 16px 40px rgba(31,44,39,.10); }.panel-top { display:flex; align-items:baseline; justify-content:space-between; gap:15px; padding:19px 24px 15px; border-bottom:1px solid var(--line); }.panel-top b { font-size:19px; font-weight:700; letter-spacing:-.025em; }.progress { color:var(--muted); font-size:13px; white-space:nowrap; }.form-footer { padding:15px 24px; border-top:1px solid var(--line); background:var(--surface-soft); color:var(--muted); font-size:13px; line-height:1.45; }
.after { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; padding:48px 0 64px; border-top:1px solid var(--line); }.after h2 { margin:0 0 12px; font-size:29px; font-weight:680; letter-spacing:-.04em; }.after p { margin:0; color:var(--muted); line-height:1.6; }.process { display:grid; gap:16px; }.process > div { display:grid; grid-template-columns:31px minmax(0,1fr); gap:13px; align-items:start; }.process > div > div { min-width:0; }.process span { display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--accent); color:var(--accent-deep); font-weight:700; }.process b { display:block; margin:3px 0; font-weight:650; }.process p { font-size:14px; }
.site-footer { padding:24px 0 34px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; line-height:1.7; }.site-footer nav{display:flex;gap:13px;flex-wrap:wrap;margin-top:5px}.site-footer a { color:var(--ink); font-weight:650; }
@media (max-width:850px) { .shell { padding:0 18px; }.site-header { padding:12px 0; }.region { display:none; }.hero { grid-template-columns:1fr; gap:18px; min-height:0; padding:4px 0 38px; }.copy { padding:7px 0; }.copy h1 { max-width:490px; font-size:clamp(32px,9.15vw,42px); }.lead { margin:10px 0; font-size:16px; line-height:1.4; }.intermediary-copy{margin-top:14px;font-size:15px;line-height:1.48}.room-lines { display:none; }.trust-list { gap:0 6px; margin:11px 0 10px; font-size:12.5px; }.partner-note { font-size:12.5px; }.after { grid-template-columns:1fr; gap:32px; padding:38px 0; }.panel-top { padding:15px 18px; }.panel-top b { font-size:17px; white-space:nowrap; }.form-footer { padding:15px 18px; }.tag { font-size:10px; }.process { gap:18px; }.process > div { grid-template-columns:30px minmax(0,1fr); gap:12px; }.process p { font-size:14px; line-height:1.5; } }
@media (max-width:390px) { .shell { padding:0 14px; }.wordmark { font-size:22px; }.mark { width:40px; height:40px; }.hero { padding-top:3px; }.copy h1 { font-size:32px; }.partner-note { display:block; }.partner-note .review { display:block; margin-top:1px; } }

/* V43: compact local-service hierarchy, rather than a stack of conversion badges. */
.subline{max-width:470px;margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.45}.copy h1{font-weight:600}.hero-statement p{max-width:570px;margin:4px 0 0;color:var(--ink);font-size:clamp(25px,2.35vw,34px);font-weight:500;line-height:1.16;letter-spacing:-.045em}.lead{max-width:570px;font-size:17px;line-height:1.58}.partner-note{display:block;max-width:570px;margin-top:18px;padding-left:12px;font-size:14px;line-height:1.5}.partner-note strong,.partner-note span{display:block}.review-link{display:inline-block;margin-top:3px;color:var(--ink);font-size:13px;font-weight:500;text-underline-offset:3px}.review-rating{margin:12px 0 0!important;color:var(--accent-deep)!important;font-size:14px!important;font-weight:700;letter-spacing:.015em;line-height:1.4!important}.room-lines{opacity:.14}.panel-top b,.step h2{font-weight:600}.form-panel{box-shadow:var(--shadow)}.after h2{font-weight:600}.process b{font-weight:600}.site-footer a{font-weight:500}
:root[data-theme="dark"] .form-panel,:root[data-theme="dark"] input,:root[data-theme="dark"] select{background:var(--surface)}:root[data-theme="dark"] .btn-primary{background:var(--accent);border-color:var(--accent);color:#20201d}:root[data-theme="dark"] .btn-primary:hover{background:var(--accent-deep)}:root[data-theme="dark"] .btn-secondary{background:var(--surface-soft)}
@media(max-width:850px){.room-lines{display:none}.subline{margin-bottom:12px;font-size:14px}.hero{gap:16px;padding-bottom:34px}.copy h1{font-size:clamp(30px,8.6vw,38px);line-height:1.08}.lead{font-size:16px;line-height:1.52;margin:13px 0}.partner-note{margin-top:14px;font-size:13px}.panel-top b{font-size:17px}.step h2{font-size:25px}.after h2{font-size:28px}}

.lead-mobile,.mobile-service-info{display:none}.panel-top small{display:none}@media(max-width:850px){.lead-desktop{display:none}.lead-mobile,.mobile-service-info{display:block}.copy h1{font-size:clamp(30px,8.25vw,36px)}.partner-note{margin-top:12px}.mobile-service-info{margin:0 0 28px!important;font-size:16px;line-height:1.55}}@media(max-width:340px){.copy h1{font-size:29px;line-height:1.07}.lead-mobile{font-size:15.5px;line-height:1.45}.hero{gap:14px;padding-bottom:28px}.subline{font-size:13.5px;margin-bottom:9px}}

/* V45: a wider desktop composition and a true explanatory section. */
@media(min-width:851px){.shell{width:min(1380px,100%);padding-inline:34px}.hero{grid-template-columns:minmax(0,1.18fr) minmax(480px,.82fr);gap:clamp(46px,4vw,68px);min-height:610px;padding-block:28px 66px}.copy h1{max-width:690px;font-size:clamp(48px,4vw,58px)}.form-panel{max-width:550px;justify-self:end;width:100%}.after{display:block;padding:68px 0 76px}.after-intro{margin-bottom:30px}.after-intro .eyebrow{display:none}.after h2{font-size:38px;letter-spacing:-.035em}.process{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.process>div{grid-template-columns:38px minmax(0,1fr);gap:16px;padding:4px 12px 4px 0}.process span{width:38px;height:38px;font-size:16px}.process b{font-size:20px;line-height:1.2;margin:5px 0 9px}.process p{font-size:16px;line-height:1.55}.process small{display:block;margin-top:12px;color:var(--muted);font-size:14px;line-height:1.45}.site-footer{font-size:14px}}
.hero-benefits{display:grid;gap:9px;max-width:620px;margin:22px 0 0;padding:0;list-style:none;font-size:17px;line-height:1.45}.hero-benefits li{position:relative;padding-left:25px;font-weight:600}.hero-benefits li:before{content:"";position:absolute;left:1px;top:.58em;width:9px;height:9px;border:1.5px solid var(--accent);border-radius:50%}.hero-benefits li span{color:var(--accent);padding-inline:3px}.partner-note{margin-top:20px}.step.active>.sub{display:none}
@media(max-width:850px){.hero-statement p{margin-top:3px;font-size:clamp(23px,6.3vw,28px);line-height:1.18}.hero-benefits{gap:8px;margin-top:17px;font-size:16px;line-height:1.42}.hero-benefits li{padding-left:22px}.hero-benefits li:before{width:8px;height:8px}.partner-note{margin-top:15px}.after{gap:26px;padding:44px 0}.after-intro .eyebrow{display:none}.after h2{font-size:31px;margin:0}.after-intro{margin-bottom:22px}.process{gap:23px}.process b{font-size:18px;line-height:1.25}.process p{font-size:16px;line-height:1.52}.process small{display:block;margin-top:8px;color:var(--muted);font-size:14px;line-height:1.45}}

/* V46: only the friendly accent pass. */
.subline{color:var(--accent-deep)}.hero-benefits li:before{border:0;background:var(--accent);width:8px;height:8px;top:.6em}.process span{border-color:var(--accent);background:var(--accent);color:#20201d}@media(max-width:850px){.subline{line-height:1.48}.hero-benefits li:before{width:8px;height:8px;top:.58em}}:root[data-theme="dark"] .subline{color:var(--accent-deep)}:root[data-theme="dark"] .process span{background:var(--accent);border-color:var(--accent);color:#20201d}

.partner-note{display:grid;gap:2px;max-width:570px;margin-top:20px;padding:13px 15px;border-left:3px solid var(--accent);background:var(--surface-soft);font-size:14px;line-height:1.42}.partner-note strong{font-weight:600}.partner-rating{color:var(--ink);font-size:13px;font-weight:600}.review-link{margin-top:3px;font-size:13px;font-weight:500}@media(max-width:850px){.partner-note{margin-top:15px;padding:11px 12px;font-size:13px}.partner-rating,.review-link{font-size:12.5px}}

.brand-region{display:block;margin-top:5px;color:var(--muted);font-size:11px;letter-spacing:.12em;font-weight:650}.mobile-region-art{display:none}.price-details{max-width:590px;margin:20px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;color:var(--muted);font-size:14px;line-height:1.5}.price-details summary{cursor:pointer;color:var(--ink);font-weight:650}.price-details p{margin:9px 0 2px}.price-details:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.brand-region,.brand-overlay .brand-region{color:var(--ink)}
.hero-cta{display:inline-flex;margin-top:22px;text-decoration:none;align-items:center;justify-content:center;max-width:360px}.cta-microcopy{display:inline-block;margin-left:12px;color:var(--muted);font-size:13px}
@media(min-width:851px){.hero{position:relative}.form-panel,.copy{position:relative;z-index:1}}
@media(max-width:850px){.brand-region{font-size:10px;margin-top:4px}.mobile-region-art{display:block;width:126px;height:36px;margin-top:7px;color:var(--accent)}.price-details{margin-top:17px;font-size:13px}.er-consent{inset:auto 8px calc(8px + env(safe-area-inset-bottom))}.er-consent__inner{padding:14px 15px}.er-consent__inner h2{font-size:17px}.er-consent__inner p{font-size:13px;margin:6px 0 10px}.er-consent__details{margin-bottom:10px;padding:7px 0}.er-consent__actions{gap:8px}.er-consent__actions .btn{flex:1 1 0;min-height:50px;padding:10px 8px;font-size:14px}.er-consent__link{margin-top:9px;font-size:12px}}

/* V2 Rosenheim master panorama: centered crop, quiet brand safe-zone. */
.site-header{position:relative;align-items:center;padding:0;min-height:120px}.panorama-header{position:relative;left:50%;width:100vw;height:120px;transform:translateX(-50%);overflow:hidden;color:var(--accent)}.panorama-art{display:block;width:100%;height:100%;min-width:100%;color:inherit}.brand-overlay{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:0;transform:translate(-50%,-50%);padding:14px 22px 12px;min-width:220px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 5px 18px rgba(32,43,39,.08);text-align:center}.brand-overlay .wordmark{font-size:25px}.brand-overlay .brand-region{margin-top:6px}.site-header>.theme-toggle{position:absolute;z-index:3;right:0;top:50%;transform:translateY(-50%);width:38px;height:38px;flex-basis:38px}.site-header>.theme-toggle svg{width:19px;height:19px}
@media(max-width:850px){.site-header{min-height:78px}.panorama-header{height:78px}.brand-overlay{padding:8px 13px 7px;min-width:184px}.brand-overlay .wordmark{font-size:20px}.brand-overlay .brand-region{font-size:9px;letter-spacing:.105em}.site-header>.theme-toggle{right:0;width:34px;height:34px;flex-basis:34px}.site-header>.theme-toggle svg{width:17px;height:17px}.hero{padding-top:12px}.hero-statement p{font-size:clamp(21px,5.8vw,27px)}.hero-benefits{margin-top:15px;gap:7px;font-size:15.5px}}
@media(max-width:390px){.site-header{min-height:74px}.panorama-header{height:74px}.brand-overlay{min-width:176px;padding-inline:10px}.brand-overlay .wordmark{font-size:19px}.brand-overlay .brand-region{font-size:8px;letter-spacing:.04em;white-space:nowrap}.hero{padding-top:10px}}

/* V3.3 Warmes Atelier: the source artwork keeps its natural 2172:402 ratio. */
.site-header{background:#f8f4ee}.panorama-header{height:205px;background:#f8f4ee;overflow:hidden}
.panorama-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.panorama-art img{display:block;width:auto;height:100%;min-width:0;max-width:none;object-fit:contain}
.brand-overlay{top:63%;background:#f8f4ee;border-color:#d9cfc3;box-shadow:0 5px 18px rgba(38,51,46,.08)}
.atelier-context,.faq-section{border-top:1px solid var(--line);padding:64px 0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px}.atelier-context h2,.faq-section h2{font-family:var(--font-main);font-weight:400;letter-spacing:-.03em;font-size:clamp(29px,3vw,42px);line-height:1.12;margin:0}.atelier-context p{max-width:650px;color:var(--muted);line-height:1.65;margin:0 0 15px}.context-note{padding-top:13px;border-top:1px solid var(--line);font-size:14px}.faq-section{display:block}.faq-section h2{margin-bottom:26px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}.faq-grid details{border-top:1px solid var(--line);padding:14px 0}.faq-grid summary{cursor:pointer;font-weight:650}.faq-grid p{color:var(--muted);line-height:1.55;margin:10px 0 0;max-width:600px}
.copy h1,.after h2,.step h2{font-family:var(--font-main);font-weight:400}.hero-statement p{font-family:var(--font-main);font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.5;letter-spacing:0;color:var(--ink)}
@media(max-width:850px){.panorama-header{height:100px}.panorama-art{mask-image:none;-webkit-mask-image:none}.panorama-art img{height:100%;width:auto}.brand-overlay{top:63%;padding:8px 13px 7px}.atelier-context,.faq-section{display:block;padding:42px 0}.atelier-context h2,.faq-section h2{font-size:31px;margin-bottom:20px}.atelier-context>div+div{margin-top:22px}.faq-grid{grid-template-columns:1fr;gap:0}.hero-statement p{font-size:17px;line-height:1.5}.cta-microcopy{display:block;margin:7px 0 0}.hero-cta{width:100%;max-width:none}}
@media(min-width:851px) and (max-width:1200px){.panorama-header{height:165px}}
@media(max-width:390px){.panorama-header{height:96px}.brand-overlay{top:65%;min-width:176px}.brand-overlay .wordmark{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* V3.3.1 Lauf A: one local/system family, shared page background, compact grid. */
html,body,.shell,.site-header,.panorama-header,.panorama-art,.brand,.brand-overlay,
h1,h2,h3,h4,p,span,a,button,input,select,textarea,details,summary,label{font-family:var(--font-main)}
.site-header,.panorama-header,.panorama-art{background:var(--page-bg)}
.brand-overlay{background:radial-gradient(ellipse at center,rgba(248,244,238,.92) 0%,rgba(248,244,238,.58) 46%,rgba(248,244,238,0) 78%);border:0;box-shadow:none;padding:16px 28px 14px}
.brand-overlay .brand-region{letter-spacing:.075em;font-size:11px;font-weight:700}
.copy h1,.after h2,.step h2,.atelier-context h2,.faq-section h2{font-family:var(--font-main);font-weight:750;letter-spacing:-.035em}
.copy h1{font-size:clamp(44px,4vw,54px);line-height:1.09}
.hero-statement p{font-family:var(--font-main);font-size:clamp(16px,1.35vw,18px);line-height:1.52;max-width:650px}
.room-lines{display:none}
.partner-note{max-width:520px;margin-top:14px;padding:10px 13px;font-size:13px}
.partner-section{border-top:1px solid var(--line);padding:48px 0 52px}.partner-section h2{margin:0 0 10px;font-size:36px;letter-spacing:-.03em}.partner-section p{max-width:650px;margin:0 0 12px;color:var(--muted);font-size:17px;line-height:1.55}.partner-section .review-link{display:inline-block}
.atelier-context,.faq-section{padding-block:44px}
.atelier-context h2,.faq-section h2{font-size:clamp(27px,2.7vw,36px)}
@media(max-width:1100px){.shell{width:min(920px,100%);padding-inline:24px}.hero{grid-template-columns:1fr;gap:26px;min-height:0;padding-block:24px 46px}.copy h1{max-width:720px}.form-panel{max-width:720px;width:100%;justify-self:start}.after{padding-block:46px 50px}.process{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.process b{font-size:17px}.process p{font-size:14px}.atelier-context,.faq-section{padding-block:42px}}
@media(max-width:640px){.shell{width:100%;padding-inline:16px}.hero{padding-block:14px 30px;gap:18px}.copy h1{font-size:clamp(32px,8.6vw,36px);line-height:1.12}.hero-statement p{font-size:17px;line-height:1.5}.hero-benefits{margin-top:14px;font-size:15px;gap:6px}.partner-note{margin-top:13px}.form-panel{width:calc(100% + 8px);margin-left:-4px}.after{padding-block:36px 42px}.process{grid-template-columns:1fr;gap:18px}.process>div{grid-template-columns:32px minmax(0,1fr)}.atelier-context,.faq-section{padding-block:36px}.atelier-context h2,.faq-section h2{font-size:27px}.brand-overlay .brand-region{font-size:10px;letter-spacing:.07em;white-space:nowrap}}
@media(max-width:640px){.partner-section{padding:38px 0 42px}.partner-section h2{font-size:30px}.partner-section p{font-size:16px}.process span{width:auto;height:auto;border:0;background:none!important;justify-content:start;font-size:22px;color:var(--accent-deep)}}

/* V4 Pass A.1: desktop presence and shared top alignment. */
@media(min-width:1100px){
  .shell{width:min(1280px,calc(100vw - 64px));padding-inline:0}
  .site-header{min-height:190px}
  .panorama-header{left:auto;width:100%;height:190px;transform:none}
  .panorama-art{width:100%;max-width:none;min-width:0}
  .panorama-art img{width:min(1120px,calc(100% - 80px));height:auto;max-width:none;mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 85%,transparent 100%);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%}
  .hero{width:100%;max-width:none;grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr);gap:80px;align-items:start;padding-top:46px;padding-bottom:58px;min-height:0}
  .copy{padding-top:0}
  .copy{width:100%;max-width:640px}
  .copy h1{width:100%;max-width:640px}
  .form-panel{width:100%;max-width:570px;justify-self:stretch}
  .partner-section,.after,.faq-section{width:100%}
}
