@font-face{font-family:'ITC Bauhaus';src:url('../fonts/ITCBauhaus-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'ITC Bauhaus';src:url('../fonts/ITCBauhaus-Demi.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'ITC Bauhaus';src:url('../fonts/ITCBauhaus-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'ITC Bauhaus';src:url('../fonts/ITCBauhaus-Heavy.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Inter';src:url('../fonts/Inter-Variable.woff2') format('woff2-variations'),url('../fonts/Inter-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}:root{--c-ink:#181818;--c-ink-soft:#2a2a2a;--c-cream:#f5f2e8;--c-cream-deep:#ece7d5;--c-paper:#fff;--c-yellow:#f5db7e;--c-yellow-deep:#e8c84f;--c-blue:#1880ff;--c-line:rgba(24,24,24,0.12);--c-line-soft:rgba(24,24,24,0.06);--c-muted:rgba(24,24,24,0.62);--c-muted-strong:rgba(24,24,24,0.78);--c-on-ink:#f5f2e8;--c-on-ink-muted:rgba(245,242,232,0.72);--ff-display:'ITC Bauhaus','Archivo Black',system-ui,sans-serif;--ff-body:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-15:.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-32:2rem;--fs-40:2.5rem;--fs-56:3.5rem;--fs-72:4.5rem;--container:1280px;--container-narrow:880px;--gutter:clamp(1rem,3vw,2rem);--section-y:clamp(4rem,8vw,6.5rem);--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--ease-out:cubic-bezier(.22,1,.36,1);--t-fast:150ms var(--ease-out);--t-med:280ms var(--ease-out);--t-slow:500ms var(--ease-out)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--ff-body);font-size:var(--fs-16);line-height:1.55;color:var(--c-ink);background:var(--c-cream);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--c-blue);outline-offset:3px;border-radius:2px}::selection{background:var(--c-yellow);color:var(--c-ink)}.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:-10000px}.skip:focus{left:1rem;top:1rem;background:var(--c-ink);color:var(--c-cream);padding:.75rem 1rem;z-index:200}h1,h2,h3,h4,h5{font-family:var(--ff-display);line-height:1.05;margin:0 0 .75rem;letter-spacing:-.01em;font-weight:700}h1{font-size:clamp(var(--fs-40),5.5vw,var(--fs-72));font-weight:900;letter-spacing:-.02em}h2{font-size:clamp(var(--fs-32),4vw,var(--fs-56));font-weight:700;letter-spacing:-.015em}h3{font-size:clamp(var(--fs-20),2.4vw,var(--fs-32));font-weight:700}h4{font-size:var(--fs-20);font-weight:500}h5{font-size:var(--fs-18);font-weight:500}p{margin:0 0 1rem;line-height:1.65}.lead{font-size:clamp(var(--fs-16),1.4vw,var(--fs-18));color:var(--c-muted-strong);max-width:60ch;line-height:1.55}.eyebrow{font-family:var(--ff-body);font-size:var(--fs-12);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--c-muted);margin:0 0 1rem;display:inline-block}.eyebrow::before{content:"";display:inline-block;width:28px;height:1px;background:var(--c-ink);vertical-align:middle;margin-right:14px;position:relative;top:-2px}strong,b{font-weight:600}.section--ink .eyebrow{color:var(--c-on-ink-muted)}.section--ink .eyebrow::before{background:var(--c-cream)}.container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}.container-narrow{width:min(100% - 2*var(--gutter),var(--container-narrow));margin-inline:auto}.section{padding-block:var(--section-y)}.section--ink{background:var(--c-ink);color:var(--c-on-ink)}.section--paper{background:var(--c-paper)}.section--cream-deep{background:var(--c-cream-deep)}.section--ink .lead{color:var(--c-on-ink-muted)}.btn{--bg:var(--c-yellow);--fg:var(--c-ink);--bd:var(--c-yellow);display:inline-flex;align-items:center;gap:.55rem;padding:.95rem 1.6rem;background:var(--bg);color:var(--fg);border:1px solid var(--bd);border-radius:2px;font-family:var(--ff-body);font-size:var(--fs-14);font-weight:600;letter-spacing:.01em;text-transform:uppercase;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast);min-height:44px;cursor:pointer}.btn:hover{--bg:var(--c-yellow-deep);--bd:var(--c-yellow-deep)}.btn:active{transform:translateY(1px)}.btn--lg{padding:1.1rem 1.95rem;font-size:var(--fs-15)}.btn--dark{--bg:var(--c-ink);--fg:var(--c-cream);--bd:var(--c-ink)}.btn--dark:hover{--bg:var(--c-ink-soft);--bd:var(--c-ink-soft)}.btn--ghost{--bg:transparent;--fg:var(--c-ink);--bd:var(--c-ink)}.btn--ghost:hover{--bg:var(--c-ink);--fg:var(--c-cream)}.btn--ghost-light{--bg:transparent;--fg:#fff;--bd:#fff}.btn--ghost-light:hover{--bg:#fff;--fg:var(--c-ink)}.btn .arrow{display:inline-block;transition:transform var(--t-fast)}.btn:hover .arrow{transform:translateX(3px)}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.96);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--c-line-soft)}.topbar__inner{display:flex;align-items:center;justify-content:space-between;height:76px;gap:1.5rem}.topbar__brand{display:flex;align-items:center;gap:12px;min-width:0}.topbar__brand img{width:42px;height:42px;flex:none}.topbar__brand-text{line-height:1}.topbar__brand-text .name{font-family:var(--ff-display);font-weight:700;font-size:var(--fs-18);letter-spacing:.01em;display:block}.topbar__brand-text .sub{display:block;font-size:10px;font-weight:500;letter-spacing:.18em;color:var(--c-muted);margin-top:3px;text-transform:uppercase}.topbar__nav{display:flex;align-items:center;gap:2rem;flex:1;justify-content:center}.topbar__nav a{font-size:var(--fs-14);font-weight:500;color:var(--c-ink);position:relative;padding:.4rem 0}.topbar__nav a:hover{color:var(--c-ink)}.topbar__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--c-yellow);transform:scaleX(0);transform-origin:left;transition:transform var(--t-fast)}.topbar__nav a:hover::after,.topbar__nav a[aria-current="page"]::after{transform:scaleX(1)}.topbar__right{display:flex;align-items:center;gap:.75rem}.topbar__tel{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1rem;border:1px solid var(--c-line);border-radius:999px;font-size:var(--fs-13);font-weight:500;color:var(--c-ink);white-space:nowrap}.topbar__tel svg{width:14px;height:14px;flex:none}.topbar__tel:hover{background:var(--c-cream);border-color:var(--c-ink)}.burger{display:none;background:transparent;border:1px solid var(--c-line);border-radius:var(--radius-sm);padding:8px 10px;min-width:44px;min-height:44px}.burger span{display:block;width:22px;height:2px;background:var(--c-ink);margin:4px 0;transition:transform var(--t-fast)}.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger[aria-expanded="true"] span:nth-child(2){opacity:0}.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(max-width:980px){.topbar__nav,.topbar__tel{display:none}.burger{display:inline-flex;flex-direction:column;align-items:center;justify-content:center}}.mobile-menu{display:none;position:fixed;inset:76px 0 auto 0;background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:1.5rem var(--gutter) 2rem;z-index:49}.topbar.open+.mobile-menu,.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:.9rem 0;font-size:var(--fs-18);border-bottom:1px solid var(--c-line-soft)}.mobile-menu .btn{margin-top:1rem;width:100%;justify-content:center}.hero{position:relative;background:var(--c-ink);color:var(--c-on-ink);overflow:hidden;min-height:clamp(560px,80vh,780px);display:flex;align-items:flex-end}.hero__bg{position:absolute;inset:0;z-index:0}.hero__bg img{width:100%;height:100%;object-fit:cover}.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,24,24,0.15) 0,rgba(24,24,24,0.55) 70%,rgba(24,24,24,0.85) 100%),linear-gradient(90deg,rgba(24,24,24,0.5) 0,rgba(24,24,24,0) 60%)}.hero__content{position:relative;z-index:1;padding-block:5rem 4rem;max-width:920px}.hero h1{color:#fff;margin:0 0 1.25rem;max-width:18ch}.hero__lead{color:rgba(255,255,255,0.86);font-size:clamp(var(--fs-16),1.4vw,var(--fs-20));max-width:56ch;margin-bottom:2rem;line-height:1.5}.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap}.hero__meta{position:absolute;bottom:1.25rem;right:var(--gutter);z-index:1;font-family:ui-monospace,monospace;font-size:var(--fs-12);color:rgba(255,255,255,0.72);letter-spacing:.08em}.philosophy{background:var(--c-cream);padding-block:var(--section-y)}.philosophy__head{max-width:680px;margin-bottom:3rem}.philosophy__head h2{margin-bottom:1rem}.philosophy__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}@media(max-width:880px){.philosophy__grid{grid-template-columns:1fr;gap:2rem}}.philosophy__item{padding-top:1.5rem;border-top:2px solid var(--c-ink)}.philosophy__item h3{font-size:var(--fs-20);font-weight:700;margin-bottom:.75rem}.philosophy__item p{color:var(--c-muted-strong);font-size:var(--fs-14);line-height:1.6;margin:0}.intro-split{background:var(--c-paper);padding-block:var(--section-y)}.intro-split__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}@media(max-width:980px){.intro-split__grid{grid-template-columns:1fr;gap:2rem}}.intro-split__photo{aspect-ratio:5/6;background:var(--c-cream-deep);overflow:hidden}.intro-split__photo img{width:100%;height:100%;object-fit:cover}.intro-split__body p{color:var(--c-muted-strong);font-size:var(--fs-15);line-height:1.65;max-width:50ch}.intro-split__cta{margin-top:1.5rem}.service-cards{background:var(--c-cream);padding-block:var(--section-y)}.service-cards__head{max-width:720px;margin-bottom:3rem}.service-cards__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-line)}@media(max-width:1100px){.service-cards__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.service-cards__grid{grid-template-columns:1fr}}.service-card{position:relative;background:var(--c-ink);overflow:hidden;aspect-ratio:4/5;display:block;color:#fff;transition:transform var(--t-med)}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity var(--t-med),transform var(--t-slow)}.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,24,24,0.1) 0,rgba(24,24,24,0.4) 50%,rgba(24,24,24,0.85) 100%)}.service-card:hover img{opacity:.8;transform:scale(1.04)}.service-card__body{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:1.75rem 1.5rem 1.5rem}.service-card__num{font-family:ui-monospace,monospace;font-size:var(--fs-12);color:var(--c-yellow);letter-spacing:.12em;margin-bottom:.85rem;display:block}.service-card h3{color:#fff;margin-bottom:.5rem;font-size:clamp(var(--fs-20),2vw,var(--fs-24))}.service-card p{color:rgba(255,255,255,0.78);font-size:var(--fs-13);line-height:1.5;margin:0 0 1rem}.service-card__link{font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-yellow);display:inline-flex;align-items:center;gap:.4rem}.service-card:hover .service-card__link .arrow{transform:translateX(4px);transition:transform var(--t-fast)}.marquee{background:var(--c-ink);color:var(--c-cream);padding:1.25rem 0;overflow:hidden;white-space:nowrap;border-top:1px solid rgba(245,242,232,0.08);border-bottom:1px solid rgba(245,242,232,0.08)}.marquee__track{display:inline-flex;align-items:center;gap:3rem;animation:marquee 26s linear infinite;font-family:var(--ff-display);font-weight:700;font-size:clamp(var(--fs-24),3.5vw,var(--fs-40));letter-spacing:-.01em}.marquee__track span{display:inline-flex;align-items:center;gap:3rem}.marquee__track .dot{width:10px;height:10px;background:var(--c-yellow);border-radius:50%;display:inline-block}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.marquee__track{animation-duration:60s}}.dark-section{background:var(--c-ink);color:var(--c-on-ink);padding-block:var(--section-y)}.dark-section__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}@media(max-width:980px){.dark-section__grid{grid-template-columns:1fr;gap:2rem}}.dark-section h2{color:var(--c-cream)}.dark-section .lead{color:var(--c-on-ink-muted)}.dark-section__photo{aspect-ratio:5/6;background:#000;overflow:hidden}.dark-section__photo img{width:100%;height:100%;object-fit:cover}.dark-section__cta{margin-top:2rem}.image-acc{background:var(--c-paper)}.image-acc__row{display:flex;min-height:460px;gap:4px;padding:4px 0}.image-acc__row>*{background:var(--c-line)}.image-acc__panel{position:relative;flex:1;overflow:hidden;background:var(--c-ink);transition:flex var(--t-slow);cursor:pointer;min-height:460px}.image-acc__panel:hover{flex:2.4}.image-acc__panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65;transition:opacity var(--t-med)}.image-acc__panel:hover img{opacity:.85}.image-acc__panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,24,24,0.1) 0,rgba(24,24,24,0.45) 50%,rgba(24,24,24,0.85) 100%)}.image-acc__body{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:1.75rem 1.5rem 1.5rem;color:#fff}.image-acc__num{font-family:ui-monospace,monospace;font-size:var(--fs-12);color:var(--c-yellow);letter-spacing:.14em}.image-acc h3{color:#fff;font-size:clamp(var(--fs-20),2vw,var(--fs-24));margin:.5rem 0 .5rem}.image-acc__panel p{color:rgba(255,255,255,0.84);font-size:var(--fs-13);margin:0;max-width:30ch;opacity:0;transition:opacity var(--t-med);transition-delay:150ms}.image-acc__panel:hover p{opacity:1}@media(max-width:880px){.image-acc__row{flex-direction:column}.image-acc__panel{min-height:240px}.image-acc__panel p{opacity:1}}.team{background:var(--c-cream);padding-block:var(--section-y)}.team__head{max-width:720px;margin-bottom:3rem}.team__head .lead{color:var(--c-muted-strong)}.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:980px){.team__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.team__grid{grid-template-columns:1fr}}.team__card{display:flex;flex-direction:column}.team__photo{aspect-ratio:4/5;background:var(--c-ink);margin-bottom:1rem;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.team__photo img{width:100%;height:100%;object-fit:cover}.team__photo[data-placeholder]::before{content:attr(data-placeholder);position:absolute;color:var(--c-on-ink-muted);font-family:ui-monospace,monospace;font-size:var(--fs-12);letter-spacing:.12em;text-transform:uppercase}.team__card h4{margin:0;font-family:var(--ff-display);font-weight:700;font-size:var(--fs-18)}.team__card .role{font-size:var(--fs-13);color:var(--c-muted);margin-top:.25rem}.faq{background:var(--c-paper);padding-block:var(--section-y);border-top:1px solid var(--c-line)}.faq__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2.5rem,6vw,4rem);align-items:start}@media(max-width:980px){.faq__grid{grid-template-columns:1fr;gap:2rem}}.faq__photo{aspect-ratio:4/5;background:var(--c-cream-deep);overflow:hidden;position:sticky;top:100px}.faq__photo img{width:100%;height:100%;object-fit:cover}.faq__list details{border-bottom:1px solid var(--c-line);padding:1.25rem 0}.faq__list details[open]{padding-bottom:1.75rem}.faq__list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--ff-display);font-weight:700;font-size:clamp(var(--fs-18),1.6vw,var(--fs-20));line-height:1.3;color:var(--c-ink)}.faq__list summary::-webkit-details-marker{display:none}.faq__list summary::after{content:"+";font-family:var(--ff-display);font-weight:300;font-size:1.6rem;color:var(--c-ink);line-height:1;transition:transform var(--t-med)}.faq__list details[open] summary::after{content:"−"}.faq__list details>div{padding-top:1rem;color:var(--c-muted-strong);max-width:65ch;font-size:var(--fs-14);line-height:1.6}.cta-band{background:var(--c-ink);color:var(--c-cream)}.cta-band__inner{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding-block:clamp(3rem,6vw,5rem)}@media(max-width:720px){.cta-band__inner{grid-template-columns:1fr}}.cta-band h2{color:var(--c-cream);margin:0;max-width:22ch}.cta-band p{color:var(--c-on-ink-muted);margin-top:.75rem;font-size:var(--fs-15)}.site-footer{background:var(--c-ink);color:var(--c-cream);padding:4rem 0 1.5rem}.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}@media(max-width:880px){.site-footer__grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.site-footer__grid{grid-template-columns:1fr}}.site-footer__brand{display:flex;align-items:center;gap:14px;margin-bottom:1rem}.site-footer__brand img{width:42px;height:42px}.site-footer__brand span{font-family:var(--ff-display);font-weight:700;font-size:var(--fs-20)}.site-footer p{color:var(--c-on-ink-muted);font-size:var(--fs-14);line-height:1.55;max-width:32ch}.site-footer h4{font-family:var(--ff-body);font-weight:500;font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;color:var(--c-on-ink-muted);margin:0 0 1rem}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.site-footer a{font-size:var(--fs-14);color:var(--c-cream)}.site-footer a:hover{color:var(--c-yellow)}.site-footer dl dt{font-size:var(--fs-12);letter-spacing:.1em;text-transform:uppercase;color:var(--c-on-ink-muted);margin-top:1rem}.site-footer dl dt:first-child{margin-top:0}.site-footer dl dd{margin:.25rem 0 0;font-size:var(--fs-14)}.site-footer__legal{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(245,242,232,0.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:var(--fs-12);color:var(--c-on-ink-muted)}.site-footer__legal ul{display:flex;flex-wrap:wrap;gap:1.25rem}.form{display:grid;gap:1rem;max-width:560px}.form label{display:block;font-size:var(--fs-13);font-weight:500;margin-bottom:.35rem;color:var(--c-ink)}.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form textarea,.form select{width:100%;font:inherit;font-size:var(--fs-15);padding:.85rem 1rem;background:#fff;border:1px solid var(--c-line);border-radius:2px;color:var(--c-ink);min-height:48px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.form textarea{min-height:140px;resize:vertical;line-height:1.55}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--c-ink);box-shadow:0 0 0 3px rgba(245,219,126,0.5);outline:0}.form .consent{display:flex;gap:.65rem;align-items:flex-start;font-size:var(--fs-13);color:var(--c-muted-strong);line-height:1.45}.form .consent input{margin-top:3px;width:18px;height:18px;flex:none}.form .consent a{text-decoration:underline}.hp-field{position:absolute;left:-10000px}.page-intro{background:var(--c-cream);padding-block:clamp(4rem,8vw,6rem) clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid var(--c-line)}.page-intro h1{max-width:18ch}.page-intro .lead{margin-top:1.5rem}.crumbs{font-size:var(--fs-12);letter-spacing:.04em;color:var(--c-muted);margin-bottom:2rem}.crumbs ol{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0;list-style:none}.crumbs a{color:var(--c-muted)}.crumbs a:hover{color:var(--c-ink)}.crumbs li+li::before{content:"/";margin-right:.45rem;opacity:.5}.bullets{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem}.bullets li{display:grid;grid-template-columns:16px 1fr;gap:.85rem;align-items:start;font-size:var(--fs-15);line-height:1.55}.bullets li::before{content:"";width:8px;height:8px;margin-top:9px;background:var(--c-ink);border-radius:0}.bullets--muted li::before{background:var(--c-muted)}.bullets--muted li{color:var(--c-muted-strong)}.bullets a{text-decoration:underline;text-underline-offset:2px}.bullets strong{font-weight:600}.contact-list{display:grid;gap:1.25rem;margin:1.5rem 0 0}.contact-list dt{font-size:var(--fs-12);letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);margin:0}.contact-list dd{margin:.35rem 0 0;font-size:var(--fs-15);line-height:1.5}.contact-big{font-family:var(--ff-display);font-weight:700;font-size:clamp(var(--fs-20),2vw,var(--fs-24));color:var(--c-ink)}.contact-big:hover{color:var(--c-yellow-deep)}.ref-project{padding-block:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--c-line);background:var(--c-cream)}.ref-project__head{margin-bottom:2rem;max-width:60ch}.ref-project__head h2{font-size:clamp(var(--fs-24),2.5vw,var(--fs-40))}.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:880px){.ref-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.ref-grid{grid-template-columns:1fr}}.ref-grid a{position:relative;background:var(--c-ink);overflow:hidden;aspect-ratio:3/4;display:block}.ref-grid img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow),opacity var(--t-med)}.ref-grid a:hover img{transform:scale(1.04);opacity:.8}.a11y-toggle{position:fixed;right:1rem;bottom:1rem;background:var(--c-ink);color:var(--c-cream);border:0;border-radius:999px;padding:.65rem 1rem;font-size:var(--fs-12);letter-spacing:.06em;z-index:40;min-height:44px;display:flex;align-items:center;gap:.5rem}.a11y-toggle:hover{background:var(--c-ink-soft)}.a11y-panel{position:fixed;right:1rem;bottom:4.5rem;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-md);padding:1.25rem 1.4rem;box-shadow:0 12px 36px rgba(0,0,0,0.14);z-index:41;width:260px;display:none}.a11y-panel.open{display:block}.a11y-panel h4{font-family:var(--ff-body);font-size:var(--fs-12);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);margin:0 0 1rem}.a11y-panel label{display:flex;gap:.6rem;align-items:center;font-size:var(--fs-13);padding:.35rem 0;cursor:pointer}.a11y-panel input{width:16px;height:16px;accent-color:var(--c-yellow-deep)}html.a11y-contrast{--c-ink:#000;--c-cream:#fff;--c-muted:#1a1a1a;--c-muted-strong:#000;--c-paper:#fff;--c-line:#000;--c-cream-deep:#f0f0f0}html.a11y-big{font-size:18px}html.a11y-underline a:not(.btn):not(.topbar__tel){text-decoration:underline;text-underline-offset:3px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation-duration:.01ms !important;transition-duration:.01ms !important}.center{text-align:center}.muted{color:var(--c-muted)}.eyebrow{font-family:var(--ff-display);font-weight:500;font-size:var(--fs-13);letter-spacing:.14em}.btn--blue{--bg:var(--c-blue);--fg:#fff;--bd:var(--c-blue)}.btn--blue:hover{--bg:#0d68d4;--bd:#0d68d4}.marquee{background:var(--c-yellow);color:var(--c-ink);border:0}.marquee__track .dot{background:var(--c-ink)}.form button[type="submit"],.form .btn[type="submit"]{--bg:var(--c-blue);--fg:#fff;--bd:var(--c-blue)}.form button[type="submit"]:hover,.form .btn[type="submit"]:hover{--bg:#0d68d4;--bd:#0d68d4}.topbar__right .btn--dark{--bg:var(--c-blue);--fg:#fff;--bd:var(--c-blue)}.topbar__right .btn--dark:hover{--bg:#0d68d4;--bd:#0d68d4}.team__photo{aspect-ratio:4/3;background:#c4c4c4;border-radius:999px;position:relative}.team__photo[data-placeholder]::before{content:attr(data-placeholder);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--ff-display);font-weight:500;font-size:var(--fs-16);letter-spacing:.02em;text-transform:none}.team__photo img{border-radius:999px}.yellow-strip{background:var(--c-yellow);color:var(--c-ink);padding:1.5rem var(--gutter);text-align:center;font-family:var(--ff-display);font-weight:500;font-size:clamp(var(--fs-18),2vw,var(--fs-24));letter-spacing:-.005em}.service-cards--light .service-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;background:transparent}@media(max-width:980px){.service-cards--light .service-cards__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.service-cards--light .service-cards__grid{grid-template-columns:1fr}}.service-cards--light .service-card{background:#fff;aspect-ratio:auto;border:1px solid var(--c-line);display:flex;flex-direction:column;color:var(--c-ink);border-radius:var(--radius-lg);overflow:hidden}.service-cards--light .service-card::after{display:none}.service-cards--light .service-card img{position:static;width:100%;height:220px;object-fit:cover;opacity:1}.service-cards--light .service-card:hover img{opacity:1;transform:scale(1.02)}.service-cards--light .service-card__body{position:static;padding:1.5rem 1.5rem 1.75rem;color:var(--c-ink)}.service-cards--light .service-card__num{color:var(--c-blue);margin-bottom:.5rem}.service-cards--light .service-card h3{color:var(--c-ink)}.service-cards--light .service-card p{color:var(--c-muted-strong)}.service-cards--light .service-card__link{color:var(--c-blue)}.num-list{display:grid;gap:0}.num-list__item{display:grid;grid-template-columns:56px 1fr 200px 48px;gap:1.5rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--c-line)}@media(max-width:720px){.num-list__item{grid-template-columns:48px 1fr 48px}.num-list__desc{grid-column:1 / -1;padding-left:0}}.num-list__num{font-family:ui-monospace,monospace;font-size:var(--fs-14);color:var(--c-muted);letter-spacing:.12em}.num-list__title{font-family:var(--ff-display);font-weight:700;font-size:clamp(var(--fs-18),1.8vw,var(--fs-24));margin:0}.num-list__desc{color:var(--c-muted-strong);font-size:var(--fs-13);line-height:1.5}.num-list__arrow{width:44px;height:44px;background:var(--c-blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none;transition:background var(--t-fast),transform var(--t-fast);justify-self:end}.num-list__arrow:hover{background:#0d68d4;transform:translateX(3px)}.map-frame{position:relative;aspect-ratio:21/9;background:var(--c-cream-deep);border:1px solid var(--c-line);overflow:hidden;display:flex;align-items:center;justify-content:center}.map-frame iframe{width:100%;height:100%;border:0;display:block}.map-consent{position:absolute;inset:0;background:var(--c-cream-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.map-consent p{max-width:50ch;color:var(--c-muted-strong);margin-bottom:1rem}.map-frame.loaded .map-consent{display:none}.form .btn{--bg:var(--c-blue);--fg:#fff;--bd:var(--c-blue)}.form .btn:hover{--bg:#0d68d4;--bd:#0d68d4}.form .btn--ghost{--bg:transparent;--fg:var(--c-ink);--bd:var(--c-ink)}.form .btn--ghost:hover{--bg:var(--c-ink);--fg:#fff;--bd:var(--c-ink)}h1,h2,h3,h4,h5{font-family:var(--ff-body);letter-spacing:-.025em;font-weight:600}h1{font-weight:700;letter-spacing:-.04em;line-height:1}h2{font-weight:700;letter-spacing:-.035em;line-height:1.05}h3{font-weight:600;letter-spacing:-.025em;line-height:1.1}h4{font-weight:600;letter-spacing:-.015em}h5{font-weight:500;letter-spacing:-.01em}.hero h1{letter-spacing:-.045em;line-height:.98;font-weight:800}.intro-split h2,.dark-section h2,.service-cards__head h2,.philosophy__head h2,.faq h2,.cta-band h2,.page-intro h1{letter-spacing:-.035em}.eyebrow{font-family:var(--ff-display) !important;font-weight:500;letter-spacing:.14em;font-size:var(--fs-13)}.topbar__logo{height:50px;width:auto;display:block}@media(max-width:720px){.topbar__logo{height:38px}}.topbar{background:rgba(255,255,255,0.65);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,0.5);box-shadow:0 1px 0 rgba(24,24,24,0.04),0 8px 24px -8px rgba(24,24,24,0.08)}.topbar__tel{background:rgba(255,255,255,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(24,24,24,0.08);box-shadow:0 1px 2px rgba(24,24,24,0.04)}.topbar__tel:hover{background:rgba(255,255,255,0.92);border-color:rgba(24,24,24,0.2)}.btn{border-radius:999px;padding:.95rem 1.75rem;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 4px 14px -4px rgba(24,24,24,.18);transition:all 200ms var(--ease-out)}.btn:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 8px 22px -6px rgba(24,24,24,.25)}.btn:active{transform:translateY(0)}.btn--lg{padding:1.1rem 2.2rem}.btn--ghost-light{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:rgba(255,255,255,0.6)}.btn--ghost-light:hover{background:rgba(255,255,255,0.95);border-color:#fff}.hero{min-height:clamp(620px,85vh,820px)}.hero h1{font-size:clamp(2.5rem,6.5vw,5.5rem);margin-bottom:1.5rem}.hero__lead{font-size:clamp(1rem,1.5vw,1.25rem);color:rgba(255,255,255,0.9);line-height:1.5;max-width:56ch;margin-bottom:2.5rem}.hero__bg::after{background:linear-gradient(180deg,rgba(24,24,24,0.15) 0,rgba(24,24,24,0.45) 60%,rgba(24,24,24,0.7) 100%),linear-gradient(90deg,rgba(24,24,24,0.55) 0,rgba(24,24,24,0.1) 50%,rgba(24,24,24,0) 100%)}.hero__meta{font-size:var(--fs-12);opacity:.7;letter-spacing:.14em;text-transform:uppercase}.service-cards__grid{gap:16px;background:transparent;border-radius:var(--radius-lg)}.service-card{border-radius:var(--radius-lg);overflow:hidden;transition:transform 300ms var(--ease-out),box-shadow 300ms var(--ease-out)}.service-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -12px rgba(24,24,24,0.24)}.service-cards--light .service-card{border:1px solid rgba(24,24,24,0.06);border-radius:18px;box-shadow:0 1px 0 rgba(255,255,255,0.4) inset,0 1px 3px rgba(24,24,24,0.04);transition:all 280ms var(--ease-out)}.service-cards--light .service-card:hover{transform:translateY(-3px);box-shadow:0 1px 0 rgba(255,255,255,0.4) inset,0 16px 36px -10px rgba(24,24,24,0.16);border-color:rgba(24,24,24,0.1)}.service-cards--light .service-card img{height:240px}.service-cards--light .service-card__body{padding:1.5rem 1.5rem 1.75rem}.service-cards--light .service-card__num{color:var(--c-muted);font-family:ui-monospace,monospace;font-size:var(--fs-12);margin-bottom:.65rem}.section,.philosophy,.intro-split,.service-cards,.dark-section,.team,.faq{padding-block:clamp(5rem,10vw,8rem)}.philosophy__item{border-top:0;background:rgba(255,255,255,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(24,24,24,0.06);border-radius:18px;padding:2rem 1.75rem;box-shadow:0 1px 0 rgba(255,255,255,0.4) inset,0 1px 3px rgba(24,24,24,0.04)}.philosophy__item h3{font-size:var(--fs-20);margin-bottom:1rem;padding-top:1.5rem;border-top:2px solid var(--c-ink)}.marquee{padding:1.5rem 0;box-shadow:0 1px 0 rgba(24,24,24,0.05)}.marquee__track{gap:4rem;font-weight:600;letter-spacing:-.02em}.marquee__track .dot{width:6px;height:6px}.dark-section h2{letter-spacing:-.04em;font-weight:700}.dark-section__photo{border-radius:var(--radius-lg)}.yellow-strip{padding:1.75rem var(--gutter);font-weight:600;letter-spacing:-.015em}.num-list{background:rgba(255,255,255,0.6) !important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(24,24,24,0.06);padding:1.5rem 2rem !important;border-radius:22px !important}.num-list__item{border-bottom:1px solid rgba(24,24,24,0.08);padding:1.75rem 0}.num-list__item:last-child{border-bottom:0}.num-list__title{font-weight:600;letter-spacing:-.02em}.num-list__arrow{box-shadow:0 4px 14px -4px rgba(24,128,255,0.4)}.num-list__arrow:hover{box-shadow:0 8px 20px -6px rgba(24,128,255,0.5)}.image-acc__panel{border-radius:var(--radius-md);margin:0 2px}.image-acc__panel:first-child{margin-left:0}.image-acc__panel:last-child{margin-right:0}.team__photo{background:linear-gradient(135deg,#d0d0ca 0,#b8b8b0 100%);box-shadow:0 8px 24px -8px rgba(24,24,24,0.12),inset 0 1px 0 rgba(255,255,255,0.3);border-radius:24px;aspect-ratio:5/6}.team__photo[data-placeholder]::before{color:rgba(255,255,255,0.85);font-family:var(--ff-body);font-weight:500;font-size:var(--fs-13);letter-spacing:.04em;text-shadow:0 1px 2px rgba(0,0,0,0.1)}.team__card h4{font-family:var(--ff-body);font-weight:600;font-size:var(--fs-18);letter-spacing:-.015em}.faq__list details{background:rgba(255,255,255,0.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(24,24,24,0.06);border-radius:16px;padding:1.5rem 1.75rem;margin-bottom:.75rem;transition:all 200ms var(--ease-out)}.faq__list details[open]{background:rgba(255,255,255,0.85);box-shadow:0 8px 24px -8px rgba(24,24,24,0.1)}.faq__list summary{font-family:var(--ff-body);font-weight:600;letter-spacing:-.02em}.cta-band h2{font-weight:700;letter-spacing:-.035em}.page-intro h1{font-weight:700;max-width:22ch}.page-intro .lead{max-width:60ch}.site-footer__brand span{font-family:var(--ff-body);font-weight:700;letter-spacing:-.01em}.site-footer h4{font-family:var(--ff-display)}.contact-big{font-family:var(--ff-body);font-weight:600;letter-spacing:-.01em}.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form textarea,.form select{background:rgba(255,255,255,0.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(24,24,24,0.1);border-radius:12px;padding:1rem 1.15rem;transition:all 180ms var(--ease-out)}.form input:focus,.form textarea:focus,.form select:focus{background:#fff;border-color:var(--c-blue);box-shadow:0 0 0 4px rgba(24,128,255,0.12)}.eyebrow::before{width:24px}.a11y-toggle{background:rgba(24,24,24,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px -8px rgba(24,24,24,0.3)}.a11y-panel{background:rgba(255,255,255,0.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(24,24,24,0.06);border-radius:18px;box-shadow:0 12px 40px -10px rgba(24,24,24,0.16)}.ref-grid a{border-radius:var(--radius-md)}.ref-grid img{transition:transform 600ms var(--ease-out)}.map-frame{border-radius:22px}body{background:var(--c-paper)}.page-intro{background:var(--c-cream)}.philosophy{background:var(--c-cream)}.intro-split,.service-cards,.team,.faq{background:var(--c-paper)}h1{font-weight:600;letter-spacing:-.045em}h2{font-weight:600;letter-spacing:-.035em}h3{font-weight:600;letter-spacing:-.02em}.hero h1{font-weight:600;letter-spacing:-.05em}.cta-band h2,.dark-section h2{font-weight:600;letter-spacing:-.035em}.page-intro h1{font-weight:600;letter-spacing:-.04em}.contact-big{font-weight:500}.num-list__title{font-weight:600}.team__card h4{font-weight:500}.faq__list summary{font-weight:500}.site-footer__brand span{font-weight:600}.hero__content{max-width:none;padding-block:6rem 5rem}.hero h1{max-width:20ch;font-size:clamp(2.5rem,5.5vw,4.5rem)}.hero__lead{max-width:56ch}.topbar__brand{flex:none}.topbar__logo{height:52px;width:auto;max-width:240px}@media(max-width:720px){.topbar__logo{height:40px;max-width:180px}}.trust-banner{background:var(--c-paper);border-bottom:1px solid rgba(24,24,24,0.06);padding-block:1.75rem;position:relative;z-index:2;margin-top:-2px}.trust-banner__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;align-items:center}@media(max-width:880px){.trust-banner__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.trust-banner__item{display:flex;flex-direction:column;gap:.3rem;padding-left:1.25rem;border-left:2px solid var(--c-yellow)}.trust-banner__label{font-family:var(--ff-display);font-size:var(--fs-12);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}.trust-banner__value{font-family:var(--ff-body);font-weight:500;font-size:var(--fs-15);color:var(--c-ink);letter-spacing:-.005em;line-height:1.3}.trust-banner__value.placeholder{color:var(--c-muted);font-style:italic}.eyebrow::before{display:none !important;content:none !important;margin:0 !important;width:0 !important}.eyebrow{padding-left:0}.topbar__brand{display:flex;align-items:center;gap:14px;flex:none}.topbar__icon{width:44px;height:44px;flex:none;border-radius:4px}.topbar__logo{display:none}.topbar__wordmark{display:flex;flex-direction:column;line-height:1.1}.topbar__wordmark-name{font-family:var(--ff-body);font-weight:600;font-size:var(--fs-16);letter-spacing:-.01em;color:var(--c-ink)}.topbar__wordmark-sub{font-family:var(--ff-display);font-weight:500;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--c-muted);margin-top:3px}@media(max-width:560px){.topbar__icon{width:36px;height:36px}.topbar__wordmark-name{font-size:var(--fs-15)}.topbar__wordmark-sub{font-size:9px}}.topbar__inner{height:92px}.topbar__brand{display:flex;align-items:center;gap:0;flex:none}.topbar__logo{display:block;height:68px;width:auto;max-width:280px}.topbar__icon,.topbar__wordmark{display:none !important}.mobile-menu{inset:92px 0 auto 0 !important}@media(max-width:720px){.topbar__inner{height:76px}.topbar__logo{height:52px;max-width:220px}.mobile-menu{inset:76px 0 auto 0 !important}}.hero{padding-bottom:6rem}.trust-banner{position:relative;z-index:3;margin-top:-5rem;margin-bottom:clamp(2rem,4vw,4rem);background:rgba(255,255,255,0.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,0.5);border-radius:18px;box-shadow:0 24px 56px -16px rgba(24,24,24,0.25),0 1px 0 rgba(255,255,255,0.5) inset;padding:clamp(1.5rem,3vw,2.25rem)}.trust-banner>.container{padding:0;width:100%;max-width:none}.trust-banner__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem;align-items:center}@media(max-width:880px){.trust-banner__grid{grid-template-columns:repeat(2,1fr)}}.trust-banner__item{padding-left:1.25rem;border-left:2px solid var(--c-yellow)}.trust-banner-wrap{width:min(100% - 2*var(--gutter),1280px);margin-inline:auto;position:relative;z-index:3}.topbar .topbar__brand img.topbar__logo,.topbar__brand img.topbar__logo{width:auto !important;height:68px !important;max-width:320px !important;flex:none;display:block}.topbar .topbar__inner{height:96px}.hero{padding-bottom:clamp(7rem,12vw,9rem)}.trust-banner{margin-top:clamp(-8rem,-10vw,-6rem) !important;width:min(100% - 2*var(--gutter),1200px);margin-inline:auto;position:relative;z-index:5;background:rgba(255,255,255,0.94);border-radius:22px;box-shadow:0 32px 80px -20px rgba(0,0,0,.45),0 1px 0 rgba(255,255,255,0.5) inset}@media(max-width:720px){.topbar .topbar__brand img.topbar__logo,.topbar__brand img.topbar__logo{height:50px !important;max-width:230px !important}.topbar .topbar__inner{height:76px}.mobile-menu{inset:76px 0 auto 0 !important}}.topbar .topbar__inner{height:80px !important}.topbar .topbar__brand img.topbar__logo,.topbar__brand img.topbar__logo{width:auto !important;height:52px !important;max-width:220px !important}.mobile-menu{inset:80px 0 auto 0 !important}@media(max-width:720px){.topbar .topbar__inner{height:68px !important}.topbar .topbar__brand img.topbar__logo,.topbar__brand img.topbar__logo{height:42px !important;max-width:180px !important}.mobile-menu{inset:68px 0 auto 0 !important}}.trust-banner{display:none !important}.hero{padding-bottom:0 !important}.hero__content{padding-block:5rem 4rem !important}.hero__trust{position:relative;z-index:2;width:100%;padding-block:2rem;background:linear-gradient(to top,rgba(24,24,24,0.85),rgba(24,24,24,0.35));border-top:1px solid rgba(255,255,255,0.12);margin-top:1rem}.hero__trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem;align-items:center}@media(max-width:880px){.hero__trust-grid{grid-template-columns:repeat(2,1fr)}}.hero__trust-item{padding-left:1.25rem;border-left:2px solid var(--c-yellow);display:flex;flex-direction:column;gap:.35rem}.hero__trust-label{font-family:var(--ff-display);font-size:var(--fs-12);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,0.7)}.hero__trust-value{font-family:var(--ff-body);font-weight:500;font-size:var(--fs-15);color:#fff;letter-spacing:-.005em;line-height:1.3}.hero__trust-value.placeholder{color:rgba(255,255,255,0.55);font-style:italic}.hero{display:flex;flex-direction:column;justify-content:space-between}.hero__content{flex:1;display:flex;flex-direction:column;justify-content:flex-end}.topbar .topbar__brand img.topbar__logo,.topbar__brand img.topbar__logo{height:50px !important}@media(max-width:720px){.topbar .topbar__brand img.topbar__logo,.topbar__brand img.topbar__logo{height:40px !important}}a,button,.btn,.service-card,.gallery__item,.ref-grid a,summary,label,input,select,textarea{cursor:pointer}.faq__list summary{cursor:pointer}a:not(.btn):not(.topbar__tel):hover{transition:color 150ms var(--ease-out)}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:90;background:rgba(255,255,255,0.96);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(24,24,24,0.08);border-radius:18px;box-shadow:0 24px 56px -12px rgba(24,24,24,0.28),0 1px 0 rgba(255,255,255,0.6) inset;padding:clamp(1.25rem,2.5vw,1.75rem);max-width:720px;margin-inline:auto;display:none}.cookie-banner.open{display:block}.cookie-banner h3{font-family:var(--ff-body);font-size:var(--fs-18);font-weight:600;margin:0 0 .5rem;letter-spacing:-.015em}.cookie-banner p{font-size:var(--fs-14);color:var(--c-muted-strong);line-height:1.5;margin:0 0 1rem}.cookie-banner__settings{display:none;margin:1rem 0 1.25rem;padding:1rem;border-top:1px solid var(--c-line-soft);border-bottom:1px solid var(--c-line-soft)}.cookie-banner.show-settings .cookie-banner__settings{display:block}.cookie-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.65rem 0}.cookie-toggle+.cookie-toggle{border-top:1px solid rgba(24,24,24,0.04)}.cookie-toggle__text strong{display:block;font-weight:600;font-size:var(--fs-14);margin-bottom:2px}.cookie-toggle__text span{font-size:var(--fs-12);color:var(--c-muted);line-height:1.4}.cookie-toggle input[type="checkbox"]{appearance:none;-webkit-appearance:none;position:relative;width:40px;height:24px;background:var(--c-line);border-radius:999px;cursor:pointer;transition:background 200ms var(--ease-out);flex:none;margin:0}.cookie-toggle input[type="checkbox"]::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform 200ms var(--ease-out);box-shadow:0 1px 3px rgba(0,0,0,0.18)}.cookie-toggle input[type="checkbox"]:checked{background:var(--c-blue)}.cookie-toggle input[type="checkbox"]:checked::before{transform:translateX(16px)}.cookie-toggle input[type="checkbox"]:disabled{background:var(--c-blue);opacity:.6;cursor:not-allowed}.cookie-banner__buttons{display:flex;gap:.65rem;flex-wrap:wrap}.cookie-banner__buttons .btn{flex:1 1 auto;justify-content:center;padding:.85rem 1.2rem;font-size:var(--fs-13)}.cookie-banner__link{background:transparent;border:0;padding:0;color:var(--c-blue);font-size:var(--fs-13);text-decoration:underline;cursor:pointer;margin-top:.85rem}.cookie-banner__legal{font-size:var(--fs-11);color:var(--c-muted);margin-top:.75rem}.cookie-banner__legal a{color:var(--c-muted);text-decoration:underline}@media(max-width:560px){.cookie-banner{left:.5rem;right:.5rem;bottom:.5rem}.cookie-banner__buttons{flex-direction:column}}.topbar__nav a::after{display:none !important}.topbar__nav a{position:relative;padding:.55rem 1rem !important;border-radius:999px;transition:background var(--t-fast),color var(--t-fast)}.topbar__nav a:hover{background:rgba(24,24,24,0.06);color:var(--c-ink) !important}.topbar__nav a[aria-current="page"]{background:var(--c-ink);color:var(--c-cream) !important;font-weight:500}.topbar__nav a[aria-current="page"]:hover{background:var(--c-ink-soft)}.hero{min-height:clamp(620px,90vh,920px) !important}@media(max-width:720px){.hero{min-height:clamp(560px,80vh,720px) !important}}.topbar__nav a[aria-current="page"]{background:#888 !important;color:#fff !important;font-weight:500}.topbar__nav a[aria-current="page"]:hover{background:#6e6e6e !important}.topbar__nav a[aria-current="page"]{background:#5a5a5a !important;color:#fff !important}.topbar__nav a[aria-current="page"]:hover{background:#444 !important}.btn--blue{--bg:#0c63d6 !important;--bd:#0c63d6 !important}.btn--blue:hover{--bg:#084999 !important;--bd:#084999 !important}.num-list__arrow{background:#0c63d6 !important}.num-list__arrow:hover{background:#084999 !important}.site-footer h3.footer-h{font-family:var(--ff-body);font-weight:500;font-size:var(--fs-13);letter-spacing:.14em;text-transform:uppercase;color:var(--c-on-ink-muted);margin:0 0 1rem}.team__card h3.team-h{font-family:var(--ff-body);font-weight:500;font-size:var(--fs-18);margin:0;letter-spacing:-.015em}.hero__bg::after{background:linear-gradient(180deg,rgba(24,24,24,0.3) 0,rgba(24,24,24,0.7) 100%)}.hero__trust-grid{grid-template-columns:repeat(3,1fr) !important}@media(max-width:720px){.hero__trust-grid{grid-template-columns:1fr !important;gap:1rem !important}}.burger{border:0 !important;padding:8px !important}.burger:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}.topbar__right .btn--blue{padding:.65rem 1.15rem !important;min-height:40px !important;font-size:var(--fs-13) !important}.mobile-menu .btn{padding:1rem 2rem !important;width:100% !important;justify-content:center !important;text-align:center !important;min-height:52px !important}@media(max-width:720px){.hero{min-height:100vh !important;min-height:100svh !important;padding-bottom:0 !important}.hero__content{padding-block:5rem 1.5rem !important}.hero h1{font-size:clamp(2rem,9vw,2.8rem) !important;margin-bottom:1rem !important}.hero__lead{font-size:var(--fs-15) !important;margin-bottom:1.5rem !important;line-height:1.45 !important}.hero__cta{gap:.6rem !important}.hero__cta .btn{padding:.9rem 1.5rem !important;font-size:var(--fs-13) !important}.hero__trust{padding-block:1.25rem !important;margin-top:0 !important}.hero__trust-grid{grid-template-columns:1fr !important;gap:.65rem !important}.hero__trust-item{padding-left:.85rem !important;border-left-width:2px !important}.hero__trust-label{font-size:10px !important;letter-spacing:.14em !important}.hero__trust-value{font-size:var(--fs-13) !important}.hero__meta{display:none !important}}@media(max-width:720px){.section,.philosophy,.intro-split,.service-cards,.team,.faq,.dark-section,.image-acc{padding-block:clamp(3.5rem,12vw,5rem) !important}.container{padding-inline:1.25rem !important;width:100% !important;max-width:none !important}h2{font-size:clamp(1.75rem,7vw,2.4rem) !important;letter-spacing:-.025em !important}h3{font-size:clamp(1.2rem,5vw,1.5rem) !important}.philosophy__grid{gap:1.25rem !important}.philosophy__item{padding:1.5rem 1.25rem !important}.service-card{aspect-ratio:5/4 !important}.service-cards__grid{gap:1px !important}.image-acc__panel{min-height:280px !important}.image-acc__row{padding:0 !important;gap:2px !important}.site-footer__grid{gap:2rem !important}.site-footer{padding-block:3rem 1.5rem !important}.cta-band__inner{gap:1.5rem !important}.cta-band h2{font-size:clamp(1.6rem,6vw,2rem) !important}.marquee{padding:1rem 0 !important}.marquee__track{font-size:clamp(1.4rem,6vw,2rem) !important}.form input,.form textarea,.form select{padding:1.1rem 1rem !important;min-height:52px !important}.form .btn{padding:1.1rem 1.5rem !important}}@media(min-width:721px) and (max-width:1024px){.section,.philosophy,.intro-split,.service-cards,.team,.faq,.dark-section,.image-acc{padding-block:clamp(4rem,8vw,5.5rem)}}.a11y-toggle{width:44px !important;height:44px !important;padding:0 !important;border-radius:50% !important;display:inline-flex;align-items:center;justify-content:center;gap:0 !important;font-size:0 !important;right:1rem !important;bottom:1rem !important;background:rgba(24,24,24,0.9) !important;color:#fff;box-shadow:0 6px 20px -4px rgba(24,24,24,0.32),0 1px 0 rgba(255,255,255,0.1) inset;transition:background var(--t-fast),transform var(--t-fast)}.a11y-toggle:hover{background:var(--c-ink) !important;transform:scale(1.05)}.a11y-toggle svg{display:block}.a11y-panel{right:1rem;bottom:4.25rem}.call-fab{position:fixed;left:1rem;bottom:1rem;z-index:40;width:52px;height:52px;border-radius:50%;background:var(--c-yellow);color:var(--c-ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 24px -4px rgba(245,219,126,0.65),0 4px 14px -4px rgba(24,24,24,0.25);transition:transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out),background var(--t-fast);text-decoration:none}.call-fab:hover{background:var(--c-yellow-deep);transform:translateY(-2px) scale(1.05);box-shadow:0 14px 32px -4px rgba(245,219,126,0.75),0 8px 18px -6px rgba(24,24,24,0.3)}.call-fab:active{transform:translateY(0) scale(.98)}.call-fab svg{display:block;pointer-events:none}@media(max-width:720px){.call-fab{width:56px;height:56px;left:.85rem;bottom:.85rem}.a11y-toggle{width:44px !important;height:44px !important;right:.85rem !important;bottom:.85rem !important}}.cookie-banner.open ~ .call-fab,.cookie-banner.open ~ .a11y-toggle{opacity:.35;pointer-events:none;transition:opacity 200ms}/* V17: hero füllt, content nach oben, FABs getauscht */
.hero{justify-content:flex-start !important}
.hero__bg{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;z-index:0 !important}
.hero__bg img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 35% !important}
.hero__content{flex:0 0 auto !important;justify-content:flex-start !important;padding-block:clamp(2.5rem,5vh,4rem) 1.5rem !important;max-width:920px}
@media(min-width:721px){.hero{display:flex !important;flex-direction:column !important;justify-content:flex-start !important}.hero__content{margin-top:clamp(2rem,6vh,5rem) !important;padding-block:0 !important;flex:1 1 auto !important;display:flex !important;flex-direction:column !important;justify-content:center !important}.hero__trust{margin-top:auto !important}}
@media(max-width:720px){.hero__content{padding-block:2.5rem 1rem !important;margin-top:1rem !important}}
/* FAB-Seiten tauschen: A11y → LINKS, Call → RECHTS */
.a11y-toggle{left:1rem !important;right:auto !important}
.call-fab{right:1rem !important;left:auto !important}
.a11y-panel{left:1rem !important;right:auto !important;bottom:4.25rem !important}
@media(max-width:720px){.a11y-toggle{left:.85rem !important;right:auto !important}.call-fab{right:.85rem !important;left:auto !important;bottom:.85rem !important}}
/* V18: Hero-Content auf gleiche Breite wie Topbar/Trust, Mobile-Bild voll abgedeckt */
.hero__content{max-width:none !important}
.hero h1{max-width:18ch}
.hero__lead{max-width:56ch}
/* Bild garantiert voll abdecken (auch mobile) */
.hero{position:relative !important;overflow:hidden !important}
.hero__bg{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;z-index:0 !important;display:block !important}
.hero__bg picture{display:block !important;width:100% !important;height:100% !important}
.hero__bg img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 40% !important;min-width:100% !important;min-height:100% !important;max-width:none !important}
/* Mobile-spezifisch: 100svh sicherstellen, Content nicht zu groß */
@media(max-width:720px){
  .hero{min-height:100svh !important;min-height:100vh !important;height:100svh !important}
  .hero__bg{height:100% !important}
  .hero__content{padding-block:6rem 1.5rem !important;margin-top:0 !important;flex:1 1 auto !important;justify-content:center !important}
  .hero__trust{flex:0 0 auto !important}
}
/* V19: Trust auf mobile 3-spaltig kompakt, damit alle Items in 100svh passen */
@media(max-width:720px){
  .hero__trust{padding-block:.85rem !important;background:linear-gradient(to top,rgba(24,24,24,0.92),rgba(24,24,24,0.5)) !important}
  .hero__trust-grid{grid-template-columns:repeat(3,1fr) !important;gap:.5rem .65rem !important}
  .hero__trust-item{padding-left:.5rem !important;border-left-width:2px !important;gap:.15rem !important}
  .hero__trust-label{font-size:9px !important;letter-spacing:.1em !important;line-height:1.2 !important}
  .hero__trust-value{font-size:11px !important;line-height:1.25 !important}
  .hero__content{padding-block:5rem 1.25rem !important}
  .hero h1{font-size:clamp(1.85rem,8vw,2.5rem) !important;margin-bottom:.85rem !important}
  .hero__lead{font-size:var(--fs-14) !important;margin-bottom:1.25rem !important}
  .hero__cta{gap:.5rem !important}
  .hero__cta .btn{padding:.8rem 1.3rem !important;font-size:var(--fs-13) !important}
}
/* V20: Hero strecken statt fix-height auf mobile, hero__content darf nicht aufblähen */
@media(max-width:720px){
  .hero{min-height:100svh !important;min-height:100vh !important;height:auto !important;overflow:visible !important}
  .hero__bg{height:100% !important;overflow:hidden}
  .hero__content{flex:0 1 auto !important;padding-block:5rem 1rem !important;justify-content:flex-end !important;margin-top:0 !important}
}
/* V21: Mobile-Hero: Content ans obere Drittel, Trust ans Ende */
@media(max-width:720px){
  .hero{display:flex !important;flex-direction:column !important;justify-content:flex-start !important;min-height:100svh !important;min-height:100vh !important;height:auto !important;position:relative !important;overflow:hidden !important}
  .hero__content{flex:0 1 auto !important;padding-block:5rem 1rem !important;margin-top:0 !important;justify-content:flex-start !important;display:flex !important;flex-direction:column !important}
  .hero__trust{margin-top:auto !important;flex:0 0 auto !important;position:relative !important;z-index:2 !important}
}
/* V22: Hero auf Mobile = svh minus topbar-Höhe, damit Trust noch sichtbar bleibt */
@media(max-width:720px){
  .hero{min-height:calc(100svh - 68px) !important;min-height:calc(100vh - 68px) !important;height:calc(100svh - 68px) !important;height:calc(100vh - 68px) !important}
}
/* V23: Trust-Texte mobile lesbar (umbrechen erlaubt, nicht trunkieren) */
@media(max-width:720px){
  .hero__trust-item{overflow:visible !important;min-width:0}
  .hero__trust-value{word-break:normal !important;overflow-wrap:break-word !important;hyphens:auto !important}
  .hero__trust-label{white-space:nowrap}
}
/* Auf sehr kleinen Screens (<400px) Trust noch kompakter */
@media(max-width:400px){
  .hero__trust{padding-block:.7rem !important}
  .hero__trust-grid{gap:.4rem .5rem !important}
  .hero__trust-item{padding-left:.4rem !important}
  .hero__trust-label{font-size:8px !important}
  .hero__trust-value{font-size:10px !important;line-height:1.2 !important}
}
/* V24: Mobile: FABs höher schieben, damit sie den Trust-Banner nicht überlappen */
@media(max-width:720px){
  .call-fab{bottom:6rem !important;right:.85rem !important;width:48px !important;height:48px !important}
  .a11y-toggle{bottom:6rem !important;left:.85rem !important;width:42px !important;height:42px !important}
}
/* V25: ROLLBACK Trust-Layout & FAB-Position auf Original (vor V19) */
@media(max-width:720px){
  /* Trust wieder 1-spaltig untereinander (Original) */
  .hero__trust{padding-block:1.25rem !important;background:linear-gradient(to top,rgba(24,24,24,0.88),rgba(24,24,24,0.4)) !important}
  .hero__trust-grid{grid-template-columns:1fr !important;gap:.6rem !important}
  .hero__trust-item{padding-left:.85rem !important;border-left-width:2px !important;gap:.3rem !important;flex-direction:column !important}
  .hero__trust-label{font-size:10px !important;letter-spacing:.14em !important;line-height:1.2 !important;white-space:nowrap}
  .hero__trust-value{font-size:13px !important;line-height:1.3 !important;word-break:normal !important;overflow-wrap:break-word !important}

  /* FABs zurück an den unteren Rand (Original Position) */
  .call-fab{bottom:.85rem !important;right:.85rem !important;width:52px !important;height:52px !important}
  .a11y-toggle{bottom:.85rem !important;left:.85rem !important;width:44px !important;height:44px !important}

  /* Hero-Content straffen damit Lead+Buttons+3-Trust-Items in den Viewport passen */
  .hero{min-height:calc(100svh - 68px) !important;min-height:calc(100vh - 68px) !important;height:auto !important}
  .hero__content{padding-block:3.5rem .75rem !important;margin-top:0 !important;flex:0 1 auto !important}
  .hero h1{font-size:clamp(1.75rem,7.5vw,2.4rem) !important;margin-bottom:.85rem !important;max-width:14ch !important}
  .hero__lead{font-size:var(--fs-14) !important;margin-bottom:1.1rem !important;line-height:1.4 !important;max-width:42ch !important}
  .hero__cta{gap:.5rem !important;flex-wrap:wrap !important}
  .hero__cta .btn{padding:.8rem 1.25rem !important;font-size:var(--fs-13) !important;min-height:42px !important}
}
/* V26: FABs etwas höher damit sie nicht den Trust-Banner überlappen */
@media(max-width:720px){
  .call-fab{bottom:11rem !important;right:.85rem !important;width:48px !important;height:48px !important}
  .a11y-toggle{bottom:11rem !important;left:.85rem !important;width:42px !important;height:42px !important}
}
/* V27: Mobile Hero auf 80svh, FABs an Standardposition, Trust in Originalgröße */
@media(max-width:720px){
  /* Hero: 80% Bildschirmhöhe, Bild und Inhalt füllen den Bereich */
  .hero{min-height:80svh !important;min-height:80vh !important;height:auto !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;overflow:hidden !important}
  .hero__bg{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important}
  .hero__bg img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 40% !important}
  .hero__content{padding-block:3rem 1.5rem !important;margin-top:0 !important;flex:1 1 auto !important;display:flex !important;flex-direction:column !important;justify-content:center !important;position:relative !important;z-index:1}

  /* Trust auf Original-Größe (kein verkleinern) */
  .hero__trust{padding-block:1.5rem !important;background:linear-gradient(to top,rgba(24,24,24,0.88),rgba(24,24,24,0.4)) !important;position:relative !important;z-index:2 !important;flex:0 0 auto !important;margin-top:0 !important}
  .hero__trust-grid{grid-template-columns:1fr !important;gap:.8rem !important}
  .hero__trust-item{padding-left:1rem !important;border-left:2px solid var(--c-yellow) !important;gap:.35rem !important;display:flex !important;flex-direction:column !important}
  .hero__trust-label{font-size:11px !important;letter-spacing:.16em !important;color:rgba(255,255,255,0.72) !important}
  .hero__trust-value{font-size:14px !important;line-height:1.35 !important;color:#fff !important;font-weight:500 !important}

  /* FABs zurück an Standardposition unten links/rechts */
  .call-fab{bottom:1rem !important;right:1rem !important;width:52px !important;height:52px !important}
  .a11y-toggle{bottom:1rem !important;left:1rem !important;width:44px !important;height:44px !important}

  /* H1 + Lead etwas kompakter aber nicht winzig */
  .hero h1{font-size:clamp(2rem,8vw,2.6rem) !important;margin-bottom:1rem !important;max-width:14ch !important}
  .hero__lead{font-size:var(--fs-15) !important;margin-bottom:1.5rem !important;line-height:1.45 !important;max-width:42ch !important}
  .hero__cta{gap:.6rem !important;flex-wrap:wrap !important}
  .hero__cta .btn{padding:.9rem 1.4rem !important;font-size:var(--fs-13) !important;min-height:44px !important}
}
/* V28: A11y und Call-FAB einheitlich groß (52x52) - WCAG AAA & Apple HIG konform */
.a11y-toggle{width:52px !important;height:52px !important;border-radius:50% !important;padding:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important}
.a11y-toggle svg{width:22px;height:22px}
.call-fab{width:52px !important;height:52px !important;border-radius:50% !important}
.call-fab svg{width:22px;height:22px}
@media(max-width:720px){
  .a11y-toggle{width:52px !important;height:52px !important;left:1rem !important;bottom:1rem !important}
  .call-fab{width:52px !important;height:52px !important;right:1rem !important;bottom:1rem !important}
}
/* V29: Ratgeber-Bereich (Übersicht + Detail-Posts) */
.ratgeber-cluster{padding-block:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--c-line-soft)}
.ratgeber-cluster:last-of-type{border-bottom:0}
.ratgeber-cluster:nth-of-type(odd){background:var(--c-cream)}
.ratgeber-cluster:nth-of-type(even){background:var(--c-paper)}
.ratgeber-cluster__head{max-width:65ch;margin-bottom:2.5rem}
.ratgeber-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
@media(max-width:980px){.ratgeber-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ratgeber-grid{grid-template-columns:1fr;gap:1.25rem}}
.ratgeber-card{display:flex;flex-direction:column;background:rgba(255,255,255,0.65);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border:1px solid rgba(24,24,24,0.06);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--c-ink);transition:transform 280ms var(--ease-out),box-shadow 280ms var(--ease-out),border-color 280ms var(--ease-out);box-shadow:0 1px 3px rgba(24,24,24,0.04)}
.ratgeber-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(24,24,24,0.18);border-color:rgba(24,24,24,0.12)}
.ratgeber-card__media{aspect-ratio:16/10;overflow:hidden;background:var(--c-cream-deep)}
.ratgeber-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease-out)}
.ratgeber-card:hover .ratgeber-card__media img{transform:scale(1.04)}
.ratgeber-card__body{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.ratgeber-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:var(--fs-12);color:var(--c-muted);letter-spacing:.02em}
.ratgeber-card__dot{opacity:.6}
.ratgeber-card__title{font-family:var(--ff-body);font-weight:600;font-size:var(--fs-18);line-height:1.3;letter-spacing:-.015em;margin:0;color:var(--c-ink)}
.ratgeber-card__lead{font-size:var(--fs-14);line-height:1.55;color:var(--c-muted-strong);margin:0;flex:1}
.ratgeber-card__cta{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--fs-13);font-weight:600;letter-spacing:.02em;color:#0c63d6;margin-top:auto}
.ratgeber-card__cta .arrow{transition:transform var(--t-fast)}
.ratgeber-card:hover .ratgeber-card__cta .arrow{transform:translateX(4px)}
.ratgeber-card--related .ratgeber-card__media{aspect-ratio:16/9}
/* Post-Detail */
.post-header{background:var(--c-cream);padding-block:clamp(3rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--c-line-soft)}
.post-header h1{margin:.5rem 0 1.25rem;max-width:24ch;letter-spacing:-.035em}
.post-header .lead{max-width:60ch}
.post-meta{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--fs-13);color:var(--c-muted)}
.post-meta__dot{opacity:.5}
.post-hero{margin:0;background:var(--c-ink)}
.post-hero img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block}
.post-tldr{padding-block:clamp(2rem,4vw,3rem)}
.tldr-box{background:#fff;border:1px solid var(--c-line);border-left:4px solid var(--c-yellow);border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 4px 14px -4px rgba(24,24,24,0.06)}
.tldr-box p{margin:0;font-size:var(--fs-16);line-height:1.6;color:var(--c-ink)}
.post-section{padding-block:clamp(1.5rem,3vw,2.5rem)}
.post-section h2{font-family:var(--ff-body);font-weight:600;font-size:clamp(var(--fs-24),2.4vw,var(--fs-32));letter-spacing:-.025em;margin:0 0 1.25rem;line-height:1.2;color:var(--c-ink);max-width:32ch}
.post-section p{font-size:var(--fs-16);line-height:1.7;color:var(--c-ink);margin:0 0 1rem}
.post-section ul.bullets,.post-section ol.bullets{margin:1.25rem 0 1.5rem}
.post-section ul.bullets li,.post-section ol.bullets li{font-size:var(--fs-15);line-height:1.6}
.post-section--faq{padding-block:clamp(2.5rem,5vw,4rem);background:var(--c-cream)}
.post-section--faq h2{margin-bottom:1.5rem}
.post-cta{padding-block:clamp(2rem,4vw,3.5rem)}
.cta-card{background:var(--c-ink);color:var(--c-cream);border-radius:18px;padding:clamp(1.5rem,3vw,2.5rem);display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;box-shadow:0 16px 40px -12px rgba(24,24,24,0.25)}
@media(max-width:720px){.cta-card{grid-template-columns:1fr}}
.cta-card h2{color:var(--c-cream);margin:0}
.cta-card p{color:rgba(245,242,232,0.78);margin:0}
.cta-card__buttons{display:flex;gap:.65rem;flex-wrap:wrap}
.cta-card .btn--ghost{--bg:transparent;--fg:var(--c-cream);--bd:rgba(245,242,232,0.4)}
.cta-card .btn--ghost:hover{--bg:rgba(245,242,232,0.1);--bd:var(--c-cream)}
.post-related{padding-block:clamp(3rem,6vw,5rem);background:var(--c-paper);border-top:1px solid var(--c-line-soft)}
.post-related h2{font-family:var(--ff-body);font-weight:600;font-size:var(--fs-24);letter-spacing:-.02em;margin:.25rem 0 2rem}
@media(max-width:720px){.post-header h1{font-size:clamp(1.7rem,7vw,2.4rem) !important;line-height:1.15 !important}.post-section h2{font-size:clamp(1.4rem,6vw,1.8rem) !important}.post-hero img{max-height:280px}}
/* V30: Bullets in Post-Sections wieder als normaler Block-Flow (Grid macht Inline-Text kaputt) */
.post-section ul.bullets,
.post-section ol.bullets{display:block !important;list-style:none !important;padding:0 !important;margin:1.25rem 0 1.5rem !important}
.post-section ul.bullets li,
.post-section ol.bullets li{display:block !important;position:relative;padding-left:24px !important;margin-bottom:.75rem !important;line-height:1.65 !important;font-size:var(--fs-15) !important;grid-template-columns:none !important;grid-template-rows:none !important;gap:0 !important}
.post-section ul.bullets li::before,
.post-section ol.bullets li::before{content:"" !important;position:absolute !important;left:0 !important;top:.6em !important;width:7px !important;height:7px !important;background:var(--c-ink) !important;border-radius:0 !important;margin:0 !important}
.post-section ol.bullets{counter-reset:bnum}
.post-section ol.bullets li{counter-increment:bnum;padding-left:32px !important}
.post-section ol.bullets li::before{content:counter(bnum,decimal-leading-zero) "." !important;position:absolute;left:0 !important;top:0 !important;width:auto !important;height:auto !important;background:transparent !important;font-family:ui-monospace,monospace;font-size:var(--fs-13);color:var(--c-yellow-deep);font-weight:600}
/* Preis-Hinweis-Box */
.price-note{margin-top:1.25rem !important;padding:.85rem 1.1rem;background:var(--c-cream);border-left:3px solid var(--c-yellow);border-radius:8px;font-size:var(--fs-14) !important;line-height:1.55 !important;color:var(--c-muted-strong)}
.price-note strong{color:var(--c-ink)}
/* V31: Kontaktformular Re-Design – prominent, einladend, mit Trust-Sidebar */
.contact-form-section{padding-block:clamp(3rem,6vw,5.5rem);background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-cream) 100%)}
.contact-form-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media(max-width:980px){.contact-form-grid{grid-template-columns:1fr}}

