:root {
    --brand: #e84707;
    --brand-dark: #c63800;
    --brand-soft: #fff1eb;
    --ink: #202431;
    --navy: #393f54;
    --navy-dark: #232737;
    --muted: #6c7282;
    --soft: #f5f6f8;
    --line: #e5e7ec;
    --white: #fff;
    --shadow-sm: 0 10px 30px rgba(31, 36, 49, .08);
    --shadow-lg: 0 22px 70px rgba(31, 36, 49, .16);
    --radius: 1.25rem;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
}

body {
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.72;
    background: var(--white);
    overflow-x: hidden;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

p:last-child {
    margin-bottom: 0;
}

.skip-link {
    position: fixed;
    left: 1rem;
    top: -100px;
    z-index: 9999;
    padding: .75rem 1rem;
    background: var(--brand);
    color: #fff;
    border-radius: .5rem;
    transition: top .2s ease;
}

.skip-link:focus {
    top: 1rem;
}

.topbar {
    color: rgba(255,255,255,.82);
    background: var(--navy-dark);
}

.topbar a {
    color: rgba(255,255,255,.82);
    transition: color .2s ease;
}

.topbar a:hover {
    color: #fff;
}

.navbar {
    min-height: 86px;
    transition: min-height .25s ease, box-shadow .25s ease;
}

.navbar.is-scrolled {
    min-height: 74px;
    box-shadow: 0 10px 35px rgba(31,36,49,.12) !important;
}

.navbar-brand img {
    display: block;
    width: 190px;
    height: auto;
    object-fit: contain;
}

.navbar-nav .nav-link {
    position: relative;
    padding: 1.7rem .7rem !important;
    font-size: .94rem;
    font-weight: 650;
    color: var(--ink);
}

.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: .7rem;
    right: .7rem;
    bottom: 1.15rem;
    height: 2px;
    background: var(--brand);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
    transform: scaleX(1);
}

.navbar-nav .dropdown-toggle::after {
    position: static;
    display: inline-block;
    width: .3em;
    height: .3em;
    margin-left: .45em;
    vertical-align: .22em;
    border: 0;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    background: transparent;
    transform: rotate(45deg);
}

.dropdown-menu {
    padding: .7rem;
    border: 0;
    border-radius: .85rem;
    box-shadow: var(--shadow-lg);
}

.dropdown-item {
    padding: .65rem .8rem;
    border-radius: .55rem;
    font-weight: 600;
}

.dropdown-item:hover {
    color: var(--brand);
    background: var(--brand-soft);
}

