
:root{
  --bg:#050912;
  --bg-2:#09111e;
  --panel:rgba(11,18,32,.82);
  --panel-2:rgba(14,23,39,.92);
  --card:rgba(14,24,41,.8);
  --card-soft:rgba(255,255,255,.035);
  --text:#f5f7fb;
  --muted:#9ca7bb;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.14);
  --accent:#39d0ff;
  --accent-2:#6d85ff;
  --accent-3:#b56dff;
  --success:#63f5be;
  --danger:#ff7e9b;
  --shadow:0 24px 60px rgba(0,0,0,.38);
  --radius:26px;
  --radius-sm:18px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 10%, rgba(57,208,255,.10), transparent 28%),
    radial-gradient(circle at 85% 15%, rgba(181,109,255,.14), transparent 24%),
    linear-gradient(180deg,#050912 0%,#07101a 55%,#050912 100%);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.noise{
  position:fixed; inset:0; pointer-events:none; z-index:-3; opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");
}
.ambient{position:fixed; width:340px; height:340px; border-radius:50%; filter:blur(90px); pointer-events:none; z-index:-2; opacity:.22}
.ambient-a{top:130px; right:-80px; background:rgba(57,208,255,.22)}
.ambient-b{bottom:50px; left:-80px; background:rgba(181,109,255,.18)}
.container{width:min(calc(100% - 32px),var(--container));margin:0 auto}
.section{padding:110px 0}
.section-tight{padding:70px 0}
.alt-section{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0))}
.eyebrow{display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; font-size:.84rem; text-transform:uppercase; letter-spacing:.12em; color:var(--accent)}
.eyebrow::before{content:""; width:38px; height:1px; background:linear-gradient(90deg,var(--accent),transparent)}
h1,h2,h3{margin:0 0 16px; line-height:1.05; letter-spacing:-.03em}
h1{font-size:clamp(2.6rem,6vw,5.35rem)}
h2{font-size:clamp(2rem,4vw,3.3rem)}
h3{font-size:1.35rem}
p{margin:0; color:var(--muted); line-height:1.75}
.lead{font-size:1.06rem; max-width:720px}
.text-white{color:var(--text)}
.text-accent{color:var(--accent)}
.header{position:sticky; top:0; z-index:40; backdrop-filter:blur(18px); background:rgba(5,9,18,.72); border-bottom:1px solid var(--line)}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px}
.brand{display:flex; align-items:center; gap:14px}
.brand-icon{width:56px; height:56px; object-fit:contain}
.brand-title{display:block; font-size:1.14rem; font-weight:800; letter-spacing:-.02em}
.brand-subtitle{display:block; color:var(--muted); font-size:.88rem}
.nav{display:flex; align-items:center; gap:20px}
.nav a{color:var(--muted); font-weight:600; transition:.2s}
.nav a:hover,.nav a.active{color:#fff}
.nav-cta,.mini-cta{padding:12px 18px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.05); box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.menu-toggle{display:none; width:48px; height:48px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.04); padding:0; cursor:pointer}
.menu-toggle span{display:block; width:18px; height:2px; margin:4px auto; background:#fff}
.hero{padding-top:72px}
.hero-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:42px; align-items:center}
.hero-actions,.inline-actions,.button-row{display:flex; flex-wrap:wrap; gap:14px; margin:34px 0 28px}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 24px; border-radius:999px; border:1px solid transparent; font-weight:700; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#07111f; background:linear-gradient(90deg,var(--accent),#b5e7ff); box-shadow:0 18px 42px rgba(57,208,255,.23)}
.btn-secondary{border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.04)}
.btn-ghost{border-color:rgba(57,208,255,.22); background:rgba(57,208,255,.08)}
.hero-points,.trust-grid,.stats-grid,.feature-grid,.service-grid,.pricing-grid,.steps-grid,.teaser-grid,.overview-grid,.portal-grid,.detail-grid,.city-grid,.testimonial-grid,.contact-grid,.about-grid,.kpi-strip{display:grid; gap:20px}
.hero-points{grid-template-columns:repeat(3,1fr)}
.hero-points div,.trust-grid div,.kpi-strip article{padding:18px; border:1px solid var(--line); background:rgba(255,255,255,.03); border-radius:20px; box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.hero-points strong,.trust-grid strong,.kpi-strip strong{display:block; margin-bottom:6px; font-size:1rem}
.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.faq-item,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card{padding:28px}
.service-card,.price-card,.teaser-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card{transition:transform .25s ease,border-color .25s ease, background .25s ease}
.service-card:hover,.price-card:hover,.teaser-card:hover,.overview-card:hover,.info-card:hover,.portal-card:hover,.panel-card:hover,.about-card:hover,.stat-card:hover,.city-card:hover,.feature-card:hover,.quote-card:hover{transform:translateY(-4px); border-color:rgba(57,208,255,.18); background:rgba(17,28,46,.88)}
.tilt-card{transform-style:preserve-3d; transition:transform .35s ease, box-shadow .35s ease}
.tilt-card:hover{transform:translateY(-6px) rotateX(2deg) rotateY(-2deg); box-shadow:0 28px 80px rgba(0,0,0,.38)}
.mini-browser{display:flex; gap:8px; margin-bottom:24px}
.mini-browser span{width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.22)}
.hero-logo{width:100%; max-width:420px; margin:0 auto 24px; object-fit:contain}
.metric-grid{display:grid; gap:14px}
.metric-grid article{padding:18px; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.03)}
.metric-grid strong{display:block; margin-bottom:6px}
.metric-grid span{color:var(--muted); line-height:1.65}
.trust-grid,.stats-grid,.kpi-strip{grid-template-columns:repeat(3,1fr)}
.stats-grid .stat-card strong{font-size:2.1rem; display:block}
.stats-grid .stat-card span{display:block; color:var(--muted); margin-top:10px}
.section-head{max-width:900px; margin-bottom:36px}
.section-head.center{text-align:center; margin-left:auto; margin-right:auto}
.service-grid,.pricing-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid{grid-template-columns:repeat(3,1fr)}
.feature-grid{grid-template-columns:repeat(2,1fr)}
.steps-grid{grid-template-columns:repeat(4,1fr)}
.detail-grid,.about-grid,.portal-grid{grid-template-columns:1.1fr .9fr}
.price-card.featured{background:linear-gradient(180deg, rgba(99,114,255,.18), rgba(12,22,40,.95)); border-color:rgba(57,208,255,.34)}
.price-badge{position:absolute; top:18px; right:18px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.10); font-size:.78rem; font-weight:700}
.price-card{position:relative}
.price-label,.portal-status,.tag{font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; color:var(--accent)}
.price-amount{font-size:2.3rem; font-weight:800; color:#fff; margin:12px 0 6px}
.price-card ul,.check-list{padding-left:18px; margin:18px 0 0}
.price-card li+li,.check-list li+li{margin-top:10px}
.icon-dot{width:14px; height:14px; border-radius:50%; margin-bottom:20px; background:linear-gradient(135deg,var(--accent),var(--accent-3)); box-shadow:0 0 0 8px rgba(57,208,255,.08)}
.step-card span{display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:14px; background:rgba(255,255,255,.05); color:var(--accent); font-weight:800; margin-bottom:22px}
.teaser-card,.feature-card,.city-card,.contact-card{background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02))}
.highlight-strip{padding:0 0 20px}
.portfolio-preview{margin-top:26px}
.preview-window{border-radius:24px; overflow:hidden; border:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02))}
.preview-top{display:flex; gap:8px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.06)}
.preview-top span{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.20)}
.preview-body{padding:20px}
.preview-line,.preview-block{border-radius:999px; background:linear-gradient(90deg, rgba(57,208,255,.24), rgba(181,109,255,.18))}
.preview-line.large{width:72%; height:18px; margin-bottom:14px}
.preview-line.medium{width:52%; height:12px; margin-bottom:20px}
.preview-line.short{width:28%; height:12px; margin-bottom:20px}
.preview-block{width:100%; height:180px; border-radius:18px}
.preview-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.preview-grid .preview-block{height:120px}
.contact-box{padding:36px; display:grid; grid-template-columns:.96fr 1.04fr; gap:28px}
.contact-points{display:grid; gap:12px; margin-top:24px}
.contact-points a,.contact-points span{color:#dbe4f9}
.contact-form,.login-form{display:grid; gap:18px}
.form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.form-full{grid-column:1/-1}
.contact-form label,.login-form label{display:block; margin-bottom:10px; font-weight:600}
.contact-form input,.contact-form textarea,.contact-form select,.login-form input,.login-form textarea,.login-form select{
  width:100%; border-radius:16px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04);
  color:white; padding:16px 18px; outline:none; transition:border-color .2s ease, background .2s ease, transform .2s ease
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,.login-form input:focus,.login-form textarea:focus,.login-form select:focus{border-color:rgba(57,208,255,.32); background:rgba(255,255,255,.06); transform:translateY(-1px)}
.contact-form textarea,.login-form textarea{resize:vertical; min-height:150px}
.contact-form input::placeholder,.contact-form textarea::placeholder,.login-form input::placeholder,.login-form textarea::placeholder{color:#7f8ba3}
.form-hint,.char-counter,.fine-print{margin-top:8px; color:var(--muted); font-size:.82rem}
.char-counter{text-align:right}
.form-btn{width:100%}
.checkbox-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
.check-option,.radio-option{display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:16px; border:1px solid var(--line); background:var(--card-soft)}
.check-option input,.radio-option input{width:auto; margin-top:4px}
.price-estimator{padding:24px; border-radius:24px; border:1px solid rgba(57,208,255,.2); background:linear-gradient(180deg, rgba(57,208,255,.10), rgba(255,255,255,.03))}
.estimator-head{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px}
.price-range{font-size:2.4rem; font-weight:800; color:#fff}
.estimator-meta{display:grid; gap:6px; color:var(--muted); font-size:.94rem}
.contact-cta-stack{display:flex; flex-direction:column; gap:12px; margin-top:20px}
.contact-quick-actions{display:flex; flex-wrap:wrap; gap:14px}
.faq-list{display:grid; gap:16px}
.faq-item{padding:22px 24px}
.faq-item summary{list-style:none; cursor:pointer; font-weight:700; position:relative; padding-right:28px}
.faq-item summary::after{content:"+"; position:absolute; right:0; top:0; color:var(--accent); font-size:1.2rem}
.faq-item[open] summary::after{content:"−"}
.faq-item p{margin:14px 0 0}
.table{width:100%; border-collapse:collapse; overflow:hidden}
.table th,.table td{padding:14px 12px; text-align:left; border-bottom:1px solid var(--line); color:var(--muted)}
.table th{color:#fff; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em}
.status-pill{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.06); color:#fff; font-size:.84rem; font-weight:700}
.status-success{background:rgba(99,245,190,.14); color:#b7ffe1}
.status-open{background:rgba(57,208,255,.12); color:#c9f7ff}
.status-progress{background:rgba(181,109,255,.16); color:#f1dbff}
.status-warning{background:rgba(255,170,91,.14); color:#ffd9b6}
.login-shell{max-width:1180px; margin:0 auto}
.login-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:24px}
.portal-shell{display:grid; gap:24px}
.portal-topbar{display:flex; justify-content:space-between; gap:20px; align-items:center}
.portal-actions{display:flex; flex-wrap:wrap; gap:12px}
.portal-list{display:grid; gap:16px}
.timeline{display:grid; gap:16px}
.timeline-item{padding-left:26px; position:relative}
.timeline-item::before{content:""; position:absolute; left:0; top:8px; width:10px; height:10px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-3)); box-shadow:0 0 0 8px rgba(57,208,255,.08)}
.timeline-item::after{content:""; position:absolute; left:4px; top:24px; bottom:-18px; width:2px; background:rgba(255,255,255,.08)}
.timeline-item:last-child::after{display:none}
.footer{padding:32px 0 56px; border-top:1px solid var(--line)}
.footer-inner{display:flex; justify-content:space-between; gap:24px; align-items:flex-start}
.footer-brand{max-width:520px}
.footer-logo{width:220px; max-width:100%; margin-bottom:14px}
.footer-links{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:14px 18px; color:var(--muted)}
.footer-cta{display:flex; gap:12px; margin-top:18px; flex-wrap:wrap}
.legal-page{padding:140px 0 80px}
.legal-wrap{max-width:920px; margin:0 auto}
.legal-wrap h1{font-size:clamp(2.2rem,4vw,3.4rem); margin-bottom:16px}
.legal-wrap > p{color:var(--muted); margin-bottom:30px}
.legal-card p,.legal-card li{color:var(--muted); line-height:1.75}
.legal-nav-inline{display:flex; gap:22px; flex-wrap:wrap}
.cta-bar,.whatsapp-float{position:fixed; z-index:38}
.cta-bar{right:18px; bottom:18px; display:flex; flex-direction:column; gap:12px}
.whatsapp-float{left:18px; bottom:18px}
.float-btn{display:inline-flex; align-items:center; gap:10px; min-height:54px; padding:0 20px; border-radius:999px; background:rgba(8,14,24,.92); border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow); font-weight:700}
.float-btn:hover{transform:translateY(-2px)}
.float-btn.whatsapp{background:linear-gradient(90deg, rgba(37,211,102,.18), rgba(8,14,24,.92)); border-color:rgba(37,211,102,.28)}
.float-btn.call{background:linear-gradient(90deg, rgba(57,208,255,.18), rgba(8,14,24,.92)); border-color:rgba(57,208,255,.28)}
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease}
.reveal.is-visible{opacity:1; transform:translateY(0)}
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}
@media (max-width:1080px){
  .hero-grid,.contact-box,.detail-grid,.about-grid,.portal-grid,.login-grid{grid-template-columns:1fr}
  .service-grid,.pricing-grid,.steps-grid,.trust-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid,.hero-points,.stats-grid,.kpi-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:780px){
  .section{padding:84px 0}
  .menu-toggle{display:block}
  .nav{position:absolute; left:16px; right:16px; top:88px; display:none; flex-direction:column; align-items:flex-start; padding:18px; border-radius:20px; background:rgba(8,14,24,.96); border:1px solid var(--line); box-shadow:var(--shadow)}
  .nav.is-open{display:flex}
  .hero-actions,.inline-actions,.button-row,.portal-actions,.contact-quick-actions,.footer-cta{flex-direction:column; align-items:stretch}
  .service-grid,.pricing-grid,.steps-grid,.trust-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid,.hero-points,.stats-grid,.kpi-strip,.feature-grid,.form-grid,.checkbox-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column}
  .footer-links{justify-content:flex-start}
  .cta-bar{right:12px; bottom:12px}
  .whatsapp-float{left:12px; bottom:12px}
  .float-btn span.hide-mobile{display:none}
}


.portal-section{padding-top:46px}
.portal-dashboard-shell{display:grid;gap:22px}
.portal-dashboard-hero,.portal-panel-card,.portal-kpi-card{background:linear-gradient(180deg,rgba(10,18,30,.88),rgba(10,18,30,.72));border:1px solid rgba(255,255,255,.08);border-radius:26px;box-shadow:var(--shadow)}
.portal-dashboard-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;padding:34px}
.portal-dashboard-copy h1{margin-bottom:14px}
.portal-dashboard-copy p{max-width:68ch}
.portal-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.portal-chip{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--text-soft);font-size:.9rem}
.portal-hero-panel{padding:24px;border-radius:22px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.portal-panel-label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.portal-hero-panel h2{font-size:1.45rem;line-height:1.2}
.portal-actions-row,.portal-side-actions{display:flex;flex-wrap:wrap;gap:12px}
.portal-contact-inline{display:flex;flex-direction:column;gap:8px;color:var(--muted)}
.portal-contact-inline a{color:var(--text)}
.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.portal-kpi-card{padding:24px}
.portal-kpi-card span{display:block;color:var(--muted);margin-bottom:12px}
.portal-kpi-card strong{display:block;font-size:2rem;line-height:1.1;margin-bottom:8px}
.portal-kpi-card p{font-size:.96rem;color:var(--text-soft);margin:0}
.portal-main-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.portal-column{display:grid;gap:20px;align-content:start}
.portal-panel-card{padding:28px}
.portal-panel-card.compact{padding:24px}
.portal-panel-card.accent{background:linear-gradient(180deg,rgba(57,208,255,.1),rgba(10,18,30,.84));border-color:rgba(57,208,255,.2)}
.portal-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}
.portal-panel-head h2{margin:6px 0 0;font-size:1.5rem}
.portal-status-badge{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:rgba(57,208,255,.12);border:1px solid rgba(57,208,255,.2);color:var(--accent);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.portal-project-body strong{display:block;font-size:1.2rem;margin-bottom:10px}
.portal-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.portal-highlight-grid article{padding:16px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.portal-highlight-grid span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:8px}
.portal-highlight-grid strong{font-size:1rem;margin:0}
.portal-stack-list{display:grid;gap:14px}
.portal-stack-item{padding:18px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.portal-stack-meta{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}
.portal-stack-meta strong{font-size:1.05rem}
.portal-stack-meta span,.portal-mini-note{color:var(--muted);font-size:.9rem}
.portal-table-wrap{border-radius:20px;border:1px solid rgba(255,255,255,.08);overflow:hidden;background:rgba(255,255,255,.02)}
.invoice-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.invoice-pill.is-paid{background:rgba(28,209,136,.14);color:#7ef0c1}
.invoice-pill.is-open{background:rgba(255,168,66,.14);color:#ffd08f}
.portal-billing-list{display:grid;gap:14px;margin-top:18px}
.portal-billing-list div{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.portal-billing-list div:last-child{border-bottom:none;padding-bottom:0}
.portal-billing-list span{color:var(--muted)}
.portal-feature-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
.portal-feature-list li{position:relative;padding-left:20px;color:var(--text-soft)}
.portal-feature-list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--brand-secondary))}
.portal-logout-link{display:inline-flex;margin-top:16px;color:var(--text);text-decoration:underline;text-underline-offset:4px}
@media (max-width: 1080px){.portal-dashboard-hero,.portal-main-grid{grid-template-columns:1fr}.portal-kpi-grid{grid-template-columns:repeat(2,1fr)}.portal-highlight-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width: 720px){.portal-dashboard-hero{padding:24px}.portal-kpi-grid,.portal-highlight-grid{grid-template-columns:1fr}.portal-stack-meta,.portal-panel-head,.portal-actions-row,.portal-side-actions{flex-direction:column;align-items:flex-start}}

.narrow-wrap{width:min(calc(100% - 32px),760px);margin:0 auto}
.portal-card{display:grid;gap:22px}
.portal-form{display:grid;gap:16px;margin-top:8px}
.form-row{display:grid;gap:10px}
.form-row label{font-weight:600;color:var(--text)}
.form-row input,.form-row textarea,.form-row select,.portal-form input,.portal-form select,.portal-form textarea,.portal-login-card input{
  width:100%;
  min-height:58px;
  padding:0 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:var(--text);
  outline:none;
  transition:border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.form-row textarea,.portal-form textarea{min-height:140px;padding:16px 18px;resize:vertical}
.form-row select,.portal-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) calc(50% - 2px),calc(100% - 16px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}
.form-row input::placeholder,.portal-form input::placeholder,.portal-login-card input::placeholder{color:rgba(245,247,251,.46)}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus,.portal-form input:focus,.portal-form textarea:focus,.portal-form select:focus,.portal-login-card input:focus{
  border-color:rgba(57,208,255,.42);
  background:rgba(255,255,255,.06);
  box-shadow:0 0 0 4px rgba(57,208,255,.10);
  transform:translateY(-1px);
}
.submit-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.portal-state,.form-status{margin:0;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--muted)}
.portal-state.success,.form-status.success{border-color:rgba(99,245,190,.26);background:rgba(99,245,190,.10);color:#cffff0}
.portal-state.error,.form-status.error{border-color:rgba(255,126,155,.22);background:rgba(255,126,155,.10);color:#ffd7e1}
.notice-box{display:grid;gap:8px;padding:18px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.notice-box strong{font-size:1rem}
.portal-login-section .portal-login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.portal-login-card .form-status{min-height:24px}


.hero-clean{padding-bottom:72px}
.hero-grid-wide{grid-template-columns:1.15fr .85fr}
.hero-inline-points{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
.hero-inline-points span,.project-kpis span,.package-footnote,.package-hint{display:inline-flex; align-items:center; padding:10px 14px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--muted); border-radius:14px}
.hero-panel,.slab-card,.proof-logo-card,.project-brand-panel,.project-content-panel{background:linear-gradient(180deg, rgba(15,25,42,.92), rgba(10,17,30,.98)); border:1px solid var(--line); box-shadow:var(--shadow)}
.slab-card{padding:32px; border-radius:20px}
.metric-stack{display:grid; gap:16px}
.metric-stack article{padding:18px 0; border-bottom:1px solid rgba(255,255,255,.08)}
.metric-stack article:last-child{border-bottom:none; padding-bottom:0}
.metric-stack strong{display:block; margin-bottom:8px; font-size:1.05rem}
.slab-section{padding:26px 0}
.compact-head{margin-bottom:24px}
.split-band{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:rgba(10,16,28,.9)}
.split-band>div{padding:28px; border-right:1px solid rgba(255,255,255,.08)}
.split-band>div:last-child{border-right:none}
.service-grid-tight .service-card{border-radius:18px}
.proof-shell,.project-feature-shell{display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:center}
.proof-logo-card,.project-brand-panel{display:flex; align-items:center; justify-content:center; padding:28px; border-radius:24px; min-height:320px}
.project-logo{max-width:100%; height:auto; display:block}
.package-teaser-grid .price-card,.pricing-grid-expanded .price-card{display:flex; flex-direction:column}
.btn-block{width:100%; justify-content:center; margin-top:auto}
.section-cta{margin-top:28px}
.pricing-grid-expanded{grid-template-columns:repeat(2,1fr)}
.addon-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:22px}
.addon-item{padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.03)}
.addon-item strong{display:block; margin-bottom:8px}
.package-detail-shell{padding:4px 0}
.centered-cta{text-align:center}
.project-content-panel{padding:30px; border-radius:24px}
.project-kpis{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 18px}
@media (max-width:1080px){
  .proof-shell,.project-feature-shell,.hero-grid-wide,.split-band,.pricing-grid-expanded,.addon-grid{grid-template-columns:1fr}
}
@media (max-width:780px){
  .hero-inline-points,.project-kpis{flex-direction:column; align-items:stretch}
}


:root{--radius:20px;--radius-sm:14px}
.nav-cta,.mini-cta,.btn,.price-badge,.status-pill,.tag,.float-btn,.hero-inline-points span,.project-kpis span,.package-footnote,.package-hint{border-radius:16px}
.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.faq-item,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.hero-panel,.proof-logo-card,.project-brand-panel,.project-content-panel{border-radius:20px}
.hero-points div,.trust-grid div,.kpi-strip article,.metric-grid article,.addon-item,.contact-form input,.contact-form textarea,.contact-form select,.login-form input,.login-form textarea,.login-form select,.split-band,.split-band>div,.preview-window,.preview-block,.check-option,.form-panel,.form-details-panel{border-radius:14px}
.btn{min-height:54px; padding:0 22px}
.nav-cta,.mini-cta{padding:11px 16px}
.price-card p,.service-card p,.teaser-card p,.overview-card p,.info-card p,.portal-card p,.panel-card p,.about-card p,.feature-card p,.quote-card p,.contact-card p,.stat-card p{margin-bottom:22px}
.price-card ul,.check-list{margin-top:0; margin-bottom:0}
.price-card .btn,.service-card .btn,.teaser-card .btn,.overview-card .btn,.panel-card .btn,.proof-copy .btn,.project-content-panel .btn{margin-top:24px}
.button-row{gap:16px; margin-top:26px}
.contact-layout-simple{display:grid; grid-template-columns:.82fr 1.18fr; gap:28px; align-items:start}
.contact-info-panel{position:sticky; top:110px; display:grid; gap:22px}
.contact-info-block p{margin-bottom:0}
.contact-points-boxed span,.contact-points-boxed a{padding:14px 16px; border:1px solid var(--line); background:rgba(255,255,255,.03); border-radius:14px}
.compact-estimator{margin-top:0}
.simple-contact-form{gap:18px}
.form-panel{padding:24px; border:1px solid var(--line); background:rgba(14,24,41,.72)}
.form-panel-head{margin-bottom:18px}
.form-panel-head h2{font-size:1.22rem; margin-bottom:8px}
.form-panel-head p{margin-bottom:0}
.compact-grid{gap:16px}
.form-details-panel{border:1px solid var(--line); background:rgba(255,255,255,.03); overflow:hidden}
.form-details-panel summary{cursor:pointer; list-style:none; padding:18px 20px; font-weight:700}
.form-details-panel summary::-webkit-details-marker{display:none}
.form-details-inner{padding:0 20px 20px}
.simplified-check-grid{grid-template-columns:repeat(2,1fr); gap:12px}
.check-option{padding:0; overflow:hidden}
.check-option span{padding:14px 16px}
.check-option input{margin:0 0 0 14px; width:auto}
.callback-reason-wrap.is-hidden{display:none}
.project-feature-shell{align-items:stretch}
.project-brand-panel{min-height:280px}
@media (max-width:1080px){.contact-layout-simple{grid-template-columns:1fr}.contact-info-panel{position:static}}
@media (max-width:780px){.simplified-check-grid{grid-template-columns:1fr}.form-panel,.form-details-inner{padding:18px}.form-details-panel summary{padding:16px 18px}}


/* SEO / software expansion pass */
h1{font-size:clamp(2.15rem,4.6vw,4.25rem)}
h2{font-size:clamp(1.75rem,3.1vw,3rem)}
h3{font-size:clamp(1.15rem,1.8vw,1.45rem)}
p, li, .lead{max-width:72ch}
.hero .lead{font-size:1.08rem}
.review-feature-card{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:34px}
.review-stars{font-size:1.6rem;letter-spacing:.22em;color:#ffd45c;margin-bottom:14px}
.review-meta{display:flex;flex-direction:column;gap:4px;margin-top:18px;color:var(--muted)}
.price{font-size:clamp(1.9rem,3vw,3rem);font-weight:800;line-height:1;margin:8px 0 18px}
.package-entry-card h3{margin-bottom:12px}
.package-entry-card ul{margin-top:12px}
.pricing-grid-home-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pricing-grid .price-card{height:100%}
.pricing-grid{align-items:stretch}
.hero-inline-points{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:18px}
.hero-inline-points span{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(14,24,40,.72)}
.footer p{max-width:60ch}
.cta-bar{z-index:40}
.float-btn,.floating-call{box-shadow:none}
@media (max-width:1080px){
  .pricing-grid-home-two{grid-template-columns:1fr}
}
@media (max-width:720px){
  h1{font-size:clamp(1.9rem,8vw,2.7rem)}
  h2{font-size:clamp(1.45rem,6vw,2rem)}
  .review-feature-card{padding:22px}
}


/* ===== 2026 package + software overhaul ===== */
:root{
  --container: min(1180px, calc(100% - 40px));
}
body{overflow-x:hidden}
.container{width:var(--container)}
h1{font-size:clamp(2.3rem,4.8vw,4.6rem)}
h2{font-size:clamp(1.7rem,3vw,2.8rem)}
.lead{font-size:clamp(1rem,1.55vw,1.18rem); max-width:66ch}
.nav a,.nav-cta{font-size:.98rem}
.review-card-single{padding:30px}
.review-card-head,.review-card-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.review-card-single p{font-size:1rem;line-height:1.8;margin:18px 0 0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.mini-point{padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(16,24,39,.72)}
.mini-point span{display:block;margin-top:6px;color:var(--muted);font-size:.95rem;line-height:1.5}
.price{font-size:clamp(2rem,3.1vw,3.3rem);font-weight:800;line-height:1;margin:10px 0 16px}
.pricing-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pricing-grid-website,.pricing-grid-software{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.price-card{height:100%}
.price-card-wide{grid-column:span 2}
.compact-top{margin-top:22px}
.hero-panel h2,.glass-card h2,.service-card h3,.overview-card h3,.teaser-card h3,.price-card h2,.price-card h3{font-size:clamp(1.2rem,2vw,1.8rem)}
.price-card p,.service-card p,.teaser-card p,.overview-card p,.info-card p,.panel-card p,.about-card p,.feature-card p,.quote-card p,.contact-card p,.stat-card p{font-size:1rem;line-height:1.7}
.price-card ul li,.check-list li{font-size:1rem;line-height:1.6}
.section-head p{max-width:72ch;margin-inline:auto}
.footer-brand p{max-width:48ch}

@media (max-width: 1120px){
  .pricing-grid-website,.pricing-grid-software,.pricing-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-card-wide{grid-column:span 2}
}
@media (max-width: 780px){
  h1{font-size:clamp(2rem,8vw,3.2rem)}
  .pricing-grid-website,.pricing-grid-software,.pricing-grid-two{grid-template-columns:1fr}
  .price-card-wide{grid-column:auto}
  .hero-actions{flex-direction:column;align-items:stretch}
  .review-card-head,.review-card-foot{display:block}
}


/* top-right header CTA removed */
.site-header .nav-cta, .header .nav-cta, .nav-actions { display:none !important; }


/* global mobile cleanup: prevent floating CTA overlap and reduce oversized typography */
@media (max-width: 900px){
  .cta-bar,
  .whatsapp-float{
    display:none !important;
  }
  body{
    overflow-x:hidden;
  }
  .section{padding:72px 0;}
  .section-tight{padding:52px 0;}
  .glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card{
    padding:22px;
    border-radius:22px;
  }
  h1{font-size:clamp(1.9rem,7.2vw,2.8rem); line-height:1.04;}
  h2{font-size:clamp(1.5rem,5.6vw,2.2rem); line-height:1.08;}
  h3{font-size:1.15rem;}
  p,
  .lead,
  .price-card p,.service-card p,.teaser-card p,.overview-card p,.info-card p,.panel-card p,.about-card p,.feature-card p,.quote-card p,.contact-card p,.stat-card p,
  .price-card ul li,.check-list li,
  .review-card-single p{
    font-size:.98rem;
    line-height:1.65;
  }
  .hero-panel h2,.glass-card h2,.service-card h3,.overview-card h3,.teaser-card h3,.price-card h2,.price-card h3{
    font-size:clamp(1.1rem,4.8vw,1.45rem);
  }
  .price,.price-amount{font-size:clamp(1.8rem,8vw,2.5rem);}
  .container{width:min(calc(100% - 24px),var(--container));}
  .header-inner{min-height:78px;}
  .brand-icon{width:46px;height:46px;}
  .brand-title{font-size:1rem;}
  .brand-subtitle{font-size:.8rem;}
}

@media (max-width: 900px){.cta-bar,.whatsapp-float{display:none !important;visibility:hidden !important;opacity:0 !important;pointer-events:none !important;}}


/* ===== Case Study Immobilienpflege Weiss ===== */
.case-hero{padding-top:88px}
.case-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center}
.case-visual-card,.project-case-card,.case-overview-card,.case-panel-list article,.case-goal-card,.case-panel-card,.case-check-panel,.case-feature-card,.case-result-shell,.case-review-card{background:linear-gradient(180deg,rgba(15,25,42,.92),rgba(10,17,30,.96));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}
.case-visual-card{padding:14px;overflow:hidden}
.case-visual-card img,.project-case-image img{width:100%;border-radius:18px;object-fit:cover}
.case-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.case-overview-card{padding:22px}
.case-overview-card span{display:block;color:var(--muted);font-size:.9rem;margin-bottom:8px}
.case-overview-card strong{display:block;font-size:1.05rem;color:var(--text)}
.case-split-grid{display:grid;grid-template-columns:1fr .92fr;gap:28px;align-items:start}
.case-split-grid.reverse{grid-template-columns:.92fr 1fr}
.case-text-block p+p{margin-top:16px}
.case-panel-list{display:grid;gap:16px}
.case-panel-list article{padding:22px}
.case-panel-list strong{display:block;margin-bottom:8px;color:var(--text)}
.case-goal-grid,.case-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case-feature-grid{grid-template-columns:repeat(4,1fr)}
.case-goal-card,.case-feature-card,.case-panel-card,.case-check-panel{padding:28px}
.case-goal-card h3,.case-feature-card h3{margin-bottom:10px}
.case-result-shell{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:34px}
.case-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.case-result-grid article{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03)}
.case-result-grid strong{display:block;margin-bottom:8px;color:var(--text)}
.case-result-grid span{color:var(--muted)}
.case-review-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center}
.case-review-card{padding:34px}
.case-review-card p{font-size:1.02rem;line-height:1.85;color:var(--text);margin:0}
.case-review-card .review-card-foot{display:flex;flex-direction:column;align-items:flex-start;margin-top:24px;color:var(--muted)}
.case-review-card .review-card-foot strong{color:var(--text)}
.centered-buttons{justify-content:center}
.project-case-card{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px;align-items:center;padding:24px}
.project-case-image{border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03)}
.project-case-content{padding:10px 10px 10px 0}
@media (max-width:1080px){
  .case-hero-grid,.case-split-grid,.case-split-grid.reverse,.case-result-shell,.case-review-shell,.project-case-card{grid-template-columns:1fr}
  .case-overview-grid,.case-goal-grid,.case-feature-grid,.case-result-grid{grid-template-columns:repeat(2,1fr)}
  .project-case-content{padding:0}
}
@media (max-width:780px){
  .case-hero{padding-top:62px}
  .case-overview-grid,.case-goal-grid,.case-feature-grid,.case-result-grid{grid-template-columns:1fr}
  .case-result-shell,.case-review-card,.case-goal-card,.case-feature-card,.case-panel-card,.case-check-panel,.project-case-card{padding:22px}
}


/* ===== Final spacing + Google review polish ===== */
:root{
  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:22px;
  --space-5:30px;
  --space-6:42px;
}

.container,
.hero-grid,
.hero-grid-wide,
.service-grid,
.feature-grid,
.teaser-grid,
.pricing-grid,
.overview-grid,
.contact-grid,
.project-feature-shell,
.proof-shell,
.case-hero-grid,
.case-split-grid,
.case-review-shell{
  min-width:0;
}

.section-head,
.proof-copy,
.case-hero-copy,
.case-text-block,
.case-panel-card,
.case-review-intro,
.centered-cta .container{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-3);
}
.section-head.center,
.centered-cta .container{
  align-items:center;
  text-align:center;
}

