:root {
    --bg:#06111f;
    --bg-2:#081a2e;
    --surface:#0e2138;
    --surface-2:#102b48;
    --text:#f8fafc;
    --muted:#bdd0e2;
    --soft:#8fb0ca;
    --brand:#38bdf8;
    --brand-2:#7dd3fc;
    --accent:#fbbf24;
    --line:rgba(148, 213, 255, .18);
    --shadow:0 24px 70px rgba(0,0,0,.38);
    --radius:28px;
}
* {
    box-sizing:border-box;
    margin:0;
    padding:0;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:110px;
}
body {
    font-family:Montserrat,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.65;
    overflow-x:hidden;
}
a {
    color:inherit;
    text-decoration:none;
}
img {
    display:block;
    max-width:100%;
    height:auto;
}

.container {
    width:min(1180px,92%);
    margin-inline:auto;
}

.skip-link {
    position:absolute;
    left:-999px;
    top:12px;
    background:#fff;
    color:#000;
    padding:12px 16px;
    border-radius:10px;
    z-index:9999;
}

.skip-link:focus {
    left:12px;
}

.site-header {
    position:fixed;
    inset:0 0 auto 0;
    z-index:1000;
    background:rgba(6,17,31,.72);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
    transition:.25s;
}

.site-header.is-scrolled {
    background:rgba(6,17,31,.92);
    box-shadow:0 10px 40px rgba(0,0,0,.22);
}

.nav-container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:13px 0;
}

.logo img {
    width:190px;
    height:auto;
}

.site-nav ul {
    display:flex;
    align-items:center;
    gap:30px;
    list-style:none;
}

.site-nav a {
    font-size:.95rem;
    font-weight:750;
    color:#e6f4ff;
    opacity:.9;
    transition:.2s;
}

.site-nav a:hover {
    color:var(--brand);
    opacity:1;
}

.nav-cta {
    padding:11px 18px;
    border-radius:999px;
    background:rgba(56,189,248,.14);
    border:1px solid rgba(56,189,248,.35);
}

.menu-toggle {
    display:none;
    width:48px;
    height:48px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    border-radius:14px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
}

.menu-toggle span {
    width:22px;
    height:2px;
    background:#fff;
    border-radius:5px;
    transition:.2s;
}

.menu-toggle.is-open span:nth-child(1) {
    transform:translateY(7px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2) {
    opacity:0;
}

.menu-toggle.is-open span:nth-child(3) {
    transform:translateY(-7px) rotate(-45deg);
}

.hero {
    min-height:100vh;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.hero picture,.hero-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.hero-bg {
    object-fit:cover;
    object-position:center;
}

.hero-shade {
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 78% 24%,rgba(56,189,248,.18),transparent 34%),linear-gradient(90deg,rgba(6,17,31,.82) 0%,rgba(6,17,31,.62) 32%,rgba(6,17,31,.26) 64%,rgba(6,17,31,.06) 100%);
}

.hero-inner {
    position:relative;
    z-index:2;
    padding-top:90px;
}

.hero-copy {
    max-width:600px;
    margin-left:clamp(240px,24vw,600px);
}

.eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:18px;
    color:var(--brand-2);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.78rem;
}

.eyebrow:before {
    content:"";
    width:28px;
    height:2px;
    background:var(--brand);
    border-radius:3px;
}

.hero h1 {
    font-size:clamp(2.75rem,5.3vw,5.15rem);
    letter-spacing:-.065em;
    line-height:.96;
    margin-bottom:28px;
}

.hero-lead {
    font-size:clamp(1.02rem,1.6vw,1.22rem);
    color:#d8eafe;
    max-width:590px;
    margin-bottom:34px;
}

.hero-actions {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:15px 24px;
    border-radius:15px;
    font-weight:850;
    border:1px solid transparent;
    cursor:pointer;
    transition:.2s;
    min-height:54px;
}

.btn-primary {
    background:linear-gradient(135deg,var(--brand),var(--brand-2));
    color:#04101c;
    box-shadow:0 18px 40px rgba(56,189,248,.22);
}