.btn {
    border-radius: .7rem;
    font-weight: 700;
    padding: .8rem 1.25rem;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn-lg {
    padding: 1rem 1.45rem;
    font-size: 1rem;
}

.btn-brand {
    color: #fff;
    border-color: var(--brand);
    background: var(--brand);
    box-shadow: 0 10px 24px rgba(232,71,7,.25);
}

.btn-brand:hover,
.btn-brand:focus {
    color: #fff;
    border-color: var(--brand-dark);
    background: var(--brand-dark);
    box-shadow: 0 14px 30px rgba(232,71,7,.3);
}

.offcanvas {
    width: min(88vw, 390px) !important;
}

.mobile-menu {
    display: grid;
    gap: .25rem;
}

.mobile-menu a {
    padding: .85rem 0;
    border-bottom: 1px solid var(--line);
    font-size: 1.05rem;
    font-weight: 700;
}

.mobile-contact {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: .8rem 0;
    color: var(--navy);
    font-weight: 650;
}

.mobile-contact i {
    color: var(--brand);
}

.hero-section {
    min-height: 720px;
    background: var(--navy-dark);
}

.hero-media,
.hero-overlay {
    position: absolute;
    inset: 0;
}

.hero-media {
    background-image: url('../images/hero.jpg');
    background-position: center;
    background-size: cover;
    transform: scale(1.015);
}

.hero-overlay {
    background:
        linear-gradient(90deg, rgba(21,24,35,.92) 0%, rgba(29,32,44,.78) 42%, rgba(29,32,44,.24) 77%, rgba(29,32,44,.12) 100%),
        linear-gradient(0deg, rgba(19,22,32,.45) 0%, rgba(19,22,32,0) 50%);
}

.hero-content {
    z-index: 2;
}

.min-vh-75 {
    min-height: 75vh;
}

.hero-section h1 {
    max-width: 840px;
    font-size: clamp(3rem, 6.2vw, 5.9rem);
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.hero-section h1 span {
    color: var(--brand);
}

.hero-lead {
    max-width: 640px;
    color: rgba(255,255,255,.82);
    font-size: clamp(1.05rem, 1.7vw, 1.3rem);
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: var(--brand);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.eyebrow span {
    width: 38px;
    height: 2px;
    background: currentColor;
}

.hero-trust > div {
    display: flex;
    flex-direction: column;
    color: #fff;
}

.hero-trust strong {
    font-size: 1.25rem;
    line-height: 1;
}

.hero-trust span {
    margin-top: .35rem;
    color: rgba(255,255,255,.65);
    font-size: .79rem;
}

.scroll-hint {
    position: absolute;
    left: 50%;
    bottom: 2rem;
    z-index: 3;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 50%;
    transform: translateX(-50%);
    animation: scrollBounce 1.8s ease-in-out infinite;
}

@keyframes scrollBounce {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, 8px); }
}

.section-overlap {
    position: relative;
    z-index: 5;
    margin-top: -48px;
}

.shortcut-card {
    display: flex;
    min-height: 112px;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem;
    border: 1px solid rgba(57,63,84,.08);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.shortcut-card:hover {
    color: var(--ink);
    border-color: rgba(232,71,7,.35);
    transform: translateY(-7px);
    box-shadow: var(--shadow-lg);
}

.shortcut-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    color: var(--brand);
    border-radius: .8rem;
    background: var(--brand-soft);
    font-size: 1.35rem;
}

.shortcut-card > span:nth-child(2) {
    display: grid;
    flex: 1;
}

.shortcut-card small {
    color: var(--muted);
    font-size: .72rem;
}

.shortcut-card strong {
    font-size: 1.05rem;
}

.shortcut-card > i {
    color: var(--brand);
}

.section-padding {
    padding: clamp(5rem, 8vw, 8.5rem) 0;
}

.bg-soft {
    background: var(--soft);
}

.section-title {
    margin: .8rem 0 1.45rem;
    color: var(--ink);
    font-size: clamp(2.25rem, 4vw, 4.1rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.lead-text {
    color: var(--navy);
    font-size: 1.09rem;
    font-weight: 520;
}

.image-composition {
    position: relative;
    padding: 0 2rem 2rem 0;
}

.image-composition .main-image {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    min-height: 520px;
    object-fit: cover;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.image-accent {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 72%;
    height: 70%;
    border-radius: var(--radius);
    background: var(--brand);
}

.experience-badge {
    position: absolute;
    right: -.25rem;
    top: 2rem;
    z-index: 3;
    display: flex;
    width: 165px;
    min-height: 100px;
    align-items: center;
    gap: .7rem;
    padding: 1.1rem;
    color: #fff;
    border-radius: 1rem;
    background: var(--navy-dark);
    box-shadow: var(--shadow-lg);
}

.experience-badge strong {
    color: var(--brand);
    font-size: 2rem;
    line-height: 1;
}

.experience-badge span {
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.feature-line {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-weight: 700;
}

.feature-line i {
    color: var(--brand);
    font-size: 1.2rem;
}

.product-feature {
    overflow: hidden;
    margin-bottom: 2rem;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.product-feature:last-child {
    margin-bottom: 0;
}

.product-image-wrap {
    min-height: 520px;
}

.product-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-copy {
    position: relative;
    display: flex;
    min-height: 520px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.25rem, 5vw, 5rem);
    overflow: hidden;
}

.product-number {
    position: absolute;
    right: 1rem;
    top: -.6rem;
    color: rgba(57,63,84,.055);
    font-size: clamp(7rem, 13vw, 12rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.08em;
}

.product-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin-bottom: 1.5rem;
    color: var(--brand);
    border-radius: .95rem;
    background: var(--brand-soft);
    font-size: 1.5rem;
}

.product-copy h3 {
    position: relative;
    margin-bottom: 1.2rem;
    font-size: clamp(2rem, 3vw, 3.1rem);
    font-weight: 800;
    letter-spacing: -.04em;
}

.product-copy p {
    position: relative;
    color: #555c6d;
}

.text-link {
    position: relative;
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .6rem;
    margin-top: .8rem;
    color: var(--brand);
    font-weight: 800;
}

.text-link i {
    transition: transform .2s ease;
}

.text-link:hover i {
    transform: translateX(5px);
}

.funding-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(35,39,55,.97), rgba(35,39,55,.85)),
        url('../images/windows.webp') center/cover;
}

.funding-section::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.4) 1px, transparent 0);
    background-size: 28px 28px;
}

.funding-copy {
    max-width: 720px;
    color: rgba(255,255,255,.78);
    font-size: 1.1rem;
}

.funding-card {
    position: relative;
    padding: clamp(2rem, 4vw, 3rem);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: var(--radius);
    background: rgba(255,255,255,.1);
    box-shadow: 0 25px 70px rgba(0,0,0,.2);
    backdrop-filter: blur(14px);
}

.funding-card h3 {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 800;
}

.funding-card li {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1rem;
    color: rgba(255,255,255,.85);
}

.funding-card li i {
    color: var(--brand);
}

.funding-check {
    display: grid;
    width: 76px;
    height: 76px;
    place-items: center;
    margin-bottom: 1.5rem;
    color: #fff;
    border-radius: 50%;
    background: var(--brand);
    font-size: 2.2rem;
}

.rounded-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1.08;
    object-fit: cover;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.process-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: #fff;
}

.process-item > span {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    color: #fff;
    border-radius: .7rem;
    background: var(--brand);
    font-weight: 800;
}

.process-item div {
    display: grid;
}

.process-item strong {
    line-height: 1.25;
}

.process-item small {
    color: var(--muted);
}

.google-rating {
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: .15rem .7rem;
}

.google-rating strong {
    font-size: 2rem;
}

.google-rating small {
    grid-column: 1 / -1;
    color: var(--muted);
}

.stars {
    color: #f6a800;
    letter-spacing: .08em;
}

.review-card {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 30px rgba(31,36,49,.05);
    transition: transform .25s ease, box-shadow .25s ease;
}

.review-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-sm);
}

.review-card > div i {
    color: #4285f4;
    font-size: 1.1rem;
}

.review-card p {
    flex: 1;
    color: #555c6d;
}