/* Aside: Trust + Direktkontakt */
.contact-aside{padding-right:clamp(0rem,2vw,1.5rem)}
.contact-aside__h{font-family:var(--ff-body);font-weight:600;font-size:clamp(var(--fs-24),2.6vw,var(--fs-32));letter-spacing:-.025em;line-height:1.2;margin:.5rem 0 1rem;color:var(--c-ink);max-width:18ch}
.contact-aside__lead{font-size:var(--fs-15);line-height:1.55;color:var(--c-muted-strong);margin-bottom:1.75rem;max-width:38ch}
.contact-trust{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.85rem}
.contact-trust li{display:grid;grid-template-columns:38px 1fr;gap:.85rem;align-items:start;padding:.75rem .85rem;background:rgba(255,255,255,0.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(24,24,24,0.06);border-radius:12px}
.contact-trust__icon{width:38px;height:38px;border-radius:50%;background:var(--c-yellow);display:inline-flex;align-items:center;justify-content:center;color:var(--c-ink);flex:none}
.contact-trust__icon svg{width:20px;height:20px}
.contact-trust strong{display:block;font-size:var(--fs-14);font-weight:600;color:var(--c-ink);line-height:1.3;margin-bottom:2px}
.contact-trust span{display:block;font-size:var(--fs-13);color:var(--c-muted);line-height:1.4}
.contact-direct{padding:1.25rem 1.5rem;background:var(--c-ink);color:var(--c-cream);border-radius:14px;margin-top:1rem}
.contact-direct .eyebrow{color:rgba(245,242,232,0.6) !important}
.contact-direct__tel{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--ff-body);font-size:clamp(var(--fs-20),2.2vw,var(--fs-24));font-weight:600;letter-spacing:-.015em;color:var(--c-yellow);text-decoration:none;line-height:1.2}
.contact-direct__tel:hover{color:var(--c-yellow-deep)}
.contact-direct__tel svg{width:22px;height:22px;flex:none;opacity:.9}
.contact-direct__hint{margin:.4rem 0 0;font-size:var(--fs-13);color:rgba(245,242,232,0.7)}

