
* {margin:0;padding:0;box-sizing:border-box;}

html {
    scroll-behavior:smooth;
}

body {
    font-family:'Inter', sans-serif;
    background:#000;
    color:white;
    overflow-x:hidden;
}

/* CURSOR */
.cursor {
    position:fixed;
    width:180px;
    height:180px;
    background:radial-gradient(circle, rgba(212,175,55,0.12), transparent 70%);
    pointer-events:none;
    transform:translate(-50%, -50%);
    z-index:0;
}

/* HERO */
.hero {
    position:relative;
    min-height:100vh;
    width:100%;
    background:
        radial-gradient(circle at 50% 40%, rgba(212,175,55,0.15), transparent 60%),
        radial-gradient(circle at 80% 20%, rgba(212,175,55,0.08), transparent 50%),
        radial-gradient(circle at 20% 80%, rgba(212,175,55,0.05), transparent 50%),
        url('cover.png') center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.hero::after {
    content:'';
    position:absolute;
    inset:0;
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0.95)),
        url('https://www.transparenttextures.com/patterns/asfalt-dark.png');
    opacity:0.9;
}

.hero::before {
    content:'';
    position:absolute;
    width:200%;
    height:100%;
    background:linear-gradient(120deg, transparent, rgba(212,175,55,0.06), transparent);
    animation:sweep 12s linear infinite;
}

@keyframes sweep {
    0% {transform:translateX(-100%);}
    100% {transform:translateX(100%);}
}

/* PARTICLES */
.particles {
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}

