/* BERGSTRASSE V10 | Consolidated historical CSS + normative V10 design system.
   Order preserved for visual regression safety. Older declarations are historical only.
   Modify the authoritative V10 block at file end; see technical handoff. */
/* V6 legacy cascade */
/* Bergstrasse V6 – native HTML/CSS/JS, offline assets, no external font/CDN */
:root{--navy:#071b27;--ink:#123142;--sea:#2bbbd0;--sea-dark:#08788d;--fog:#eff5f5;--paper:#fbfdfc;--muted:#607786;--line:rgba(13,59,76,.15);--header-h:76px;--max:1120px;--ease:cubic-bezier(.18,.72,.2,1)}
*{box-sizing:border-box}html{scroll-padding-top:var(--header-h)}body{margin:0;font:400 15px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}img{max-width:100%;display:block}figure,h1,h2,h3,p{margin:0}h1,h2,h3{hyphens:none;word-break:normal;overflow-wrap:normal}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #32c6dc;outline-offset:3px}.container{width:min(var(--max),calc(100% - 56px));margin-inline:auto;min-width:0}.icon{flex:none}.skip-link{position:fixed;left:16px;top:-90px;background:#ddfaf9;padding:12px 16px;border-radius:12px;z-index:1100}.skip-link:focus{top:12px}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:110;pointer-events:none}.progress span{display:block;width:100%;height:100%;background:var(--sea);transform-origin:left;transform:scaleX(0)}
/* Navigation */
.site-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:#061722;border-bottom:1px solid rgba(216,248,252,.15);box-shadow:0 8px 24px rgba(0,11,18,.1)}.header-inner{display:flex;height:100%;justify-content:space-between;align-items:center;gap:30px}.brand,.footer-brand{display:flex;align-items:center;gap:10px;flex:none}.brand img{height:47px;width:47px;object-fit:contain}.brand-name{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:800;letter-spacing:.015em;line-height:1.14;color:#f4fbff}.brand-name small{font-size:9px;letter-spacing:.21em;color:#48cede}.site-nav{display:flex;align-items:center;gap:23px}.site-nav a:not(.nav-cta){font-size:12px;font-weight:700;color:#e2f0f5;transition:color .2s}.site-nav a:not(.nav-cta):hover,.site-nav a[aria-current="location"]{color:#48d0e3}.nav-cta{display:inline-flex;gap:8px;align-items:center;background:var(--sea);color:#07202d;font-size:12px;font-weight:800;padding:10px 16px;border-radius:100px;box-shadow:0 9px 20px rgba(42,192,208,.19)}.nav-cta:hover{background:#62d4e1}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px 0;border-radius:3px}
/* Hero with fixed ribbon within first viewport; dark overlay in BOTH variants */
.hero{height:calc(100svh - var(--header-h) - 56px);min-height:540px;position:relative;display:flex;align-items:center;color:#f6fcff;background:#071522;isolation:isolate;overflow:hidden}.hero-photo,.hero-photo img,.hero-film,.hero-light{position:absolute;inset:0;width:100%;height:100%}.hero-photo{z-index:-2;overflow:hidden}.hero-photo img{object-fit:cover;object-position:center 47%;filter:brightness(.60) saturate(.82);opacity:1;transform:translateY(0) scale(1)}.hero-film{background:linear-gradient(90deg,rgba(4,14,24,.86) 0%,rgba(4,14,24,.72) 23%,rgba(4,14,24,.42) 56%,rgba(4,14,24,.25) 100%),linear-gradient(0deg,rgba(3,14,25,.58),transparent 55%)}.hero-light{z-index:0;background:linear-gradient(110deg,transparent 25%,rgba(145,235,243,.12) 45%,rgba(233,251,255,.17) 50%,transparent 62%);opacity:0;transform:translateX(-115%);pointer-events:none}.hero-content{position:relative;z-index:1;padding:34px 0;display:flex;align-items:center}.hero-copy{max-width:650px;opacity:1;transform:none}.hero-kicker,.eyebrow{color:var(--sea-dark);font-size:11px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}.hero-kicker{color:#5de2f1;font-size:10px;letter-spacing:.19em;margin-bottom:17px}.hero h1{font-size:clamp(2.4rem,4.7vw,4.75rem);font-weight:800;letter-spacing:-.048em;line-height:1.04;max-width:17ch}.hero h1 span{display:block;color:#5bd7e9}.hero-desc{max-width:51ch;font-size:15px;line-height:1.78;color:#e0eaf0;margin-top:21px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid transparent;padding:12px 19px;border-radius:100px;font-size:13px;font-weight:800;transition:transform .24s,box-shadow .24s,background .24s}.button:hover{transform:translateY(-3px)}.button-primary{color:#04212b;background:var(--sea);box-shadow:0 12px 30px rgba(13,127,146,.16)}.button-primary:hover{background:#68dce7;box-shadow:0 16px 35px rgba(13,127,146,.24)}.button-glass{color:#f2fcff;background:rgba(4,24,37,.36);border-color:rgba(196,237,245,.4)}.button-glass:hover{background:rgba(10,54,69,.58)}.hero-small{font-size:11px;color:#c2d7df;margin-top:15px}.hero-discover{position:absolute;right:max(28px,calc((100vw - var(--max))/2));bottom:22px;z-index:2;display:flex;align-items:center;gap:13px;color:#f8fcfc;font-size:10px;font-weight:800;letter-spacing:.13em}.hero-discover:hover{color:#5de2f1}.hero-discover::after{content:"";width:26px;height:26px;border:1px solid rgba(238,253,255,.7);border-radius:50%;position:absolute;right:-9px;z-index:-1}
.hero-ribbon{height:56px;background:#092534;border-top:2px solid #39c3d6;color:#d5ecf0}.ribbon-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:14px}.ribbon-inner span,.ribbon-inner a{display:inline-flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap;font-weight:700;letter-spacing:.025em}.ribbon-inner .icon{color:#59d5e6}.ribbon-inner a{color:#71e5ee;font-weight:800}
/* Variant B cinematic window; same dark material, different composition */
body[data-hero="atelier"] .hero{background:radial-gradient(circle at 75% 35%,#12354a,#06151f 63%)}body[data-hero="atelier"] .hero-photo{inset:7% 4% 7% 50%;width:46%;height:86%;border-radius:24px;box-shadow:0 25px 80px rgba(0,0,0,.45);border:1px solid rgba(170,233,243,.18)}body[data-hero="atelier"] .hero-photo img{object-position:57% center;filter:brightness(.52) saturate(.8)}body[data-hero="atelier"] .hero-photo .hero-film{background:linear-gradient(90deg,rgba(5,20,32,.43),rgba(5,20,32,.23)),linear-gradient(0deg,rgba(4,14,24,.36),transparent 70%)}body[data-hero="atelier"] .hero-content{align-items:center}body[data-hero="atelier"] .hero-copy{max-width:595px}body[data-hero="atelier"] .hero h1{font-size:clamp(2.4rem,4.45vw,4.5rem)}body[data-hero="atelier"] .hero-light{inset:7% 4% 7% 50%;width:46%;height:86%}
/* Entrance animations synchronized for WHOLE text block, no staggered words */
@keyframes hero-photo-in{0%{opacity:0;transform:translateY(48px) scale(1.035)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes hero-copy-in{0%{opacity:0;transform:translateY(21px) scale(.985)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes hero-sweep{0%{opacity:0;transform:translateX(-115%)}18%{opacity:.75}100%{opacity:0;transform:translateX(115%)}}
.hero.hero-entrance .hero-photo img{animation:hero-photo-in 1.12s var(--ease) both}.hero.hero-entrance .hero-copy{animation:hero-copy-in .92s .13s var(--ease) both}.hero.hero-entrance .hero-light{animation:hero-sweep 2.15s .25s ease-out both}
/* Layout */
.section{padding:clamp(70px,8vw,104px) 0;scroll-margin-top:var(--header-h)}.stage{min-height:calc(100svh - var(--header-h));display:flex;align-items:center}.stage>.container{width:min(var(--max),calc(100% - 56px))}.section-heading{margin-bottom:34px}.center-heading{text-align:center;max-width:820px;margin-inline:auto}.section h2{font-size:clamp(2rem,3.35vw,3.25rem);font-weight:800;line-height:1.14;letter-spacing:-.037em;margin-top:12px}.section h2 em,.proof-text h2 em{font-style:normal;color:#0a91a8}.section-heading>p:last-child{font-size:15px;color:var(--muted);max-width:640px;margin:15px auto 0}.section-note{color:#657986;font-size:11px;margin-top:25px;text-align:center}
/* Services – iced paper, white relief cards with material depth */
.services-section{background:linear-gradient(150deg,#f3f8f9 0%,#e6eff1 55%,#f6faf9 100%);position:relative}.services-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0 12%,rgba(37,190,208,.08),transparent 42%)}.services-section .container{position:relative}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{position:relative;display:flex;flex-direction:column;padding:31px 28px 26px;min-height:292px;background:linear-gradient(160deg,#fff,#f9fbfc);border:1px solid rgba(42,106,124,.13);border-radius:24px;box-shadow:0 8px 18px rgba(14,57,75,.055),0 20px 43px rgba(13,69,82,.07),inset 0 1px 0 #fff;transition:transform .36s var(--ease),box-shadow .36s var(--ease),border-color .36s var(--ease)}.service-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#1d8198,#55d7de);border-radius:24px 24px 0 0;opacity:.9}.service-card:nth-child(2){background:linear-gradient(160deg,#fff,#edf9fa)}.service-card:nth-child(3){background:linear-gradient(160deg,#fff,#f5f7fb)}.service-card:hover,.service-card:focus-within{transform:translateY(-9px);border-color:rgba(32,154,180,.34);box-shadow:0 13px 25px rgba(11,59,78,.10),0 34px 64px rgba(10,73,94,.17),inset 0 1px 0 #fff}.service-glyph{width:57px;height:57px;display:grid;place-items:center;color:#097b93;background:linear-gradient(150deg,#e7f7f9,#d3edf2);border:1px solid #b5e1e8;border-radius:17px;box-shadow:0 10px 21px rgba(8,105,133,.11);margin-bottom:22px}.service-card h3{font-size:19px;color:#173a4d;letter-spacing:-.02em;margin-bottom:8px}.service-card p{font-size:13px;line-height:1.72;color:#5d7480;flex:1}.text-action{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#057d96;transition:gap .25s,color .25s}.text-action:hover{gap:13px;color:#045568}.service-card .text-action{margin-top:18px}
/* Proof – dark petrol, but clearly distinct from hero and light neighbors */
.proof-section{background:linear-gradient(145deg,#123c4b,#0e2a3a 70%);color:#fff}.proof-grid{display:grid;grid-template-columns:1fr .96fr;gap:clamp(32px,6vw,74px);align-items:center}.proof-image{aspect-ratio:1.25;position:relative;border-radius:23px;overflow:hidden;box-shadow:0 25px 55px rgba(0,13,21,.3);border:1px solid rgba(205,242,247,.17)}.proof-image img{width:100%;height:100%;object-fit:cover}.proof-image figcaption{position:absolute;left:17px;bottom:17px;padding:9px 13px;border-radius:10px;background:rgba(6,31,42,.88);color:#89e3ef;letter-spacing:.1em;font-size:10px;font-weight:800}.proof-text .eyebrow{color:#7adce8}.proof-text h2 em{color:#5bd5e5}.proof-text>p:not(.eyebrow){color:#c6dbe3;margin-top:15px;max-width:47ch}.proof-features{display:grid;gap:10px;margin:26px 0 23px}.proof-features>div{display:grid;grid-template-columns:42px 1fr;column-gap:13px;align-items:center;padding:12px 15px;background:linear-gradient(110deg,rgba(227,248,249,.13),rgba(227,248,249,.055));border:1px solid rgba(215,247,251,.18);border-radius:14px;box-shadow:0 12px 25px rgba(1,13,23,.11);transition:transform .28s,background .28s}.proof-features>div:hover{transform:translateX(5px);background:rgba(218,246,252,.18)}.proof-features>div>span{grid-row:span 2;color:#76dce7}.proof-features strong{font-size:13px}.proof-features small{color:#b9d0d9;font-size:12px}.proof-link{color:#8de8f1}
/* Process – cooler luminous silver; stepped pathway without numerals */
.process-section{background:radial-gradient(circle at 90% 15%,#effbfa,#ddebed 52%,#f4f7f7 100%)}.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}.journey-grid:before{position:absolute;top:50px;left:9%;width:82%;height:2px;content:"";background:linear-gradient(90deg,#7ccfd8,#1fa4bc,#7ccfd8);opacity:.35}.journey-card{position:relative;display:flex;flex-direction:column;min-height:247px;background:#fff;border:1px solid rgba(29,107,129,.14);border-radius:21px;padding:23px 19px;box-shadow:0 12px 33px rgba(25,78,99,.09),inset 0 2px 0 rgba(255,255,255,.97);transition:transform .33s var(--ease),box-shadow .33s var(--ease)}.journey-card:nth-child(even){background:linear-gradient(155deg,#fff,#f3fafa)}.journey-card:hover{transform:translateY(-10px);box-shadow:0 18px 45px rgba(23,80,103,.2)}.journey-icon{position:relative;z-index:2;width:59px;height:59px;display:grid;place-items:center;background:linear-gradient(150deg,#0c5269,#1c9daf);color:#fff;border-radius:17px;box-shadow:0 11px 24px rgba(12,110,132,.22);margin-bottom:20px}.journey-card h3{font-size:16px;margin-bottom:8px;line-height:1.25}.journey-card p{font-size:13px;color:#667e88;line-height:1.65}.process-bottom{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 20px;border:1px solid rgba(38,116,140,.16);background:rgba(255,255,255,.72);border-radius:18px}.process-bottom>span{display:flex;gap:11px;align-items:center;color:#264f61;font-size:14px;font-weight:700}.button-dark{color:#fff;background:#0c3547}.button-dark:hover{background:#0c6277;box-shadow:0 12px 30px rgba(15,66,83,.17)}
/* Gallery – medium navy, compact stage and fixed media size */
.gallery-section{background:linear-gradient(145deg,#103344,#0c2736);color:#eefbfe}.gallery-section .eyebrow{color:#73dce9}.gallery-section h2 em{color:#62d9e6}.gallery-head{display:flex;gap:50px;align-items:end;justify-content:space-between}.gallery-head>div{max-width:650px}.gallery-head>p{max-width:280px;font-size:14px;color:#bfd5de}.gallery-layout{display:grid;grid-template-columns:1.45fr .7fr;gap:19px;align-items:stretch}.gallery-main{min-width:0;background:#061b29;border-radius:20px;overflow:hidden;border:1px solid rgba(185,237,243,.2);box-shadow:0 24px 54px rgba(1,12,22,.28)}.gallery-window{height:clamp(310px,32vw,410px);overflow:hidden}.gallery-track{display:flex;height:100%;transition:transform .68s var(--ease);touch-action:pan-y}.gallery-slide{flex:0 0 100%;height:100%;position:relative;overflow:hidden}.gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.89)}.gallery-slide:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(2,18,27,.92),transparent);pointer-events:none}.gallery-slide figcaption{position:absolute;z-index:2;left:22px;bottom:25px;right:20px;display:grid;gap:3px}.gallery-slide figcaption strong{font-size:21px}.gallery-slide figcaption span{font-size:12px;color:#d7e5ea}.gallery-bar{height:57px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px}.gallery-bar>div:first-child{display:flex;gap:8px}.gallery-arrow{width:32px;height:32px;border:1px solid #578697;color:#e7fbfc;background:transparent;border-radius:50%;font-size:17px;transition:background .2s}.gallery-arrow:hover{background:#215567}.gallery-status{font-size:11px;color:#a0bec7}.gallery-dots{display:flex;gap:7px}.gallery-dots button{width:9px;height:9px;border:0;background:#4d7888;border-radius:100px;transition:background .2s,width .2s}.gallery-dots button[aria-current="true"]{width:24px;background:#40c6d8}.gallery-side{background:linear-gradient(155deg,#215367,#12394b);border:1px solid rgba(174,230,242,.19);border-radius:20px;padding:23px;display:flex;flex-direction:column;box-shadow:0 18px 35px rgba(0,11,20,.12)}.gallery-side h3{font-size:22px;line-height:1.22;letter-spacing:-.03em;margin:10px 0}.gallery-side p{font-size:13px;color:#cae0e8}.thumb-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:25px 0 19px}.thumb{border:2px solid transparent;background:transparent;padding:0;border-radius:9px;overflow:hidden;aspect-ratio:1}.thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.77)}.thumb[aria-current="true"]{border-color:#60deea}.thumb[aria-current="true"] img,.thumb:hover img{filter:brightness(1)}.gallery-side>.text-action{color:#92eaf1;margin-top:auto}
/* Ratings – independent complete visual chapter */
.reviews-section{background:linear-gradient(135deg,#f4f7f4,#e7efe9);color:#183846}.reviews-grid{display:grid;grid-template-columns:1fr .95fr;gap:clamp(25px,6vw,80px);align-items:center}.reviews-copy h2 em{color:#13879b}.reviews-copy>p:not(.eyebrow){color:#5c7480;font-size:15px;margin:19px 0 23px;max-width:49ch}.reviews-metrics{border:1px solid rgba(12,85,105,.15);border-radius:26px;background:#fff;padding:32px;box-shadow:0 25px 70px rgba(18,75,86,.12);position:relative;overflow:hidden}.reviews-metrics:before{content:"";height:5px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#12485d,#40cdd6)}.rating-top{display:flex;justify-content:space-between;align-items:center;gap:18px}.rating-brand{font-size:12px;color:#516a76;font-weight:900;letter-spacing:.15em}.rating-stars{letter-spacing:.13em;color:#e5a62a;font-size:22px;white-space:nowrap}.rating-score{display:flex;gap:24px;align-items:center;padding:18px 0}.rating-score>strong{font-size:clamp(5rem,8vw,7.4rem);letter-spacing:-.095em;line-height:1;color:#0a3345;font-weight:800}.rating-score>span{display:grid;gap:6px}.rating-score b{font-size:16px}.rating-score small{font-size:11px;color:#6c808a}.rating-rule{height:1px;background:#e4ebec;margin:9px 0 22px}.reviews-metrics h3{font-size:17px;margin-bottom:13px}.review-qualities{display:flex;flex-wrap:wrap;gap:8px}.review-qualities>span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#175266;background:#edf8f7;border:1px solid #d9efef;padding:8px 10px;border-radius:100px}.rating-fine{margin-top:17px;font-size:11px;color:#68808a;line-height:1.6}.review-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:20px;margin-top:28px;border-top:1px solid #d1e0df;font-size:12px;color:#486879}.review-bottom span{display:flex;align-items:center;gap:8px}.review-bottom a{font-weight:800;color:#087c94}
/* FAQ – distinct white chapter, not visually merged with ratings */
.faq-section{background:linear-gradient(140deg,#fff,#f6fafb);color:#142f40}.faq-heading{display:grid;grid-template-columns:1fr .78fr;align-items:end;gap:50px}.faq-heading>p{color:#677e8b}.faq-layout{display:grid;grid-template-columns:1.45fr .7fr;gap:25px;align-items:start}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.faq-item{border:1px solid #d9e5e8;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(22,69,83,.05);transition:box-shadow .25s,border-color .25s}.faq-item:hover,.faq-item[open]{border-color:#9bd9e1;box-shadow:0 13px 27px rgba(20,87,102,.1)}.faq-item summary{cursor:pointer;padding:16px 16px 16px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#1b4053;font-size:13px;font-weight:750;line-height:1.42;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-plus{font-size:23px;color:#1096a8;flex:none;font-weight:400;transition:transform .2s}.faq-item[open] .faq-plus{transform:rotate(45deg)}.faq-item>p{padding:0 18px 18px;color:#5d7480;font-size:12px;line-height:1.74}.faq-more{grid-column:1/-1;justify-self:center;margin-top:8px;border:1px solid #94c6cf;background:#f8ffff;color:#075d75;padding:10px 19px;border-radius:100px;font-size:12px;font-weight:800}.faq-more:hover{background:#e7f8fa}.faq-extra[hidden]{display:none}.faq-aside{background:linear-gradient(155deg,#0f3e50,#092838);border-radius:23px;color:#fff;padding:27px;box-shadow:0 20px 44px rgba(12,52,67,.18)}.aside-icon{display:grid;place-items:center;width:56px;height:56px;background:#1d6980;border:1px solid rgba(220,250,254,.3);border-radius:17px;color:#91e8f2;margin-bottom:18px}.faq-aside .eyebrow{color:#82dce8}.faq-aside h3{font-size:24px;letter-spacing:-.025em;line-height:1.24;margin:10px 0}.faq-aside p:not(.eyebrow){font-size:13px;color:#bcd6df;margin-bottom:20px}
/* Contact – contrast, two clear contact pathways, compact clean form */
.contact-section{background:linear-gradient(145deg,#11384a,#08212e 80%);color:#fff}.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,6vw,73px);align-items:start}.contact-intro .eyebrow{color:#8be2ec}.contact-intro h2{max-width:13ch}.contact-intro h2 em{color:#58d9e9}.contact-intro>p:not(.eyebrow){color:#c7dbe3;margin-top:19px;max-width:47ch}.contact-methods{display:grid;gap:11px;margin-top:29px}.contact-method{display:flex;gap:13px;align-items:center;border-radius:16px;padding:13px 15px;border:1px solid rgba(192,244,251,.23);background:rgba(218,250,252,.1);transition:transform .3s,background .3s}.contact-method:hover{transform:translateX(5px);background:rgba(218,250,252,.19)}.contact-method-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:13px;background:#258ca3;color:#fff}.contact-method.whatsapp .contact-method-icon{background:#157c67}.contact-method>span:nth-child(2){display:grid;flex:1}.contact-method strong{font-size:14px}.contact-method small{font-size:12px;color:#badbe3}.location-line{display:flex;align-items:center;gap:8px;margin-top:23px;color:#e4f1f4;font-size:13px;font-weight:650}.contact-caution{font-size:11px!important;color:#aac5cf!important;margin-top:10px!important}.form-card{color:#153445;background:#f7fbfc;border-radius:26px;padding:clamp(23px,3vw,35px);box-shadow:0 26px 66px rgba(0,9,14,.28);border:1px solid #d5e8ed}.form-top h3{font-size:25px;letter-spacing:-.025em;margin:7px 0}.form-top>p:last-child{font-size:12px;color:#667e89;margin-bottom:22px}.form-card label{font-size:12px;font-weight:800;display:grid;gap:7px;margin-bottom:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-card input,.form-card textarea,.form-card select{border:1px solid #c8dde1;background:#fff;color:#132f40;border-radius:12px;padding:11px 13px;width:100%;min-width:0;outline:none;font-weight:400;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-card textarea{min-height:100px;resize:vertical}.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:#1a9cb2;box-shadow:0 0 0 3px rgba(39,185,206,.13)}.form-submit{width:100%}.demo-note{font-size:11px;color:#70838e;margin-top:10px}.form-feedback{padding:11px;border-radius:9px;background:#e3f5f0;color:#07574a;font-size:12px;margin-top:10px}.form-feedback.error{background:#fff0e6;color:#90441c}
.site-footer{background:#061722;color:#c7dde4;padding:35px 0 25px;border-top:1px solid #18465b}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:12px 45px}.footer-brand{color:#fff;font-weight:800;font-size:13px}.footer-brand small{display:block;font-size:10px;letter-spacing:.15em;color:#5dd5e4}.footer-grid>div>p{font-size:12px;margin-top:11px}.footer-grid .footer-note{color:#9bb8c4;font-size:11px;max-width:570px}.footer-grid nav{display:flex;align-items:start;gap:20px;font-size:12px}.footer-grid nav a:hover{color:#67e4eb}.copyright{grid-column:1/-1;border-top:1px solid #1c3a4b;padding-top:17px;font-size:11px;color:#83a7b7}
/* JS-powered reveal adds opacity/translate; never hides if script unavailable */
.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.motion-ready .reveal.revealed{opacity:1;transform:none}.service-card.reveal{transition:opacity .75s var(--ease),transform .75s var(--ease),box-shadow .35s,border-color .35s}.motion-ready .service-card.reveal.revealed:hover{transform:translateY(-9px)}
/* Tablet */
@media(max-width:1100px){.site-nav{gap:14px}.site-nav a:not(.nav-cta){font-size:11px}.hero h1{font-size:clamp(2.4rem,5.3vw,4.4rem)}.journey-grid{grid-template-columns:repeat(2,1fr)}.journey-grid:before{display:none}.journey-card{min-height:210px}.stage{min-height:unset}}
@media(max-width:900px){:root{--header-h:70px}.container,.stage>.container{width:calc(100% - 42px)}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:calc(100% + 8px);left:21px;right:21px;padding:12px;border-radius:15px;background:rgba(5,25,38,.98);box-shadow:0 22px 45px rgba(0,0,0,.3);border:1px solid rgba(223,251,254,.21);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a:not(.nav-cta){font-size:14px;padding:11px}.site-nav .nav-cta{justify-content:center;margin-top:8px}.proof-grid,.reviews-grid,.contact-layout{grid-template-columns:1fr}.proof-image{max-height:520px}.gallery-layout{grid-template-columns:1.5fr .78fr}.faq-layout{grid-template-columns:1fr}.faq-aside{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.faq-aside h3{font-size:20px}.faq-aside p{margin:0!important}.faq-aside .button{margin-left:auto}.faq-heading{grid-template-columns:1fr}.stage{min-height:unset}}
@media(max-width:900px){body[data-hero="atelier"] .hero-photo{inset:0;width:100%;height:100%;border:0;border-radius:0}body[data-hero="atelier"] .hero-photo .hero-film{background:linear-gradient(90deg,rgba(4,15,26,.9),rgba(4,15,26,.47))}body[data-hero="atelier"] .hero-light{inset:0;width:100%;height:100%}}
@media(max-width:720px){.container,.stage>.container{width:calc(100% - 34px)}.hero{height:auto;min-height:calc(100svh - var(--header-h) - 54px);padding:30px 0 45px}.hero-photo img{object-position:57% center}.hero-film{background:linear-gradient(90deg,rgba(4,16,26,.89),rgba(4,16,26,.53)),linear-gradient(0deg,rgba(4,16,26,.76),transparent 60%)}.hero-content{padding:45px 0 30px}.hero h1{font-size:clamp(2.23rem,9.6vw,3.4rem)}.hero-kicker{font-size:9px;letter-spacing:.12em}.hero-desc{font-size:13px;line-height:1.65;max-width:39ch}.hero-discover{right:19px;bottom:18px;font-size:9px}.hero-ribbon{height:auto;min-height:54px}.ribbon-inner{flex-wrap:wrap;justify-content:center;padding:12px 0;gap:8px 20px}.ribbon-inner span{font-size:9px}.ribbon-inner a{display:none}body[data-hero="atelier"] .hero-photo{inset:0;width:100%;height:100%;border-radius:0;border:0;box-shadow:none}body[data-hero="atelier"] .hero-photo .hero-film{background:linear-gradient(90deg,rgba(4,15,26,.91),rgba(4,15,26,.43)),linear-gradient(0deg,rgba(4,15,26,.78),transparent 70%)}body[data-hero="atelier"] .hero-light{inset:0;width:100%;height:100%}.section{padding:68px 0}.section h2{font-size:clamp(2rem,6vw,2.65rem)}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.proof-grid{gap:26px}.proof-image{aspect-ratio:1.18}.journey-grid{grid-template-columns:1fr 1fr}.journey-card{min-height:205px;padding:19px 15px}.journey-card h3{font-size:15px}.journey-card p{font-size:12px}.journey-icon{height:46px;width:46px;margin-bottom:13px}.journey-icon svg{width:22px}.process-bottom{flex-wrap:wrap}.gallery-head{display:block}.gallery-head>p{margin-top:14px}.gallery-layout{grid-template-columns:1fr}.gallery-window{height:310px}.gallery-side{padding:19px}.thumb-grid{margin:17px 0}.reviews-metrics{padding:24px}.review-bottom{display:grid}.faq-heading{gap:8px}.faq-list{grid-template-columns:1fr}.faq-aside{display:block}.faq-aside .button{margin-top:15px}.contact-layout{gap:28px}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{grid-template-columns:1fr}.footer-grid nav{flex-wrap:wrap}}
@media(max-width:390px){.brand img{width:41px;height:41px}.brand-name{font-size:10px}.brand-name small{font-size:8px}.hero h1{font-size:clamp(2.1rem,10vw,2.6rem)}.hero-actions{align-items:stretch}.hero-actions .button{font-size:12px;min-height:43px}.hero-desc{font-size:12.5px}.ribbon-inner{gap:8px}.ribbon-inner span{font-size:8px}.journey-grid{grid-template-columns:1fr}.journey-card{min-height:unset}.gallery-window{height:255px}.gallery-slide figcaption strong{font-size:17px}.gallery-status{display:none}.rating-score{gap:14px}.rating-score>strong{font-size:4.7rem}.rating-stars{font-size:17px}.review-qualities>span{font-size:10px}}
@media(max-width:390px){.hero{padding:9px 0 16px;min-height:calc(100svh - var(--header-h) - 56px)}.hero-content{padding:18px 0}.hero-kicker{margin-bottom:9px}.hero-desc{margin-top:13px}.hero-actions{margin-top:15px}.hero-small{margin-top:9px}}
@media(max-width:359px){.hero{padding:0;min-height:calc(100svh - var(--header-h) - 70px)}.hero-content{padding:4px 0}}
/* Legal placeholder pages share the same visual identity */
.legal-page{min-height:calc(100svh - var(--header-h));background:linear-gradient(140deg,#eff7f8,#fff);padding:85px 0;color:#123142}.legal-card{max-width:850px;background:#fff;padding:clamp(24px,5vw,54px);border-radius:22px;border:1px solid #d7e9ea;box-shadow:0 20px 50px rgba(8,55,72,.07)}.legal-card h1{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.16;margin:12px 0 20px}.legal-card p{margin:0 0 18px;font-size:15px;color:#516d79}.legal-card .button{margin-top:10px}
/* Preview is intentionally motion-on without a site toggle; accessibility pass required for live release. */


/* V7 legacy cascade */
/* V7 refinement, based on selected V6 A. This is the only additional style layer.
   Hero photo, cinematic darkness and cyan light sweep are intentionally unchanged.
   Main goal: readable type across the whole site + visible ribbon + clearer small details.
   Exact selectors here override V6 where necessary, leaving the already tested layout intact. */
:root{--muted:#405b68;--sea:#2bbbd0;--sea-dark:#086d83}
body{font-size:16px;line-height:1.68}
/* Header: preserve footprint, enhance weight and contrast; active position indicator. */
.brand img{width:53px;height:53px;filter:drop-shadow(0 0 1px rgba(158,245,251,.35))}
.brand-name{font-size:13px;line-height:1.2;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.14)}
.brand-name small{font-size:10.5px;letter-spacing:.17em;color:#75e9f2}
.site-nav a:not(.nav-cta){position:relative;font-size:13px;font-weight:750;color:#f3fbfd}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:3px;border-radius:4px;background:#4fd8e7;transform:scaleX(0);transform-origin:center;transition:transform .28s ease}
.site-nav a[aria-current="location"]::after{transform:scaleX(1)}
.site-nav a[aria-current="location"]{color:#82f0f4}
.nav-cta{font-size:13px}
/* Hero: same V6 A darkness and image. Text remains a single reveal group. */
.hero h1{max-width:17ch}
.hero-desc{font-size:16px;line-height:1.72;color:#f0f6f8}
.hero-small{font-size:12.5px;color:#e2eef3}
.hero-kicker{font-size:11px;color:#96f0f7}
.hero.hero-entrance .hero-copy{animation-duration:1.12s;animation-delay:.1s}
/* Hero ribbon counts toward first viewport; deliberately light to contrast with cinematic hero. */
.hero-ribbon{height:56px;background:#f2f8f9;border-top:2px solid #27bdd0;color:#143749;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.ribbon-inner span,.ribbon-inner a{color:#12394a;font-size:12.5px;font-weight:800;letter-spacing:.015em}
.ribbon-inner .icon{color:#09849a}
.ribbon-inner a{color:#006f83;text-decoration:underline;text-underline-offset:3px}
/* Increased contrast for incidental labels and secondary copy. Text never receives CSS blur. */
.eyebrow{font-size:12px;letter-spacing:.115em;color:#056c83}
.section-heading>p:last-child,.gallery-head>p,.faq-heading>p{font-size:16px;line-height:1.64;color:#435f6c}
.section-note,.rating-fine,.reviews-copy>p:not(.eyebrow),.review-bottom,.gallery-side p{font-size:13.5px;line-height:1.67}
.service-card p,.journey-card p{font-size:14.5px;line-height:1.62;color:#405c68}
.proof-text>p:not(.eyebrow),.proof-text .value-card p,.contact-intro>p:not(.eyebrow){font-size:15.5px;line-height:1.72;color:#e4f3f7}
.proof-text .eyebrow,.gallery-section .eyebrow,.contact-section .eyebrow{color:#a1eef6}
.gallery-head>p,.gallery-side p{color:#e1f2f7}
.gallery-slide figcaption span{font-size:14px;color:#f0f8f9}
.gallery-status{font-size:12.5px;color:#cfeaf1}
.rating-fine,.reviews-copy>p:not(.eyebrow){color:#3e5d6b}
.review-qualities>span{font-size:12.5px}
.faq-item summary{font-size:14.5px;line-height:1.5;color:#173a4a}
.faq-item>p{font-size:14px;line-height:1.68;color:#385666}
.faq-heading>p{color:#3d5966}
.faq-aside p:not(.eyebrow){font-size:14.5px;color:#e0f0f6;line-height:1.65}
.faq-aside .eyebrow{color:#a3ecf3}
.faq-item:nth-child(3n+1){background:#ffffff}
.faq-item:nth-child(3n+2){background:#f3fafb}
.faq-item:nth-child(3n){background:#e9f5f7}
.faq-item{box-shadow:0 8px 22px rgba(21,69,84,.075),inset 0 1px 0 rgba(255,255,255,.75);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.faq-item:hover{transform:translateY(-4px);box-shadow:0 17px 29px rgba(19,69,86,.15)}
.form-top>p:last-child,.form-note,.contact-caution,.footer-grid .footer-note{font-size:13px;line-height:1.6}
.contact-method small{font-size:13.5px;color:#d9ecf2}
.footer-grid>div>p,.copyright{font-size:12.5px;color:#c8e1e7}
/* Nine thumbnails, one stable gallery stage regardless of each image's format. */
.thumb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.thumb{border-radius:10px}
.gallery-slide img{object-fit:contain;background:#061a27}
.gallery-slide:after{inset:58% 0 0}
.gallery-dots{gap:7px;flex-wrap:wrap;justify-content:center}
.gallery-dots button{min-width:8px}
/* On phones, show only three questions initially. 'More' reveals the other seven. */
@media(max-width:1100px) and (min-width:901px){.site-nav{gap:12px}.site-nav a:not(.nav-cta){font-size:12px}.brand-name{font-size:12px}}
@media(max-width:900px){.site-nav a:not(.nav-cta){font-size:15px;padding:12px 14px}.site-nav a:not(.nav-cta)::after{bottom:2px;left:14px;right:14px}.brand-name{font-size:12px}.brand-name small{font-size:9.5px}}
@media(max-width:720px){
 .hero-ribbon{height:auto;min-height:68px}
 .hero{min-height:calc(100svh - var(--header-h) - 68px)}
 .ribbon-inner{padding:8px 0;gap:4px 16px}
 .ribbon-inner span{font-size:11px}
 .ribbon-inner .icon{width:15px;height:15px}
 .hero-desc{font-size:14.5px}
 .hero-small{font-size:11px}
 .hero-kicker{font-size:10px}
 .gallery-head>p,.faq-heading>p{font-size:14.5px}
 .faq-item summary{font-size:14px;min-height:54px;padding:13px 14px}
 .faq-item>p{font-size:14px}
 body:not(.faq-expanded) .faq-mobile-extra{display:none}
 .faq-aside p:not(.eyebrow){font-size:14.5px}
 .thumb-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:390px){
 .hero{min-height:calc(100svh - var(--header-h) - 68px)}
 .hero-desc{font-size:13.5px;line-height:1.58}
 .ribbon-inner span{font-size:10px}
 .brand img{width:44px;height:44px}
 .brand-name{font-size:11px}
 .brand-name small{font-size:8.5px}
 .gallery-window{height:280px}
}


/* V8 legacy cascade */
/* V8 PREMIUMAUSBESSERUNG. Nicht globales CSS ersetzen: überprüfbare Overrides der V7-Basis. */
:root{--max:1170px;--header-h:82px;--ease:cubic-bezier(.17,.77,.26,1)}
/* Header: native, scharfe Pixeltextdarstellung. Icon behält sein Seitenverhältnis. */
.site-header{height:var(--header-h);background:#071925;box-shadow:0 6px 20px rgba(2,16,26,.16)}
.header-inner{gap:26px}
.brand{gap:13px}.brand img{width:56px;height:53px;max-width:none;object-fit:contain;filter:none}
.brand-name{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.22;font-weight:800;letter-spacing:0;color:#fff;text-shadow:none}
.brand-name small{font-size:11px;letter-spacing:.15em;color:#79e5f0}
.site-nav{gap:18px}
.site-nav a:not(.nav-cta){font-size:14px;font-weight:700;color:#f5fbff;letter-spacing:0;text-shadow:none;opacity:1;-webkit-font-smoothing:auto}
.site-nav a:not(.nav-cta):hover,.site-nav a[aria-current="location"]{color:#7ceaf2}
.site-nav a:not(.nav-cta)::after{bottom:-17px;height:3px;background:#46d3e5}
.nav-cta{font-size:14px;font-weight:800;padding:12px 20px;box-shadow:0 10px 26px rgba(34,192,214,.2)}
/* Filmischer Hero darf DUNKEL bleiben. Nur Textbehandlung und Kontaktbuttons werden veredelt. */
.hero-film{background:linear-gradient(90deg,rgba(4,14,24,.88) 0%,rgba(4,14,24,.73) 25%,rgba(4,14,24,.42) 57%,rgba(4,14,24,.28) 100%),linear-gradient(0deg,rgba(3,14,25,.56),transparent 56%)}
.hero h1{font-size:clamp(2.55rem,4.7vw,4.65rem);max-width:18ch;line-height:1.055;letter-spacing:-.042em;text-shadow:0 2px 13px rgba(0,0,0,.2)}
.hero-copy{max-width:650px;transform-origin:42% 52%}
.hero.hero-entrance .hero-copy{animation:hero-v8-elegant 1.72s cubic-bezier(.18,.68,.24,1) .07s both}
@keyframes hero-v8-elegant{0%{opacity:0;transform:translate3d(0,30px,0) scale(.958)}30%{opacity:.38}65%{opacity:.83}100%{opacity:1;transform:none}}
.hero-desc{color:#f5fafc;font-size:16px;line-height:1.65;font-weight:500;max-width:50ch}
.hero-kicker{color:#a2f0f7;font-weight:800}.hero-small{color:#f2f9fc;font-size:12.5px}
.hero-actions{gap:12px}.hero-actions .button-primary{background:#2fc3d7;color:#062431;box-shadow:0 0 0 1px rgba(175,249,252,.16),0 14px 30px rgba(0,9,15,.36)}
.hero-actions .button-glass{background:rgba(4,22,33,.83);border-color:rgba(228,252,253,.76);color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.hero-actions .button:hover{transform:translateY(-3px);box-shadow:0 17px 30px rgba(2,16,23,.37)}
/* Auch bei angefahrenem Abschnitt bleiben Lesbarkeit und Animation intakt. */
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.10em}
.section-heading>p:last-child,.faq-heading>p,.gallery-head>p{font-size:16px;font-weight:500;line-height:1.62}
.service-card p,.journey-card p,.proof-text>p:not(.eyebrow),.faq-item>p,.contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.65}
.service-card .text-action,.proof-text .text-action{font-size:14px}
/* Bei V7 wurden Reveal-Elemente zwar markiert, aber zu früh/unsicher initialisiert.
   V8 entkoppelt Einblenden von Header-/Gallery-Animation und lässt den Ausgangstext ohne JS sichtbar. */
.motion-ready .reveal:not(.revealed){opacity:0;transform:translate3d(0,30px,0)}
.motion-ready .reveal.revealed{opacity:1;transform:none}
.motion-ready .reveal{transition:opacity .92s cubic-bezier(.16,.75,.25,1),transform .92s cubic-bezier(.16,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .service-card.reveal.revealed:hover,.motion-ready .journey-card.reveal.revealed:hover{transform:translateY(-8px)}
/* Differenziert abgestufte, nicht reinweiße Leistungskarten */
.service-card:nth-child(1){background:linear-gradient(160deg,#fafdfe,#edf7f8)}
.service-card:nth-child(2){background:linear-gradient(160deg,#eaf5f7,#dceef2)}
.service-card:nth-child(3){background:linear-gradient(160deg,#d9eaf0,#c5e2eb)}
.service-card{box-shadow:0 12px 26px rgba(16,65,80,.1),0 28px 56px rgba(15,66,82,.08),inset 0 1px rgba(255,255,255,.9)}
/* Drei abgesetzte (nicht reinweiße) Benefits in der Arbeitsweise */
.proof-feature:nth-child(1){background:linear-gradient(135deg,#e8f4f6,#d8edf1);color:#102f40}
.proof-feature:nth-child(2){background:linear-gradient(135deg,#d7eef1,#c4e3e9);color:#102f40}
.proof-feature:nth-child(3){background:linear-gradient(135deg,#c1e4e9,#a9d6df);color:#102f40}
.proof-feature{border-color:rgba(145,227,240,.38);box-shadow:0 10px 25px rgba(0,12,20,.16)}
.proof-feature b,.proof-feature strong,.proof-feature p,.proof-feature span{color:#12384a}
.proof-feature:hover{transform:translateY(-5px);box-shadow:0 18px 37px rgba(0,12,20,.24)}
/* Zentrales BUGFIX: V7 .stage ist display:flex row. Bewertungen sind drei Geschwister: .reviews-grid und .review-bottom.
   Dadurch wurde die Überschrift links herausgedrückt. V8 stellt sie in denselben Container als eine Spalte. */
.reviews-section.stage{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:calc(100svh - var(--header-h));padding:72px 0;background:linear-gradient(130deg,#e8f2f2,#f6f9f6 52%,#e8f2f2)}
.reviews-section .review-chapter{width:min(var(--max),calc(100% - 56px));margin-left:auto;margin-right:auto;min-width:0}
.reviews-main{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr);gap:clamp(36px,5vw,80px);align-items:center}
.reviews-copy{min-width:0}.reviews-copy h2{max-width:15ch;font-size:clamp(2rem,3.35vw,3.25rem);line-height:1.12;letter-spacing:-.04em}
.reviews-copy>p:not(.eyebrow){max-width:49ch;color:#2e505f;font-size:16px;font-weight:500;line-height:1.7;margin:18px 0 21px}
.reviews-metrics{min-width:0;padding:26px 29px;box-shadow:0 24px 60px rgba(16,66,79,.14)}
.reviews-metrics .rating-fine{font-size:13px;line-height:1.62;color:#395d6c;margin-top:16px}
.review-preview{margin-top:27px;background:linear-gradient(145deg,#d8ebef,#e7f3f4);border:1px solid #bcdde3;border-radius:22px;padding:22px 26px;box-shadow:0 16px 33px rgba(18,70,86,.11)}
.review-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:22px}
.review-preview-heading h3{font-size:clamp(18px,2vw,23px);margin-top:6px;color:#153a4b;letter-spacing:-.02em}
.review-arrows{display:flex;gap:9px}.review-arrows button{height:39px;width:39px;border-radius:50%;background:#f9fdfd;border:1px solid #abd4da;color:#0b657b;font-size:21px;cursor:pointer}
.review-arrows button:hover{background:#0f6076;color:white}
.review-window{overflow:hidden;margin-top:15px;border-radius:14px;background:#fbfefd;border:1px solid #d3e6e8}
.review-track{display:flex;transition:transform .62s cubic-bezier(.18,.72,.2,1);will-change:transform}
.review-slide{min-width:100%;flex:0 0 100%;padding:17px 20px 16px;min-height:137px;display:flex;flex-direction:column;justify-content:center}
.review-mini-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#087f91}
.review-slide p{font-size:15px;font-weight:600;color:#20465a;line-height:1.6;margin-top:7px;max-width:80ch}
.review-signature{font-size:12px;color:#426878;font-weight:600;margin-top:7px}
.review-preview-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:12px;color:#396272;font-size:12px;font-weight:700}
.review-location{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:17px;color:#2e5262;font-size:14px;font-weight:600}
.review-location a{color:#087b90;font-weight:800}
/* Header, Breadcrumbs, ribbons, cards remain legible */
.hero-ribbon{background:#f5fafb;color:#153a4d;border-top-color:#25c2d3}
.ribbon-inner span,.ribbon-inner a{font-size:13px;color:#153b4b;font-weight:800}
.ribbon-inner a{color:#086d80}
.faq-item summary{font-size:15px;color:#173747;font-weight:700}
.faq-item>p{font-weight:500;color:#365664}
.contact-method{box-shadow:0 15px 34px rgba(1,17,26,.23)}
.contact-method span,.contact-method small{font-size:14px;line-height:1.55}
.button,.nav-cta{font-family:Arial,Helvetica,sans-serif;text-shadow:none}
/* Responsive, no huge text or sideways overflow */
@media(max-width:1100px){.site-nav{gap:12px}.site-nav a:not(.nav-cta){font-size:12px}.brand-name{font-size:12px}.brand-name small{font-size:9.5px}.brand img{width:48px;height:49px}}
@media(max-width:900px){:root{--header-h:70px}.site-nav a:not(.nav-cta){font-size:15px}.site-nav a:not(.nav-cta)::after{bottom:0}.reviews-section .review-chapter{width:calc(100% - 42px)}.reviews-main{gap:30px}}
@media(max-width:720px){.reviews-section.stage{min-height:unset;padding:65px 0}.reviews-main{grid-template-columns:1fr;gap:25px}.reviews-copy h2{max-width:21ch}.reviews-metrics{padding:24px}.review-preview{margin-top:25px;padding:17px}.review-preview-bottom{font-size:11px}.review-location{flex-wrap:wrap}.brand img{width:48px;height:49px}.brand-name{font-size:12px}.hero h1{font-size:clamp(2.2rem,7.8vw,3.3rem)}.hero-desc{font-size:14.5px}.hero.hero-entrance .hero-copy{animation-duration:1.64s}}
@media(max-width:390px){.reviews-section .review-chapter{width:calc(100% - 36px)}.brand img{width:44px;height:45px}.brand-name{font-size:10.5px}.hero h1{font-size:clamp(2.1rem,10vw,2.6rem)}.review-preview-heading h3{font-size:17px}.review-slide{min-height:175px;padding:14px}.review-slide p{font-size:13.5px}.review-location{font-size:12px}}
/* Arbeitsweise-Module nutzen in der Vorlage .proof-features > div, NICHT .proof-feature. */
.proof-features>div{border:1px solid rgba(131,215,230,.5);border-radius:13px;box-shadow:0 10px 24px rgba(0,8,17,.18);transition:transform .3s cubic-bezier(.17,.77,.26,1),box-shadow .3s ease}
.proof-features>div:nth-child(1){background:linear-gradient(125deg,#e8f5f7,#d8edf1);color:#163e4e}
.proof-features>div:nth-child(2){background:linear-gradient(125deg,#d6edf1,#bee3e9);color:#163e4e}
.proof-features>div:nth-child(3){background:linear-gradient(125deg,#c0e3e9,#aad5df);color:#163e4e}
.proof-features>div strong,.proof-features>div small{color:#173a4c;font-weight:700}
.proof-features>div span{color:#0c768c}
.proof-features>div:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(0,9,18,.27)}
/* Sichtkontrolle: dunkle Schrift auf dunklem Hintergrund und cyan auf cyan verhindern. */
#einblicke .gallery-head>p{color:#e7f4f8!important;opacity:1!important;font-weight:500}
.site-nav .nav-cta[aria-current="location"],.site-nav .nav-cta:hover{color:#042634!important}
.contact-form-shell .eyebrow,.contact-form-shell .form-top .eyebrow{color:#06788c!important}
.contact-form-shell .form-top>p{color:#436573}


/* V9 legacy cascade */
/*
 V9 A · VISUAL STUDIO / CRAFTED FINISH
 An additive, documented layer above V6 core / V7 readability / V8 corrections.
 Keep dark cinematic Mercedes hero, translucent brand lines used sparingly, mixed light and dark chapters.
*/
:root{--v9-ink:#112f3b;--v9-slate:#365864;--v9-teal:#118fa2;--v9-glint:#61d7e4;--v9-radius:20px;--v9-shadow:0 15px 38px rgba(16,61,78,.13);--max:1170px}
/* Readability is determined by actual font sizes, weights and contrast, not blur effects. */
body{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.63;text-rendering:optimizeLegibility}
.section-heading p:not(.eyebrow),.proof-text>p:not(.eyebrow),.reviews-section p,.gallery-side p,.faq-heading p,.contact-intro>p:not(.eyebrow){line-height:1.64}
.site-nav a:not(.nav-cta){font-size:14px;font-weight:750;letter-spacing:.005em}
.brand-name strong{font-size:14px;line-height:1.17}.brand-name small{font-size:10.5px;line-height:1.3}
.brand img{aspect-ratio:348/327;width:55px;height:auto;object-fit:contain;image-rendering:auto}
.site-header{background:rgba(5,24,35,.98)}
.nav-cta{background:#39c5d6;color:#092c39;border:1px solid rgba(140,242,250,.45);box-shadow:0 12px 30px rgba(15,156,184,.20)}
.nav-cta:hover{background:#66d9e6;color:#082936}
/* Mercedes photo: NO crop/reframe changes, NO general background lightening. A soft localized
   6%-10% translucent screen spot touches hood/windshield, not the distant fence. */
.hero-photo{isolation:isolate}
.hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 27% 21% at 53% 44%,rgba(230,245,249,.10) 0%,rgba(215,241,246,.055) 40%,transparent 83%);mix-blend-mode:screen}
.hero .hero-film{z-index:0}
.hero .hero-light{z-index:2}
.hero-actions .button-primary{background:linear-gradient(125deg,#46d2e0,#2ab6d1);color:#052331;border-color:rgba(231,255,255,.46);box-shadow:0 0 0 1px rgba(8,31,43,.24),0 18px 44px rgba(0,12,20,.36)}
.hero-actions .button-glass{background:rgba(2,27,43,.88);border:1.5px solid rgba(218,250,255,.85);box-shadow:0 8px 23px rgba(0,11,19,.34)}
.hero-actions .button{font-weight:800;letter-spacing:.005em}
/* Deliberate global rhythm: navy hero -> light services -> nuanced petrol proof -> light
   process -> deep turquoise gallery -> cool ivory reviews -> white FAQ -> navy contact. */
.services-section{background:linear-gradient(155deg,#f2f7f7 0%,#ebf3f4 64%,#f8fbfb 100%)}
.service-card{border:1px solid rgba(20,92,111,.12);transition:transform .3s cubic-bezier(.16,.75,.25,1),box-shadow .3s ease,border-color .3s ease}
.service-card:hover{border-color:rgba(31,157,179,.35);box-shadow:0 24px 44px rgba(26,79,95,.17)}
.service-card:nth-child(1){background:linear-gradient(150deg,#f8fcfd,#e8f2f4)}
.service-card:nth-child(2){background:linear-gradient(145deg,#e8f2f4,#d7e9ed)}
.service-card:nth-child(3){background:linear-gradient(155deg,#dbeaf0,#bad8e2)}
.service-card h3,.service-card p,.service-card .text-action{color:#163846}
/* Proof / Arbeitsweise – softly illuminated petrol stage with sculptural diagonal highlights. */
.proof-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(119deg,#0e2734 0%,#16404e 53%,#183847 100%);color:#f5fdff}
.proof-section::before{content:"";pointer-events:none;position:absolute;inset:-30% -16% -25% -10%;z-index:-1;background:radial-gradient(ellipse 55% 46% at 29% 48%,rgba(70,149,164,.18),transparent 76%),radial-gradient(ellipse 41% 43% at 85% 10%,rgba(108,174,185,.11),transparent 73%)}
.proof-section::after{content:"";pointer-events:none;position:absolute;width:120%;height:190px;left:-10%;bottom:-135px;transform:rotate(-6deg);border-top:1px solid rgba(145,223,235,.08);border-radius:55% 40% 0 0}
.proof-image{border-radius:22px;box-shadow:0 28px 62px rgba(0,8,16,.30),0 0 0 1px rgba(185,247,251,.20);overflow:hidden;position:relative}
.proof-image img{filter:saturate(.98);object-fit:cover}
.proof-text p:not(.eyebrow){color:#e0eff3;font-size:15.5px;font-weight:500}
.proof-text h2{color:#fff}
.proof-features{gap:11px}
.proof-features>div{border:1px solid rgba(146,217,224,.52);box-shadow:0 12px 26px rgba(0,13,25,.2),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .32s cubic-bezier(.16,.7,.24,1),box-shadow .32s ease,border-color .32s ease;will-change:transform}
.proof-features>div:nth-child(1){background:linear-gradient(145deg,#f0f8f8,#dceef1)}
.proof-features>div:nth-child(2){background:linear-gradient(145deg,#daedf0,#c2e1e7)}
.proof-features>div:nth-child(3){background:linear-gradient(145deg,#c9e3e8,#acd4dd)}
.proof-features>div:hover{transform:translateY(-7px);border-color:#82e4ee;box-shadow:0 23px 43px rgba(0,10,22,.33),0 0 0 1px rgba(103,213,232,.2)}
.proof-features>div strong{font-size:15px;font-weight:800}.proof-features>div small{font-size:13px;line-height:1.45;font-weight:600}
/* Ablauf – cards gradually pick up more diffuse teal coverage; NEVER hard half/half edges. */
.process-section{background:linear-gradient(145deg,#edf5f5 0%,#e3f0f1 58%,#f1f7f6 100%)}
.journey-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(29,99,119,.13);box-shadow:0 12px 31px rgba(18,70,85,.12),0 28px 54px rgba(17,64,75,.06);transition:transform .32s cubic-bezier(.16,.75,.25,1),box-shadow .32s,border-color .32s}
.journey-card::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(ellipse 90% 88% at 100% 100%,rgba(43,144,162,.045) 0%,transparent 94%)}
.journey-card:nth-child(1){background:linear-gradient(132deg,#f7fbfc 12%,#ecf4f5 91%)}
.journey-card:nth-child(2){background:linear-gradient(135deg,#f0f8f8 3%,#dbecef 94%)}
.journey-card:nth-child(2)::before{background:radial-gradient(ellipse 115% 105% at 95% 105%,rgba(36,136,157,.11) 0%,transparent 85%)}
.journey-card:nth-child(3){background:linear-gradient(132deg,#e7f3f5 2%,#cae3e9 94%)}
.journey-card:nth-child(3)::before{background:radial-gradient(ellipse 125% 118% at 90% 96%,rgba(31,124,149,.15) 0%,transparent 86%)}
.journey-card:nth-child(4){background:linear-gradient(132deg,#dfedf1 0%,#b8d8e1 96%)}
.journey-card:nth-child(4)::before{background:radial-gradient(ellipse 130% 125% at 78% 100%,rgba(23,114,141,.19) 0%,transparent 91%)}
.journey-card:hover{border-color:#63becd;box-shadow:0 22px 49px rgba(18,70,85,.20)}
.journey-card h3{color:#133947;font-weight:800}.journey-card p{color:#315565;font-size:14px;font-weight:600}
.process-bottom{background:rgba(248,252,252,.84);border-color:rgba(30,95,112,.18)}
/* Gallery / Einblicke – one soft nautical wave used ONLY in this dark chapter. */
.gallery-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(132deg,#0b293a 0%,#0e3c4d 48%,#0c2638 100%);color:#f3fbff}
.gallery-section::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-66%;left:9%;width:125%;height:115%;border-radius:40% 0 46% 0;transform:rotate(-15deg);background:linear-gradient(165deg,transparent 32%,rgba(60,158,180,.17) 46%,rgba(7,68,88,.06) 68%,transparent 90%)}
.gallery-section::after{content:"";position:absolute;pointer-events:none;z-index:-1;left:-18%;bottom:-42%;width:133%;height:55%;border-radius:52% 52% 0 0;transform:rotate(-7deg);background:linear-gradient(90deg,rgba(63,173,191,.14),rgba(10,45,67,.07))}
.gallery-head{gap:32px;margin-bottom:25px}.gallery-head h2{color:#fff}.gallery-head p:not(.eyebrow){color:#e6f4f7;font-size:15.5px;font-weight:600}
.gallery-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,.82fr);gap:23px;align-items:stretch}
.gallery-main{border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;position:relative}
.gallery-window{height:clamp(345px,32vw,452px);border:1px solid rgba(178,242,246,.30);border-radius:23px;overflow:hidden;position:relative;background:#143c4d;box-shadow:0 26px 49px rgba(0,12,24,.26)}
.gallery-track{height:100%;transition:transform .54s cubic-bezier(.16,.8,.24,1)}
.gallery-slide{height:100%;position:relative;overflow:hidden}
.gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:none;display:block}
.gallery-slide:nth-child(2) img{object-position:50% 45%}
.gallery-slide:nth-child(3) img{object-position:50% 52%}
.gallery-slide:nth-child(4) img{object-position:53% 50%}
.gallery-slide:nth-child(5) img{object-position:53% 52%}
.gallery-slide:nth-child(6) img{object-position:50% 44%}
.gallery-slide:nth-child(7) img{object-position:50% 50%}
.gallery-slide:nth-child(8) img{object-position:48% 50%}
.gallery-slide:nth-child(9) img{object-position:52% 48%}
.gallery-slide:after{inset:53% 0 0;background:linear-gradient(0deg,rgba(3,22,32,.86),transparent)}
.gallery-slide figcaption{bottom:25px;left:26px;right:130px;padding-left:16px;border-left:3px solid #56d8e3;z-index:2}
.gallery-slide figcaption strong{font-size:21px;font-weight:800;color:#fff}
.gallery-slide figcaption span{font-size:13px;color:#f1f9fb;font-weight:550}
.gallery-float-bar{position:absolute;inset:0;pointer-events:none;z-index:5}
.gallery-float-bar .gallery-arrow{position:absolute;top:46%;transform:translateY(-50%);pointer-events:auto;width:43px;height:43px;font-size:23px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:100%;background:rgba(7,32,45,.57);box-shadow:0 8px 18px rgba(0,0,0,.25);color:#fff;backdrop-filter:blur(7px)}
.gallery-float-bar .gallery-arrow[data-prev]{left:16px}.gallery-float-bar .gallery-arrow[data-next]{right:16px}
.gallery-float-bar .gallery-arrow:hover{background:#1694ac;transform:translateY(-50%);color:#fff}
.gallery-float-bar .gallery-status{display:none}
.gallery-float-bar .gallery-dots{position:absolute;right:22px;bottom:22px;pointer-events:auto;display:flex;align-items:center;gap:6px}
.gallery-float-bar .gallery-dots button{width:8px;height:8px;background:rgba(216,242,246,.53);border:0}
.gallery-float-bar .gallery-dots button[aria-current="true"]{width:23px;background:#6cebf1}
.gallery-side{min-width:0;border-radius:23px;border:1px solid rgba(146,236,244,.48);background:linear-gradient(151deg,rgba(52,119,138,.78),rgba(14,58,75,.94) 67%,rgba(8,45,61,.96));padding:25px;box-shadow:0 25px 50px rgba(0,15,25,.33),inset 0 1px rgba(213,251,255,.16);backdrop-filter:blur(6px)}
.gallery-camera{display:grid;place-items:center;color:#c0f8fb;background:rgba(50,183,201,.26);height:39px;width:39px;border:1px solid rgba(151,244,247,.46);border-radius:13px;font-size:27px;margin-bottom:10px}
.gallery-side h3{font-size:23px;line-height:1.19;color:#fff;font-weight:800;margin:9px 0 12px}
.gallery-side p{color:#e4f5f8;font-size:13.5px;font-weight:550;line-height:1.55}
.thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0 20px}
.thumb{border:2px solid rgba(201,239,242,.27);border-radius:11px;aspect-ratio:1.25;background:rgba(8,39,51,.22);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.thumb img{filter:none;object-fit:cover}
.thumb[aria-current="true"]{border-color:#6ee6ed;box-shadow:0 0 0 1px rgba(125,232,237,.4),0 0 17px rgba(55,224,235,.25)}
.thumb:hover{transform:translateY(-3px);border-color:#87e6ed}
.gallery-side>.text-action{color:#c2f9fc;border-top:1px solid rgba(212,245,249,.18);padding-top:14px;font-weight:800;font-size:14px}
/* Reviews: intentionally ONE centered composition, compact contrast layers, no giant horizontal placeholder strips. */
.reviews-section.stage{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:64px 0;min-height:calc(100svh - var(--header-h));background:linear-gradient(138deg,#f0f6f5 0%,#e7f0ef 57%,#f6f9f6 100%);color:#123647}
.review-studio{width:min(var(--max),calc(100% - 56px));margin:0 auto;min-width:0}
.review-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:38px;align-items:center;margin-bottom:25px}
.review-lead h2{font-size:clamp(2.1rem,3.7vw,3.3rem);max-width:18ch;line-height:1.1;color:#123b4b;letter-spacing:-.04em}
.review-lead h2 em{font-style:normal;color:#12899a}
.review-lead>p:not(.eyebrow){color:#365b67;max-width:65ch;margin-top:12px;font-size:15px;font-weight:550}
.rating-emblem{background:linear-gradient(150deg,#eef9f9,#dbecef);border:1px solid #b1d5dd;border-radius:20px;box-shadow:0 15px 38px rgba(20,86,103,.16),inset 0 1px #fff;padding:23px 26px;color:#103749}
.rating-provider{font-size:11px;font-weight:800;letter-spacing:.13em;color:#166e82}
.rating-emblem-row{display:flex;gap:18px;align-items:center;padding:7px 0 2px}
.rating-emblem-row>strong{font-size:clamp(4.4rem,6vw,6.5rem);line-height:1;letter-spacing:-.085em;color:#093345}
.rating-emblem-row>span{display:grid;gap:3px;min-width:0}
.rating-emblem .rating-stars{font-size:20px;letter-spacing:2px;color:#e5a323;white-space:nowrap}
.rating-emblem b{font-size:14px;color:#163c4a}
.rating-emblem small{font-size:12px;color:#486771;font-weight:600}
.review-carousel-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:18px;align-items:stretch}
.review-guidance{border-radius:21px;padding:24px 25px;background:linear-gradient(140deg,#d8e9ec 0%,#c7e0e5 100%);border:1px solid #b3d3db;box-shadow:0 12px 30px rgba(27,79,93,.10)}
.review-guidance h3{color:#113d4d;font-size:23px;line-height:1.15;margin:13px 0 9px}
.review-guidance p{color:#2d5664;font-size:13.5px;font-weight:600}
.demo-chip{font-size:10.5px;color:#087e92;font-weight:850;letter-spacing:.1em}
.review-google-link{display:inline-block;color:#067990;margin-top:15px;font-weight:800;font-size:13px}
.review-google-link:hover{text-decoration:underline}
.review-carousel-card{border-radius:21px;padding:15px 21px 13px;background:linear-gradient(150deg,#fff,#f5fafb);border:1px solid #c8dfe2;box-shadow:0 15px 34px rgba(19,82,101,.14),inset 0 1px #fff;min-width:0;overflow:hidden}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;height:33px}
.review-card-mark{font-size:53px;line-height:1;color:#4bc5d3;font-weight:800}
.review-window{overflow:hidden;background:transparent;border:0;border-radius:0;margin:0}
.review-track{display:flex;transition:transform .65s cubic-bezier(.17,.72,.25,1);will-change:transform}
.review-slide{flex:0 0 100%;min-width:100%;height:172px;min-height:0;padding:0 10px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.review-sample-stars{color:#e2a126;font-size:19px;letter-spacing:2px}
.review-slide p{font-size:16px;color:#163d4d;font-weight:650;line-height:1.45;max-width:54ch;margin:0}
.review-signature{font-size:12px;font-weight:700;color:#52717b;margin-top:2px}
.review-carousel-footer{border-top:1px solid #dbe8eb;display:flex;align-items:center;justify-content:space-between;padding-top:8px;color:#52757f;font-size:12px;font-weight:800}
.review-arrows{display:flex;gap:9px}.review-arrows button{height:37px;width:37px;border-radius:50%;background:#e8f5f6;border:1px solid #b9d7dd;color:#0a6a7e;font-size:19px;cursor:pointer;transition:background .2s}
.review-arrows button:hover{background:#147e93;color:#fff}
.review-location{margin-top:15px;padding:13px 2px 0;border-top:1px solid #cbdfe2;display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#335d6b;font-size:12.5px}
.review-location a{color:#097c8d;font-weight:800}
/* Systematic FAQ hues, never random alternating. */
.faq-section{background:linear-gradient(140deg,#fff,#f5f9f9 75%,#eef6f6)}
.faq-list .faq-item:nth-of-type(4n+1){background:linear-gradient(155deg,#fcfefe,#f0f6f7)}
.faq-list .faq-item:nth-of-type(4n+2){background:linear-gradient(155deg,#f3f9fa,#e4f0f2)}
.faq-list .faq-item:nth-of-type(4n+3){background:linear-gradient(155deg,#e8f3f5,#d6e9ed)}
.faq-list .faq-item:nth-of-type(4n){background:linear-gradient(155deg,#dcecf0,#c3dfe6)}
.faq-item{box-shadow:0 8px 19px rgba(22,69,83,.085);border:1px solid #cfdee2;transition:box-shadow .26s,border-color .26s,transform .26s cubic-bezier(.16,.75,.25,1)}
.faq-item:hover,.faq-item[open]{transform:translateY(-4px);border-color:#6ebcca;box-shadow:0 19px 34px rgba(20,87,102,.16)}
.faq-item summary{font-size:14px;color:#163b4c;font-weight:800;line-height:1.43}
.faq-item>p{font-size:14px;line-height:1.62;color:#335867;font-weight:550}
.faq-heading>p{color:#406572;font-weight:550}
/* Contact & small text uniformity */
.contact-method{border:1px solid rgba(161,234,244,.29)}
.contact-method:hover{transform:translateY(-4px);box-shadow:0 21px 40px rgba(3,23,35,.28)}
.contact-method strong{font-size:16px}.contact-method small{font-size:14px;font-weight:550}
.form-card label{font-size:13px;font-weight:750}.demo-note,.contact-caution{font-size:12.5px;line-height:1.5;font-weight:550}
/* Desktop/Tablet: allow stage sections to own the visible area without clipping text. */
@media(min-width:901px){.proof-section.stage,.process-section.stage,.gallery-section.stage{min-height:calc(100svh - var(--header-h));display:flex;align-items:center;justify-content:center;padding:56px 0}}
@media(max-width:1140px){.site-nav{gap:12px}.site-nav a:not(.nav-cta){font-size:12.4px}.brand-name strong{font-size:12px}.brand-name small{font-size:9.5px}.gallery-layout{grid-template-columns:1.35fr .85fr}}
@media(max-width:900px){.review-head{grid-template-columns:1fr 280px}.gallery-layout{grid-template-columns:1fr}.gallery-side{padding:24px}.gallery-side .thumb-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:7px}.gallery-side h3{font-size:22px}.site-nav a:not(.nav-cta){font-size:15px}}
@media(max-width:720px){
 .hero-photo::after{background:radial-gradient(ellipse 38% 20% at 55% 43%,rgba(230,245,249,.065),transparent 80%)}
 .proof-section,.gallery-section{overflow:hidden}
 .proof-section::after{display:none}
 .gallery-head{margin-bottom:22px}.gallery-head>p{max-width:42ch}
 .gallery-window{height:clamp(270px,67vw,390px)}
 .gallery-slide figcaption{bottom:18px;left:17px;right:26px;padding-left:10px}
 .gallery-slide figcaption strong{font-size:18px}.gallery-slide figcaption span{font-size:12px}
 .gallery-float-bar .gallery-arrow{width:36px;height:36px;font-size:19px;top:40%}.gallery-float-bar .gallery-arrow[data-prev]{left:10px}.gallery-float-bar .gallery-arrow[data-next]{right:10px}
 .gallery-float-bar .gallery-dots{bottom:9px;right:13px;gap:4px}.gallery-float-bar .gallery-dots button{width:6px;height:6px}.gallery-float-bar .gallery-dots button[aria-current="true"]{width:16px}
 .gallery-side .thumb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
 .gallery-side h3{font-size:21px}.gallery-side p{font-size:13.5px}
 .review-head{grid-template-columns:1fr;gap:20px}.rating-emblem{max-width:380px;width:100%}
 .review-carousel-layout{grid-template-columns:1fr;gap:15px}.review-guidance{padding:19px 21px}.review-guidance h3{font-size:21px}
 .review-slide{height:172px}.review-slide p{font-size:14.5px}
 .reviews-section.stage{padding:58px 0}.review-studio{width:calc(100% - 34px)}
 .faq-item summary{font-size:14px}
}
@media(max-width:390px){.review-slide{height:194px}.review-slide p{font-size:14px}.rating-emblem-row>strong{font-size:4.5rem}.gallery-window{height:268px}.gallery-side .thumb-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
/* V9 final visual correction: all gallery controls and thumbnails fit within a desktop chapter. */
@media(min-width:901px){.gallery-side .thumb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 13px}.gallery-side{padding:22px}.gallery-side h3{font-size:21px;margin:7px 0 9px}.gallery-side p{font-size:13px;line-height:1.44}.gallery-camera{height:32px;width:32px;font-size:21px;margin-bottom:6px}}
.gallery-window{border:0}
/* 320px devices: the full hero ribbon remains in the first viewport; two tidy ribbon rows. */
@media(max-width:360px){
 .ribbon-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:start;gap:5px 8px;padding:8px 0}
 .ribbon-inner span{font-size:10px;line-height:1.22;letter-spacing:0;min-width:0}
 .hero{min-height:calc(100svh - var(--header-h) - 68px);height:calc(100svh - var(--header-h) - 68px)}
 .hero-content{padding:12px 0}
 .hero-desc{font-size:13px;line-height:1.54}
 .hero-actions{margin-top:15px;gap:8px}
 .hero-small{margin-top:10px}
 .hero h1{font-size:clamp(2.0rem,10vw,2.35rem)}
}


/* ==========================================================================
   BERGSTRASSE V10 – DEFINITIVE DESIGN-SYSTEM FINISH (03.11.2026)
   All prior cascade is bundled into this ONE stylesheet in source order.
   The rules below are V10's authoritative tokens, typography, and section
   continuity. Future revisions must change this canonical file only.
   ========================================================================== */
:root{
 --font-ui:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
 --copy:16px; --copy-small:15.5px;
 --ink-deep:#153847; --ink-secondary:#315260;
 --flow-duration:1.1s; --flow-ease:cubic-bezier(.16,.75,.25,1);
 --wave-light:url("../images/flow-continuity-light.svg");
 --wave-dark:url("../images/flow-continuity-dark.svg");
}
html{scroll-padding-top:var(--header-h)}
body{font-family:var(--font-ui);font-size:16px;line-height:1.62;text-rendering:optimizeLegibility;-webkit-font-smoothing:auto}
button,input,textarea,select{font-family:var(--font-ui)}
/* Keep the approved compact heading sizes, but make small copy consistent. */
.site-nav a:not(.nav-cta){font-family:var(--font-ui);font-size:14px;font-weight:700;letter-spacing:0}
.brand-name,.brand-name strong{font-family:var(--font-ui);letter-spacing:0;font-weight:750}
.brand-name strong{font-size:14px}.brand-name small{font-size:11px;letter-spacing:.11em}
.hero-desc{font-family:var(--font-ui);font-size:16px;line-height:1.62;font-weight:550}
.hero .button,.nav-cta{font-family:var(--font-ui);font-size:14px;font-weight:750}
.section-heading>p:last-child,.section-heading p:not(.eyebrow),.gallery-head>p,.reviews-section .review-lead>p:not(.eyebrow),.faq-heading>p,.contact-intro>p:not(.eyebrow){font-family:var(--font-ui);font-size:16px;line-height:1.62;font-weight:550}
/* Cards: 16px min body on desktop; real contrast, not an artificial zoom. */
.service-card p,.service-card .text-action,.journey-card p,.proof-features>div small,
.gallery-side p,.gallery-slide figcaption span,.review-slide p,.faq-item summary,
.faq-item>p,.faq-aside p:not(.eyebrow),.contact-method small,.contact-method span,
.form-top>p:last-child,.form-card input,.form-card textarea,.form-card select,
.process-bottom p,.review-caption,.rating-emblem small{
 font-family:var(--font-ui);font-size:var(--copy);line-height:1.56;letter-spacing:0;font-weight:550;
}
.service-card h3,.journey-card h3,.proof-features>div strong{font-family:var(--font-ui);font-size:18px;line-height:1.35;letter-spacing:-.018em;font-weight:760}
.service-card p,.journey-card p,.service-card .text-action{color:#1B3D4B}
.proof-features>div small,.proof-features>div strong{color:#163747}
.proof-features>div{min-height:84px;padding:15px 17px}
.proof-features{gap:11px}
.proof-text>p:not(.eyebrow){font-size:16px;line-height:1.62;font-weight:550;color:#EFF8FA}
.faq-item summary,.faq-item>p{color:#173A48}
.faq-item summary{font-weight:700;padding:17px 17px 17px 19px}
.faq-item>p{padding:0 19px 18px}
.gallery-side p,.gallery-slide figcaption span{color:#F0F9FB}
.gallery-side h3{font-size:23px;line-height:1.22}
.gallery-slide figcaption span{font-weight:540}
.review-slide p,.review-slide .review-signature{color:#214755}
.review-slide .review-signature,.review-mini-label{font-size:13px;font-weight:650}
.contact-method small{color:#F0FAFC}
.form-top>p:last-child{color:#365967}
.form-card label{font-size:15px}
.form-card input,.form-card textarea,.form-card select{color:#193D4A}
.section-note,.rating-emblem small,.review-location,.demo-note{font-size:13.5px;line-height:1.5}
/* Hover maintains fixed card dimensions – no zooming or neighboring movement. */
.service-card,.journey-card,.proof-features>div,.faq-item{transition:transform .32s var(--flow-ease),box-shadow .32s ease,border-color .32s ease,background-color .32s ease}
.proof-features>div:hover{transform:translateY(-6px);box-shadow:0 25px 43px rgba(0,10,22,.32)}
.service-card:hover,.journey-card:hover{transform:translateY(-7px)}
.faq-item:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(19,79,95,.13)}
/* Each chapter has its own hue while the SAME curved geometry connects them.
   A very gentle scroll-tied shift of up to 21px makes the sweep feel fluid.
   Section background remains fully legible WITHOUT the SVG or JavaScript. */
section.design-flow{position:relative;isolation:isolate;overflow:hidden}
section.design-flow>.flow-art{position:absolute;inset:-24px 0;z-index:0;pointer-events:none;background-repeat:no-repeat;background-size:cover;background-position:center;transform:translate3d(0,var(--flow-shift,0px),0);will-change:transform;opacity:var(--flow-opacity,.75)}
section.design-flow>.container{position:relative;z-index:1}
.services-section.design-flow{background:linear-gradient(148deg,#F5FAFA 0%,#EBF3F4 53%,#F7FAF9 100%)}
.services-section>.flow-art{background-image:var(--wave-light);--flow-opacity:.83}
.proof-section.design-flow{background:linear-gradient(118deg,#102A37 0%,#16404E 46%,#163642 100%)}
.proof-section>.flow-art{background-image:var(--wave-dark);--flow-opacity:.72;transform:translate3d(0,var(--flow-shift,0px),0) scaleX(-1)}
.process-section.design-flow{background:linear-gradient(147deg,#F0F7F7 0%,#E1EFF1 60%,#F5F9F7 100%)}
.process-section>.flow-art{background-image:var(--wave-light);--flow-opacity:.84}
.gallery-section.design-flow{background:linear-gradient(135deg,#0A2636 0%,#0D394A 55%,#0B2938 100%)}
.gallery-section::before,.gallery-section::after{display:none}
.gallery-section>.flow-art{background-image:var(--wave-dark);--flow-opacity:1;transform:translate3d(0,var(--flow-shift,0px),0) scaleX(-1)}
.reviews-section.stage.design-flow{background:linear-gradient(140deg,#F6F9F7 0%,#E7F1F1 60%,#F7F9F8 100%)}
.reviews-section>.flow-art{background-image:var(--wave-light);--flow-opacity:.68;transform:translate3d(0,var(--flow-shift,0px),0) scaleX(-1)}
.faq-section.design-flow{background:linear-gradient(135deg,#FCFDFD 0%,#EDF6F6 72%,#F8FBFB 100%)}
.faq-section>.flow-art{background-image:var(--wave-light);--flow-opacity:.43}
.contact-section.design-flow{background:linear-gradient(143deg,#133B4C 0%,#0A2636 74%,#0C3040 100%)}
.contact-section>.flow-art{background-image:var(--wave-dark);--flow-opacity:.58;transform:translate3d(0,var(--flow-shift,0px),0) scaleX(-1)}
/* Previous proof pseudo layers competed with the V10 continuity artwork. */
.proof-section::before,.proof-section::after{display:none}
/* Keep staggered light tones: white is never used as the only service-panel color. */
.service-card:nth-child(1){background:linear-gradient(150deg,#F7FBFC,#EAF4F5)}
.service-card:nth-child(2){background:linear-gradient(150deg,#EAF4F5,#D4E8EC)}
.service-card:nth-child(3){background:linear-gradient(150deg,#D7EAEF,#B9D9E1)}
.proof-features>div:nth-child(1){background:linear-gradient(140deg,#E9F5F6,#D8EBEF)}
.proof-features>div:nth-child(2){background:linear-gradient(140deg,#DAEEF0,#C4E2E7)}
.proof-features>div:nth-child(3){background:linear-gradient(140deg,#C8E4E9,#A6D3DC)}
/* A flowing section is not an excuse to reduce contrast. */
.process-bottom{background:rgba(247,251,251,.93)}
.gallery-side{background:linear-gradient(140deg,rgba(31,101,121,.95),rgba(9,49,67,.99));box-shadow:0 24px 55px rgba(0,18,28,.35),inset 0 1px 0 rgba(206,248,253,.25)}
.thumb:hover{border-color:#89E4EC}
.review-studio{position:relative;z-index:1}
.review-slide{background:transparent}
.rating-emblem{background:linear-gradient(150deg,#F3FAFA,#D7E9ED)}
.faq-item{border-color:#C9DFE5}
.faq-item:nth-child(4n+1){background:linear-gradient(160deg,#F7FBFB,#EDF5F6)}
.faq-item:nth-child(4n+2){background:linear-gradient(160deg,#EEF6F7,#E2F0F2)}
.faq-item:nth-child(4n+3){background:linear-gradient(160deg,#E7F2F4,#D5E9ED)}
.faq-item:nth-child(4n){background:linear-gradient(160deg,#DDECF0,#C4E1E7)}
/* Footer/site navigation are crisp system font, no blurring filters. */
.footer-grid nav,.footer-grid p{font-size:14px;line-height:1.55}
/* Responsive: no compressed microcopy at mobile widths. */
@media(max-width:1100px){.site-nav a:not(.nav-cta){font-size:13px}}
@media(max-width:900px){.site-nav a:not(.nav-cta){font-size:16px}.brand-name strong{font-size:13px}}
@media(max-width:720px){
 :root{--copy:15.5px}
 .service-card p,.journey-card p,.proof-features>div small,.gallery-side p,.faq-item>p,.faq-item summary{font-size:15.5px;line-height:1.55}
 .section-heading>p:last-child,.gallery-head>p,.faq-heading>p{font-size:15.5px}
 .proof-features>div strong{font-size:16px}
 .proof-text>p:not(.eyebrow){font-size:15.5px}
 .gallery-slide figcaption span{font-size:13.5px}
 .hero-desc{font-size:15px}
 .section-note{font-size:13px}
}
@media(max-width:390px){
 .service-card p,.journey-card p,.proof-features>div small,.gallery-side p,.faq-item>p,.faq-item summary{font-size:15px}
 .brand-name strong{font-size:11px}.brand-name small{font-size:9px}
 .hero-desc{font-size:14px}
 .gallery-side h3{font-size:20px}
}


/* ================================================================
   V11 A – CONTINUOUS VERTICAL COLOR FLOW · AUTHORITATIVE PATCH
   Only the mid-tone sections, their entering/exiting color gradients,
   and the image integration are intentionally changed. Light cards,
   service tones, process, reviews, FAQ, hero and UI type stay V10.
   Both flow SVGs use IDENTICAL Bezier geometry and matching endpoints
   (1144/1204 at y=0 and y=900). No per-section offset: no broken seams.
   ================================================================ */
:root{--v11-medium-1:#315967;--v11-medium-2:#2B5D69;--v11-medium-3:#2D6070;}
/* Background art is part of each chapter, not an image pasted on top.
   Transparent curves are the SAME shape on every chapter, including the
   bright chapters. No mirroring, no random horizontal direction. */
section.design-flow>.flow-art{
  background-size:100% 100%;background-position:center;
  inset:0;transform:none!important;will-change:auto;
}
.services-section>.flow-art{--flow-opacity:.92}
.proof-section>.flow-art{--flow-opacity:.96}
.process-section>.flow-art{--flow-opacity:.91}
.gallery-section>.flow-art{--flow-opacity:.98}
.reviews-section>.flow-art{--flow-opacity:.76}
.faq-section>.flow-art{--flow-opacity:.7}
.contact-section>.flow-art{--flow-opacity:.98}
/* Preserve every light section and its card colors, spacing, effects. */
/* Medium petrol replaces almost-black panels without turning white. */
.proof-section.design-flow{background:linear-gradient(150deg,#335F6B 0%,#2B5C68 50%,#214D5B 100%)}
.gallery-section.design-flow{background:linear-gradient(152deg,#295968 0%,#306979 52%,#235665 100%)}
.contact-section.design-flow{background:linear-gradient(152deg,#376572 0%,#2A5A68 48%,#22505E 100%)}
/* Fade each seam. The first 140 px of the incoming section blend
   with the actual outgoing chapter tone, with no hard color jump. */
.proof-section.design-flow::before,
.process-section.design-flow::before,
.gallery-section.design-flow::before,
.reviews-section.design-flow::before,
.contact-section.design-flow::before{
 content:"";display:block;position:absolute;left:0;right:0;top:0;
 height:clamp(95px,15vh,155px);pointer-events:none;z-index:1;
}
.proof-section.design-flow::before{background:linear-gradient(to bottom,#F7FAF9 0%,rgba(247,250,249,.60) 29%,transparent 100%)}
.process-section.design-flow::before{background:linear-gradient(to bottom,#214D5B 0%,rgba(33,77,91,.35) 29%,transparent 100%)}
.gallery-section.design-flow::before{background:linear-gradient(to bottom,#F5F9F7 0%,rgba(245,249,247,.42) 30%,transparent 100%)}
.reviews-section.design-flow::before{background:linear-gradient(to bottom,#235665 0%,rgba(35,86,101,.32) 30%,transparent 100%)}
.contact-section.design-flow::before{background:linear-gradient(to bottom,#F8FBFB 0%,rgba(248,251,251,.44) 30%,transparent 100%)}
/* Layer order: section background < continuous flow < seam fade < real content.
   Faint lines must never overlay text, links, cards or photographs. */
section.design-flow>.container,section.design-flow>.review-studio,
section.design-flow>.review-chapter{position:relative;z-index:2}
/* A real inspection photograph blending softly into surrounding petrol:
   no stretching, no fake retouch, no hard high-contrast sticker outline. */
.proof-section .proof-image{
 border:0!important;box-shadow:none!important;background:transparent!important;
 overflow:visible!important;border-radius:0!important;position:relative;
}
.proof-section .proof-image::before{
 content:"";position:absolute;inset:5% 2%;border-radius:30%;z-index:-1;
 background:radial-gradient(ellipse,rgba(121,212,220,.31) 0%,rgba(121,212,220,.07) 54%,transparent 79%);
 filter:blur(32px);pointer-events:none;
}
.proof-section .proof-image img{
 border:0!important;box-shadow:none!important;
 -webkit-mask-image:radial-gradient(ellipse 77% 82% at 50% 49%,#000 69%,rgba(0,0,0,.93) 78%,transparent 100%);
 mask-image:radial-gradient(ellipse 77% 82% at 50% 49%,#000 69%,rgba(0,0,0,.93) 78%,transparent 100%);
}
.proof-section .proof-image figcaption{position:absolute;bottom:6%;left:5%;z-index:2;}
/* Keep metadata readable in middle-tone parts; do not weaken white text. */
.proof-section .proof-text>p:not(.eyebrow),
.gallery-section .gallery-head>p,
.contact-section .contact-intro>p:not(.eyebrow){color:#F0FAFC}
.contact-section .contact-intro .eyebrow,
.proof-section .eyebrow,.gallery-section .eyebrow{color:#A9F0F4}
/* Slightly more luminous dark-chapter cards without altering their sizes. */
.gallery-side{background:linear-gradient(135deg,rgba(35,102,119,.94),rgba(20,80,99,.96))}
.contact-method{background:linear-gradient(155deg,rgba(241,253,253,.12),rgba(222,246,249,.07));border-color:rgba(180,243,248,.42)}
/* At mobile widths, seamless backgrounds matter more than ornamental
   rendering; reduce line contrast over stacked content. */
@media(max-width:720px){
 section.design-flow>.flow-art{opacity:.45!important;background-size:100% 100%}
 .proof-section .proof-image img{-webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,#000 72%,transparent 100%);mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,#000 72%,transparent 100%)}
 .proof-section .proof-image figcaption{bottom:5%;left:5%}
}

/* V11 sight-review fixes: the old V9 gallery ::before had oversized
   width/height, rotation, left offset and border-radius. Reset ALL geometry,
   not just the fade colors, so no diagonal white triangle can appear. */
.gallery-section.design-flow::before,
.proof-section.design-flow::before,
.process-section.design-flow::before,
.reviews-section.design-flow::before,
.contact-section.design-flow::before {
 inset:auto!important;left:0!important;right:0!important;top:0!important;bottom:auto!important;
 width:100%!important;max-width:none!important;
 height:clamp(95px,15vh,155px)!important;
 border:0!important;border-radius:0!important;transform:none!important;
 box-shadow:none!important;filter:none!important;opacity:1!important;
}
/* Softer color handoff: no fog-white cap and no hard horizontal stripes. */
.proof-section.design-flow::before{background:linear-gradient(to bottom,rgba(247,250,249,.48),rgba(247,250,249,.14) 45%,transparent 100%)!important}
.process-section.design-flow::before{background:linear-gradient(to bottom,rgba(33,77,91,.46),rgba(33,77,91,.12) 45%,transparent 100%)!important}
.gallery-section.design-flow::before{background:linear-gradient(to bottom,rgba(245,249,247,.47),rgba(245,249,247,.13) 45%,transparent 100%)!important}
.reviews-section.design-flow::before{background:linear-gradient(to bottom,rgba(35,86,101,.40),rgba(35,86,101,.1) 45%,transparent 100%)!important}
.contact-section.design-flow::before{background:linear-gradient(to bottom,rgba(248,251,251,.43),rgba(248,251,251,.11) 45%,transparent 100%)!important}
/* True edge dissolve on work photograph (no rectangular photo sticker).
   The center, including the measuring rod and the car damage, stays clear. */
.proof-section .proof-image img{
 -webkit-mask-image:radial-gradient(ellipse 54% 57% at 50% 50%,#000 56%,rgba(0,0,0,.92) 68%,transparent 94%)!important;
 mask-image:radial-gradient(ellipse 54% 57% at 50% 50%,#000 56%,rgba(0,0,0,.92) 68%,transparent 94%)!important;
}
@media(max-width:720px){
 .proof-section .proof-image img{
  -webkit-mask-image:radial-gradient(ellipse 56% 58% at 50% 50%,#000 65%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 56% 58% at 50% 50%,#000 65%,transparent 100%)!important;
 }
}
/* Final visual balance: feather photographic edges without turning a
   documentary image into an oval vignette or hiding the measuring rods. */
.proof-section .proof-image img{
  -webkit-mask-image:radial-gradient(ellipse 65% 72% at 50% 50%,#000 65%,rgba(0,0,0,.97) 73%,transparent 110%)!important;
  mask-image:radial-gradient(ellipse 65% 72% at 50% 50%,#000 65%,rgba(0,0,0,.97) 73%,transparent 110%)!important;
}
@media(max-width:720px){
 .proof-section .proof-image img{
  -webkit-mask-image:radial-gradient(ellipse 65% 72% at 50% 50%,#000 65%,rgba(0,0,0,.97) 73%,transparent 110%)!important;
  mask-image:radial-gradient(ellipse 65% 72% at 50% 50%,#000 65%,rgba(0,0,0,.97) 73%,transparent 110%)!important;
 }
}

/* ===============================================================
 V12: organic side traces · user-requested refinements; V11 design
 colors, bright section cards, hero film and section spacing stay intact.
 Decorative traces drift into the left edge and fade before dominating.
 =============================================================== */
section.design-flow{isolation:isolate}
section.design-flow>.organic-flow-accent{
 position:absolute;left:-3.5%;top:5%;height:89%;width:min(57vw,840px);
 background-repeat:no-repeat;background-position:left center;
 background-size:100% 100%;pointer-events:none;z-index:1;
 opacity:.78;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 72%,transparent 97%);
 -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 72%,transparent 97%);
}
section.design-flow>.organic-flow-dark{background-image:url('../images/organic-left-dark.svg')}
section.design-flow>.organic-flow-light{background-image:url('../images/organic-left-light.svg');opacity:.63}
#arbeitsweise>.organic-flow-accent{top:1%;width:min(48vw,680px);height:99%;left:-7%;opacity:.80}
#ablauf>.organic-flow-accent{top:0%;height:85%;width:min(57vw,730px);left:-5%;transform:scaleY(-1);opacity:.52}
#einblicke>.organic-flow-accent{left:-9%;width:min(55vw,760px);top:7%;height:83%;opacity:.60}
#fragen>.organic-flow-accent{top:7%;left:-7%;height:80%;opacity:.36}
#kontakt>.organic-flow-accent{left:-11%;top:0%;height:100%;width:min(66vw,930px);opacity:.66}
section.design-flow>.organic-flow-accent + .container,section.design-flow>.container{z-index:3}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.form-actions>.button{min-width:0;flex:1 1 205px;white-space:normal;min-height:52px}
.form-actions .button-secondary{background:#e5f5f6;color:#174752;border:1px solid #93cfd6;box-shadow:0 6px 20px rgba(19,62,78,.08)}
.form-actions .button-secondary:hover{background:#d4eff0;transform:translateY(-2px)}
.form-card input,.form-card select,.form-card textarea{max-width:100%;box-sizing:border-box}
.form-card .demo-note{font-size:13px;line-height:1.55}
.form-card .demo-note a{text-decoration:underline;text-underline-offset:2px}
.form-card .form-feedback{font-size:14px}
.legal-page{min-height:calc(100vh - 78px)}
.legal-card{max-width:940px;margin:0 auto;color:#244653}
.legal-card h1,.legal-card h2,.legal-card h3{color:#133846;hyphens:none;overflow-wrap:normal}
.legal-card h2{font-size:clamp(22px,2.4vw,30px);margin:28px 0 10px}
.legal-card h3{font-size:19px;margin:18px 0 7px}
.legal-card p,.legal-card li{font-size:16px;line-height:1.7;overflow-wrap:break-word}
.legal-card a:not(.button){color:#097e94;text-decoration:underline;text-underline-offset:2px}
.legal-card address{font-style:normal;line-height:1.7}
.legal-card .legal-mini{font-size:13px;color:#5b7180}
@media(max-width:720px){
 section.design-flow>.organic-flow-accent{width:77vw!important;left:-25%!important;opacity:.30!important;}
 .form-actions{flex-direction:column;}
 .form-actions>.button{flex:0 0 auto;width:100%;}
 .legal-card{padding:clamp(18px,5vw,28px)}
}
@media(prefers-reduced-motion:reduce){section.design-flow>.organic-flow-accent{transition:none}}
/* V12 final polish: the real, partially cropped Audi photograph must not
   look like a sharp-edged pasted rectangle; preserve damage pixels. */
.proof-section .proof-image img {
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 88%,transparent 100%)!important;
 mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 88%,transparent 100%)!important;
}
@media(max-width:520px){
 .legal-card h1{font-size:clamp(22px,6vw,30px)!important;letter-spacing:-.04em;line-height:1.14}
}

/* V12.1 — KOMPAKTER KONTAKT / Markenstimme; only contact section changes.
   All hero, service cards, typography elsewhere and flow animations remain untouched. */
#kontakt{padding-top:clamp(64px,6vw,92px);padding-bottom:clamp(60px,6vw,86px)}
#kontakt .contact-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4.6vw,62px);align-items:center}
#kontakt .contact-intro h2{max-width:14ch;font-size:clamp(2.2rem,3.15vw,3.25rem);line-height:1.1;letter-spacing:-.035em}
#kontakt .contact-intro>p:not(.eyebrow){margin-top:14px;max-width:49ch;color:#ebf8fa;line-height:1.62;font-size:16px}
#kontakt .contact-methods{margin-top:21px;gap:9px}
#kontakt .contact-method{padding:11px 14px;border-radius:15px}
#kontakt .contact-method-icon{width:42px;height:42px;border-radius:12px}
#kontakt .location-line{margin-top:18px}
#kontakt .contact-caution{margin-top:9px!important;max-width:50ch;color:#d3e9ee!important;line-height:1.5}
#kontakt .contact-email-inline{font-size:14px;line-height:1.5;margin:13px 0 0;color:#d5eaf0}
#kontakt .contact-email-inline a{text-decoration:underline;text-decoration-color:rgba(112,226,238,.8);text-underline-offset:3px;color:#f5fdff}
#kontakt .form-card{padding:clamp(22px,2.55vw,31px);border-radius:23px;color:#f4fbfd;background:linear-gradient(143deg,rgba(39,99,114,.97),rgba(21,63,81,.98) 55%,rgba(16,54,72,.98));border:1px solid rgba(164,229,237,.35);box-shadow:0 22px 58px rgba(3,25,37,.22),inset 0 1px 0 rgba(231,254,255,.09)}
#kontakt .form-top .eyebrow{color:#9fe8f0!important;font-size:11px;letter-spacing:.1em}
#kontakt .form-top h3{font-size:clamp(21px,2vw,25px);font-weight:800;line-height:1.22;letter-spacing:-.03em;margin:7px 0}
#kontakt .form-top>p:last-child{margin-bottom:17px;color:#d9eef2;font-size:14px;line-height:1.48;font-weight:500}
#kontakt .form-card label{color:#f4fbfd;font-size:13.5px;line-height:1.35;font-weight:720;margin-bottom:12px;gap:6px}
#kontakt .field-optional{font-size:12px;color:#bfdde5;font-weight:550}
#kontakt .form-row{gap:11px}
#kontakt .form-card input,#kontakt .form-card select,#kontakt .form-card textarea{border-radius:11px;background:rgba(247,253,253,.97);color:#173b4a;border:1px solid rgba(223,247,250,.85);min-height:44px;padding:10px 12px;font-size:15px;line-height:1.35}
#kontakt .form-card input::placeholder,#kontakt .form-card textarea::placeholder{color:#647f89;opacity:1}
#kontakt .form-card textarea{min-height:63px;max-height:145px;resize:vertical}
#kontakt .form-hint{font-size:12.5px;line-height:1.45;color:#d1e6ec;margin:0 0 11px}
#kontakt .form-actions{display:grid;grid-template-columns:1.05fr .95fr;gap:10px;margin-top:10px}
#kontakt .form-actions>.button{min-width:0;width:100%;min-height:48px;height:auto;flex:none;font-size:13px;line-height:1.3;padding:10px 13px;white-space:normal;text-align:center;justify-content:center}
#kontakt .form-actions .button-secondary{color:#ecfcff;border-color:rgba(179,240,247,.65);background:rgba(204,248,251,.13);box-shadow:none}
#kontakt .form-actions .button-secondary:hover{background:rgba(204,248,251,.22)}
#kontakt .demo-note{font-size:12px;line-height:1.48;color:#d5eaf0;margin:12px 0 0;font-weight:450}
#kontakt .demo-note a{color:#f4fbff;text-decoration:underline;text-underline-offset:2px}
#kontakt .form-feedback{font-size:13px;line-height:1.5}
#kontakt .form-feedback.error{color:#81321b;background:#fff0e8}
@media(max-width:900px){#kontakt .contact-layout{grid-template-columns:1fr;max-width:680px}#kontakt .contact-intro h2{max-width:16ch}#kontakt .contact-methods{grid-template-columns:1fr 1fr}#kontakt .contact-method{gap:10px}#kontakt .contact-method strong{font-size:14px}#kontakt .contact-method small{font-size:12.5px}}
@media(max-width:580px){#kontakt .contact-layout{width:calc(100% - 32px);gap:23px}#kontakt .contact-intro h2{font-size:clamp(2.02rem,9vw,2.7rem)}#kontakt .contact-intro>p:not(.eyebrow){font-size:15px}#kontakt .contact-methods{grid-template-columns:1fr}#kontakt .form-card{padding:20px 17px;border-radius:20px}#kontakt .form-row{grid-template-columns:1fr;gap:0}#kontakt .form-actions{grid-template-columns:1fr}#kontakt .form-actions>.button{min-height:47px}#kontakt .form-top>p:last-child{font-size:13px}}

/* V12.1: optional label stays inline on mobile */
#kontakt .form-card .field-label{display:inline-block;font-weight:750;line-height:1.32}
#kontakt .form-card .field-label .field-optional{display:inline;font-size:12px;font-weight:500;color:#c9e6eb}

/* V12.2: Genuine Google rating, no fictional testimonials. Existing V12.1 palette untouched. */
.review-contact-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;padding:clamp(24px,3.4vw,40px)}
.review-contact-card .review-contact-kicker{font-size:12px;letter-spacing:.10em;font-weight:800;color:#0d8197}
.review-contact-card h3{font-size:clamp(22px,2.3vw,30px);line-height:1.17;letter-spacing:-.02em;color:#143d4b;margin:0}
.review-contact-card p{font-size:16px;line-height:1.63;color:#2f5560;margin:0 0 7px}
.review-contact-card .button{min-height:43px;display:inline-flex;align-items:center}
.review-guidance p{font-size:15.5px;line-height:1.65}
@media(max-width:580px){.review-contact-card{padding:23px 21px}.review-contact-card p{font-size:15px}}
@media(max-width:390px){.legal-document .header-inner{gap:7px}.legal-document .header-inner .brand{min-width:0;flex:0 1 auto;gap:7px}.legal-document .header-inner .brand img{width:39px;height:39px;flex:none}.legal-document .header-inner .brand-name strong{font-size:10px;white-space:nowrap}.legal-document .header-inner .brand-name small{font-size:8px}.legal-document .header-inner .nav-cta{flex:none;white-space:nowrap;line-height:1;padding:11px 12px;font-size:12px}}


/* V12.3: Google-Review-Karussell. Nur dieses Modul; alle anderen Sektionen gesperrt. */
.review-api-card{min-height:286px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#ffffff 0%,#eff8f8 100%);border-color:#c4dfe4}
.review-api-card .review-card-top{flex:none}
.review-origin{font-size:11px;letter-spacing:.07em;font-weight:800;color:#1b7183;text-align:right}
.review-api-card .review-window{min-width:0;flex:1;display:flex;align-items:stretch}
.review-api-card .review-track{min-width:0;width:100%;align-items:stretch}
.review-api-card .review-slide{height:auto;min-height:182px;padding:10px 8px 15px;justify-content:center;overflow-wrap:anywhere;gap:8px}
.review-slide-kicker{font-size:11px;letter-spacing:.11em;font-weight:850;color:#148ca0}
.review-api-card .review-slide h4{margin:0;color:#103f50;font-size:clamp(20px,1.95vw,26px);line-height:1.19;letter-spacing:-.018em}
.review-api-card .review-slide p{font-size:16px;line-height:1.52;font-weight:550;color:#2b5663;max-width:54ch;overflow-wrap:break-word}
.review-api-card .review-slide .review-signature{font-size:13px;color:#3d6c78;line-height:1.4}
.review-api-card .review-slide .review-sample-stars{font-size:19px;color:#dda021;letter-spacing:2px}
.review-api-card .review-carousel-footer{flex:none;padding-top:11px}
.review-api-card .review-arrows button:focus-visible{outline:3px solid #0b7891;outline-offset:2px}
.review-api-card .review-arrows button:disabled{opacity:.4;cursor:default}
.review-api-card[data-review-state="live"] .review-slide p{max-height:185px;overflow-y:auto;scrollbar-width:thin;white-space:pre-line;overscroll-behavior:contain}
.review-api-card[data-review-state="live"] .review-slide{min-height:206px}
@media(max-width:580px){.review-api-card{min-height:294px}.review-api-card .review-slide{min-height:206px;padding:12px 3px 14px}.review-api-card .review-slide p{font-size:15.5px;line-height:1.55}.review-api-card .review-slide h4{font-size:21px}.review-origin{font-size:10px}}
@media(prefers-reduced-motion:reduce){.review-api-card .review-track{transition:none!important}}


/* V13.0 – kontaktformular: ein Formular, zwei eindeutige Versandwege. */
#kontakt #contact-form{display:flex;flex-direction:column;gap:11px}
#kontakt #contact-form>.form-row{margin:0}
#kontakt #contact-form>.form-row>label{min-width:0}
#kontakt #contact-form>label{display:flex;flex-direction:column;min-width:0}
#kontakt #contact-form .form-field-help{display:block;margin-top:5px;font-size:12px;line-height:1.4;color:#d1eaf0;font-weight:500}
#kontakt #contact-form input[name="email"]{margin-top:0}
#kontakt #contact-form .form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
#kontakt #contact-form .form-actions{margin-top:4px;grid-template-columns:1fr 1fr}
#kontakt #contact-form .form-actions .button{font-size:13px;min-height:49px;white-space:normal;line-height:1.4}
#kontakt #contact-form .form-feedback:not([hidden]){display:block;padding:10px 12px;border-radius:10px;background:rgba(226,252,248,.93);color:#144a44;font-size:13px;line-height:1.5}
#kontakt #contact-form .form-feedback.error:not([hidden]){background:#fff3ea;color:#843b23}
#kontakt #contact-form .button:disabled{opacity:.65;cursor:wait}
@media(max-width:590px){#kontakt #contact-form .form-actions{grid-template-columns:1fr;gap:9px}#kontakt #contact-form .form-row{grid-template-columns:1fr;gap:8px}}