/* Form-Card */
.contact-form-card{background:#fff;border:1px solid rgba(24,24,24,0.08);border-radius:18px;box-shadow:0 24px 56px -20px rgba(24,24,24,0.25),0 1px 2px rgba(24,24,24,0.04);overflow:hidden}
.contact-form-card__head{padding:1.25rem 1.5rem;background:var(--c-cream);border-bottom:1px solid var(--c-line-soft)}
.form-step-indicator{display:flex;align-items:center;gap:.65rem;margin:0;font-size:var(--fs-13);color:var(--c-ink)}
.form-step{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;border:1.5px solid var(--c-line);font-size:var(--fs-13);font-weight:600;color:var(--c-muted);transition:all 220ms var(--ease-out);flex:none}
.form-step.is-active{background:var(--c-blue);border-color:var(--c-blue);color:#fff;box-shadow:0 4px 12px -2px rgba(12,99,214,0.4)}
.form-step.is-done{background:var(--c-yellow);border-color:var(--c-yellow);color:var(--c-ink)}
.form-step-line{flex:0 0 32px;height:2px;background:var(--c-line);border-radius:2px}
.form-step-label{margin-left:.4rem;font-size:var(--fs-13);color:var(--c-muted-strong);font-weight:500}
.contact-form-new{padding:1.75rem clamp(1.25rem,3vw,2rem) 2rem;display:block}
.contact-form-new [data-step]{display:none}
.contact-form-new [data-step].is-active{display:block;animation:formStepFade 280ms var(--ease-out)}
@keyframes formStepFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.form-row{margin-bottom:1.25rem}
.form-row--split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}
@media(max-width:520px){.form-row--split{grid-template-columns:1fr}}
.contact-form-new label{display:block;font-size:var(--fs-13);font-weight:600;color:var(--c-ink);margin-bottom:.4rem;letter-spacing:.01em}
.form-req{color:var(--c-blue);margin-left:2px}
.form-hint{display:block;margin-top:.4rem;font-size:var(--fs-12);color:var(--c-muted)}
.contact-form-new input[type="text"],
.contact-form-new input[type="email"],
.contact-form-new input[type="tel"],
.contact-form-new select,
.contact-form-new textarea{width:100%;font:inherit;font-size:var(--fs-15);padding:.95rem 1.1rem;background:#fff;border:1.5px solid rgba(24,24,24,0.12);border-radius:10px;color:var(--c-ink);transition:border-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out);min-height:48px}
.contact-form-new select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23181818' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.1rem center;padding-right:2.6rem}
.contact-form-new textarea{min-height:140px;resize:vertical;line-height:1.55}
.contact-form-new input:focus,
.contact-form-new select:focus,
.contact-form-new textarea:focus{border-color:var(--c-blue);box-shadow:0 0 0 4px rgba(12,99,214,0.12);outline:0}
.contact-form-new input:invalid:not(:placeholder-shown):not(:focus),
.contact-form-new textarea:invalid:not(:placeholder-shown):not(:focus){border-color:#d04040}
.contact-form-new .consent{display:flex;gap:.65rem;align-items:flex-start;font-size:var(--fs-13);color:var(--c-muted-strong);line-height:1.5;margin-top:.25rem;padding:.85rem 1rem;background:var(--c-cream);border-radius:10px}
.contact-form-new .consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--c-blue);cursor:pointer}
.contact-form-new .consent a{text-decoration:underline}
.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}
.form-actions--split{justify-content:space-between;align-items:center;flex-wrap:wrap}
.form-actions .btn{padding:1rem 1.75rem !important;min-height:52px}
.form-footnote{margin:1rem 0 0;font-size:var(--fs-12);color:var(--c-muted);text-align:center;line-height:1.5}
@media(max-width:720px){
  .contact-form-section{padding-block:clamp(2rem,5vw,3.5rem)}
  .contact-aside__h{font-size:clamp(var(--fs-20),6vw,var(--fs-24))}
  .contact-form-card__head{padding:1rem 1.25rem}
  .form-step-label{font-size:11px;margin-left:.25rem}
  .form-step{width:26px;height:26px;font-size:12px}
  .form-step-line{flex:0 0 20px}
  .contact-form-new{padding:1.25rem 1rem 1.5rem}
  .form-row{margin-bottom:1rem}
}
/* V32: Hero-Quick-Form (Startseite) – kompaktes Anfrageformular im Hero */
.hero__content--split{display:grid !important;grid-template-columns:1.1fr .9fr !important;gap:clamp(2rem,4vw,3rem) !important;align-items:center !important;max-width:none !important}
@media(max-width:980px){.hero__content--split{grid-template-columns:1fr !important;gap:1.5rem !important}}
.hero__text{display:flex;flex-direction:column;justify-content:center}
.hero-quick{background:rgba(255,255,255,0.96);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,0.5);border-radius:18px;padding:clamp(1.5rem,3vw,2rem);box-shadow:0 28px 64px -16px rgba(0,0,0,0.45),0 1px 0 rgba(255,255,255,0.5) inset;max-width:480px;width:100%;margin-left:auto;color:var(--c-ink)}
@media(max-width:980px){.hero-quick{max-width:none;margin-left:0}}
.hero-quick__head{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(24,24,24,0.08)}
.hero-quick__h{font-family:var(--ff-body);font-weight:600;font-size:clamp(var(--fs-20),2vw,var(--fs-24));letter-spacing:-.02em;margin:.4rem 0 .5rem;color:var(--c-ink);line-height:1.2}
.hero-quick__lead{margin:0;font-size:var(--fs-14);line-height:1.5;color:var(--c-muted-strong)}
.hero-quick__form{display:flex;flex-direction:column;gap:.85rem}
.hero-quick__row{display:block}
.hero-quick__row--split{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
@media(max-width:520px){.hero-quick__row--split{grid-template-columns:1fr}}
.hero-quick__form label{display:block;font-size:var(--fs-12);font-weight:600;color:var(--c-ink);margin-bottom:.3rem;letter-spacing:.02em;text-transform:uppercase}
.hero-quick__form input[type="text"],
.hero-quick__form input[type="email"],
.hero-quick__form input[type="tel"],
.hero-quick__form select,
.hero-quick__form textarea{width:100%;font:inherit;font-size:var(--fs-14);padding:.7rem .85rem;background:#fff;border:1.5px solid rgba(24,24,24,0.12);border-radius:8px;color:var(--c-ink);transition:border-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out);min-height:42px}
.hero-quick__form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23181818' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.2rem}
.hero-quick__form textarea{min-height:80px;resize:vertical;line-height:1.45}
.hero-quick__form input:focus,
.hero-quick__form select:focus,
.hero-quick__form textarea:focus{border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(12,99,214,0.12);outline:0}
.hero-quick__consent{display:flex;gap:.5rem;align-items:flex-start;font-size:var(--fs-12);color:var(--c-muted-strong);line-height:1.45;margin:.25rem 0 .15rem}
.hero-quick__consent input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--c-blue);cursor:pointer}
.hero-quick__consent a{text-decoration:underline}
.hero-quick__submit{margin-top:.35rem;width:100%;justify-content:center;background:var(--c-blue) !important;color:#fff !important;border-color:var(--c-blue) !important;padding:.95rem 1.5rem !important;min-height:48px}
.hero-quick__submit:hover{background:#0d68d4 !important;border-color:#0d68d4 !important}
.hero-quick__hint{margin:.5rem 0 0;font-size:var(--fs-12);color:var(--c-muted);text-align:center}
/* Hero etwas höher auf Desktop wenn Form drin ist */
@media(min-width:981px){.hero{min-height:clamp(680px,82vh,860px) !important}}
@media(max-width:720px){.hero__quick{order:2}.hero__text{order:1}}
/* V33: Schnellanfrage-Section direkt unter Hero (statt Form im Hero) */
.hero__content--split{display:flex !important;flex-direction:column !important;max-width:none !important}
.hero__content--split .hero__text{display:contents}
.quick-anfrage{padding-block:clamp(2.5rem,5vw,4rem);background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-cream) 100%);position:relative;z-index:2}
.quick-anfrage__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media(max-width:880px){.quick-anfrage__grid{grid-template-columns:1fr;gap:1.5rem}}
.quick-anfrage__intro{max-width:42ch}
.quick-anfrage__h{font-family:var(--ff-body);font-weight:600;font-size:clamp(var(--fs-24),3vw,var(--fs-40));letter-spacing:-.03em;line-height:1.15;margin:.5rem 0 1rem;color:var(--c-ink)}
.quick-anfrage__lead{font-size:var(--fs-15);line-height:1.6;color:var(--c-muted-strong);margin:0 0 1.25rem}
.quick-anfrage__points{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.5rem}
.quick-anfrage__points li{display:grid;grid-template-columns:18px 1fr;gap:.65rem;align-items:start;font-size:var(--fs-14);color:var(--c-muted-strong);line-height:1.55;position:relative}
.quick-anfrage__points li::before{content:"";width:10px;height:10px;background:var(--c-yellow);border-radius:50%;margin-top:7px;box-shadow:0 0 0 3px rgba(245,219,126,0.25)}
.quick-anfrage__points strong{color:var(--c-ink);font-weight:600}
.quick-anfrage__alt{font-size:var(--fs-14);color:var(--c-muted-strong);margin:0}
.quick-anfrage__alt a{color:var(--c-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.quick-anfrage__alt a:hover{color:var(--c-yellow-deep)}
.quick-anfrage__card{background:#fff;border:1px solid rgba(24,24,24,0.08);border-radius:18px;padding:clamp(1.5rem,3vw,2.25rem);box-shadow:0 20px 48px -16px rgba(24,24,24,0.2),0 1px 2px rgba(24,24,24,0.04)}
.quick-anfrage__card .hero-quick__form{display:flex;flex-direction:column;gap:.95rem}
@media(max-width:720px){.quick-anfrage{padding-block:2rem}.quick-anfrage__h{font-size:clamp(var(--fs-20),6vw,var(--fs-32))}}
/* V34: Quick-Anfrage Punkte-Liste fix (kein Grid, sonst Wort-für-Wort-Umbruch) */
.quick-anfrage__points{display:block !important;list-style:none !important;padding:0 !important;margin:0 0 1.5rem !important}
.quick-anfrage__points li{display:block !important;position:relative !important;padding-left:22px !important;margin-bottom:.55rem !important;grid-template-columns:none !important;gap:0 !important;line-height:1.55 !important;font-size:var(--fs-14) !important;color:var(--c-muted-strong)}
.quick-anfrage__points li::before{content:"" !important;position:absolute !important;left:0 !important;top:.55em !important;width:10px !important;height:10px !important;background:var(--c-yellow) !important;border-radius:50% !important;box-shadow:0 0 0 3px rgba(245,219,126,0.25) !important;margin:0 !important}
/* V35: Kontakt-Quick-Grid responsive (vorher fix 4-spaltig → Overflow auf Mobile) */
.kontakt-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem;padding-bottom:2rem}
@media(max-width:880px){.kontakt-quick-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}
@media(max-width:480px){.kontakt-quick-grid{grid-template-columns:1fr;gap:1.25rem}}
/* V36: Card-Design-System vereinheitlicht – konsistente Radien, Schatten, Borders */
:root{
  --card-radius:16px;
  --card-radius-sm:12px;
  --card-bg:#ffffff;
  --card-bg-glass:rgba(255,255,255,0.7);
  --card-border:1px solid rgba(24,24,24,0.07);
  --card-shadow:0 1px 2px rgba(24,24,24,0.04),0 8px 20px -8px rgba(24,24,24,0.1);
  --card-shadow-hover:0 4px 8px rgba(24,24,24,0.06),0 18px 40px -12px rgba(24,24,24,0.2);
  --card-shadow-strong:0 4px 8px rgba(24,24,24,0.06),0 24px 56px -16px rgba(24,24,24,0.22);
  --card-padding:clamp(1.25rem,2.5vw,1.75rem);
}

/* Konsistente Cards */
.philosophy__item,
.service-cards--light .service-card,
.ratgeber-card,
.ratgeber-card--related,
.contact-trust li,
.contact-form-card,
.quick-anfrage__card,
.hero-quick,
.tldr-box,
.faq__list details,
.image-acc__panel,
.team__card,
.cookie-banner,
.contact-direct,
.cta-card{border-radius:var(--card-radius) !important}

/* Trust-Items + kleinere Karten = Small-Radius */
.contact-trust li{border-radius:var(--card-radius-sm) !important;padding:.95rem 1.1rem !important;background:var(--card-bg-glass) !important;border:var(--card-border) !important;box-shadow:0 1px 2px rgba(24,24,24,0.03) !important}

/* Standard Card-Shadow */
.philosophy__item,
.service-cards--light .service-card,
.ratgeber-card,
.tldr-box{box-shadow:var(--card-shadow) !important;border:var(--card-border) !important}

.philosophy__item:hover,
.service-cards--light .service-card:hover,
.ratgeber-card:hover{box-shadow:var(--card-shadow-hover) !important}

/* Form-Cards = Strong-Shadow */
.contact-form-card,
.quick-anfrage__card,
.hero-quick{box-shadow:var(--card-shadow-strong) !important;border:var(--card-border) !important;background:var(--card-bg) !important}

/* Image-Accordion bekommt freundlicheren Radius */
.image-acc__panel{border-radius:var(--card-radius-sm) !important}

/* FAQ details konsistent */
.faq__list details{border:var(--card-border) !important;background:var(--card-bg-glass) !important;border-radius:var(--card-radius) !important}

/* Team-Cards einheitlich */
.team__card .team__photo{border-radius:var(--card-radius) !important;aspect-ratio:4/5 !important}

/* Service-Cards (dunkel, mit Bild) auch radius angleichen */
.service-cards__grid .service-card{border-radius:var(--card-radius) !important}

/* Cookie-Banner */
.cookie-banner{border-radius:var(--card-radius) !important}

/* CTA-Card */
.cta-card{border-radius:var(--card-radius) !important}

/* Sektion-Abstände konsistent */
.section,.philosophy,.intro-split,.service-cards,.dark-section,.team,.faq,.quick-anfrage,.contact-form-section,.cta-band,.image-acc{padding-block:clamp(3rem,7vw,6rem)}
@media(max-width:720px){
  .section,.philosophy,.intro-split,.service-cards,.dark-section,.team,.faq,.quick-anfrage,.contact-form-section,.image-acc{padding-block:clamp(2.5rem,8vw,4rem) !important}
}

/* Konsistenter Vertikal-Spacing in Cards */
.ratgeber-card__body{padding:1.5rem !important}
.ratgeber-card--related .ratgeber-card__body{padding:1.25rem 1.5rem 1.5rem !important}
.service-cards--light .service-card__body{padding:1.5rem !important}
.philosophy__item{padding:1.75rem !important}

/* Buttons konsistent gerundet */
.btn{border-radius:999px !important}
/* V37: Service-Cards + Image-Accordion Mobile: container-bündig + natürliche Höhe */

/* Service-Cards (dunkel, mit Bild als Background) */
@media(max-width:720px){
  .service-cards__grid{
    grid-template-columns:1fr !important;
    gap:1rem !important;
    padding-inline:0 !important;
    background:transparent !important;
  }
  .service-cards .container{padding-inline:var(--gutter)}
  .service-card{
    aspect-ratio:5/4 !important;
    border-radius:var(--card-radius) !important;
    overflow:hidden !important;
  }
}

/* Service-Cards Light (auf /leistungen/) */
@media(max-width:720px){
  .service-cards--light .service-cards__grid{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  .service-cards--light .service-card{
    aspect-ratio:auto !important;
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  .service-cards--light .service-card img{
    height:200px !important;
    width:100% !important;
    object-fit:cover !important;
    flex:0 0 auto !important;
  }
  .service-cards--light .service-card__body{
    flex:1 1 auto !important;
    padding:1.25rem !important;
    position:static !important;
  }
}

/* Image-Accordion Row aus dem container-losen Layout in einen container packen */
@media(max-width:720px){
  .image-acc__row{
    display:flex !important;
    flex-direction:column !important;
    padding-inline:var(--gutter) !important;
    gap:1rem !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .image-acc__panel{
    border-radius:var(--card-radius) !important;
    margin:0 !important;
    min-height:240px !important;
    aspect-ratio:auto !important;
    flex:1 1 auto !important;
  }
}
/* V38: FAQ – Bild im Hintergrund, Texte vorn, scroll-progressiver Blur (Mobile + Desktop) */
.faq{position:relative}
.faq .container{position:relative;z-index:2}
.faq__photo{position:sticky;top:90px;z-index:0;will-change:filter;transition:filter 200ms linear}
.faq__photo img{display:block;width:100%;height:auto;border-radius:var(--card-radius)}
.faq__list{position:relative;z-index:3}
.faq h2{position:relative;z-index:3;background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-paper) 70%,rgba(255,255,255,0.92) 100%);padding-block:.5rem;display:inline-block;border-radius:8px}

/* FAQ Details: solider Hintergrund damit Text immer lesbar bleibt (nicht durchsichtig) */
.faq__list details{background:rgba(255,255,255,0.97) !important;backdrop-filter:saturate(180%) blur(20px) !important;-webkit-backdrop-filter:saturate(180%) blur(20px) !important;border:var(--card-border) !important;box-shadow:0 4px 14px -4px rgba(24,24,24,0.08)}

@media(max-width:980px){
  .faq__grid{display:flex !important;flex-direction:column !important;position:relative}
  .faq__photo{position:sticky !important;top:80px !important;margin-bottom:1.5rem;z-index:0}
  .faq__photo img{max-height:280px;object-fit:cover}
  /* H2 mit solidem Hintergrund auf Mobile */
  .faq h2{background:var(--c-paper) !important;padding:.5rem 1rem !important;display:block !important;border-radius:8px;width:100%;box-sizing:border-box}
  .faq .eyebrow{background:var(--c-paper) !important;padding:.25rem .5rem;display:inline-block;border-radius:6px;position:relative;z-index:3}
}

/* CSS-Variable für Blur, wird vom Script gesetzt */
.faq__photo{filter:blur(var(--faq-blur, 0px))}
/* V39: num-list konsistent zum Card-Design (Inter, Anthrazit, Karten-Style) */
.num-list{
  background:#fff !important;
  border:var(--card-border) !important;
  border-radius:var(--card-radius) !important;
  box-shadow:var(--card-shadow) !important;
  padding:clamp(1rem,2.5vw,1.5rem) clamp(1.25rem,3vw,2rem) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.num-list__item{
  display:grid !important;
  grid-template-columns:48px 1fr auto !important;
  gap:1.25rem !important;
  padding:1.25rem 0 !important;
  align-items:center !important;
  border-bottom:1px solid rgba(24,24,24,0.08) !important;
}
.num-list__item:last-child{border-bottom:0 !important}
.num-list__num{
  font-family:ui-monospace,monospace !important;
  font-size:var(--fs-13) !important;
  color:var(--c-muted) !important;
  letter-spacing:.08em !important;
}
.num-list__title{
  font-family:var(--ff-body) !important;
  font-weight:600 !important;
  font-size:clamp(var(--fs-18),1.8vw,var(--fs-24)) !important;
  letter-spacing:-.02em !important;
  color:var(--c-ink) !important;
  margin:0 !important;
  line-height:1.2 !important;
}
.num-list__desc{
  font-size:var(--fs-14) !important;
  color:var(--c-muted-strong) !important;
  line-height:1.55 !important;
  margin-top:.4rem !important;
}
.num-list__arrow{
  width:42px !important;height:42px !important;
  background:var(--c-ink) !important;color:#fff !important;
  border-radius:50% !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  text-decoration:none !important;
  transition:background var(--t-fast),transform var(--t-fast) !important;
  font-size:18px !important;
  flex:none !important;
}
.num-list__arrow:hover{background:var(--c-yellow-deep) !important;color:var(--c-ink) !important;transform:translateX(3px) !important}

/* Mobile-Layout für num-list-Item: Stack mit Pfeil neben Nummer */
@media(max-width:720px){
  .num-list{padding:1rem 1.25rem !important}
  .num-list__item{
    grid-template-columns:48px 1fr !important;
    grid-template-areas:"num title" "desc desc" "arrow arrow" !important;
    gap:.5rem 1rem !important;
    padding:1.25rem 0 !important;
  }
  .num-list__num{grid-area:num;align-self:start !important;padding-top:.25rem}
  .num-list__title{grid-area:title;font-size:var(--fs-18) !important}
  .num-list__desc{grid-area:desc;margin-top:.5rem !important}
  .num-list__arrow{grid-area:arrow;justify-self:start !important;margin-top:.5rem;width:40px !important;height:40px !important}
}
/* V40: FAQ Mobile vereinfachen - Bild als kompakter Section-Header statt sticky/blur */
@media(max-width:980px){
  .faq__grid{display:flex !important;flex-direction:column !important;gap:1.5rem !important}
  .faq__photo{
    position:static !important;
    top:auto !important;
    z-index:auto !important;
    margin:0 0 1.5rem 0 !important;
    width:100% !important;
    max-height:none !important;
    filter:none !important;
  }
  .faq__photo img{
    width:100% !important;
    height:auto !important;
    max-height:240px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:var(--card-radius) !important;
    display:block !important;
  }
  .faq h2{
    background:transparent !important;
    padding:0 !important;
    display:block !important;
    border-radius:0 !important;
  }
  .faq .eyebrow{
    background:transparent !important;
    padding:0 !important;
  }
}
/* V41: aspect-ratio auf faq__photo aufheben (verursachte Riesen-Container) */
@media(max-width:980px){
  .faq__photo{
    aspect-ratio:auto !important;
    height:auto !important;
  }
}
/* V42: FAQ Mobile FINAL - sticky Bild im Hintergrund + Scroll-Blur */
@media(max-width:980px){
  .faq{position:relative !important;overflow:visible !important}
  .faq__grid{display:block !important;position:relative}
  .faq .container{position:relative;z-index:1}

  /* Bild sticky im Hintergrund */
  .faq__photo{
    position:sticky !important;
    top:80px !important;
    z-index:0 !important;
    height:auto !important;
    max-height:280px !important;
    aspect-ratio:auto !important;
    margin:0 0 1.5rem 0 !important;
    width:100% !important;
    filter:blur(0px);
    transition:filter 180ms linear !important;
  }
  .faq__photo img{
    width:100% !important;
    height:280px !important;
    max-height:280px !important;
    object-fit:cover !important;
    border-radius:var(--card-radius) !important;
    display:block !important;
  }

  /* Eyebrow + H2 vorn mit subtilem Cream-Hintergrund */
  .faq .eyebrow,
  .faq h2{
    position:relative !important;
    z-index:2 !important;
  }
  .faq h2{
    background:linear-gradient(180deg,var(--c-paper) 50%,rgba(255,255,255,0.85)) !important;
    padding:.5rem 0 !important;
    border-radius:0 !important;
    display:block !important;
  }

  /* FAQ-Liste vorn, Details opak */
  .faq__list{position:relative !important;z-index:2 !important;background:transparent !important}
  .faq__list details{
    background:rgba(255,255,255,0.97) !important;
    backdrop-filter:saturate(180%) blur(20px) !important;
    -webkit-backdrop-filter:saturate(180%) blur(20px) !important;
    border:var(--card-border) !important;
    box-shadow:0 6px 18px -6px rgba(24,24,24,0.12) !important;
  }
}
/* V43: Scroll-Blur und Sticky nur Mobile - Desktop normal */
@media(min-width:981px){
  .faq__photo{
    position:sticky !important;
    top:100px !important;
    filter:none !important;
    z-index:auto !important;
  }
  .faq__list{position:static !important}
  .faq h2{background:transparent !important;padding:0 !important;border-radius:0 !important;display:block !important}
}
/* V44: Bildhöhe wieder groß - 60svh wie ursprünglich */
@media(max-width:980px){
  .faq__photo{
    max-height:none !important;
    height:60svh !important;
    max-height:60vh !important;
    aspect-ratio:auto !important;
  }
  .faq__photo img{
    height:100% !important;
    max-height:none !important;
    width:100% !important;
    object-fit:cover !important;
  }
}
/* V45: filter direkt setzbar (nicht !important) damit JS greift */
@media(max-width:980px){
  .faq__photo{
    filter: blur(0px);
    transition: filter 180ms linear;
  }
  /* Override unnecessary !important from earlier filter rules */
  .faq__photo[style*="filter"]{
    filter: var(--inline-filter) !important;
  }
}
/* ============================================================
   V46 — FAQ FINALER CLEAN BLOCK (überschreibt alle V37-V45)
   ============================================================ */
@media(max-width:980px){
  /* Section */
  .faq{position:relative;overflow:visible}
  .faq__grid{display:block;position:relative}
  .faq .container{position:relative;z-index:1}

  /* Bild - sticky im Hintergrund mit fester Höhe 260px */
  .faq .faq__grid .faq__photo,
  .faq .container .faq__photo{
    position:sticky;
    top:80px;
    z-index:0;
    width:100%;
    height:260px;
    max-height:260px;
    min-height:260px;
    aspect-ratio:auto;
    margin:0 0 1.25rem 0;
    overflow:hidden;
    border-radius:16px;
    transform:translateZ(0);
    will-change:filter;
    filter:blur(var(--faq-blur,0px));
    transition:filter 180ms linear;
  }
  .faq .faq__grid .faq__photo img,
  .faq .container .faq__photo img{
    width:100%;
    height:100%;
    max-height:none;
    min-height:0;
    object-fit:cover;
    object-position:center;
    display:block;
    border-radius:0;
  }

  /* Text vorne */
  .faq .eyebrow,
  .faq h2{position:relative;z-index:3}
  .faq h2{
    background:transparent;
    padding:0;
    border-radius:0;
    display:block;
    margin-top:0;
    margin-bottom:1.5rem;
  }

  /* FAQ-Cards solid + vorn */
  .faq__list{position:relative;z-index:3;background:transparent}
  .faq__list details{
    background:#ffffff;
    border:1px solid rgba(24,24,24,0.07);
    box-shadow:0 4px 16px -4px rgba(24,24,24,0.12);
  }
}

/* Desktop bleibt clean - keine Sticky, kein Blur */
@media(min-width:981px){
  .faq__photo{filter:none !important}
}
/* V47: FAQ-Photo Höhe mit !important durchsetzen (V46 hatte keins) */
@media(max-width:980px){
  .faq .faq__grid .faq__photo,
  .faq .container .faq__photo,
  body main .faq .faq__photo{
    height:260px !important;
    max-height:260px !important;
    min-height:260px !important;
    aspect-ratio:auto !important;
    margin:0 0 1.25rem 0 !important;
  }
  .faq .faq__grid .faq__photo img,
  .faq .container .faq__photo img,
  body main .faq .faq__photo img{
    height:100% !important;
    max-height:100% !important;
    min-height:100% !important;
    width:100% !important;
    object-fit:cover !important;
  }
}