.review-card footer {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1.2rem;
}

.avatar {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--navy);
    font-weight: 800;
}

.blog-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 30px rgba(31,36,49,.05);
    transition: transform .25s ease, box-shadow .25s ease;
}

.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}

.blog-image {
    display: block;
    height: 260px;
    overflow: hidden;
}

.blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.blog-card:hover .blog-image img {
    transform: scale(1.05);
}

.blog-body {
    padding: 1.5rem;
}

.blog-meta {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .8rem;
    color: var(--brand);
    font-size: .78rem;
    font-weight: 800;
}

.blog-body h3 {
    margin-bottom: .8rem;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
}

.blog-body h3 a:hover {
    color: var(--brand);
}

.blog-body p {
    color: var(--muted);
}

.area-section {
    background: var(--navy-dark);
}

.city-links {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.city-links a {
    padding: .55rem .8rem;
    color: rgba(255,255,255,.8);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: .6rem;
    background: rgba(255,255,255,.05);
    font-size: .86rem;
    font-weight: 650;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.city-links a:hover {
    color: #fff;
    border-color: var(--brand);
    background: var(--brand);
}

.contact-section {
    background: linear-gradient(135deg, #fff 0%, #f7f8fa 100%);
}

.contact-list {
    display: grid;
    gap: 1rem;
}

.contact-list > a,
.contact-list > div {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.contact-list > a:hover strong {
    color: var(--brand);
}

.contact-list > a > span,
.contact-list > div > span {
    display: grid;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    place-items: center;
    color: var(--brand);
    border-radius: .85rem;
    background: var(--brand-soft);
    font-size: 1.2rem;
}

.contact-list > a > div,
.contact-list > div > div {
    display: grid;
}

.contact-list small {
    color: var(--muted);
}

.contact-list strong {
    transition: color .2s ease;
}

.contact-card {
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    box-shadow: var(--shadow-lg);
}

.form-label {
    margin-bottom: .45rem;
    font-size: .88rem;
    font-weight: 750;
}

.form-control,
.form-select {
    min-height: 54px;
    border-color: #dfe2e8;
    border-radius: .7rem;
    background-color: #fbfbfc;
}

textarea.form-control {
    min-height: 145px;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 .22rem rgba(232,71,7,.12);
    background: #fff;
}

.form-check-input:checked {
    border-color: var(--brand);
    background-color: var(--brand);
}

.form-check-label {
    color: var(--muted);
    font-size: .82rem;
}

.site-footer {
    color: rgba(255,255,255,.72);
    background: #1f2331;
}

.footer-logo {
    width: 220px;
    height: auto;
    padding: .65rem;
    border-radius: .65rem;
    background: #fff;
}

.footer-heading {
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.footer-links {
    display: grid;
    gap: .65rem;
    padding: 0;
    list-style: none;
}

.footer-links a:hover,
.footer-contact:hover {
    color: var(--brand);
}

.site-footer address {
    margin-bottom: 0;
    color: rgba(255,255,255,.72);
    font-style: normal;
}

.footer-contact {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: .8rem;
    transition: color .2s ease;
}

.footer-contact i {
    color: var(--brand);
}

.social-link {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: .6rem;
    transition: background .2s ease, border-color .2s ease;
}

.social-link:hover {
    color: #fff;
    border-color: var(--brand);
    background: var(--brand);
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.5);
    font-size: .82rem;
}

.floating-contact {
    position: fixed;
    right: 1.25rem;
    z-index: 990;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    box-shadow: 0 12px 30px rgba(0,0,0,.2);
    transition: transform .2s ease;
}

.floating-contact:hover {
    color: #fff;
    transform: translateY(-4px);
}

.floating-phone {
    bottom: 5.35rem;
    background: var(--brand);
}

.floating-whatsapp {
    bottom: 1.25rem;
    background: #25d366;
}

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

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 1199.98px) {
    .navbar-nav .nav-link {
        padding-inline: .5rem !important;
        font-size: .88rem;
    }

    .navbar-nav .nav-link::after {
        left: .5rem;
        right: .5rem;
    }
}

@media (max-width: 991.98px) {
    .navbar {
        min-height: 76px;
    }

    .navbar-brand img {
        width: 164px;
    }

    .hero-section {
        min-height: 660px;
    }

    .hero-overlay {
        background: linear-gradient(90deg, rgba(21,24,35,.91), rgba(29,32,44,.55));
    }

    .section-overlap {
        margin-top: -34px;
    }

    .product-image-wrap,
    .product-copy {
        min-height: auto;
    }

    .product-image-wrap {
        height: 420px;
    }

    .product-copy {
        padding: 2.5rem;
    }

    .funding-card {
        max-width: 620px;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: .96rem;
    }

    .hero-section {
        min-height: 640px;
    }

    .hero-media {
        background-position: 62% center;
    }

    .hero-overlay {
        background: linear-gradient(90deg, rgba(21,24,35,.94), rgba(29,32,44,.68));
    }

    .hero-section h1 {
        font-size: clamp(2.8rem, 13vw, 4.4rem);
    }

    .hero-trust {
        gap: 1.5rem !important;
    }

    .scroll-hint {
        display: none;
    }

    .shortcut-card {
        min-height: 132px;
        flex-direction: column;
        align-items: flex-start;
    }

    .shortcut-card > i {
        position: absolute;
        right: 1rem;
        top: 1rem;
    }

    .shortcut-card {
        position: relative;
    }

    .image-composition {
        padding: 0 1rem 1rem 0;
    }

    .image-composition .main-image {
        min-height: 380px;
    }

    .experience-badge {
        right: -.2rem;
        top: 1rem;
        width: 145px;
        min-height: 90px;
    }

    .product-image-wrap {
        height: 320px;
    }

    .product-copy {
        padding: 2rem 1.4rem;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .blog-image {
        height: 230px;
    }

    .floating-contact {
        right: .8rem;
        width: 48px;
        height: 48px;
    }

    .floating-phone {
        bottom: 4.8rem;
    }

    .floating-whatsapp {
        bottom: .8rem;
    }
}

@media (max-width: 575.98px) {
    .navbar-brand img {
        width: 145px;
    }

    .hero-content .btn {
        width: 100%;
        justify-content: center;
    }

    .section-padding {
        padding: 4.6rem 0;
    }

    .section-title {
        font-size: 2.35rem;
    }

    .shortcut-card {
        padding: 1rem;
    }

    .shortcut-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .image-composition .main-image {
        min-height: 320px;
    }

    .experience-badge {
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        min-height: auto;
        margin-top: .8rem;
    }

    .image-accent {
        display: none;
    }

    .product-image-wrap {
        height: 255px;
    }

    .contact-card {
        padding: 1.25rem;
    }
}

.article-hero {
    padding: clamp(5rem, 9vw, 8rem) 0 clamp(7rem, 12vw, 11rem);
    background: var(--soft);
}

.article-hero h1 {
    margin: 1rem 0 1.25rem;
    font-size: clamp(2.6rem, 6vw, 5.3rem);
    font-weight: 850;
    line-height: 1.03;
    letter-spacing: -.05em;
}

.article-meta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--muted);
    font-weight: 700;
}

.article-cover {
    display: block;
    width: 100%;
    max-height: 700px;
    margin-top: clamp(-7rem, -10vw, -5rem);
    object-fit: cover;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.article-body {
    color: #4f5667;
    font-size: 1.08rem;
}

.article-body h2,
.article-body h3 {
    margin: 2.2rem 0 1rem;
    color: var(--ink);
    font-weight: 800;
    letter-spacing: -.025em;
}

.article-cta {
    padding: 2rem;
    border-left: 5px solid var(--brand);
    border-radius: 0 var(--radius) var(--radius) 0;
    background: var(--brand-soft);
}

.article-cta h2 {
    margin-top: 0;
}

/* Fenster-Unterseite */
.subpage-hero {
    position: relative;
    overflow: hidden;
    background: var(--ink);
}

.window-page-hero {
    background-image: linear-gradient(90deg, rgba(31, 36, 54, .94) 0%, rgba(31, 36, 54, .78) 48%, rgba(31, 36, 54, .2) 100%), url('../images/hero.jpg');
    background-size: cover;
    background-position: center;
}

.min-vh-55 { min-height: 55vh; }

.subpage-hero h1 span { color: var(--brand); }

.breadcrumb-nav {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 2rem;
    color: rgba(255,255,255,.72);
    font-size: .92rem;
    font-weight: 700;
}

.breadcrumb-nav a { color: #fff; }
.breadcrumb-nav i { font-size: .75rem; }

.window-nav-strip {
    position: relative;
    z-index: 3;
    margin-top: -1px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(31,36,54,.09);
}

.window-nav-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.window-nav-grid a {
    padding: 1.35rem 1rem;
    border-right: 1px solid #e8eaf0;
    color: var(--ink);
    text-align: center;
    font-weight: 800;
    transition: .2s ease;
}

.window-nav-grid a:last-child { border-right: 0; }
.window-nav-grid a:hover { color: #fff; background: var(--brand); }

.lead-copy {
    color: var(--ink);
    font-size: 1.2rem;
    font-weight: 650;
}

.feature-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}

.feature-checks span {
    display: flex;
    gap: .65rem;
    align-items: center;
    color: var(--ink);
    font-weight: 700;
}

.feature-checks i { color: var(--brand); }

.window-intro-image {
    position: relative;
    padding: 0 2rem 2rem 0;
}

.window-intro-image img {
    display: block;
    width: 100%;
    min-height: 520px;
    object-fit: cover;
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
}

.window-intro-badge {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 180px;
    height: 130px;
    padding: 1.2rem;
    border-radius: 18px;
    color: #fff;
    background: var(--brand);
    box-shadow: 0 20px 45px rgba(232,71,7,.3);
}

.window-intro-badge strong { font-size: 2.1rem; line-height: 1; }
.window-intro-badge span { margin-top: .45rem; font-weight: 700; }

.section-heading-narrow { max-width: 780px; }

.system-card {
    padding: 2rem;
    border: 1px solid #e7e9ee;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 12px 35px rgba(31,36,54,.05);
    transition: transform .25s ease, box-shadow .25s ease;
}

.system-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 50px rgba(31,36,54,.12);
}

.system-brand {
    display: inline-block;
    margin-bottom: 1.3rem;
    padding: .45rem .7rem;
    border-radius: 999px;
    color: var(--brand);
    background: var(--brand-soft);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.system-card h3 { font-weight: 850; }
.system-card a { color: var(--brand); font-weight: 800; }

.comparison-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.comparison-cards article {
    min-height: 280px;
    padding: 2.2rem;
    border-radius: var(--radius);
    color: #fff;
    background: var(--ink);
}

.comparison-cards article:last-child { background: var(--brand); }
.comparison-cards i { font-size: 2.4rem; }
.comparison-cards h3 { margin-top: 3.5rem; font-size: 2rem; font-weight: 900; }

.color-section { background: #f4f1ec; }

.swatch-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.swatch {
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(31,36,54,.07);
}

.swatch span {
    display: block;
    height: 105px;
    background: var(--swatch);
    box-shadow: inset 0 0 0 1px rgba(31,36,54,.08);
}

.swatch strong {
    display: block;
    padding: .85rem;
    color: var(--ink);
    font-size: .9rem;
}

.benefit-card {
    height: 100%;
    padding: 2rem;
    border: 1px solid #e7e9ee;
    border-radius: var(--radius);
}

.benefit-card i {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    margin-bottom: 1.3rem;
    border-radius: 14px;
    color: var(--brand);
    background: var(--brand-soft);
    font-size: 1.5rem;
}

.benefit-card h3 { font-size: 1.25rem; font-weight: 850; }

.side-cta {
    position: sticky;
    top: 130px;
    padding: 2rem;
    border-radius: var(--radius);
    color: #fff;
    background: var(--ink);
    box-shadow: var(--shadow-lg);
}

.side-cta > span {
    color: var(--brand);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.side-cta h2 { margin: .7rem 0 1rem; font-weight: 900; }

@media (max-width: 991.98px) {
    .window-nav-grid { grid-template-columns: repeat(3, 1fr); }
    .window-nav-grid a:nth-child(3) { border-right: 0; }
    .window-intro-image img { min-height: 420px; }
    .side-cta { position: static; }
}

@media (max-width: 767.98px) {
    .window-nav-grid { grid-template-columns: repeat(2, 1fr); }
    .window-nav-grid a:nth-child(3) { border-right: 1px solid #e8eaf0; }
    .window-nav-grid a:nth-child(even) { border-right: 0; }
    .feature-checks,
    .comparison-cards { grid-template-columns: 1fr; }
    .swatch-grid { grid-template-columns: repeat(2, 1fr); }
    .window-intro-image { padding: 0 1rem 1rem 0; }
    .window-intro-image img { min-height: 330px; }
    .window-intro-badge { width: 145px; height: 105px; }
}

/* Desktop navigation: the main "Fenster" item remains a real link.
   The submenu opens on hover or keyboard focus instead of intercepting the click. */
@media (min-width: 992px) {
  .navbar .nav-item.dropdown:hover > .dropdown-menu,
  .navbar .nav-item.dropdown:focus-within > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Individual window-system pages */
.product-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-image: linear-gradient(90deg, rgba(31,36,54,.94) 0%, rgba(31,36,54,.76) 53%, rgba(31,36,54,.18) 100%), var(--product-bg);
    background-position: center;
    background-size: cover;
}
.product-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -45% auto;
    z-index: -1;
    width: 520px;
    aspect-ratio: 1;
    border: 90px solid rgba(232,71,7,.18);
    border-radius: 50%;
}
.product-hero h1 span { color: var(--brand); }
.model-strip { border-bottom: 1px solid #e7e9ee; background: #fff; }
.model-grid { display: grid; }
.model-grid-2 { grid-template-columns: repeat(2,1fr); }
.model-grid-3 { grid-template-columns: repeat(3,1fr); }
.model-grid-4 { grid-template-columns: repeat(4,1fr); }
.model-grid span {
    padding: 1.35rem 1rem;
    border-right: 1px solid #e7e9ee;
    color: var(--ink);
    font-size: .86rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-align: center;
}
.model-grid span:last-child { border-right: 0; }
.product-copy h2 { margin: 0 0 1.4rem; font-size: clamp(2rem,4vw,3.35rem); font-weight: 900; letter-spacing: -.04em; }
.product-copy h3 { margin: 2.2rem 0 .75rem; font-size: 1.45rem; font-weight: 850; }
.product-copy p, .product-copy li { color: #596071; font-size: 1.05rem; line-height: 1.85; }
.product-facts { margin-top: 1.5rem; padding: 1.4rem 1.5rem 1.4rem 2.6rem; border-left: 4px solid var(--brand); border-radius: 0 14px 14px 0; background: var(--brand-soft); }
.side-phone { display: flex; align-items: center; gap: .65rem; justify-content: center; margin-top: 1.1rem; color: #fff; font-weight: 800; }
.brand-switcher { background: #fff; border-top: 1px solid #e7e9ee; }
.section-padding-sm { padding: 2rem 0; }
.brand-switcher-inner { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.brand-switcher-inner strong { margin-right: .4rem; }
.brand-switcher-inner a { padding: .55rem .85rem; border: 1px solid #e1e4ea; border-radius: 999px; color: var(--ink); font-weight: 750; }
.brand-switcher-inner a:hover, .brand-switcher-inner a.active { border-color: var(--brand); color: #fff; background: var(--brand); }
.consulting-cta { padding: 0 0 5rem; background: #fff; }
.consulting-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem; border-radius: var(--radius); color: #fff; background: var(--brand); box-shadow: 0 24px 55px rgba(232,71,7,.25); }
.consulting-cta-inner span { font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.consulting-cta-inner h2 { margin: .45rem 0; font-weight: 900; }
.consulting-cta-inner p { margin: 0; opacity: .9; }
.mobile-submenu { display: grid; gap: .1rem; margin: -.25rem 0 .65rem 1rem; padding-left: 1rem; border-left: 2px solid var(--brand-soft); }
.mobile-submenu a { padding: .45rem .7rem !important; font-size: .92rem; font-weight: 650 !important; }
@media (max-width: 767.98px) {
    .model-grid, .model-grid-2, .model-grid-3, .model-grid-4 { grid-template-columns: 1fr 1fr; }
    .model-grid span:nth-child(even) { border-right: 0; }
    .consulting-cta-inner { align-items: flex-start; flex-direction: column; padding: 2rem; }
}

/* Türen landing page and aluminium door systems */
.door-product-hero { background-position: center 45%; }
.door-system-nav { border-bottom: 1px solid #e7e9ee; background: #fff; }
.door-system-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.door-system-grid a { position: relative; display: grid; gap: .25rem; min-height: 145px; padding: 1.65rem 3.5rem 1.65rem 1.65rem; border-right: 1px solid #e7e9ee; color: var(--ink); transition: .25s ease; }
.door-system-grid a:last-child { border-right: 0; }
.door-system-grid a:hover { z-index: 1; color: #fff; background: var(--brand); transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.door-system-grid a > span { color: var(--brand); font-size: .75rem; font-weight: 900; letter-spacing: .1em; }
.door-system-grid a:hover > span { color: #fff; opacity: .8; }
.door-system-grid strong { font-size: 1.35rem; font-weight: 900; }
.door-system-grid small { color: #6a7080; }
.door-system-grid a:hover small { color: rgba(255,255,255,.82); }
.door-system-grid i { position: absolute; right: 1.5rem; top: 50%; font-size: 1.25rem; transform: translateY(-50%); }
.door-image-card { position: relative; padding: 0 0 2rem 2rem; }
.door-image-card::before { content: ""; position: absolute; inset: 2rem 2rem 0 0; border-radius: var(--radius); background: var(--brand); }
.door-image-card img { position: relative; width: 100%; min-height: 520px; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.door-image-card > div { position: absolute; right: 0; bottom: 0; z-index: 2; display: grid; min-width: 245px; padding: 1.25rem 1.5rem; border-radius: 14px 0 14px 0; color: #fff; background: var(--ink); }
.door-image-card strong { font-size: 1.05rem; }
.door-image-card span { margin-top: .25rem; font-size: .82rem; opacity: .78; }
.mini-feature { display: flex; flex-direction: column; height: 100%; min-height: 180px; padding: 1.4rem; border: 1px solid #e5e8ed; border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.mini-feature i { margin-bottom: 1rem; color: var(--brand); font-size: 1.65rem; }
.mini-feature strong { margin-bottom: .35rem; font-size: 1.05rem; }
.mini-feature span { color: #697080; font-size: .9rem; line-height: 1.55; }
@media (max-width: 991.98px) {
  .door-system-grid { grid-template-columns: 1fr; }
  .door-system-grid a { border-right: 0; border-bottom: 1px solid #e7e9ee; }
  .door-image-card img { min-height: 420px; }
}
@media (max-width: 575.98px) {
  .door-image-card { padding: 0 0 1rem 1rem; }
  .door-image-card img { min-height: 340px; }
  .door-image-card > div { position: relative; right: auto; bottom: auto; width: calc(100% - 1rem); min-width: 0; margin: -2.5rem 0 0 1rem; }
}

/* Aluplast model pages */
.window-model-hero{background:linear-gradient(135deg,#f6f7f9 0%,#fff 58%,#fff1eb 100%);overflow:hidden;border-bottom:1px solid rgba(20,30,45,.08)}
.window-model-tagline{font-size:1.2rem;line-height:1.7;color:#566070;max-width:660px}
.model-keyfacts{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.model-keyfacts>div{min-width:128px;padding:1rem 1.15rem;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(36,44,63,.08);border:1px solid rgba(36,44,63,.07)}
.model-keyfacts strong{display:block;font-size:1.55rem;color:var(--brand-orange,#e84707);line-height:1}
.model-keyfacts span{display:block;margin-top:.4rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#697386}
.profile-showcase{position:relative;min-height:540px;display:grid;place-items:center}
.profile-showcase:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:rgba(232,71,7,.09);filter:blur(2px)}
.profile-showcase img{position:relative;z-index:1;max-width:100%;width:560px;height:auto;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(30,40,60,.18))}
.technical-card{background:#30384e;color:#fff;border-radius:24px;padding:2rem;position:sticky;top:130px;box-shadow:0 24px 60px rgba(26,33,50,.18)}
.technical-card>span{color:#ff9b70;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700}
.technical-card h2{font-size:2rem;margin:.55rem 0 1.5rem}
.technical-card dl{margin:0}
.technical-card dl>div{display:grid;grid-template-columns:minmax(120px,1fr) 1.25fr;gap:1rem;padding:.8rem 0;border-top:1px solid rgba(255,255,255,.12)}
.technical-card dt{font-weight:500;color:#cdd2dd}
.technical-card dd{margin:0;text-align:right;font-weight:700}
.model-navigation{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.4rem 1.6rem;border:1px solid rgba(35,43,58,.1);border-radius:18px;background:#fff}
.model-navigation>div{display:flex;flex-wrap:wrap;gap:.55rem}
.model-navigation a,.model-strip a{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none}
.model-navigation a{padding:.65rem .85rem;border-radius:10px;color:#353d50;background:#f2f4f7;font-weight:600}
.model-navigation a:hover,.model-navigation a.active{background:#e84707;color:#fff}
.model-strip a{justify-content:center;color:inherit;font-weight:700}
.model-strip a:hover{color:#e84707}
@media(max-width:991.98px){.profile-showcase{min-height:400px}.profile-showcase img{width:430px}.technical-card{position:static}.model-navigation{align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.model-keyfacts>div{flex:1 1 28%}.profile-showcase{min-height:320px}.profile-showcase:before{width:300px;height:300px}.profile-showcase img{width:330px}.technical-card dl>div{grid-template-columns:1fr}.technical-card dd{text-align:left}.model-navigation a{width:100%}}

/* Dedicated contact page */
.contact-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(31,36,54,.96) 0%,rgba(31,36,54,.80) 55%,rgba(31,36,54,.30) 100%),url('../images/hero.jpg') center/cover no-repeat}
.contact-hero:after{content:"";position:absolute;z-index:-1;right:-110px;bottom:-245px;width:520px;height:520px;border:90px solid rgba(232,71,7,.22);border-radius:50%}
.min-vh-50{min-height:50vh}
.contact-hero h1 span{color:var(--brand)}
.contact-hero-lead{max-width:720px;color:rgba(255,255,255,.82);font-size:1.17rem;line-height:1.75}
.contact-breadcrumb .breadcrumb-item,.contact-breadcrumb .breadcrumb-item.active{color:rgba(255,255,255,.65)}
.contact-breadcrumb a{color:#fff}.contact-breadcrumb .breadcrumb-item+.breadcrumb-item:before{color:rgba(255,255,255,.45)}
.contact-quickbar{position:relative;z-index:3;margin-top:-36px}
.contact-quickbar .container-xl{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 22px 60px rgba(32,39,57,.14)}
.contact-quickitem{display:flex;align-items:center;gap:1rem;min-height:116px;padding:1.45rem 1.7rem;border-right:1px solid #e8eaf0;color:var(--ink);transition:.25s ease}
.contact-quickitem:hover{color:#fff;background:var(--brand)}
.contact-quickitem>i{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;color:var(--brand);background:var(--brand-soft);font-size:1.25rem}
.contact-quickitem:hover>i{color:#fff;background:rgba(255,255,255,.18)}
.contact-quickitem span{display:grid;gap:.2rem}.contact-quickitem small{color:#7a8190}.contact-quickitem:hover small{color:rgba(255,255,255,.72)}
.contact-quickitem strong{font-size:1rem}
.contact-page-section{background:linear-gradient(180deg,#fff 0%,#f8f9fb 100%)}
.contact-benefits{display:grid;gap:.85rem}.contact-benefits>div{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;border:1px solid #e7e9ef;border-radius:14px;background:#fff}
.contact-benefits i{color:var(--brand);font-size:1.35rem}.contact-benefits span{display:grid}.contact-benefits small{margin-top:.15rem;color:#747b89}
.contact-hours{display:flex;gap:1rem;padding:1.25rem;border-left:4px solid var(--brand);border-radius:0 14px 14px 0;background:var(--brand-soft)}
.contact-hours>i{color:var(--brand);font-size:1.4rem}.contact-hours div{display:grid;gap:.25rem}.contact-hours span{color:#666e7d;line-height:1.55}
.contact-page-card{padding:clamp(1.5rem,4vw,2.6rem);box-shadow:0 25px 65px rgba(32,39,57,.12)}
.form-kicker{display:inline-block;margin-bottom:.45rem;color:var(--brand);font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.contact-page-card .form-control,.contact-page-card .form-select{min-height:54px;border-color:#dde1e8;border-radius:10px;background:#fbfcfd}
.contact-page-card textarea.form-control{min-height:150px}.contact-page-card .form-control:focus,.contact-page-card .form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(232,71,7,.12);background:#fff}
.locations-heading{max-width:720px}.location-card{display:flex;gap:1.3rem;height:100%;padding:2rem;border:1px solid #e4e7ed;border-radius:20px;background:#fff;box-shadow:0 15px 45px rgba(35,42,59,.07)}
.location-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:16px;color:#fff;background:var(--brand);font-size:1.4rem}
.location-label{color:var(--brand);font-size:.73rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.location-card h3{margin:.3rem 0 .65rem;font-weight:900}.location-card address{margin-bottom:1.1rem;color:#656d7b;line-height:1.65}
.location-links{display:grid;gap:.5rem}.location-links a{display:flex;align-items:center;gap:.55rem;color:var(--ink);font-weight:700}.location-links a i{color:var(--brand)}
.contact-final-cta{padding:0 0 5rem;background:#f8f9fb}.contact-final-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem;border-radius:22px;color:#fff;background:var(--brand);box-shadow:0 25px 60px rgba(232,71,7,.24)}
.contact-final-inner>div>span{font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.contact-final-inner h2{margin:.45rem 0;font-weight:900}.contact-final-inner p{margin:0;opacity:.88}
@media(max-width:767.98px){.contact-quickbar{margin-top:0}.contact-quickbar .container-xl{border-radius:0}.contact-quickitem{min-height:96px;border-right:0;border-bottom:1px solid #e8eaf0}.contact-final-inner{align-items:flex-start;flex-direction:column;padding:2rem}.location-card{padding:1.5rem}.contact-hero:after{display:none}}

@media (max-width: 1199.98px) and (min-width: 768px) {
  .door-system-grid { grid-template-columns: repeat(2, 1fr); }
  .door-system-grid a:nth-child(2n) { border-right: 0; }
  .door-system-grid a:nth-child(-n+2) { border-bottom: 1px solid #e7e9ee; }
}

/* Visual page builder output */
.builder-page .builder-block{position:relative}.builder-hero{min-height:520px;position:relative;overflow:hidden}.builder-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.builder-richtext> *:last-child{margin-bottom:0}.builder-text,.builder-heading,.builder-image,.builder-imageText,.builder-cards,.builder-cta,.builder-html{padding-top:72px;padding-bottom:72px}.builder-cta{background:#343a4d;color:#fff}.builder-cta .btn{color:#e94b0c}.min-vh-50{min-height:50vh}@media(max-width:767px){.builder-text,.builder-heading,.builder-image,.builder-imageText,.builder-cards,.builder-cta,.builder-html{padding-top:48px;padding-bottom:48px}.builder-hero{min-height:440px}}

/* Aufsatzrolllaeden detail sections */
.aufsatz-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(31,42,68,.09);border:1px solid rgba(31,42,68,.07)}
.aufsatz-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.aufsatz-card-body{padding:1.4rem 1.4rem 1.6rem}.aufsatz-card-body h3{font-size:1.05rem;font-weight:800;margin-bottom:.75rem}.aufsatz-card-body p{margin:0;color:#606878;line-height:1.7}
.ral-image-wrap{background:#fff;border-radius:24px;padding:1.25rem;box-shadow:0 16px 44px rgba(31,42,68,.1);text-align:center}.ral-image-wrap img{max-width:100%;height:auto;max-height:520px;object-fit:contain}
.profile-card{height:100%;background:#fff;border-radius:22px;padding:1.25rem;box-shadow:0 14px 38px rgba(31,42,68,.08);border:1px solid rgba(31,42,68,.07)}.profile-card h3{font-size:1.15rem;font-weight:800;margin:0 0 1rem}.profile-card img{width:100%;height:auto;border-radius:14px;display:block}
@media(max-width:767.98px){.aufsatz-card-body{padding:1.15rem}.profile-card{padding:.85rem}.ral-image-wrap{padding:.75rem}}

/* Raffstore product pages */
.raffstore-showcase-image{background:#fff;border-radius:24px;padding:24px;box-shadow:0 18px 50px rgba(20,31,54,.12);overflow:hidden}
.raffstore-showcase-image img{width:100%;height:auto;display:block;border-radius:16px}
.lead-copy{font-size:1.12rem;line-height:1.8;color:#5f6776}
.raffstore-gallery-card{background:#fff;border:1px solid rgba(30,42,67,.1);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(20,31,54,.08)}
.raffstore-gallery-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.raffstore-gallery-card>div{padding:24px}
.raffstore-gallery-card h3{font-size:1.25rem;margin-bottom:10px}
.raffstore-gallery-card p{margin:0;color:#687083}
.bg-dark-section{background:linear-gradient(135deg,#252d42,#343f5e)}
.text-white-75{color:rgba(255,255,255,.75)}
.ral-swatch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ral-swatch-grid span{min-height:92px;border-radius:16px;background:var(--swatch);display:flex;align-items:flex-end;padding:12px;font-weight:700;color:#111827;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 8px 24px rgba(0,0,0,.12)}
.application-card{display:flex;gap:20px;background:#fff;border-radius:20px;padding:26px;border:1px solid rgba(30,42,67,.08);box-shadow:0 12px 34px rgba(20,31,54,.07)}
.application-card i{font-size:2rem;color:var(--brand,#ef4b0b);line-height:1}
.application-card h3{font-size:1.2rem;margin-bottom:8px}
.application-card p{margin:0;color:#687083}
@media(max-width:767.98px){.ral-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.raffstore-showcase-image{padding:14px}.application-card{padding:20px}}

/* Nested navigation: Raffstore > Z90 / C80 / Refleksol */
.dropdown-submenu { position: relative; }
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -0.45rem;
  margin-left: 0.15rem;
}
.dropdown-submenu > .dropdown-toggle::after {
  float: right;
  margin-top: .55rem;
  transform: rotate(-90deg);
}
@media (min-width: 992px) {
  .dropdown-submenu:hover > .dropdown-menu,
  .dropdown-submenu:focus-within > .dropdown-menu { display: block; }
}
.mobile-submenu-level-2 {
  margin-left: 1rem;
  padding-left: .8rem;
  border-left: 2px solid rgba(232, 71, 7, .25);
}
.mobile-menu-level-2 { font-size: .94rem; }
.visual-option-card{border:1px solid rgba(28,39,63,.1);border-radius:1.25rem;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(28,39,63,.08)}
.visual-option-image{aspect-ratio:16/10;background:#f3f5f8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.visual-option-image img{width:100%;height:100%;object-fit:contain}
.gate-media-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(24,31,50,.08);height:100%}.gate-media-card img{width:100%;height:360px;object-fit:contain;background:#fff;padding:18px}.gate-media-card figcaption{padding:16px 20px;font-weight:700;color:#343b50}@media(max-width:767px){.gate-media-card img{height:250px}}