.particles span {
    position:absolute;
    width:3px;
    height:3px;
    background:radial-gradient(circle, #fff3b0, #d4af37);
    border-radius:50%;
    opacity:0;
    filter:blur(0.6px);
    animation:floatUp linear infinite;
}

.particles span:nth-child(odd) {animation-duration:12s;}
.particles span:nth-child(even) {animation-duration:18s;}
.particles span:nth-child(3n) {animation-duration:22s;}

@keyframes floatUp {
    0% {transform:translateY(100vh) scale(0.7); opacity:0;}
    10% {opacity:0.6;}
    90% {opacity:0.6;}
    100% {transform:translateY(-10vh) scale(1.2); opacity:0;}
}

/* HERO CONTENT */
.content {
    position:relative;
    z-index:2;
    text-align:center;
    max-width:760px;
    padding:24px;
    animation:fadeIn 1.2s ease forwards;
}

.logo-wrapper {
    position:relative;
    display:inline-block;
    margin-bottom:30px;
}

.logo-wrapper::before {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:230px;
    height:230px;
    transform:translate(-50%, -50%);
    background:radial-gradient(circle, rgba(212,175,55,0.6), transparent 70%);
    filter:blur(55px);
    opacity:0.6;
    animation:glowPulse 4s ease-in-out infinite;
}

.logo {
    width:150px;
    position:relative;
    z-index:2;
}

@keyframes glowPulse {
    0% {opacity:0.4; transform:translate(-50%, -50%) scale(0.9);}
    50% {opacity:0.8; transform:translate(-50%, -50%) scale(1.1);}
    100% {opacity:0.4; transform:translate(-50%, -50%) scale(0.9);}
}

h1 {
    font-family:'Playfair Display', serif;
    font-size:58px;
    margin-bottom:15px;
    letter-spacing:1px;
    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0,#a67c00,#d4af37);
    background-size:200% auto;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:goldShine 8s linear infinite;
}

@keyframes goldShine {
    0% {background-position:0% center;}
    100% {background-position:200% center;}
}

.subtitle {
    color:#e6e6e6;
    font-size:18px;
    margin-bottom:20px;
}

.desc {
    color:#b5b5b5;
    font-size:15px;
    line-height:1.8;
    margin-bottom:42px;
}

.btn {
    display:inline-block;
    padding:16px 42px;
    border-radius:14px;
    text-decoration:none;
    color:#111;
    font-weight:600;
    background: linear-gradient(135deg,#f6e27a,#d4af37,#a67c00);
    box-shadow:
        0 0 25px rgba(212,175,55,0.6),
        inset 0 0 12px rgba(255,255,255,0.25);
    transition:0.25s ease;
}

.btn:hover {
    transform:translateY(-2px) scale(1.06);
    box-shadow:
        0 0 45px rgba(212,175,55,1),
        0 0 80px rgba(212,175,55,0.6);
}

.footer {
    margin-top:30px;
    font-size:12px;
    color:#777;
}

.scroll-hint {
    position:absolute;
    bottom:28px;
    left:50%;
    transform:translateX(-50%);
    z-index:3;
    font-size:12px;
    color:#bfa15b;
    letter-spacing:1.5px;
    opacity:.8;
}

/* REFERENCES */
.references {
    position:relative;
    padding:110px 24px 120px;
    background:
        radial-gradient(circle at top center, rgba(212,175,55,0.10), transparent 42%),
        linear-gradient(180deg, #030303 0%, #090909 100%);
    overflow:hidden;
}

.references::before {
    content:'';
    position:absolute;
    inset:0;
    background:url('https://www.transparenttextures.com/patterns/asfalt-dark.png');
    opacity:.22;
    pointer-events:none;
}

.references-inner {
    position:relative;
    z-index:2;
    max-width:1180px;
    margin:0 auto;
    text-align:center;
}

.section-kicker {
    color:#d4af37;
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:16px;
}

.references h2 {
    font-family:'Playfair Display', serif;
    font-size:46px;
    margin-bottom:18px;
    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0,#a67c00);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.references-lead {
    color:#aaa;
    max-width:680px;
    margin:0 auto 55px;
    line-height:1.8;
    font-size:15px;
}

.ref-grid {
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:22px;
}

.ref-card {
    position:relative;
    min-height:230px;
    padding:28px 20px;
    border-radius:24px;
    text-decoration:none;
    color:white;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
    border:1px solid rgba(212,175,55,0.18);
    box-shadow:
        0 18px 60px rgba(0,0,0,0.35),
        inset 0 1px 0 rgba(255,255,255,0.08);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    transition:.35s ease;
}

.ref-card::before {
    content:'';
    position:absolute;
    width:160%;
    height:100%;
    left:-130%;
    top:0;
    background:linear-gradient(120deg, transparent, rgba(246,226,122,0.16), transparent);
    transition:.7s ease;
}

.ref-card::after {
    content:'';
    position:absolute;
    inset:1px;
    border-radius:23px;
    background:radial-gradient(circle at top, rgba(212,175,55,0.14), transparent 55%);
    opacity:.8;
    pointer-events:none;
}

.ref-card:hover {
    transform:translateY(-8px);
    border-color:rgba(212,175,55,0.5);
    box-shadow:
        0 24px 80px rgba(0,0,0,0.55),
        0 0 45px rgba(212,175,55,0.22);
}

.ref-card:hover::before {
    left:100%;
}

/* REAL LOGO BOX */
/* PREMIUM MONOGRAM BADGE (LOGO HELYETT) */
.ref-logo {
    position:relative;
    z-index:2;

    width:92px;
    height:92px;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:22px;

    font-family:'Playfair Display', serif;
    font-size:28px;
    font-weight:600;
    letter-spacing:1px;

    color:#111;

    background: linear-gradient(135deg,#f6e27a,#d4af37,#a67c00);

    box-shadow:
        0 0 28px rgba(212,175,55,.35),
        inset 0 0 12px rgba(255,255,255,.25);

    transition:.35s ease;
}

.ref-logo::before {
    content:'';
    position:absolute;
    inset:-20px;
    background:radial-gradient(circle, rgba(212,175,55,0.35), transparent 65%);
    opacity:0;
    transition:.35s ease;
}

.ref-card:hover .ref-logo {
    transform:scale(1.08);
    box-shadow:
        0 0 45px rgba(212,175,55,.6),
        inset 0 0 14px rgba(255,255,255,.35);
}

.ref-card:hover .ref-logo::before {
    opacity:1;
}

.ref-title {
    position:relative;
    z-index:2;
    font-size:17px;
    font-weight:600;
    margin-bottom:8px;
}

.ref-url {
    position:relative;
    z-index:2;
    color:#9b9b9b;
    font-size:12px;
    margin-bottom:18px;
}

.ref-tag {
    position:relative;
    z-index:2;
    color:#d4af37;
    font-size:11px;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.references-cta {
    margin-top:55px;
}

.secondary-btn {
    display:inline-block;
    padding:14px 34px;
    border-radius:14px;
    text-decoration:none;
    color:#d4af37;
    border:1px solid rgba(212,175,55,.45);
    background:rgba(255,255,255,.025);
    transition:.3s ease;
}

.secondary-btn:hover {
    background:rgba(212,175,55,.08);
    box-shadow:0 0 32px rgba(212,175,55,.2);
    transform:translateY(-2px);
}

/* ANIMATIONS */
@keyframes fadeIn {
    from {opacity:0; transform:translateY(20px);}
    to {opacity:1; transform:translateY(0);}
}

/* RESPONSIVE */
@media (max-width:1100px) {
    .ref-grid {
        grid-template-columns:repeat(3, 1fr);
    }
}

@media (max-width:760px) {
    h1 {
        font-size:44px;
    }

    .subtitle {
        font-size:16px;
    }

    .desc {
        font-size:14px;
    }

    .ref-grid {
        grid-template-columns:1fr;
        max-width:420px;
        margin:0 auto;
    }

    .references h2 {
        font-size:38px;
    }

    .logo {
        width:125px;
    }
}
/* =========================
   PRICING
========================= */

.pricing {
    position:relative;
    padding:110px 24px 120px;
    background:
        radial-gradient(circle at center, rgba(212,175,55,0.08), transparent 60%),
        linear-gradient(180deg, #050505 0%, #000 100%);
    text-align:center;
}

.pricing-inner {
    max-width:1180px;
    margin:0 auto;
}

.pricing h2 {
    font-family:'Playfair Display', serif;
    font-size:46px;
    margin-bottom:18px;
    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0,#a67c00);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.pricing-lead {
    color:#aaa;
    max-width:680px;
    margin:0 auto 55px;
    line-height:1.8;
    font-size:15px;
}

/* GRID */
.pricing-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
}

/* CARD */
.pricing-card {
    position:relative;
    padding:40px 28px;
    border-radius:26px;

    background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));

    border:1px solid rgba(212,175,55,0.2);

    box-shadow:
        0 20px 70px rgba(0,0,0,0.6),
        inset 0 1px 0 rgba(255,255,255,0.08);

    transition:.35s ease;
}

.pricing-card:hover {
    transform:translateY(-10px);
    border-color:rgba(212,175,55,0.6);
    box-shadow:
        0 30px 90px rgba(0,0,0,0.8),
        0 0 45px rgba(212,175,55,0.25);
}

/* FEATURED */
.pricing-card.featured {
    border:2px solid rgba(212,175,55,0.7);
    transform:scale(1.05);
}

.pricing-badge {
    display:inline-block;
    margin-bottom:14px;
    padding:6px 14px;
    font-size:11px;
    letter-spacing:1px;
    border-radius:50px;
    background:#d4af37;
    color:#000;
    font-weight:600;
}

/* TEXT */
.pricing-title {
    font-size:20px;
    margin-bottom:10px;
}

.pricing-price {
    font-size:26px;
    font-weight:600;
    margin-bottom:20px;
    color:#f6e27a;
}

/* LIST */
.pricing-card ul {
    list-style:none;
    padding:0;
    margin-bottom:30px;
    text-align:left;
}

.pricing-card li {
    margin-bottom:10px;
    color:#cfcfcf;
}

/* BUTTON */
.pricing-btn {
    display:inline-block;
    padding:14px 30px;
    border-radius:14px;
    text-decoration:none;

    color:#111;
    font-weight:600;

    background: linear-gradient(135deg,#f6e27a,#d4af37,#a67c00);

    box-shadow:
        0 0 25px rgba(212,175,55,0.6),
        inset 0 0 10px rgba(255,255,255,0.25);

    transition:.25s ease;
}

.pricing-btn:hover {
    transform:scale(1.05);
    box-shadow:
        0 0 45px rgba(212,175,55,1),
        0 0 80px rgba(212,175,55,0.6);
}

/* RESPONSIVE */
@media (max-width:1000px) {
    .pricing-grid {
        grid-template-columns:1fr;
        max-width:420px;
        margin:0 auto;
    }

    .pricing-card.featured {
        transform:none;
    }
}
/* =========================
   TESTIMONIALS
========================= */

.testimonials {
    position:relative;
    padding:110px 24px 120px;
    background:
        radial-gradient(circle at center, rgba(212,175,55,0.07), transparent 60%),
        linear-gradient(180deg, #040404 0%, #000 100%);
    text-align:center;
}

.testimonials-inner {
    position:relative;
    z-index:2;
    max-width:1180px;
    margin:0 auto;
}

.testimonials h2 {
    font-family:'Playfair Display', serif;
    font-size:46px;
    margin-bottom:18px;
    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0,#a67c00);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.testimonials-lead {
    color:#aaa;
    max-width:680px;
    margin:0 auto 55px;
    line-height:1.8;
    font-size:15px;
}

/* GRID */
.testimonials-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
}

/* CARD */
.testimonial-card {
    padding:32px 26px;
    border-radius:24px;

    background:
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));

    border:1px solid rgba(212,175,55,0.2);

    box-shadow:
        0 20px 70px rgba(0,0,0,0.6),
        inset 0 1px 0 rgba(255,255,255,0.08);

    text-align:left;
    transition:.35s ease;
}

.testimonial-card:hover {
    transform:translateY(-8px);
    border-color:rgba(212,175,55,0.6);
    box-shadow:
        0 30px 90px rgba(0,0,0,0.8),
        0 0 45px rgba(212,175,55,0.2);
}

/* TEXT */
.testimonial-text {
    font-size:15px;
    line-height:1.7;
    color:#ddd;
    margin-bottom:22px;
}

/* AUTHOR */
.testimonial-author {
    display:flex;
    align-items:center;
    gap:12px;
}

.author-avatar {
    width:44px;
    height:44px;
    border-radius:50%;
    background: linear-gradient(135deg,#f6e27a,#d4af37,#a67c00);
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
}

.author-name {
    font-size:14px;
    font-weight:600;
}

.author-role {
    font-size:12px;
    color:#999;
}

/* PARTICLES reuse */
.testimonials-particles {
    z-index:0;
}

/* RESPONSIVE */
@media (max-width:1000px) {
    .testimonials-grid {
        grid-template-columns:1fr;
        max-width:420px;
        margin:0 auto;
    }
}
/* =========================
   CONTACT PREMIUM
========================= */

.contact {
    position:relative;
    padding:120px 24px 140px;
    background:
        radial-gradient(circle at center, rgba(212,175,55,0.08), transparent 60%),
        linear-gradient(180deg, #020202 0%, #000 100%);
}

.contact-inner {
    position:relative;
    z-index:2;
    max-width:1200px;
    margin:0 auto;
    text-align:center;
}

.contact h2 {
    font-family:'Playfair Display', serif;
    font-size:48px;
    margin-bottom:16px;
    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.contact-lead {
    color:#aaa;
    margin-bottom:60px;
}

/* GRID */
.contact-grid {
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:50px;
    align-items:start;
}

/* LEFT */
.contact-left {
    text-align:left;
}

.contact-box {
    margin-bottom:20px;
}

.contact-label {
    font-size:12px;
    color:#888;
    margin-bottom:6px;
}

.contact-box a {
    font-size:18px;
    color:#fff;
    text-decoration:none;
}

.contact-box a:hover {
    color:#d4af37;
}

/* SOCIAL ICON */
.socials {
    margin:25px 0;
}

.social-icon {
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(212,175,55,0.3);
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.social-icon:hover {
    background:#d4af37;
    color:#000;
    box-shadow:0 0 20px rgba(212,175,55,0.6);
}

/* TRUST */
.contact-trust {
    margin-top:25px;
    font-size:14px;
    color:#aaa;
    line-height:1.8;
}

/* RIGHT – FORM */
.contact-right {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
    padding:40px;
    border-radius:28px;
    border:1px solid rgba(212,175,55,0.3);

    box-shadow:
        0 30px 100px rgba(0,0,0,0.8),
        0 0 60px rgba(212,175,55,0.15);
}

/* FORM */
.contact-form {
    display:flex;
    flex-direction:column;
    gap:16px;
}

.contact-form input,
.contact-form textarea {
    padding:16px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.08);
    background:#0d0d0d;
    color:#fff;
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline:none;
    border-color:#d4af37;
}

/* BUTTON */
.contact-form button {
    margin-top:10px;
    padding:16px;
    border:none;
    border-radius:14px;
    font-weight:600;
    cursor:pointer;

    background: linear-gradient(135deg,#f6e27a,#d4af37,#a67c00);

    box-shadow:
        0 0 30px rgba(212,175,55,0.7),
        inset 0 0 10px rgba(255,255,255,0.3);

    transition:.25s;
}

.contact-form button:hover {
    transform:scale(1.04);
    box-shadow:
        0 0 60px rgba(212,175,55,1),
        0 0 100px rgba(212,175,55,0.5);
}

/* PARTICLES */
.contact-particles {
    z-index:0;
}

/* RESPONSIVE */
@media (max-width:900px) {
    .contact-grid {
        grid-template-columns:1fr;
    }
}

/* =========================
   ULTRA CONTACT
========================= */

.contact.ultra {
    position:relative;
    padding:140px 24px;
    background:
        radial-gradient(circle at center, rgba(212,175,55,0.1), transparent 60%),
        #000;
}

.contact-ultra-grid {
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:60px;
    align-items:center; /* EZ A LÉNYEG */
}

/* LEFT */
.contact-card {
    margin-bottom:25px;
}

.contact-card span {
    font-size:12px;
    color:#777;
}

.contact-card a {
    display:block;
    font-size:20px;
    color:#fff;
    text-decoration:none;
}

.contact-card a:hover {
    color:#d4af37;
}

/* SOCIAL */
.social-icon {
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#111;
    border:1px solid rgba(212,175,55,0.4);
    margin:20px 0;
    transition:.3s;
}

.social-icon svg {
    fill:white;
    width:20px;
}

.social-icon:hover {
    background:#d4af37;
}

.social-icon:hover svg {
    fill:#000;
}

/* RIGHT FORM */
.contact-ultra-right {
    padding:50px;
    border-radius:30px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(212,175,55,0.4);
    box-shadow:
        0 40px 120px rgba(0,0,0,0.9),
        0 0 80px rgba(212,175,55,0.15);
        width: 100%;
    max-width: 620px; /* vagy 650px */
}

/* INPUT GROUP */
.input-group {
    position:relative;
    margin-bottom:25px;
}

.input-group input,
.input-group textarea {
    width:100%;
    padding:18px;
    background:#0b0b0b;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:12px;
    color:#fff;
}

.input-group label {
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#777;
    pointer-events:none;
    transition:.25s;
}

/* FLOAT EFFECT */
.input-group input:focus + label,
.input-group input:valid + label,
.input-group textarea:focus + label,
.input-group textarea:valid + label {
    top:-8px;
    font-size:12px;
    color:#d4af37;
}

/* BUTTON */
.contact-form.ultra button {
    width:100%;
    padding:18px;
    border:none;
    border-radius:14px;
    font-weight:600;

    background: linear-gradient(135deg,#f6e27a,#d4af37,#a67c00);

    box-shadow:
        0 0 40px rgba(212,175,55,0.7),
        0 0 80px rgba(212,175,55,0.4);

    transition:.3s;
}

.contact-form.ultra button:hover {
    transform:scale(1.03);
}

/* SUCCESS */
.form-success {
    display:none;
    margin-top:15px;
    color:#d4af37;
}
.contact-name {
    font-size:18px;
    font-weight:600;
    margin-bottom:4px;
}

.contact-role {
    font-size:13px;
    color:#aaa;
    margin-bottom:10px;
}
.socials {
    display:flex;
    justify-content:center;
    margin:30px 0;
}
.contact-proof {
    margin-top: 35px;
    font-size: 15px;
    color: #fff;
    font-weight: 500;

    display: flex;
    flex-direction: column;
    gap: 10px;

    text-align: center;
}

.contact-proof span {
    display:inline-block;
    transition:0.2s;
}

.contact-proof span:hover {
    transform:translateX(4px);
    color:#d4af37;
}
/* =========================
   FOOTER
========================= */

.footer {
    padding:80px 24px 30px;
    background:
        radial-gradient(circle at center, rgba(212,175,55,0.06), transparent 60%),
        #000;

    border-top:1px solid rgba(212,175,55,0.2);
}

.footer-inner {
    max-width:1200px;
    margin:0 auto;

    display:grid;
    grid-template-columns:1.5fr 1fr 1fr;
    gap:50px;
}

/* LOGO */
.footer-logo {
    font-family:'Playfair Display', serif;
    font-size:26px;
    margin-bottom:15px;

    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.footer-desc {
    color:#aaa;
    font-size:14px;
    line-height:1.6;
}

/* CÍM */
.footer-title {
    font-size:14px;
    margin-bottom:15px;
    color:#d4af37;
    letter-spacing:1px;
}

/* LINK */
.footer-col a {
    display:block;
    margin-bottom:10px;
    color:#ccc;
    text-decoration:none;
    font-size:14px;
    transition:.2s;
}

.footer-col a:hover {
    color:#d4af37;
    transform:translateX(3px);
}

/* SOCIAL */
.footer-socials {
    margin-top:15px;
}

.footer-socials a {
    display:inline-flex;
    width:36px;
    height:36px;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    background:#111;
    border:1px solid rgba(212,175,55,0.3);

    transition:.3s;
}

.footer-socials a:hover {
    background:#d4af37;
    color:#000;
    box-shadow:0 0 20px rgba(212,175,55,0.6);
}

/* BOTTOM */
.footer-bottom {
    text-align:center;
    margin-top:50px;
    padding-top:20px;

    border-top:1px solid rgba(255,255,255,0.05);

    color:#777;
    font-size:12px;
}

/* RESPONSIVE */
@media (max-width:900px) {
    .footer-inner {
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-col a {
        transform:none !important;
    }
}
.footer-socials {
    margin-top: 15px;
    text-align: center;
}
.footer-socials a {
    display: inline-flex;
}
.footer-col:last-child {
    text-align: center;
}
/* =========================
   LEGAL PAGES
========================= */

.legal {
    background: #000;
    min-height: 100vh;
    padding: 80px 20px;
}

.legal-inner {
    max-width: 800px;
    margin: 0 auto;
}

/* CÍM */
.legal h1 {
    font-family: 'Playfair Display', serif;
    font-size: 42px;
    margin-bottom: 30px;

    background: linear-gradient(120deg,#f6e27a,#d4af37,#fff3b0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* SZÖVEG */
.legal p {
    color: #ccc;
    line-height: 1.8;
    margin-bottom: 15px;
    font-size: 15px;
}

/* ALCÍM */
.legal h3 {
    margin-top: 30px;
    margin-bottom: 10px;
    color: #d4af37;
}

/* LISTA */
.legal ul {
    margin: 10px 0 20px 20px;
    color: #ccc;
}

.legal li {
    margin-bottom: 6px;
}

/* LINK */
.legal a {
    color: #d4af37;
    text-decoration: none;
}

.legal a:hover {
    text-decoration: underline;
}

/* VISSZA GOMB */
.legal-back {
    display: inline-block;
    margin-bottom: 40px;
    padding: 10px 18px;
    border-radius: 10px;

    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(212,175,55,0.3);

    color: #fff;
    text-decoration: none;
    transition: .2s;
}

.legal-back:hover {
    background: rgba(212,175,55,0.1);
}
.footer a,
.footer a:visited {
    color: #fff;
}

.footer a:hover {
    color: #d4af37;
}
.footer-bottom {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;

    margin-top:50px;
    padding-top:20px;

    border-top:1px solid rgba(255,255,255,0.05);

    color:#777;
    font-size:12px;
}

/* külön a szöveg */
.footer-copy {
    color:#777;
}

/* jogi linkek */
.legal-links {
    display:flex;
    align-items:center;
}

/* linkek */
.legal-links a {
    position:relative;
    margin:0 8px;
    color:#ccc;
    font-size:12px;
    text-decoration:none;
    transition:.25s;
}

/* elválasztó */
.legal-links a:not(:last-child)::after {
    content:"";
    position:absolute;
    right:-8px;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:10px;
    background:rgba(255,255,255,0.15);
}

/* hover */
.legal-links a:hover {
    color:#d4af37;
}
@media (max-width: 768px) {

    .pricing-card ul {
        text-align: center;
    }

    .pricing-card li {
        text-align: center;
    }

}
@media (max-width: 768px) {

    .contact-ultra-grid {
        grid-template-columns: 1fr; /* 2 oszlop → 1 */
        gap: 40px;
    }

    .contact-ultra-left {
        text-align: center;
        align-items: center;
    }

    .contact-ultra-right {
        width: 100%;
        padding: 25px;
    }

    .contact-form.ultra {
        width: 100%;
    }

}
.contact-ultra-right {
    max-width: 500px;
    margin: 0 auto;
}
@media (max-width: 768px) {

    .contact-proof {
        text-align: center;
        align-items: center;
    }

    .contact-proof span {
        display: block;
    }

}
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    margin: 0;
}

.hero,
.references,
.pricing,
.testimonials,
.contact,
.footer {
    width: 100%;
    max-width: 100%;
}
.btn {
    color: #111;
    font-weight: 600;
    letter-spacing: 0.3px;
}
.btn {
    color: #111 !important;
    opacity: 1 !important;
    z-index: 2;
    position: relative;
}
/* =========================
   SEO SECTION (PRÉMIUM)
========================= */

.seo-text {
    padding:100px 24px;
    max-width:900px;
    margin:0 auto;
    text-align:center;
    position:relative;
}

/* arany glow háttér */
.seo-text::before {
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 20%, rgba(212,175,55,0.12), transparent 60%),
        radial-gradient(circle at 80% 80%, rgba(212,175,55,0.08), transparent 60%);
    pointer-events:none;
}

/* cím */
.seo-text h2 {
    font-family:'Playfair Display', serif;
    font-size:36px;
    margin-bottom:25px;

    background:linear-gradient(135deg,#d4af37,#f5e6a7);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* szöveg */
.seo-text p {
    color:#ccc;
    line-height:1.8;
    font-size:16px;
    margin-bottom:20px;
}

/* finom elválasztó */
.seo-text::after {
    content:'';
    display:block;
    width:80px;
    height:2px;
    margin:40px auto 0;
    background:linear-gradient(90deg, transparent, #d4af37, transparent);
}
@media(max-width:768px){

    .seo-text{
        padding:70px 20px;
    }

    .seo-text h2{
        font-size:26px;
    }

    .seo-text p{
        font-size:15px;
    }

}