.section-head h1,
.section-head h2,
.proof-copy h2,
.case-hero-copy h1,
.case-text-block h2,
.case-panel-card h2,
.case-review-intro h2,
.centered-cta h2{
  margin-bottom:0;
}
.section-head p,
.proof-copy p,
.case-hero-copy p,
.case-text-block p,
.case-panel-card p,
.case-review-intro p,
.centered-cta p{
  margin:0;
}

.glass-card,
.service-card,
.price-card,
.step-card,
.teaser-card,
.contact-card,
.faq-item,
.overview-card,
.info-card,
.portal-card,
.panel-card,
.about-card,
.stat-card,
.city-card,
.feature-card,
.quote-card,
.table-card,
.legal-card,
.project-content-panel,
.case-overview-card,
.case-goal-card,
.case-feature-card,
.case-result-grid article,
.case-panel-list article,
.case-check-panel,
.case-panel-card,
.case-result-shell{
  min-width:0;
  overflow-wrap:break-word;
}

.service-card,
.price-card,
.teaser-card,
.overview-card,
.info-card,
.portal-card,
.panel-card,
.about-card,
.stat-card,
.city-card,
.feature-card,
.quote-card,
.project-content-panel,
.case-overview-card,
.case-goal-card,
.case-feature-card,
.case-panel-list article,
.case-check-panel,
.case-panel-card{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}