.btn-primary:hover {
    transform:translateY(-3px);
    box-shadow:0 22px 55px rgba(56,189,248,.36);
}

.btn-secondary {
    background:rgba(255,255,255,.07);
    border-color:var(--line);
    color:#fff;
}

.btn-secondary:hover {
    background:rgba(56,189,248,.13);
    border-color:rgba(56,189,248,.45);
    transform:translateY(-3px);
}

.trust-row {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    margin-top:26px;
}

.trust-row span {
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:#dff4ff;
    font-weight:700;
    font-size:.9rem;
}

.hero-intro {
    padding:46px 0;
    background:linear-gradient(180deg,#07182b,#081a2e);
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid var(--line);
}

.hero-intro-inner {
    max-width:960px;
}

.hero-intro-text {
    max-width:880px;
    margin:0 auto 28px;
    text-align:center;
    font-size:clamp(1.05rem,2vw,1.28rem);
    line-height:1.75;
    color:#dbeaf6;
}

.hero-features {
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.hero-features span {
    padding:11px 18px;
    border-radius:999px;
    background:rgba(56,189,248,.12);
    border:1px solid rgba(56,189,248,.25);
    color:#eaf8ff;
    font-weight:750;
}

.section {
    padding:105px 0;
}

.intro-strip {
    padding:26px 0;
    background:linear-gradient(90deg,rgba(56,189,248,.12),rgba(255,255,255,.03));
    border-block:1px solid var(--line);
}

.intro-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.intro-grid div {
    padding:22px;
    border-radius:20px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.07);
}

.intro-grid strong,.intro-grid span {
    display:block;
}

.intro-grid span {
    color:var(--muted);
    font-size:.95rem;
    margin-top:5px;
}

.section-title {
    text-align:center;
    max-width:760px;
    margin:0 auto 55px;
}

.section-title h2,.split-copy h2,.area-grid h2,.contact-copy h2 {
    font-size:clamp(2.1rem,4vw,3.45rem);
    line-height:1.05;
    letter-spacing:-.045em;
    margin-bottom:18px;
}

.section-title p,.split-copy p,.area-grid p,.contact-copy p {
    color:var(--muted);
    font-size:1.04rem;
}

.services-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.service-card {
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 14px 45px rgba(0,0,0,.18);
    transition:.25s;
}

.service-card:hover {
    transform:translateY(-7px);
    border-color:rgba(56,189,248,.42);
    box-shadow:var(--shadow);
}

.service-card img {
    width:100%;
    height:250px;
    object-fit:cover;
}

.service-card div:not(.service-icon) {
    padding:26px;
}

.service-card h3 {
    font-size:1.35rem;
    margin-bottom:10px;
}

.service-card p {
    color:var(--muted);
}

.icon-card {
    display:flex;
    flex-direction:column;
    min-height:100%;
}

.service-icon {
    height:250px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:3rem;
    font-weight:900;
    letter-spacing:-.05em;
    background:radial-gradient(circle at center,rgba(56,189,248,.28),rgba(8,26,46,.92));
    color:var(--brand-2);
}

.split-section {
    background:linear-gradient(180deg,var(--bg),var(--bg-2));
}

.split-grid,.area-grid,.contact-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:64px;
    align-items:center;
}

.about-image img {
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    width:100%;
    max-height:660px;
    object-fit:cover;
}

.check-list {
    list-style:none;
    margin-top:26px;
    display:grid;
    gap:12px;
}

.check-list li {
    position:relative;
    padding-left:32px;
    color:#e6f4ff;
}

.check-list li:before {
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--brand);
    font-weight:900;
}

.stats-section {
    padding:55px 0;
    background:#06101d;
    border-block:1px solid var(--line);
}

.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.stat-card {
    padding:28px;
    border-radius:22px;
    background:rgba(255,255,255,.04);
    border:1px solid var(--line);
    text-align:center;
}

.stat-card strong {
    display:block;
    font-size:2rem;
    color:var(--brand-2);
    line-height:1;
}

.stat-card span {
    display:block;
    color:var(--muted);
    margin-top:10px;
}