.service-card h3,
.price-card h2,
.price-card h3,
.teaser-card h3,
.overview-card h3,
.info-card h3,
.portal-card h3,
.panel-card h3,
.about-card h3,
.stat-card h3,
.city-card h3,
.feature-card h3,
.quote-card h3,
.project-content-panel h2,
.case-goal-card h3,
.case-feature-card h3,
.case-panel-list strong{
  margin-bottom:0;
}

.service-card p,
.price-card p,
.teaser-card p,
.overview-card p,
.info-card p,
.portal-card p,
.panel-card p,
.about-card p,
.stat-card p,
.city-card p,
.feature-card p,
.quote-card p,
.project-content-panel p,
.case-goal-card p,
.case-feature-card p,
.case-panel-list p,
.case-overview-card span,
.case-result-grid span{
  margin:0;
}

.service-card .btn,
.price-card .btn,
.teaser-card .btn,
.overview-card .btn,
.panel-card .btn,
.project-content-panel .btn{
  margin-top:auto;
  align-self:flex-start;
}

.button-row,
.hero-actions,
.inline-actions{
  margin:var(--space-4) 0 0;
  gap:var(--space-3);
}
.btn{
  text-align:center;
  line-height:1.2;
  white-space:normal;
}

.check-list{
  display:grid;
  gap:10px;
  padding-left:20px;
}
.check-list li+li{margin-top:0;}