.area-section {
    background:radial-gradient(circle at 10% 10%,rgba(56,189,248,.12),transparent 30%),var(--bg);
}

.area-card {
    padding:34px;
    border-radius:var(--radius);
    background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}

.area-card h3 {
    margin-bottom:20px;
    font-size:1.5rem;
}

.tag-list {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.tag-list span {
    padding:10px 14px;
    border-radius:999px;
    background:rgba(56,189,248,.12);
    border:1px solid rgba(56,189,248,.25);
    color:#dff5ff;
    font-weight:750;
}

.faq-section {
    background:var(--bg-2);
}

.faq-list {
    max-width:900px;
    margin:auto;
    display:grid;
    gap:14px;
}

.faq-list details {
    border:1px solid var(--line);
    background:rgba(255,255,255,.045);
    border-radius:18px;
    padding:20px 24px;
}

.faq-list summary {
    cursor:pointer;
    font-weight:850;
    font-size:1.08rem;
}

.faq-list p {
    color:var(--muted);
    margin-top:12px;
}

.contact-section {
    background:radial-gradient(circle at 82% 10%,rgba(56,189,248,.16),transparent 34%),linear-gradient(180deg,var(--bg),#030914);
}

.contact-grid {
    align-items:start;
}

.contact-details {
    display:grid;
    gap:13px;
    margin:28px 0;
}

.contact-details a,.contact-details span {
    display:block;
    padding:15px 17px;
    border-radius:16px;
    background:rgba(255,255,255,.045);
    border:1px solid var(--line);
    color:#eaf8ff;
}

.social-links {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.social-links a {
    padding:10px 14px;
    border-radius:999px;
    border:1px solid var(--line);
    color:var(--brand-2);
    font-weight:800;
}

.contact-form {
    padding:34px;
    border-radius:var(--radius);
    background:rgba(255,255,255,.055);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    display:grid;
    gap:16px;
}

.contact-form label {
    display:grid;
    gap:8px;
    color:#eaf8ff;
    font-weight:750;
}

.contact-form input,.contact-form textarea {
    width:100%;
    border:1px solid rgba(148,213,255,.25);
    background:#07182a;
    color:#fff;
    border-radius:14px;
    padding:14px 15px;
    font:inherit;
    font-weight:500;
}

.contact-form input:focus,.contact-form textarea:focus {
    outline:3px solid rgba(56,189,248,.22);
    border-color:var(--brand);
}

.contact-form textarea {
    resize:vertical;
    min-height:150px;
}

.hp-field {
    position:absolute;
    left:-9999px;
}

.privacy-check {
    display:flex!important;
    grid-template-columns:22px 1fr!important;
    align-items:flex-start;
    font-size:.92rem;
    color:var(--muted)!important;
    font-weight:600!important;
}

.privacy-check input {
    width:auto;
    margin-top:5px;
}

.privacy-check a {
    color:var(--brand-2);
    text-decoration:underline;
}

.site-footer {
    padding:42px 0;
    background:#030914;
    border-top:1px solid var(--line);
    color:var(--muted);
}

.footer-grid {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
}

.footer-grid strong {
    color:#fff;
}

.footer-grid nav {
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.footer-grid a {
    color:var(--brand-2);
    font-weight:750;
}

.whatsapp-float {
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:999;
    padding:13px 17px;
    border-radius:999px;
    background:#25d366;
    color:#04130a;
    font-weight:900;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
}

.legal-page {
    padding:165px 0 95px;
    background:radial-gradient(circle at 75% 10%,rgba(56,189,248,.12),transparent 34%),var(--bg);
}

.legal-content {
    max-width:930px;
    margin:auto;
    padding:42px;
    border-radius:var(--radius);
    background:rgba(255,255,255,.05);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}

.legal-content h1 {
    font-size:clamp(2.2rem,4vw,3.2rem);
    margin-bottom:24px;
}

.legal-content h2 {
    font-size:1.35rem;
    margin:34px 0 12px;
    color:#fff;
}

.legal-content p,.legal-content li {
    color:var(--muted);
    margin-bottom:14px;
}

.legal-content a {
    color:var(--brand-2);
    text-decoration:underline;
}

.reveal {
    opacity:0;
    transform:translateY(20px);
    transition:opacity .7s ease,transform .7s ease;
}

.reveal.is-visible {
    opacity:1;
    transform:none;
}

@media (max-width: 980px) {
    .menu-toggle {
        display:flex;
    }
    .site-nav {
        position:absolute;
        top:100%;
        left:4%;
        right:4%;
        padding:16px;
        background:rgba(6,17,31,.96);
        border:1px solid var(--line);
        border-radius:20px;
        box-shadow:var(--shadow);
        display:none;
    }
    .site-nav.is-open {
        display:block;
    }
    .site-nav ul {
        display:grid;
        gap:8px;
    }
    .site-nav a {
        display:block;
        padding:13px 12px;
    }
    .nav-cta {
        text-align:center;
    }
    .hero {
        min-height:880px;
    }
    .hero-shade {
        background:linear-gradient(180deg,rgba(6,17,31,.38) 0%,rgba(6,17,31,.76) 52%,rgba(6,17,31,.98) 100%);
    }
    .hero-inner {
        display:flex;
        align-items:flex-end;
        min-height:880px;
        padding:0 0 70px;
    }
    .hero-copy {
        text-align:center;
        margin:auto;
        max-width:720px;
    }
    .hero-actions,.trust-row {
        justify-content:center;
    }
    .intro-grid,.services-grid,.split-grid,.area-grid,.contact-grid,.stats-grid {
        grid-template-columns:1fr 1fr;
    }
    .split-grid,.area-grid,.contact-grid {
        gap:36px;
    }
    .services-grid {
        gap:18px;
    }
}

@media (max-width: 680px) {
    html {
        scroll-padding-top:86px;
    }
    .logo img {
        width:150px;
    }
    .nav-container {
        padding:10px 0;
    }
    .hero {
        min-height:760px;
    }
    .hero-bg {
        object-position:center top;
    }
    .hero-inner {
        min-height:760px;
        padding-bottom:45px;
    }
    .hero h1 {
        font-size:clamp(2.25rem,12.5vw,3.6rem);
        line-height:.96;
        letter-spacing:-.06em;
    }
    .hero-actions .btn {
        width:100%;
    }
    .hero-intro {
        padding:34px 0;
    }
    .hero-intro-text {
        text-align:left;
        font-size:1.05rem;
        line-height:1.65;
        margin-bottom:22px;
    }
    .hero-features {
        display:grid;
        gap:10px;
    }
    .hero-features span {
        width:100%;
        text-align:center;
    }
    .whatsapp-float {
        display:none;
    }
    .section {
        padding:76px 0;
    }
    .intro-grid,.services-grid,.split-grid,.area-grid,.contact-grid,.stats-grid {
        grid-template-columns:1fr;
    }
    .service-card img,.service-icon {
        height:220px;
    }
    .section-title {
        text-align:left;
        margin-bottom:34px;
    }
    .intro-strip {
        padding:16px 0;
    }
    .contact-form,.legal-content {
        padding:24px;
    }
    .footer-grid {
        display:grid;
    }
    .whatsapp-float {
        left:18px;
        right:18px;
        text-align:center;
    }
    .site-footer {
        padding-bottom:84px;
    }
}

/* Mobile-Fix: Auf dem Handy steht die Überschrift unter dem Hero-Bild */
@media (max-width: 680px) {
    .hero {
        display:block;
        min-height:0;
        overflow:visible;
        background:#06111f;
    }

    .hero picture {
        position:relative;
        inset:auto;
        display:block;
        width:100%;
        height:58vh;
        min-height:390px;
        max-height:560px;
        overflow:hidden;
    }

    .hero-bg {
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center top;
    }

    .hero-shade {
        top:0;
        bottom:auto;
        height:58vh;
        min-height:390px;
        max-height:560px;
        background:linear-gradient(180deg,rgba(6,17,31,.05) 0%,rgba(6,17,31,.12) 55%,rgba(6,17,31,.55) 100%);
        pointer-events:none;
    }

    .hero-inner {
        position:relative;
        min-height:0;
        padding:28px 0 34px;
        background:#06111f;
    }

    .hero-copy {
        max-width:100%;
        margin:0 auto !important;
        text-align:center;
        transform:none !important;
    }

    .hero h1 {
        font-size:clamp(2.15rem,11vw,3.25rem);
        line-height:1.02;
        margin-bottom:22px;
    }

    .hero-actions {
        display:grid;
        gap:12px;
    }

    .hero-actions .btn {
        width:100%;
    }

    .trust-row {
        justify-content:center;
    }
}


/* Version 3.1: modernere Intro-Karten und Google-Bewertungen */
.intro-grid div{
    position:relative;
    overflow:hidden;
    transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.intro-grid div:hover{
    transform:translateY(-5px);
    border-color:rgba(56,189,248,.34);
    background:rgba(255,255,255,.055);
}
.intro-icon{
    width:42px;
    height:42px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    border-radius:14px;
    background:rgba(56,189,248,.14);
    border:1px solid rgba(56,189,248,.28);
    color:var(--brand-2)!important;
    font-size:1.2rem!important;
    font-weight:900!important;
}
.reviews-section{
    background:radial-gradient(circle at 12% 18%,rgba(251,191,36,.14),transparent 32%),linear-gradient(180deg,var(--bg-2),var(--bg));
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.reviews-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:46px;
    align-items:center;
}
.reviews-copy h2{
    font-size:clamp(2.25rem,4vw,3.55rem);
    line-height:1.05;
    letter-spacing:-.045em;
    margin-bottom:18px;
}
.reviews-copy p{
    color:var(--muted);
    font-size:1.08rem;
    max-width:670px;
    margin-bottom:28px;
}
.reviews-card{
    padding:38px;
    border-radius:var(--radius);
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
    border:1px solid rgba(251,191,36,.28);
    box-shadow:var(--shadow);
    text-align:center;
}
.rating-stars{
    color:var(--accent);
    font-size:2.15rem;
    letter-spacing:.12em;
    margin-bottom:10px;
}
.reviews-card strong{
    display:block;
    font-size:clamp(3rem,7vw,5.3rem);
    line-height:1;
    letter-spacing:-.06em;
    color:#fff;
}
.reviews-card span{
    display:block;
    color:var(--brand-2);
    font-weight:850;
    margin-top:10px;
}
.reviews-card p{
    color:var(--muted);
    margin-top:18px;
}
@media (max-width: 980px){
    .reviews-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 680px){
    .reviews-card{
        padding:28px 22px;
    }
    .rating-stars{
        font-size:1.55rem;
    }
    .reviews-copy h2{
        font-size:2.1rem;
    }
}

/* ===== Top-Shine v3.2 Premium-Erweiterungen ===== */
.intro-strip{
    padding:38px 0;
    background:linear-gradient(180deg,#06111f,#081a2e);
}
.intro-card{
    position:relative;
    overflow:hidden;
    min-height:190px;
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.intro-card:before{
    content:"";
    position:absolute;
    inset:auto -40px -60px auto;
    width:160px;
    height:160px;
    border-radius:999px;
    background:rgba(56,189,248,.13);
}
.intro-card:hover{
    transform:translateY(-6px);
    border-color:rgba(56,189,248,.38);
    box-shadow:0 22px 60px rgba(0,0,0,.26);
}
.intro-icon{
    display:inline-flex!important;
    width:48px;
    height:48px;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(56,189,248,.13);
    border:1px solid rgba(56,189,248,.22);
    margin-bottom:18px;
    font-size:1.35rem!important;
}
.service-card{
    position:relative;
}
.service-card img{
    transition:transform .45s ease,filter .45s ease;
}
.service-card:hover img{
    transform:scale(1.045);
    filter:saturate(1.08) contrast(1.04);
}
.service-card div:not(.service-icon){
    position:relative;
    z-index:2;
}
.service-link{
    display:inline-flex;
    margin-top:18px;
    color:var(--brand-2);
    font-weight:850;
}
.reviews-section{
    background:radial-gradient(circle at 78% 10%,rgba(251,191,36,.12),transparent 34%),#071524;
    border-block:1px solid var(--line);
}
.reviews-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:42px;
    align-items:center;
}
.reviews-copy h2{
    font-size:clamp(2.1rem,4vw,3.45rem);
    line-height:1.05;
    letter-spacing:-.045em;
    margin-bottom:18px;
}
.reviews-copy p{
    color:var(--muted);
    font-size:1.06rem;
    margin-bottom:26px;
}
.rating-card{
    padding:42px;
    border-radius:var(--radius);
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
    border:1px solid rgba(251,191,36,.28);
    box-shadow:var(--shadow);
    text-align:center;
}
.stars{
    color:var(--accent);
    font-size:2.1rem;
    letter-spacing:.12em;
    margin-bottom:18px;
}
.rating-card strong{
    display:block;
    font-size:3.4rem;
    line-height:1;
    letter-spacing:-.06em;
    color:#fff;
}
.rating-card span{
    display:block;
    color:#ffe9ad;
    font-weight:850;
    margin-top:10px;
}
.rating-card p{
    color:var(--muted);
    margin-top:18px;
}
.gallery-section{
    background:linear-gradient(180deg,var(--bg-2),var(--bg));
}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}
.gallery-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    min-height:330px;
    box-shadow:0 16px 45px rgba(0,0,0,.18);
}
.gallery-card img{
    width:100%;
    height:100%;
    min-height:330px;
    object-fit:cover;
    transition:transform .5s ease;
}
.gallery-card:hover img{
    transform:scale(1.06);
}
.gallery-card figcaption{
    position:absolute;
    left:16px;
    right:16px;
    bottom:16px;
    padding:12px 14px;
    border-radius:16px;
    background:rgba(3,9,20,.72);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-weight:850;
}
.contact-methods{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin:28px 0;
}
.contact-method{
    padding:18px;
    border-radius:20px;
    background:rgba(255,255,255,.055);
    border:1px solid var(--line);
    transition:.25s ease;
}
.contact-method:hover{
    transform:translateY(-5px);
    border-color:rgba(56,189,248,.42);
    background:rgba(56,189,248,.09);
}
.contact-method span{
    display:block;
    font-size:1.55rem;
    margin-bottom:8px;
}
.contact-method strong,
.contact-method small{
    display:block;
}
.contact-method small{
    color:var(--muted);
    margin-top:3px;
    word-break:break-word;
}
.site-footer{
    padding:54px 0 42px;
}
.footer-grid{
    display:grid!important;
    grid-template-columns:1.3fr .9fr 1fr .8fr;
    align-items:start!important;
}
.footer-grid nav{
    display:grid!important;
    gap:8px!important;
}
.footer-grid p{
    margin-top:8px;
}
.footer-rating{
    color:#ffe9ad!important;
    font-weight:800;
}

@media (max-width:980px){
    .reviews-grid,
    .gallery-grid{
        grid-template-columns:1fr 1fr;
    }
    .contact-methods{
        grid-template-columns:1fr;
    }
    .footer-grid{
        grid-template-columns:1fr 1fr!important;
    }
}
@media (max-width:680px){
    .reviews-grid,
    .gallery-grid,
    .footer-grid{
        grid-template-columns:1fr!important;
    }
    .rating-card{
        padding:30px 22px;
    }
    .rating-card strong{
        font-size:2.8rem;
    }
    .gallery-card,
    .gallery-card img{
        min-height:290px;
    }
    .intro-card{
        min-height:auto;
    }
}

.review-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}
.rating-link{
    display:inline-flex;
    margin-top:22px;
    color:var(--brand-2);
    font-weight:850;
}
.footer-rating a{
    color:#ffe9ad;
    font-weight:850;
}
@media (max-width: 680px){
    .review-actions{
        display:grid;
    }
    .review-actions .btn{
        width:100%;
    }
}