.proof-shell{
  gap:34px;
  align-items:center;
}

.google-review-card{
  width:100%;
  padding:26px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)),
    rgba(11,18,32,.9);
  box-shadow:0 24px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
}
.google-review-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.google-review-author{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.google-avatar{
  width:48px;
  height:48px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg, #1a73e8, #39d0ff);
  color:white;
  font-weight:800;
  font-size:1.15rem;
}
.google-review-author strong{
  display:block;
  color:#fff;
  font-size:1.02rem;
  line-height:1.25;
}
.google-review-author span{
  display:block;
  color:var(--muted);
  font-size:.92rem;
  margin-top:3px;
}
.google-word{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:1px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  font-weight:800;
  letter-spacing:-.02em;
}
.google-word span:nth-child(1){color:#4285F4}
.google-word span:nth-child(2){color:#EA4335}
.google-word span:nth-child(3){color:#FBBC05}
.google-word span:nth-child(4){color:#4285F4}
.google-word span:nth-child(5){color:#34A853}
.google-word span:nth-child(6){color:#EA4335}
.google-rating-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.google-stars{
  color:#fbbc04;
  letter-spacing:.12em;
  font-size:1.12rem;
  line-height:1;
}
.google-score{
  color:#fff;
  font-weight:800;
}
.google-meta{
  color:var(--muted);
  font-size:.92rem;
}
.google-review-text{
  margin:18px 0 0;
  color:#d4dbea;
  line-height:1.72;
  font-size:1rem;
  max-width:none;
}
.google-review-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  font-size:.92rem;
}
.google-review-bottom a{
  color:#fff;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
}

.case-review-shell{
  align-items:center;
}
.case-review-shell .google-review-card{
  max-width:760px;
}

.case-overview-grid,
.case-goal-grid,
.case-feature-grid,
.case-result-grid{
  gap:18px;
}
.case-result-shell{
  gap:28px;
}

@media (max-width:1080px){
  .cta-bar,
  .whatsapp-float{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}

@media (max-width:780px){
  .google-review-card{padding:22px;border-radius:22px;}
  .google-review-top{align-items:flex-start;}
  .google-word{font-size:.9rem;padding:7px 10px;}
  .google-review-text{font-size:.96rem;line-height:1.68;}
  .google-avatar{width:44px;height:44px;}
  .service-card .btn,
  .price-card .btn,
  .teaser-card .btn,
  .overview-card .btn,
  .panel-card .btn,
  .project-content-panel .btn{
    align-self:stretch;
  }
}

@media (max-width:520px){
  .google-review-top{flex-direction:column;}
  .google-word{align-self:flex-start;}
  .google-rating-row{gap:8px;}
  .google-stars{font-size:1rem;letter-spacing:.08em;}
}

/* ===== Joel X Web responsive layout correction v2 ===== */
.header,.site-header{
  position:sticky;
  top:0;
  z-index:100;
  backdrop-filter:blur(18px);
  background:rgba(5,9,18,.78);
  border-bottom:1px solid var(--line);
}
.header-inner{
  min-height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{flex:0 0 auto;min-width:0;}
.brand-logo{
  width:clamp(190px,18vw,250px);
  height:auto;
  display:block;
  object-fit:contain;
}
.brand-icon,.brand-copy{display:none!important;}
.nav{
  flex:1 1 auto;
  justify-content:flex-end;
  gap:clamp(12px,1.25vw,22px);
}
.nav a{white-space:nowrap;}
.nav-cta-mobile{display:none!important;}
.header-contact{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),#b5e7ff);
  color:#07111f;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 14px 32px rgba(57,208,255,.2);
}
.site-header .nav-cta,.header .nav-cta{display:inline-flex!important;}
.site-header .nav-cta:not(.nav-cta-mobile),.header .nav-cta:not(.nav-cta-mobile){display:none!important;}

.hero-grid,.hero-grid-wide{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:clamp(28px,4vw,64px);
  align-items:center;
}
.hero-panel,.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.project-content-panel,.project-brand-panel,.proof-logo-card{
  padding:clamp(24px,2.6vw,38px);
  min-width:0;
}
.service-grid,.pricing-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid,.pricing-grid-website,.pricing-grid-software{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(20px,2.2vw,30px);
}
.feature-grid,.pricing-grid-two,.pricing-grid-home-two{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));
  gap:clamp(20px,2.4vw,34px);
}
.steps-grid,.case-feature-grid,.case-overview-grid,.case-goal-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:clamp(18px,2vw,26px);
}
.price-card-wide{grid-column:auto;}
.price-card p,.service-card p,.teaser-card p,.overview-card p,.info-card p,.panel-card p,.about-card p,.feature-card p,.quote-card p,.contact-card p,.stat-card p{
  margin-bottom:18px;
}
.service-card h3,.price-card h3,.teaser-card h3,.overview-card h3,.feature-card h3{
  overflow-wrap:anywhere;
  hyphens:auto;
}

@media (max-width:1180px){
  .header-inner{gap:16px;}
  .brand-logo{width:190px;}
  .nav{gap:12px;}
  .nav a{font-size:.92rem;}
  .header-contact{padding:0 15px;min-height:44px;}
}
@media (max-width:980px){
  .header-inner{min-height:82px;}
  .brand-logo{width:178px;}
  .menu-toggle{display:block;order:3;flex:0 0 auto;}
  .header-contact{order:2;min-height:42px;padding:0 14px;font-size:.92rem;}
  .nav{
    position:absolute;
    left:12px;
    right:12px;
    top:calc(100% + 10px);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:16px;
    border-radius:22px;
    background:rgba(8,14,24,.98);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
  }
  .nav.is-open{display:flex;}
  .nav a{
    width:100%;
    padding:13px 14px;
    border-radius:14px;
    background:rgba(255,255,255,.035);
  }
  .nav a.active{background:rgba(57,208,255,.1);color:#fff;}
  .nav-cta-mobile{display:flex!important;justify-content:center;background:linear-gradient(90deg,var(--accent),#b5e7ff)!important;color:#07111f!important;font-weight:800;}
  .hero-grid,.hero-grid-wide,.case-hero-grid,.case-split-grid,.case-split-grid.reverse,.case-result-shell,.detail-grid,.about-grid,.portal-grid,.contact-box{
    grid-template-columns:1fr!important;
  }
  .hero{padding-top:54px;}
  .section{padding:76px 0;}
}
@media (max-width:640px){
  :root{--container:calc(100% - 28px);}
  .container{width:var(--container);}
  .header-inner{min-height:76px;gap:10px;}
  .brand-logo{width:150px;}
  .header-contact{min-height:40px;padding:0 12px;font-size:.86rem;}
  .menu-toggle{width:42px;height:42px;border-radius:13px;}
  .nav{left:10px;right:10px;top:calc(100% + 8px);}
  h1{font-size:clamp(2rem,10vw,3rem);line-height:1.03;}
  h2{font-size:clamp(1.55rem,7vw,2.2rem);}
  .hero-actions,.inline-actions,.button-row{flex-direction:column;align-items:stretch;gap:12px;margin-top:24px;}
  .btn{width:100%;min-height:52px;}
  .hero-panel,.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.project-content-panel,.project-brand-panel,.proof-logo-card{
    padding:22px;
    border-radius:20px;
  }
  .hero-points,.trust-grid,.stats-grid,.kpi-strip,.preview-grid,.form-grid,.checkbox-grid,.simplified-check-grid{
    grid-template-columns:1fr!important;
  }
  .case-visual-card,.project-case-image img,.case-visual-card img{border-radius:18px;}
  .cta-bar,.whatsapp-float,.floating-call{display:none!important;}
}
@media (max-width:390px){
  .brand-logo{width:132px;}
  .header-contact{font-size:.82rem;padding:0 10px;}
  .container{width:calc(100% - 22px);}
  .hero-panel,.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card{padding:18px;}
}

/* ===== FINAL FIX: Header-Logo, Header-CTA, Hero-Cards & Mobile Layout ===== */
.header,.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(5,9,18,.84);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}

.header-inner{
  min-height:82px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  min-width:0;
}

.brand-logo{
  width:clamp(180px,15vw,220px) !important;
  max-width:220px !important;
  height:auto !important;
  max-height:58px !important;
  object-fit:contain !important;
  display:block !important;
}

.nav{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(10px,1.05vw,18px);
  min-width:0;
}

.nav a{
  white-space:nowrap;
  font-size:.95rem;
}

.header-contact{
  flex:0 0 auto;
  min-height:42px;
  padding:0 17px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(90deg,var(--accent),#b5e7ff);
  color:#07111f;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(57,208,255,.18);
}

.hero-grid,.hero-grid-wide{
  grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr) !important;
  gap:clamp(42px,5vw,78px) !important;
  align-items:center;
}

.hero-panel{
  padding:clamp(30px,3vw,42px) !important;
  overflow:hidden;
}

.hero-panel .feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
}

.hero-panel .feature-card{
  padding:26px 28px !important;
  min-height:220px;
}

.hero-panel .feature-card h3{
  font-size:clamp(1.2rem,1.55vw,1.55rem);
  line-height:1.08;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.hero-panel .feature-card p{
  font-size:1rem;
  line-height:1.65;
  margin-bottom:0;
}

.service-grid,.pricing-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid,.pricing-grid-website,.pricing-grid-software{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)) !important;
  gap:clamp(22px,2.6vw,34px) !important;
}

.feature-grid:not(.hero-panel .feature-grid),.pricing-grid-two,.pricing-grid-home-two{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)) !important;
  gap:clamp(22px,2.5vw,34px) !important;
}

.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.project-content-panel,.project-brand-panel,.proof-logo-card{
  padding:clamp(26px,2.8vw,40px) !important;
  min-width:0;
}

@media (max-width:1180px){
  .header-inner{gap:14px;min-height:78px !important;}
  .brand-logo{width:170px !important;max-width:170px !important;max-height:52px !important;}
  .nav{gap:10px;}
  .nav a{font-size:.88rem;}
  .header-contact{min-height:40px;padding:0 14px;font-size:.9rem;}
  .hero-grid,.hero-grid-wide{grid-template-columns:1fr !important;gap:34px !important;}
  .hero-panel .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media (max-width:980px){
  .header-inner{min-height:74px !important;gap:10px;}
  .brand-logo{width:160px !important;max-width:160px !important;}
  .menu-toggle{display:block;order:3;flex:0 0 auto;}
  .header-contact{order:2;min-height:40px;padding:0 13px;font-size:.88rem;}
  .nav{
    position:absolute;
    left:14px;
    right:14px;
    top:calc(100% + 10px);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:16px;
    border-radius:22px;
    background:rgba(8,14,24,.98);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
  }
  .nav.is-open{display:flex;}
  .nav a{width:100%;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.035);font-size:.96rem;}
  .nav a.active{background:rgba(57,208,255,.1);color:#fff;}
  .nav-cta-mobile{display:flex!important;justify-content:center;background:linear-gradient(90deg,var(--accent),#b5e7ff)!important;color:#07111f!important;font-weight:800;}
  .hero{padding-top:50px;}
}

@media (max-width:720px){
  :root{--container:calc(100% - 28px);}
  .container{width:var(--container);}
  .header-inner{min-height:70px !important;}
  .brand-logo{width:138px !important;max-width:138px !important;max-height:46px !important;}
  .header-contact{min-height:38px;padding:0 11px;font-size:.82rem;}
  .menu-toggle{width:40px;height:40px;border-radius:13px;}
  .hero-panel,.hero-panel .feature-grid,.service-grid,.pricing-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid,.hero-points,.stats-grid,.kpi-strip,.feature-grid,.form-grid,.checkbox-grid{
    grid-template-columns:1fr !important;
  }
  .hero-panel{padding:24px !important;}
  .hero-panel .feature-card{min-height:auto;padding:22px !important;}
  .hero-panel .feature-card h3{font-size:1.28rem;}
  .glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.project-content-panel,.project-brand-panel,.proof-logo-card{padding:22px !important;}
  .cta-bar,.whatsapp-float,.floating-call{display:none!important;}
}

@media (max-width:390px){
  :root{--container:calc(100% - 22px);}
  .brand-logo{width:122px !important;max-width:122px !important;}
  .header-contact{font-size:.78rem;padding:0 9px;}
  .menu-toggle{width:38px;height:38px;}
  .hero-panel,.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card{padding:18px !important;}
}


/* Cookie Consent */
.cookie-consent{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:9999;
  pointer-events:none;
}
.cookie-consent__box{
  width:min(760px,100%);
  margin-left:auto;
  padding:22px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  background:rgba(7,13,24,.96);
  box-shadow:0 24px 80px rgba(0,0,0,.34);
  color:#fff;
  pointer-events:auto;
  backdrop-filter:blur(18px);
}
.cookie-consent__eyebrow{
  display:inline-flex;
  margin-bottom:8px;
  color:var(--accent,#39d0ff);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cookie-consent h2{
  margin:0 0 8px;
  font-size:1.25rem;
  line-height:1.15;
}
.cookie-consent p{
  margin:0;
  max-width:62ch;
  color:rgba(255,255,255,.75);
  font-size:.95rem;
  line-height:1.65;
}
.cookie-consent__settings{
  display:grid;
  gap:10px;
  margin-top:16px;
}
.cookie-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.cookie-option strong{
  display:block;
  margin-bottom:3px;
  color:#fff;
  font-size:.96rem;
}
.cookie-option small{
  display:block;
  color:rgba(255,255,255,.66);
  font-size:.82rem;
  line-height:1.45;
}
.cookie-option input{
  width:20px;
  height:20px;
  flex:0 0 auto;
  accent-color:var(--accent,#39d0ff);
}
.cookie-option--locked{opacity:.78;}
.cookie-consent__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.cookie-btn{
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  cursor:pointer;
  font:inherit;
  font-size:.92rem;
  font-weight:800;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.cookie-btn:hover{transform:translateY(-1px);}
.cookie-btn--primary{
  border-color:transparent;
  background:linear-gradient(90deg,var(--accent,#39d0ff),#b5e7ff);
  color:#07111f;
}
.cookie-btn--secondary{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.cookie-btn--ghost{
  background:transparent;
  color:rgba(255,255,255,.86);
}
.cookie-consent__link{
  display:inline-flex;
  margin-top:13px;
  color:rgba(255,255,255,.7);
  font-size:.84rem;
  text-decoration:underline;
  text-underline-offset:4px;
}
@media (max-width:720px){
  .cookie-consent{
    left:12px;
    right:12px;
    bottom:12px;
  }
  .cookie-consent__box{
    padding:18px;
    border-radius:22px;
  }
  .cookie-consent h2{font-size:1.12rem;}
  .cookie-consent p{font-size:.88rem;line-height:1.55;}
  .cookie-option{
    align-items:flex-start;
    padding:12px;
  }
  .cookie-consent__actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .cookie-btn{width:100%;}
}

/* ===== FINAL 100% layout hardening pass ===== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{min-width:320px;overflow-x:hidden;}
img,svg,video{max-width:100%;height:auto;}
a{overflow-wrap:anywhere;}
.container{width:min(calc(100% - 32px),1180px)!important;max-width:1180px!important;}
section,.section,.section-tight{position:relative;}
.hero-grid,.hero-grid-wide,.detail-grid,.about-grid,.portal-grid,.contact-layout-simple,.contact-box,.proof-shell,.project-feature-shell,.case-hero-grid,.case-split-grid,.case-result-shell,.case-review-shell,.project-case-card{display:grid;min-width:0;}
.hero-grid,.hero-grid-wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center;}
.service-grid,.pricing-grid,.teaser-grid,.overview-grid,.city-grid,.testimonial-grid,.contact-grid,.pricing-grid-website,.pricing-grid-software,.feature-grid,.steps-grid,.trust-grid,.stats-grid,.kpi-strip,.case-overview-grid,.case-goal-grid,.case-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;align-items:stretch;}
.hero-panel .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.faq-item,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.hero-panel,.proof-logo-card,.project-brand-panel,.project-content-panel,.form-panel,.form-details-panel,.google-review-card{min-width:0;max-width:100%;overflow:hidden;overflow-wrap:break-word;word-break:normal;hyphens:auto;}
.service-card,.price-card,.teaser-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card{height:100%;display:flex;flex-direction:column;}
.service-card p,.price-card p,.teaser-card p,.overview-card p,.info-card p,.portal-card p,.panel-card p,.about-card p,.stat-card p,.city-card p,.feature-card p,.quote-card p,.google-review-text{max-width:100%;}
.service-card .btn,.price-card .btn,.teaser-card .btn,.overview-card .btn,.panel-card .btn{margin-top:auto;}
.btn,.mini-cta,.nav-cta,.header-contact,.float-btn,.cookie-btn{white-space:normal;text-align:center;line-height:1.18;}
.header-inner{position:relative;}
.nav{min-width:0;}
.nav a{overflow-wrap:normal;}
.form-grid,.checkbox-grid,.simplified-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
input,select,textarea,button{max-width:100%;}
textarea{resize:vertical;}
.price-card ul,.check-list{padding-left:1.15rem;}
.price-card li,.check-list li{padding-left:.15rem;}
.seo-depth-section .overview-card{min-height:100%;}
.seo-depth-section .overview-card p{margin-bottom:0;}
@media (max-width:1180px){.hero-grid,.hero-grid-wide,.proof-shell,.project-feature-shell,.case-hero-grid,.case-split-grid,.case-split-grid.reverse,.case-result-shell,.case-review-shell,.project-case-card{grid-template-columns:1fr!important;}.hero-panel .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:900px){.container{width:min(calc(100% - 28px),1180px)!important;}.header-contact{display:none!important;}.nav-cta-mobile{display:flex!important;}.section{padding:70px 0!important;}.section-tight{padding:50px 0!important;}.contact-info-panel{position:static!important;}.form-grid,.checkbox-grid,.simplified-check-grid,.hero-panel .feature-grid{grid-template-columns:1fr!important;}.google-review-top,.google-review-bottom{align-items:flex-start;}.footer-inner{display:grid!important;grid-template-columns:1fr!important;gap:26px!important;}.footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}}
@media (max-width:520px){.container{width:calc(100% - 22px)!important;}.brand-logo{width:126px!important;}.section{padding:58px 0!important;}.hero{padding-top:34px!important;}.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.slab-card,.hero-panel,.proof-logo-card,.project-brand-panel,.project-content-panel,.form-panel,.google-review-card{padding:18px!important;border-radius:18px!important;}.footer-links{grid-template-columns:1fr!important;}.google-review-top{flex-direction:column;}.price{font-size:clamp(1.7rem,11vw,2.25rem)!important;}.cookie-consent{left:10px!important;right:10px!important;bottom:10px!important;}.cookie-consent__box{padding:16px!important;border-radius:20px!important;}}

/* ===== FINAL CARD REPAIR + SOFTWARE CARE PACKAGES ===== */
/* Ziel: keine überdehnten Karten, keine rauslaufenden Texte, klare Desktop/Tablet/Mobile-Struktur. */
.hero-grid,
.hero-grid-wide{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:clamp(30px,4vw,56px) !important;
  align-items:center !important;
}
.hero-panel{
  overflow:visible !important;
}
.hero-panel .feature-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
}
.hero-panel .feature-card{
  min-height:auto !important;
  height:auto !important;
  padding:24px !important;
  justify-content:flex-start !important;
}
.hero-panel .feature-card h3,
.service-card h3,
.price-card h2,
.price-card h3,
.teaser-card h3,
.overview-card h3,
.feature-card h3{
  max-width:100%;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  hyphens:auto !important;
}
.hero-panel .feature-card p,
.service-card p,
.price-card p,
.teaser-card p,
.overview-card p,
.feature-card p{
  max-width:100% !important;
  overflow-wrap:break-word !important;
}
.service-grid,
.teaser-grid,
.overview-grid,
.city-grid,
.testimonial-grid,
.contact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.pricing-grid,
.software-grid,
.care-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(22px,2.4vw,32px) !important;
  align-items:stretch !important;
}
.software-grid .price-card:nth-child(4){
  grid-column:1 / -1;
  max-width:760px;
  justify-self:center;
}
.price-card,
.service-card,
.teaser-card,
.overview-card,
.feature-card,
.care-card{
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}
.price-card ul,
.care-card ul{
  display:grid;
  gap:10px;
  padding-left:20px;
  margin:16px 0 0 !important;
}
.price-card li,
.care-card li{
  line-height:1.55;
}
.price-card .btn,
.service-card .btn,
.teaser-card .btn,
.care-card .btn{
  margin-top:auto !important;
  align-self:flex-start;
}
.care-card{
  background:linear-gradient(180deg,rgba(15,25,42,.92),rgba(10,17,30,.96));
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:clamp(24px,2.4vw,34px);
}
.care-card.featured{
  border-color:rgba(57,208,255,.34);
  background:linear-gradient(180deg,rgba(57,208,255,.12),rgba(10,17,30,.96));
}
.care-card h3{margin-bottom:0;}
.care-price{
  font-size:clamp(1.8rem,2.6vw,2.6rem);
  line-height:1;
  font-weight:800;
  color:#fff;
  margin:4px 0 6px;
}
.care-note{
  margin-top:16px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
@media (max-width:1080px){
  .hero-grid,
  .hero-grid-wide{
    grid-template-columns:1fr !important;
  }
  .service-grid,
  .teaser-grid,
  .overview-grid,
  .city-grid,
  .testimonial-grid,
  .contact-grid,
  .pricing-grid,
  .software-grid,
  .care-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .software-grid .price-card:nth-child(4){
    grid-column:1 / -1;
  }
}
@media (max-width:720px){
  .hero-panel .feature-grid,
  .service-grid,
  .teaser-grid,
  .overview-grid,
  .city-grid,
  .testimonial-grid,
  .contact-grid,
  .pricing-grid,
  .software-grid,
  .care-grid{
    grid-template-columns:1fr !important;
  }
  .software-grid .price-card:nth-child(4){
    grid-column:auto;
    max-width:none;
  }
  .hero-panel .feature-card,
  .care-card{
    padding:22px !important;
  }
  .price-card .btn,
  .service-card .btn,
  .teaser-card .btn,
  .care-card .btn{
    width:100%;
    align-self:stretch;
  }
}


/* ===== FINAL PACKAGE POLISH 2: Karten, Paketseiten, Add-ons ===== */
html,body{max-width:100%;overflow-x:hidden;}main{min-width:0}.hero-copy,.hero-panel,.feature-card,.price-card,.care-card,.addon-card{min-width:0}.package-hero h1{font-size:clamp(2.45rem,4.7vw,4.65rem);max-width:820px;overflow-wrap:normal;hyphens:auto}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.86fr)!important}.hero-grid-wide{grid-template-columns:minmax(0,.98fr) minmax(360px,1.02fr)!important}.hero-panel .feature-grid{grid-template-columns:repeat(2,minmax(210px,1fr))!important}.hero-panel .feature-card{overflow:hidden}.hero-panel .feature-card h3{font-size:clamp(1.1rem,1.4vw,1.32rem);line-height:1.12}.hero-panel .feature-card p{font-size:.98rem;line-height:1.62}.hero-points{grid-template-columns:repeat(3,minmax(0,1fr))!important}.hero-points div{min-width:0;overflow:hidden}.hero-points strong{line-height:1.12;hyphens:auto}.hero-points span{display:block;overflow-wrap:break-word}.price,.care-price{letter-spacing:-.055em;overflow-wrap:break-word;hyphens:auto}.price{font-size:clamp(2rem,3.6vw,3rem);line-height:.98;font-weight:800;color:#fff;margin:18px 0}.package-grid{display:grid;gap:clamp(22px,2.4vw,32px);align-items:stretch}.package-grid-five{grid-template-columns:repeat(6,minmax(0,1fr))}.package-grid-five .package-card{grid-column:span 2}.package-grid-five .package-card:nth-child(4){grid-column:2/span 2}.package-grid-five .package-card:nth-child(5){grid-column:4/span 2}.package-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.package-card{padding:clamp(26px,2.5vw,34px)!important}.package-card h3,.care-card h3{font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.08;margin-bottom:12px}.package-card p,.care-card p,.addon-card p{line-height:1.68}.package-card ul,.care-card ul{margin:20px 0!important}.best-for{margin:18px 0 24px;padding:14px 16px;border-radius:16px;background:rgba(57,208,255,.06);border:1px solid rgba(57,208,255,.12);color:var(--text-soft)}.best-for strong{color:#fff}.addon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.addon-card{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(15,25,42,.82),rgba(9,16,28,.92));box-shadow:0 18px 42px rgba(0,0,0,.22)}.addon-card h3{font-size:1.05rem;line-height:1.16;margin:0}.addon-card strong{display:block;color:#fff;font-size:1.28rem;letter-spacing:-.03em}.addon-card p{font-size:.96rem;margin:0}.care-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.care-card{overflow:hidden;border-radius:24px;padding:clamp(26px,2.5vw,34px)!important}.care-price{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.02;margin:10px 0 14px}.package-summary-card{max-width:100%}.metric-stack article{min-width:0}.metric-stack strong{overflow-wrap:break-word}@media(max-width:1180px){.package-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.addon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1080px){.hero-grid,.hero-grid-wide{grid-template-columns:1fr!important}.package-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))}.package-grid-five .package-card,.package-grid-five .package-card:nth-child(4),.package-grid-five .package-card:nth-child(5){grid-column:auto}.package-grid-five .package-card:nth-child(5){grid-column:1/-1;max-width:620px;justify-self:center;width:100%}}@media(max-width:760px){.package-hero h1{font-size:clamp(2.2rem,11vw,3.2rem)}.hero-panel .feature-grid,.hero-points,.package-grid-five,.package-grid-four,.care-grid,.addon-grid{grid-template-columns:1fr!important}.package-grid-five .package-card:nth-child(5){grid-column:auto;max-width:none}.price,.care-price{font-size:clamp(1.85rem,10vw,2.55rem)}.package-card,.care-card,.addon-card{padding:22px!important}}@media(max-width:420px){.btn{min-height:52px;padding:0 18px}.package-card h3,.care-card h3{font-size:1.22rem}.price,.care-price{font-size:2rem}}

/* Startseiten-Redesign 2026-04-29: ruhiger, hochwertiger, kein überladener Kartenfriedhof im Hero */
.home-hero-redesign{
  position:relative;
  padding:96px 0 76px !important;
  overflow:hidden;
}
.home-hero-redesign::before{
  content:"";
  position:absolute;
  inset:-30% -15% auto auto;
  width:720px;
  height:720px;
  background:radial-gradient(circle,rgba(86,215,255,.18),rgba(125,91,255,.08) 42%,transparent 68%);
  pointer-events:none;
}
.home-hero-wrap{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.78fr) !important;
  gap:58px;
  align-items:center;
}
.home-hero-copy{max-width:760px;min-width:0;}
.home-hero-copy h1{
  max-width:780px;
  margin:14px 0 22px;
  font-size:clamp(3.1rem,6.2vw,6.45rem) !important;
  line-height:.9 !important;
  letter-spacing:-.075em !important;
  text-wrap:balance;
}
.home-hero-copy .lead{
  max-width:720px;
  color:rgba(226,232,240,.76);
  font-size:clamp(1.05rem,1.35vw,1.26rem) !important;
  line-height:1.75;
}
.home-hero-actions{margin:30px 0 22px !important;}
.home-proof-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.home-proof-row span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(7,13,24,.54);
  color:rgba(226,232,240,.74);
  font-weight:650;
  font-size:.94rem;
}
.home-hero-board{
  position:relative;
  min-width:0;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(13,22,38,.88),rgba(6,11,22,.94));
  box-shadow:0 34px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.home-hero-board::after{
  content:"";
  position:absolute;
  inset:auto -80px -110px auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(86,215,255,.18),transparent 67%);
}
.board-top,.board-bottom{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.board-top{
  padding-bottom:18px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.board-top span,.board-bottom span,.board-main small{color:rgba(226,232,240,.58);font-weight:700;}
.board-top strong{font-size:1.05rem;}
.board-main{
  position:relative;
  z-index:1;
  display:grid;
  gap:14px;
}
.board-main article{
  padding:20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:rgba(255,255,255,.035);
}
.board-main h3{
  margin:8px 0 7px;
  font-size:clamp(1.3rem,2vw,1.8rem);
  letter-spacing:-.04em;
}
.board-main p{margin:0;color:rgba(226,232,240,.68);line-height:1.55;}
.board-bottom{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.09);
}
.board-bottom div{display:grid;gap:4px;}
.board-bottom strong{font-size:1.25rem;letter-spacing:-.04em;}
@media (max-width:1180px){
  .home-hero-wrap{grid-template-columns:1fr !important;gap:34px;}
  .home-hero-board{max-width:760px;}
}
@media (max-width:720px){
  .home-hero-redesign{padding:62px 0 54px !important;}
  .home-hero-copy h1{font-size:clamp(2.65rem,14vw,4.2rem) !important;line-height:.94 !important;}
  .home-hero-board{padding:18px;border-radius:24px;}
  .board-top,.board-bottom{align-items:flex-start;flex-direction:column;}
  .home-proof-row span{width:100%;justify-content:center;}
}


/* Online Marketing Ergänzungen */
.featured-soft{background:linear-gradient(180deg,rgba(57,208,255,.10),rgba(181,109,255,.06));border-color:rgba(57,208,255,.18)}
.marketing-home-section{padding-top:40px}
.marketing-split-card{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:34px;border-radius:var(--radius);border:1px solid rgba(57,208,255,.18);background:linear-gradient(135deg,rgba(57,208,255,.10),rgba(14,24,41,.78) 46%,rgba(181,109,255,.10));box-shadow:var(--shadow)}
.marketing-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.marketing-mini-grid article{padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.marketing-mini-grid strong{display:block;margin-bottom:8px;font-size:1.08rem}.marketing-mini-grid span{color:var(--muted)}
.marketing-hero{position:relative;overflow:hidden}.marketing-hero::after{content:"";position:absolute;right:-120px;top:120px;width:360px;height:360px;border-radius:50%;background:rgba(57,208,255,.10);filter:blur(70px);pointer-events:none}
.marketing-pricing-grid{grid-template-columns:repeat(4,1fr)}
.service-card .btn,.price-card .btn,.teaser-card .btn{margin-top:22px}
@media (max-width:1080px){.marketing-split-card{grid-template-columns:1fr}.marketing-pricing-grid{grid-template-columns:1fr 1fr}.marketing-mini-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:780px){.marketing-pricing-grid,.marketing-mini-grid{grid-template-columns:1fr}.marketing-split-card{padding:24px}.nav{gap:14px}.header-inner{gap:14px}}

/* ===== HARD OVERRIDE: Abstandskorrektur sichtbar erzwingen ===== */
html, body{max-width:100%;overflow-x:hidden;}

/* Weniger riesige Luft zwischen normalen Inhaltsabschnitten */
.section{
  padding-top:clamp(54px,6vw,76px) !important;
  padding-bottom:clamp(54px,6vw,76px) !important;
}
.section-tight,
.slab-section,
.highlight-strip{
  padding-top:clamp(38px,4.5vw,56px) !important;
  padding-bottom:clamp(38px,4.5vw,56px) !important;
}
.section + .section,
.section + .section-tight,
.section-tight + .section,
.case-hero + .section,
.case-split-grid + .section,
.case-result-shell + .section,
.case-review-shell + .section,
.project-case-card + .section{
  padding-top:clamp(36px,4.5vw,58px) !important;
}

/* Der Online-Marketing-Block auf der Startseite bekommt keinen Extra-Abstand oben. */
.marketing-home-section,
section.marketing-home-section,
.section.marketing-home-section{
  margin-top:0 !important;
  padding-top:clamp(30px,4vw,48px) !important;
}

/* Falls der vorherige Case-Study-Block zu viel Luft nach unten hat. */
.case-review-section,
.case-result-section,
.case-study-section,
.case-section,
.project-section{
  padding-bottom:clamp(36px,4.5vw,58px) !important;
}

/* CTA-Reihen müssen einen echten Abstand zum Text/Preisblock darunter haben. */
.hero-actions,
.home-hero-actions,
.inline-actions,
.button-row,
.section-cta,
.centered-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:14px !important;
  margin-top:24px !important;
  margin-bottom:34px !important;
}

/* Verhindert, dass nachfolgender Text optisch an Buttons klebt. */
.hero-actions + *,
.home-hero-actions + *,
.inline-actions + *,
.button-row + *,
.section-cta + *,
.centered-buttons + *{
  margin-top:0 !important;
  clear:both !important;
}

/* Wenn Paketpreise als Text/Spans unter Buttons stehen. */
.marketing-home-section .price,
.marketing-home-section .price-list,
.marketing-home-section .marketing-prices,
.marketing-home-section .package-footnote,
.marketing-home-section .package-hint,
.marketing-hero .price,
.marketing-hero .price-list,
.marketing-hero .marketing-prices,
.marketing-hero .package-footnote,
.marketing-hero .package-hint{
  display:block !important;
  width:100% !important;
  margin-top:8px !important;
  margin-bottom:0 !important;
  line-height:1.65 !important;
  white-space:normal !important;
}

.marketing-home-section .price span,
.marketing-home-section .price-list span,
.marketing-home-section .marketing-prices span,
.marketing-home-section .package-footnote span,
.marketing-home-section .package-hint span,
.marketing-hero .price span,
.marketing-hero .price-list span,
.marketing-hero .marketing-prices span,
.marketing-hero .package-footnote span,
.marketing-hero .package-hint span{
  display:block !important;
  margin:4px 0 !important;
}

/* Genereller Card-Rhythmus: Überschrift, Text, Listen und Button sauber trennen. */
.glass-card,.service-card,.price-card,.step-card,.teaser-card,.contact-card,.overview-card,.info-card,.portal-card,.panel-card,.about-card,.stat-card,.city-card,.feature-card,.quote-card,.table-card,.legal-card,.case-goal-card,.case-feature-card,.case-panel-card,.project-content-panel{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.glass-card h2,.service-card h3,.price-card h2,.price-card h3,.teaser-card h3,.overview-card h3,.feature-card h3,.case-goal-card h3,.case-feature-card h3,.case-panel-card h2,.project-content-panel h2{
  margin-bottom:0 !important;
}
.glass-card p,.service-card p,.price-card p,.teaser-card p,.overview-card p,.feature-card p,.case-goal-card p,.case-feature-card p,.case-panel-card p,.project-content-panel p{
  margin:0 !important;
}
.price-card ul,.check-list{
  margin:0 !important;
  padding-left:20px !important;
  display:grid !important;
  gap:10px !important;
}
.price-card li + li,.check-list li + li{margin-top:0 !important;}
.service-card .btn,.price-card .btn,.teaser-card .btn,.overview-card .btn,.panel-card .btn,.project-content-panel .btn{
  margin-top:auto !important;
}

@media (max-width:780px){
  .section{
    padding-top:46px !important;
    padding-bottom:46px !important;
  }
  .section + .section,
  .section + .section-tight,
  .section-tight + .section,
  .marketing-home-section,
  section.marketing-home-section,
  .section.marketing-home-section{
    padding-top:30px !important;
  }
  .hero-actions,
  .home-hero-actions,
  .inline-actions,
  .button-row,
  .section-cta,
  .centered-buttons{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    margin-top:22px !important;
    margin-bottom:30px !important;
  }
  .btn{width:100% !important;}
}
