:root {
            --primary: #D32B1E;
            --primary-dark: #A81F14;
            --secondary: #152232;
            --secondary-light: #24364C;
            --accent: #F4B01E;
            --sand: #F7F5F2;
            --white: #ffffff;
            --text: #23313F;
            --text-light: #5C6B7A;
            --border: #E3E0DC;
        }

* { margin: 0; padding: 0; box-sizing: border-box; }

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

body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            color: var(--text);
            background: var(--white);
            line-height: 1.7;
            font-size: 16px;
            overflow-x: hidden;
        }

img { max-width: 100%; display: block; }

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

ul { list-style: none; }

.container {
            width: 100%;
            max-width: 1180px;
            margin: 0 auto;
            padding-left: 20px;
            padding-right: 20px;
        }

h1, h2, h3, .display {
            font-family: 'Barlow Condensed', 'Inter', sans-serif;
            font-weight: 700;
            line-height: 1.1;
            letter-spacing: 0.01em;
        }

.section { padding-top: 84px; padding-bottom: 84px; }

.section-sand { background: var(--sand); }

.section-dark { background: var(--secondary); color: #EAF0F6; }

.section-head { max-width: 760px; margin-bottom: 48px; }

.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }

.eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--primary);
            margin-bottom: 14px;
        }

.eyebrow::before {
            content: "";
            width: 14px; height: 14px;
            background: var(--primary);
            border-radius: 2px;
            flex: 0 0 auto;
        }

.section-dark .eyebrow { color: var(--accent); }

.section-dark .eyebrow::before { background: var(--accent); }

h2.section-title {
            font-size: clamp(2rem, 4.4vw, 3rem);
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 16px;
        }

.section-dark h2.section-title { color: #fff; }

.section-lead { color: var(--text-light); font-size: 1.04rem; }

.section-dark .section-lead { color: #B8C6D4; }

.btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.12rem;
            font-weight: 600;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            padding: 15px 30px;
            border-radius: 4px;
            border: 2px solid transparent;
            cursor: pointer;
            transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
        }

.btn-primary { background: var(--primary); color: #fff; box-shadow: 0 10px 24px rgba(211,43,30,.28); }

.btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); }

.btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }

.btn-outline:hover { background: #fff; color: var(--secondary); border-color: #fff; }

.btn-dark { background: var(--secondary); color: #fff; }

.btn-dark:hover { background: var(--secondary-light); transform: translateY(-2px); }

.header {
            position: fixed;
            top: 0; left: 0; right: 0;
            z-index: 1000;
            background: rgba(255,255,255,.97);
            border-bottom: 3px solid var(--primary);
            box-shadow: 0 2px 18px rgba(21,34,50,.08);
        }

.header-inner {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            min-height: 78px;
            padding-top: 10px;
            padding-bottom: 10px;
        }

.logo { display: flex; align-items: center; gap: 12px; flex: 0 1 auto; min-width: 0; }

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

.logo-text {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.35rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: var(--secondary);
            line-height: 1.1;
        }

.menu-toggle { display: none; cursor: pointer; }

.nav { display: flex; align-items: center; gap: 24px; }

.nav a {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.07rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--secondary);
            padding-bottom: 4px;
            border-bottom: 2px solid transparent;
            transition: color .2s ease, border-color .2s ease;
        }

.nav a:hover { color: var(--primary); border-bottom-color: var(--primary); }

.nav .btn-cta-nav {
            background: var(--primary);
            color: #fff;
            border: 2px solid var(--primary);
            border-radius: 4px;
            padding: 11px 20px;
            border-bottom-color: var(--primary);
            white-space: nowrap;
            box-shadow: 0 6px 16px rgba(211,43,30,.22);
        }

.nav .btn-cta-nav:hover {
            background: var(--secondary);
            border-color: var(--secondary);
            color: #fff;
        }

.hero {
            position: relative;
            min-height: 88vh;
            display: flex;
            align-items: center;
            padding-top: 150px;
            padding-bottom: 90px;
            background-color: var(--secondary);
            background-size: cover;
            background-position: center;
            border-bottom: 6px solid var(--primary);
            overflow: hidden;
        }

.hero::after {
            content: "";
            position: absolute; inset: 0;
            background: linear-gradient(135deg, rgba(10,18,28,.9) 0%, rgba(21,34,50,.82) 45%, rgba(21,34,50,.62) 100%);
        }

.hero-inner { position: relative; z-index: 2; width: 100%; }

.hero-grid {
            display: grid;
            grid-template-columns: 1.15fr 0.85fr;
            gap: 54px;
            align-items: center;
        }

.hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }

.hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: #fff;
            background: rgba(255,255,255,.1);
            border: 1px solid rgba(255,255,255,.26);
            border-left: 3px solid var(--primary);
            padding: 8px 14px;
            border-radius: 3px;
        }

.hero-badge i { color: var(--accent); }

.hero h1 {
            color: #fff;
            font-size: clamp(2.3rem, 5.6vw, 4.1rem);
            text-transform: uppercase;
            margin-bottom: 20px;
        }

.hero h1 span { color: var(--accent); display: block; }

.hero p.hero-lead {
            color: #D6E0EA;
            font-size: 1.1rem;
            max-width: 620px;
            margin-bottom: 32px;
        }

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

.hero-phone-note {
            margin-top: 26px;
            color: #A9BAC9;
            font-size: .92rem;
            display: flex;
            align-items: center;
            gap: 10px;
        }

.hero-phone-note strong { color: #fff; font-size: 1.05rem; }

.quote-card {
            background: var(--white);
            border-radius: 6px;
            border-top: 6px solid var(--primary);
            padding: 30px 28px;
            box-shadow: 0 26px 60px rgba(6,12,20,.4);
        }

.quote-card h2 {
            font-size: 1.85rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 6px;
        }

.quote-card > p.quote-sub {
            font-size: .92rem;
            color: var(--text-light);
            margin-bottom: 20px;
        }

.form-group { margin-bottom: 15px; }

.form-group label {
            display: block;
            font-size: .78rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--secondary);
            margin-bottom: 6px;
        }

.form-group input,
        .form-group textarea {
            width: 100%;
            font-family: inherit;
            font-size: .98rem;
            color: var(--text);
            background: #FBFAF9;
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 12px 14px;
            transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
        }

.form-group textarea { resize: vertical; }

.form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            background: #fff;
            border-color: var(--primary);
            box-shadow: 0 0 0 3px rgba(211,43,30,.13);
        }

form button[type="submit"] {
            width: 100%;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.15rem;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #fff;
            background: var(--primary);
            border: none;
            border-radius: 4px;
            padding: 15px 20px;
            cursor: pointer;
            transition: background .2s ease, transform .2s ease;
        }

form button[type="submit"]:hover { background: var(--primary-dark); transform: translateY(-2px); }

form button[type="submit"]:disabled { opacity: .7; cursor: not-allowed; transform: none; }

.form-status, #formStatus { font-size: .92rem; margin-top: 10px; }

.form-note { font-size: .78rem; color: var(--text-light); margin-top: 12px; text-align: center; }

.stats { background: var(--secondary); padding-top: 42px; padding-bottom: 42px; }

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

.stat { text-align: center; padding: 14px 10px; border-left: 1px solid rgba(255,255,255,.12); }

.stat:first-child { border-left: none; }

.stat-num {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 2.9rem;
            font-weight: 700;
            line-height: 1;
            color: var(--primary);
        }

.stat-num .suffix { color: var(--accent); }

.stat-label {
            display: block;
            margin-top: 8px;
            font-size: .82rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #A9BAC9;
        }

.services-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 28px;
        }

.service-card {
            flex: 0 1 340px;
            max-width: 360px;
            display: flex;
            flex-direction: column;
            background: var(--white);
            border: 1px solid var(--border);
            border-left: 3px solid var(--primary);
            border-radius: 4px;
            padding: 0 0 26px;
            box-shadow: 0 4px 16px rgba(21,34,50,.06);
            transition: transform .25s ease, box-shadow .25s ease, border-left-width .25s ease;
        }

.service-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 18px 40px rgba(21,34,50,.15);
            border-left-width: 7px;
        }

.service-media { padding: 14px 14px 0; }

.service-media img {
            width: 100%;
            height: 210px;
            object-fit: cover;
            border-radius: 4px;
            transition: transform .3s ease;
        }

.service-card:hover .service-media img { transform: scale(1.03); }

.service-body { padding: 20px 24px 0; }

.service-icon {
            width: 42px; height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(211,43,30,.09);
            color: var(--primary);
            border-radius: 3px;
            font-size: 1.05rem;
            margin-bottom: 14px;
        }

.service-body h3 {
            font-size: 1.45rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 10px;
        }

.service-body p { font-size: .96rem; color: var(--text-light); }

.extra-block {
            margin-top: 56px;
            background: var(--white);
            border: 1px solid var(--border);
            border-top: 5px solid var(--secondary);
            border-radius: 4px;
            padding: 34px 32px;
        }

.extra-block h3 {
            font-size: 1.6rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 8px;
        }

.extra-block > p { color: var(--text-light); font-size: .96rem; margin-bottom: 22px; }

.extra-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px 32px;
        }

.extra-list li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            font-weight: 500;
            color: var(--text);
            padding-bottom: 12px;
            border-bottom: 1px dashed var(--border);
        }

.extra-list li i { color: var(--primary); margin-top: 5px; flex: 0 0 auto; }

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

.why-card {
            background: rgba(255,255,255,.05);
            border: 1px solid rgba(255,255,255,.12);
            border-top: 4px solid var(--primary);
            border-radius: 4px;
            padding: 30px 24px;
            transition: background .25s ease, transform .25s ease;
        }

.why-card:hover { background: rgba(255,255,255,.1); transform: translateY(-4px); }

.why-card i {
            font-size: 1.6rem;
            color: var(--accent);
            margin-bottom: 16px;
            display: block;
        }

.why-card h3 {
            font-size: 1.32rem;
            text-transform: uppercase;
            color: #fff;
            margin-bottom: 10px;
        }

.why-card p { font-size: .94rem; color: #B8C6D4; }

.about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 56px;
            align-items: center;
        }

.about-media { position: relative; }

.about-media img {
            width: 100%;
            border-radius: 4px;
            box-shadow: 0 22px 50px rgba(21,34,50,.2);
        }

.about-stamp {
            position: absolute;
            bottom: -22px; left: -18px;
            background: var(--primary);
            color: #fff;
            padding: 16px 22px;
            border-radius: 4px;
            box-shadow: 0 14px 30px rgba(211,43,30,.35);
        }

.about-stamp .stamp-num {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 2.2rem;
            font-weight: 700;
            line-height: 1;
            display: block;
        }

.about-stamp span.stamp-txt {
            font-size: .76rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

.about-text p { color: var(--text-light); margin-bottom: 16px; }

.about-points { margin-top: 26px; display: grid; gap: 14px; }

.about-points li { display: flex; align-items: flex-start; gap: 13px; }

.about-points i {
            color: var(--primary);
            background: rgba(211,43,30,.09);
            width: 28px; height: 28px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 3px;
            flex: 0 0 auto;
            font-size: .82rem;
            margin-top: 3px;
        }

.about-points strong { color: var(--secondary); }

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

.step {
            position: relative;
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 34px 24px 28px;
            overflow: hidden;
        }

.step-ghost {
            position: absolute;
            top: -18px; right: 8px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 6.2rem;
            font-weight: 700;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 2px rgba(211,43,30,.22);
            pointer-events: none;
        }

.step h3 {
            position: relative;
            font-size: 1.32rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 10px;
        }

.step p { position: relative; font-size: .94rem; color: var(--text-light); }

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

.gallery-item {
            border-radius: 4px;
            overflow: hidden;
            background: var(--secondary);
            cursor: pointer;
        }

.gallery-item img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            transition: transform .35s ease, opacity .3s ease;
        }

.gallery-item:hover img { transform: scale(1.06); opacity: .88; }

.rating-banner {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 28px;
            background: var(--secondary);
            border-radius: 6px;
            padding: 30px 34px;
            margin-bottom: 40px;
            text-align: center;
        }

.rating-score {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 3.4rem;
            font-weight: 700;
            line-height: 1;
            color: var(--accent);
        }

.rating-meta { color: #C7D3DE; font-size: .95rem; }

.rating-stars { color: var(--accent); font-size: 1.15rem; letter-spacing: .12em; }

.rating-sep { width: 1px; align-self: stretch; background: rgba(255,255,255,.16); }

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

.review-card {
            background: var(--white);
            border: 1px solid var(--border);
            border-left: 3px solid var(--accent);
            border-radius: 4px;
            padding: 28px 26px;
            box-shadow: 0 4px 16px rgba(21,34,50,.06);
            display: flex;
            flex-direction: column;
        }

.review-stars { color: var(--accent); letter-spacing: .1em; margin-bottom: 12px; }

.review-card blockquote {
            font-style: italic;
            color: var(--text);
            margin-bottom: 20px;
            flex: 1 1 auto;
        }

.review-author { display: flex; align-items: center; gap: 12px; }

.review-avatar {
            width: 42px; height: 42px;
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: var(--secondary);
            color: #fff;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.15rem;
            font-weight: 700;
        }

.review-name { font-weight: 600; color: var(--secondary); font-size: .96rem; line-height: 1.3; }

.review-src { font-size: .8rem; color: var(--text-light); }

.reviews-cta { text-align: center; margin-top: 38px; }

.zones-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 26px;
            margin-bottom: 34px;
        }

.zone-card {
            background: var(--white);
            border: 1px solid var(--border);
            border-left: 4px solid var(--primary);
            border-radius: 4px;
            padding: 28px 26px;
            transition: transform .25s ease, box-shadow .25s ease;
        }

.zone-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(21,34,50,.13); }

.zone-card h3 {
            font-size: 1.42rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 10px;
        }

.zone-card h3 i { color: var(--primary); margin-right: 8px; font-size: 1.05rem; }

.zone-card p { font-size: .96rem; color: var(--text-light); }

.zone-wide {
            background: var(--white);
            border: 1px dashed var(--border);
            border-radius: 4px;
            padding: 26px 28px;
            text-align: center;
        }

.zone-wide p { color: var(--text-light); font-size: .98rem; }

.zone-wide strong { color: var(--secondary); }

.faq-wrap { max-width: 860px; margin: 0 auto; }

.faq-item {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 24px 26px;
            margin-bottom: 16px;
            border-left: 3px solid var(--secondary);
        }

.faq-item h3 {
            font-size: 1.28rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 10px;
        }

.faq-item h3 i { color: var(--primary); margin-right: 8px; font-size: .95rem; }

.faq-item p { color: var(--text-light); font-size: .97rem; }

.cta-band {
            background: var(--primary);
            padding-top: 58px;
            padding-bottom: 58px;
            text-align: center;
            color: #fff;
        }

.cta-band h2 {
            font-size: clamp(1.9rem, 4vw, 2.7rem);
            text-transform: uppercase;
            margin-bottom: 12px;
        }

.cta-band p { color: rgba(255,255,255,.9); margin-bottom: 26px; }

.cta-phone {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: clamp(2rem, 6vw, 3rem);
            font-weight: 700;
            color: #fff;
            letter-spacing: .02em;
            transition: transform .2s ease;
        }

.cta-phone:hover { transform: scale(1.03); }

.cta-band-actions { margin-top: 24px; }

.contact-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 48px;
            align-items: start;
        }

.info-card {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 28px 26px;
            margin-bottom: 24px;
        }

.info-card .card-title {
            display: block;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.3rem;
            font-weight: 700;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 18px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--primary);
        }

.contact-lines { display: grid; gap: 16px; }

.contact-line { display: flex; align-items: flex-start; gap: 14px; }

.contact-line i {
            width: 38px; height: 38px;
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(211,43,30,.09);
            color: var(--primary);
            border-radius: 3px;
        }

.contact-line .label {
            display: block;
            font-size: .74rem;
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: var(--text-light);
        }

.contact-line .value { font-weight: 600; color: var(--secondary); }

.contact-line a.value:hover { color: var(--primary); }

.hours-list { display: grid; }

.hours-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 11px 0;
            border-bottom: 1px solid var(--border);
            font-size: .96rem;
        }

.hours-row:last-child { border-bottom: none; }

.hours-day { font-weight: 600; color: var(--secondary); }

.hours-val { color: var(--text); font-variant-numeric: tabular-nums; }

.hours-row.closed .hours-day { color: var(--text-light); }

.hours-row.closed .hours-val {
            color: var(--primary);
            font-weight: 600;
            text-transform: uppercase;
            font-size: .85rem;
            letter-spacing: .06em;
        }

.map-wrap {
            margin-top: 24px;
            border: 1px solid var(--border);
            border-radius: 4px;
            overflow: hidden;
            line-height: 0;
        }

.map-wrap iframe { display: block; width: 100%; }

.contact-form-card {
            background: var(--white);
            border: 1px solid var(--border);
            border-top: 5px solid var(--secondary);
            border-radius: 4px;
            padding: 30px 28px;
            box-shadow: 0 8px 26px rgba(21,34,50,.08);
        }

.contact-form-card h3 {
            font-size: 1.7rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 8px;
        }

.contact-form-card > p { color: var(--text-light); font-size: .94rem; margin-bottom: 22px; }

.footer { background: #0D1620; color: #9FB1C1; padding-top: 62px; }

.footer-grid {
            display: grid;
            grid-template-columns: 1.3fr 0.9fr 1.1fr 0.9fr 1.1fr;
            gap: 32px;
        }

.footer-brand img { height: 46px; width: auto; margin-bottom: 16px; }

.footer-brand p { font-size: .93rem; margin-bottom: 18px; }

.footer-social { display: flex; gap: 10px; }

.footer-social a {
            width: 38px; height: 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,.07);
            border-radius: 3px;
            color: #fff;
            transition: background .2s ease, transform .2s ease;
        }

.footer-social a:hover { background: var(--primary); transform: translateY(-2px); }

.footer-col .col-title {
            display: block;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.15rem;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: #fff;
            margin-bottom: 16px;
        }

.footer-col ul { display: grid; gap: 10px; }

.footer-col a, .footer-col li { font-size: .92rem; }

.footer-col a:hover { color: var(--accent); }

.footer-col .fcontact { display: flex; gap: 10px; align-items: flex-start; }

.footer-col .fcontact i { color: var(--primary); margin-top: 4px; }

.footer-bottom {
            margin-top: 48px;
            border-top: 1px solid rgba(255,255,255,.1);
            padding-top: 22px;
            padding-bottom: 26px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            font-size: .86rem;
        }

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

.footer-links a:hover, .footer-links button:hover { color: var(--accent); }

.legal-btn {
            background: none;
            border: none;
            color: inherit;
            font: inherit;
            cursor: pointer;
            padding: 0;
        }

.modal {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 2000;
            background: rgba(8,14,22,.72);
            padding: 24px;
            overflow-y: auto;
        }

.modal.open { display: flex; align-items: flex-start; justify-content: center; }

.modal-box {
            background: #fff;
            border-radius: 6px;
            border-top: 6px solid var(--primary);
            width: 100%;
            max-width: 660px;
            margin-top: 60px;
            margin-bottom: 40px;
            padding: 30px 32px 34px;
            position: relative;
        }

.modal-title {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.7rem;
            font-weight: 700;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 18px;
        }

.modal-close {
            position: absolute;
            top: 14px; right: 14px;
            width: 36px; height: 36px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--sand);
            border: none;
            border-radius: 3px;
            color: var(--secondary);
            font-size: 1rem;
            cursor: pointer;
        }

.modal-close:hover { background: var(--primary); color: #fff; }

.legal-list { display: grid; gap: 10px; font-size: .95rem; color: var(--text-light); }

.legal-list strong { color: var(--secondary); }

@media (max-width: 1024px) {
            .hero-grid { grid-template-columns: 1fr; gap: 40px; }
            .stats-grid { grid-template-columns: repeat(2, 1fr); }
            .stat:nth-child(3) { border-left: none; }
            .why-grid { grid-template-columns: repeat(2, 1fr); }
            .steps-grid { grid-template-columns: repeat(2, 1fr); }
            .reviews-grid { grid-template-columns: 1fr; }
            .about-grid { grid-template-columns: 1fr; gap: 44px; }
            .contact-grid { grid-template-columns: 1fr; gap: 36px; }
            .footer-grid { grid-template-columns: repeat(2, 1fr); }
        }

@media (max-width: 768px) {
            html { scroll-padding-top: 80px; }
            .container { padding-left: 16px; padding-right: 16px; }
            .section { padding-top: 60px; padding-bottom: 60px; }

            .menu-toggle {
                display: inline-flex; align-items: center; justify-content: center;
                font-size: 1.5rem; padding: 8px; color: var(--primary);
            }
            .nav {
                display: none;
                position: absolute; top: 100%; left: 0; right: 0;
                flex-direction: column; gap: 12px;
                background: var(--white, #fff); padding: 20px;
                box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            }
            .menu-check:checked ~ .nav { display: flex; }
            .menu-check:checked ~ .menu-toggle .fa-bars::before { content: "\f00d"; }
            .nav a { width: 100%; text-align: center; padding-top: 6px; padding-bottom: 8px; }
            .nav .btn-cta-nav { width: 100%; }

            .logo img { height: 42px; }
            .logo-text { font-size: 1.1rem; }
            .header-inner { min-height: 68px; }

            .hero { padding-top: 120px; padding-bottom: 60px; min-height: 0; }
            .hero-actions .btn { width: 100%; }
            .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
            .gallery-item img { height: 170px; }
            .extra-list { grid-template-columns: 1fr; }
            .zones-grid { grid-template-columns: 1fr; }
            .service-card { flex: 1 1 100%; max-width: 100%; }
            .rating-sep { display: none; }
            .about-stamp { left: 10px; bottom: -16px; }
            .footer-bottom { flex-direction: column; align-items: flex-start; }
            .modal-box { margin-top: 24px; padding: 26px 20px 28px; }
        }

@media (max-width: 640px) {
            .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
            .stat { border-left: none; padding: 10px 6px; }
            .stat-num { font-size: 2.2rem; }
            .stat-label { font-size: .72rem; letter-spacing: .06em; }
            .why-grid, .steps-grid { grid-template-columns: 1fr; }
            .footer-grid { grid-template-columns: 1fr; gap: 28px; }
            .quote-card { padding: 24px 20px; }
            .contact-form-card { padding: 24px 20px; }
            .extra-block { padding: 26px 20px; }
        }

@media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
            }
        }

.gallery-grid .gallery-item{cursor:zoom-in;overflow:hidden}

.gallery-grid .gallery-item img{transition:transform .3s ease}

.gallery-grid .gallery-item:hover img{transform:scale(1.05)}

.wf-gal-hidden{display:none !important}

.wf-gal-more{display:block;margin:1.8rem auto 0;padding:.85rem 2.2rem;border:2px solid var(--primary,var(--main,var(--accent,#1e293b)));background:transparent;color:var(--primary,var(--main,var(--accent,#1e293b)));border-radius:50px;font-weight:700;font-size:1rem;cursor:pointer;transition:.2s;font-family:inherit}

.wf-gal-more:hover{background:var(--primary,var(--main,var(--accent,#1e293b)));color:#fff}

.wf-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);display:none;align-items:center;justify-content:center;z-index:99999}

.wf-lightbox.open{display:flex}

.wf-lightbox img{max-width:92vw;max-height:88vh;border-radius:8px;box-shadow:0 12px 60px rgba(0,0,0,.55);user-select:none}

.wf-lb-btn{position:absolute;background:rgba(255,255,255,.16);color:#fff;border:none;cursor:pointer;font-size:2rem;line-height:1;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s}

.wf-lb-btn:hover{background:rgba(255,255,255,.32)}

.wf-lb-close{top:20px;right:20px}

.wf-lb-prev{left:20px;top:50%;transform:translateY(-50%)}

.wf-lb-next{right:20px;top:50%;transform:translateY(-50%)}

.wf-lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.4);padding:.3rem .9rem;border-radius:20px;font-size:.9rem;font-weight:600}

@media(max-width:600px){.wf-lb-prev{left:6px}.wf-lb-next{right:6px}.wf-lb-close{top:8px;right:8px}}

:root {
            --sct-red: #D32B1E;
            --sct-red-dark: #A81F14;
            --sct-navy: #152232;
            --sct-navy-light: #24364C;
            --sct-yellow: #F4B01E;
            --sct-sand: #F7F5F2;
            --sct-text: #23313F;
            --sct-muted: #5C6B7A;
            --sct-border: #E3E0DC;
        }

html, body { overflow-x: hidden; max-width: 100%; }

img { max-width: 100%; height: auto; }

.sct-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

@media (max-width: 640px) { .sct-container { padding: 0 18px; } }

.sct-tpl-service-hub .sct-section { padding: 84px 0; }

.sct-tpl-service-hub .sct-section-sand { background: var(--sct-sand); }

.sct-tpl-service-hub .sct-section-dark { background: var(--sct-navy); color: #EAF0F6; }

.sct-tpl-service-hub .sct-section-head { max-width: 780px; margin-bottom: 46px; }

.sct-tpl-service-hub .sct-section-head.sct-center { margin-left: auto; margin-right: auto; text-align: center; }

.sct-tpl-service-hub .sct-eyebrow {
            display: inline-flex; align-items: center; gap: 10px;
            font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
            color: var(--sct-red); margin-bottom: 14px;
        }

.sct-tpl-service-hub .sct-eyebrow::before {
            content: ""; width: 14px; height: 14px; background: var(--sct-red); border-radius: 2px; flex: 0 0 auto;
        }

.sct-tpl-service-hub .sct-section-dark .sct-eyebrow { color: var(--sct-yellow); }

.sct-tpl-service-hub .sct-section-dark .sct-eyebrow::before { background: var(--sct-yellow); }

.sct-tpl-service-hub .sct-section-title {
            font-family: 'Barlow Condensed', 'Inter', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: clamp(1.9rem, 4.2vw, 2.9rem); text-transform: uppercase;
            color: var(--sct-navy); margin-bottom: 14px; overflow-wrap: anywhere;
        }

.sct-tpl-service-hub .sct-section-dark .sct-section-title { color: #fff; }

.sct-tpl-service-hub .sct-section-lead { color: var(--sct-muted); font-size: 1.04rem; }

.sct-tpl-service-hub .sct-section-dark .sct-section-lead { color: #B8C6D4; }

.sct-tpl-service-hub .sct-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.12rem; font-weight: 600;
            letter-spacing: .07em; text-transform: uppercase; text-align: center;
            padding: 15px 30px; border-radius: 4px; border: 2px solid transparent; cursor: pointer;
            transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
        }

.sct-tpl-service-hub .sct-btn-primary { background: var(--sct-red); color: #fff; box-shadow: 0 10px 24px rgba(211,43,30,.28); }

.sct-tpl-service-hub .sct-btn-primary:hover { background: var(--sct-red-dark); transform: translateY(-2px); }

.sct-tpl-service-hub .sct-btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }

.sct-tpl-service-hub .sct-btn-outline:hover { background: #fff; color: var(--sct-navy); border-color: #fff; }

.sct-tpl-service-hub .sct-btn-dark { background: var(--sct-navy); color: #fff; }

.sct-tpl-service-hub .sct-btn-dark:hover { background: var(--sct-navy-light); transform: translateY(-2px); }

.sct-tpl-service-hub .sct-hero {
            position: relative; padding: 150px 0 90px;
            background-color: var(--sct-navy); background-size: cover; background-position: center;
            border-bottom: 6px solid var(--sct-red); overflow: hidden;
        }

.sct-tpl-service-hub .sct-hero::after {
            content: ""; position: absolute; inset: 0;
            background: linear-gradient(135deg, rgba(10,18,28,.92) 0%, rgba(21,34,50,.84) 50%, rgba(21,34,50,.66) 100%);
        }

.sct-tpl-service-hub .sct-hero-container { position: relative; z-index: 2; }

.sct-tpl-service-hub .sct-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 50px; align-items: center; }

.sct-tpl-service-hub .sct-hero-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-hero-text,
        .sct-tpl-service-hub .sct-hero-card { min-width: 0; max-width: 100%; }

.sct-tpl-service-hub .sct-breadcrumb {
            display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
            max-width: 100%; overflow-wrap: anywhere;
            font-size: .86rem; color: #A9BAC9; margin-bottom: 22px;
        }

.sct-tpl-service-hub .sct-breadcrumb a { color: #D6E0EA; border-bottom: 1px solid transparent; transition: color .2s ease, border-color .2s ease; }

.sct-tpl-service-hub .sct-breadcrumb a:hover { color: var(--sct-yellow); border-bottom-color: var(--sct-yellow); }

.sct-tpl-service-hub .sct-bc-sep { color: var(--sct-red); font-weight: 700; }

.sct-tpl-service-hub .sct-bc-current { color: var(--sct-yellow); font-weight: 600; }

.sct-tpl-service-hub .sct-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }

.sct-tpl-service-hub .sct-hero-badge {
            display: inline-flex; align-items: center; gap: 8px;
            font-size: .78rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
            color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.26);
            border-left: 3px solid var(--sct-red); padding: 8px 14px; border-radius: 3px;
        }

.sct-tpl-service-hub .sct-hero-badge i { color: var(--sct-yellow); }

.sct-tpl-service-hub .sct-hero-text h1 {
            font-family: 'Barlow Condensed', 'Inter', sans-serif; font-weight: 700; line-height: 1.08;
            color: #fff; font-size: clamp(2.2rem, 5.2vw, 3.8rem); text-transform: uppercase;
            margin-bottom: 20px; overflow-wrap: anywhere;
        }

.sct-tpl-service-hub .sct-hero-text h1 span { color: var(--sct-yellow); }

.sct-tpl-service-hub .sct-hero-subtitle { color: #D6E0EA; font-size: 1.08rem; max-width: 640px; margin-bottom: 30px; }

.sct-tpl-service-hub .sct-hero-btns { display: flex; flex-wrap: wrap; gap: 16px; }

.sct-tpl-service-hub .sct-hero-trust { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 26px; }

.sct-tpl-service-hub .sct-hero-trust li { display: flex; align-items: center; gap: 8px; color: #C7D3DE; font-size: .92rem; }

.sct-tpl-service-hub .sct-hero-trust i { color: var(--sct-yellow); }

.sct-tpl-service-hub .sct-hero-card {
            background: #fff; border-radius: 6px; border-top: 6px solid var(--sct-red);
            padding: 30px 28px; box-shadow: 0 26px 60px rgba(6,12,20,.4);
        }

.sct-tpl-service-hub .sct-hero-card-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: 1.8rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 6px;
        }

.sct-tpl-service-hub .sct-hero-card-sub { font-size: .92rem; color: var(--sct-muted); margin-bottom: 18px; }

.sct-tpl-service-hub .sct-hero-card-list { margin-bottom: 22px; }

.sct-tpl-service-hub .sct-hero-card-list li {
            display: flex; align-items: flex-start; gap: 14px;
            padding: 13px 0; border-bottom: 1px dashed var(--sct-border);
        }

.sct-tpl-service-hub .sct-hero-card-list li:last-child { border-bottom: none; }

.sct-tpl-service-hub .sct-hero-card-list i {
            width: 36px; height: 36px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
            background: rgba(211,43,30,.09); color: var(--sct-red); border-radius: 3px; font-size: .95rem;
        }

.sct-tpl-service-hub .sct-hero-card-list .sct-info-label {
            display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sct-muted);
        }

.sct-tpl-service-hub .sct-hero-card-list .sct-info-value { color: var(--sct-navy); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }

.sct-tpl-service-hub .sct-hero-card .sct-btn { width: 100%; }

.sct-tpl-service-hub .sct-stats-band { background: var(--sct-navy); padding: 42px 0; }

.sct-tpl-service-hub .sct-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.sct-tpl-service-hub .sct-stats-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-stat { text-align: center; padding: 14px 10px; border-left: 1px solid rgba(255,255,255,.12); }

.sct-tpl-service-hub .sct-stat:first-child { border-left: none; }

.sct-tpl-service-hub .sct-stat-num {
            font-family: 'Barlow Condensed', sans-serif; font-size: 2.6rem; font-weight: 700; line-height: 1;
            color: var(--sct-red); overflow-wrap: anywhere;
        }

.sct-tpl-service-hub .sct-stat-label {
            display: block; margin-top: 8px; font-size: .8rem; font-weight: 600;
            letter-spacing: .1em; text-transform: uppercase; color: #A9BAC9;
        }

.sct-tpl-service-hub .sct-intro-wrap { max-width: 880px; margin: 0 auto; }

.sct-tpl-service-hub .sct-intro-body p { color: var(--sct-text); font-size: 1.03rem; margin-bottom: 18px; }

.sct-tpl-service-hub .sct-intro-body p:first-child { border-left: 4px solid var(--sct-red); padding-left: 20px; }

.sct-tpl-service-hub .sct-intro-body strong { color: var(--sct-navy); }

.sct-tpl-service-hub .sct-intro-body a { color: var(--sct-red); border-bottom: 1px solid currentColor; }

.sct-tpl-service-hub .sct-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.sct-tpl-service-hub .sct-services-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-service-card {
            display: flex; flex-direction: column; background: #fff;
            border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-red); border-radius: 4px;
            padding-bottom: 26px; box-shadow: 0 4px 16px rgba(21,34,50,.06);
            transition: transform .25s ease, box-shadow .25s ease, border-left-width .25s ease;
        }

.sct-tpl-service-hub .sct-service-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(21,34,50,.15); border-left-width: 7px; }

.sct-tpl-service-hub .sct-service-media { padding: 14px 14px 0; overflow: hidden; }

.sct-tpl-service-hub .sct-service-media img {
            width: 100%; height: 210px; object-fit: cover; border-radius: 4px; transition: transform .3s ease;
        }

.sct-tpl-service-hub .sct-service-card:hover .sct-service-media img { transform: scale(1.03); }

.sct-tpl-service-hub .sct-service-body { padding: 20px 24px 0; }

.sct-tpl-service-hub .sct-service-body h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.42rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 10px;
        }

.sct-tpl-service-hub .sct-service-body p { font-size: .96rem; color: var(--sct-muted); }

.sct-tpl-service-hub .sct-processus-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; counter-reset: sctstep; }

.sct-tpl-service-hub .sct-processus-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-step {
            position: relative; background: #fff; border: 1px solid var(--sct-border); border-radius: 4px;
            padding: 30px 20px 24px; overflow: hidden; counter-increment: sctstep;
        }

.sct-tpl-service-hub .sct-step::after {
            content: counter(sctstep, decimal-leading-zero); position: absolute; top: -14px; right: 8px;
            font-family: 'Barlow Condensed', sans-serif; font-size: 5rem; font-weight: 700; line-height: 1;
            color: transparent; -webkit-text-stroke: 2px rgba(211,43,30,.2); pointer-events: none;
        }

.sct-tpl-service-hub .sct-step-icon {
            position: relative; z-index: 1; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
            background: var(--sct-red); color: #fff; border-radius: 3px; font-size: 1.1rem; margin-bottom: 16px;
        }

.sct-tpl-service-hub .sct-step h3 {
            position: relative; z-index: 1; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.25rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 8px;
        }

.sct-tpl-service-hub .sct-step p { position: relative; z-index: 1; font-size: .92rem; color: var(--sct-muted); }

.sct-tpl-service-hub .sct-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

.sct-tpl-service-hub .sct-why-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-why-card {
            background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-top: 4px solid var(--sct-red);
            border-radius: 4px; padding: 30px 24px; transition: background .25s ease, transform .25s ease;
        }

.sct-tpl-service-hub .sct-why-card:hover { background: rgba(255,255,255,.1); transform: translateY(-4px); }

.sct-tpl-service-hub .sct-why-card i { display: block; font-size: 1.6rem; color: var(--sct-yellow); margin-bottom: 16px; }

.sct-tpl-service-hub .sct-why-card h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.3rem; text-transform: uppercase; color: #fff; margin-bottom: 10px;
        }

.sct-tpl-service-hub .sct-why-card p { font-size: .94rem; color: #B8C6D4; }

.sct-tpl-service-hub .sct-usecase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }

.sct-tpl-service-hub .sct-usecase-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-usecase-media { position: relative; }

.sct-tpl-service-hub .sct-usecase-media img {
            width: 100%; height: 420px; object-fit: cover; border-radius: 4px; box-shadow: 0 22px 50px rgba(21,34,50,.2);
        }

.sct-tpl-service-hub .sct-usecase-stamp {
            position: absolute; bottom: -20px; left: -16px; background: var(--sct-red); color: #fff;
            padding: 14px 20px; border-radius: 4px; box-shadow: 0 14px 30px rgba(211,43,30,.35);
        }

.sct-tpl-service-hub .sct-usecase-stamp strong {
            display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 2rem; line-height: 1;
        }

.sct-tpl-service-hub .sct-usecase-stamp span { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }

.sct-tpl-service-hub .sct-usecase-content p { color: var(--sct-muted); margin-bottom: 16px; }

.sct-tpl-service-hub .sct-usecase-content strong { color: var(--sct-navy); }

.sct-tpl-service-hub .sct-usecase-content h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.3rem; text-transform: uppercase; color: var(--sct-navy); margin: 18px 0 8px;
        }

.sct-tpl-service-hub .sct-usecase-content ul { margin: 0 0 16px; display: grid; gap: 10px; }

.sct-tpl-service-hub .sct-usecase-content li { position: relative; padding-left: 26px; color: var(--sct-text); }

.sct-tpl-service-hub .sct-usecase-content li::before {
            content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--sct-red);
        }

.sct-tpl-service-hub .sct-engagements-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }

.sct-tpl-service-hub .sct-engagements-grid > * { min-width: 0; }

.sct-tpl-service-hub .sct-engagement-card {
            background: #fff; border: 1px solid var(--sct-border); border-radius: 4px; padding: 32px 28px; text-align: center;
            box-shadow: 0 4px 16px rgba(21,34,50,.06); transition: transform .25s ease, box-shadow .25s ease;
        }

.sct-tpl-service-hub .sct-engagement-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(21,34,50,.13); }

.sct-tpl-service-hub .sct-engagement-icon {
            width: 62px; height: 62px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center;
            background: var(--sct-navy); color: var(--sct-yellow); border-radius: 50%; font-size: 1.4rem;
            border: 3px solid var(--sct-red);
        }

.sct-tpl-service-hub .sct-engagement-card h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.35rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 10px;
        }

.sct-tpl-service-hub .sct-engagement-card p { font-size: .95rem; color: var(--sct-muted); }

.sct-tpl-service-hub .sct-faq-wrap { max-width: 880px; margin: 0 auto; }

.sct-tpl-service-hub .sct-faq-list .sct-faq-item,
        .sct-tpl-service-hub .sct-faq-list details {
            background: #fff; border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-navy);
            border-radius: 4px; padding: 22px 26px; margin-bottom: 16px;
        }

.sct-tpl-service-hub .sct-faq-list details[open] { border-left-color: var(--sct-red); }

.sct-tpl-service-hub .sct-faq-list summary { cursor: pointer; list-style: none; }

.sct-tpl-service-hub .sct-faq-list summary::-webkit-details-marker { display: none; }

.sct-tpl-service-hub .sct-faq-list h3,
        .sct-tpl-service-hub .sct-faq-list summary {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.2;
            font-size: 1.24rem; text-transform: uppercase; color: var(--sct-navy);
        }

.sct-tpl-service-hub .sct-faq-list h3 { margin-bottom: 10px; }

.sct-tpl-service-hub .sct-faq-list summary h3 { display: inline; margin: 0; }

.sct-tpl-service-hub .sct-faq-list h3 i { color: var(--sct-red); margin-right: 8px; font-size: .95rem; }

.sct-tpl-service-hub .sct-faq-list p { color: var(--sct-muted); font-size: .97rem; }

.sct-tpl-service-hub .sct-faq-list details p { margin-top: 12px; }

.sct-tpl-service-hub .sct-maillage-section { padding: 64px 0; }

.sct-tpl-service-hub .sct-maillage-cities { padding: 84px 0; background: var(--sct-sand); border-top: 1px solid var(--sct-border); }

.sct-tpl-service-hub .sct-maillage-box {
            background: #fff; border: 1px solid var(--sct-border); border-top: 5px solid var(--sct-navy);
            border-radius: 4px; padding: 34px 32px;
        }

.sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links ul {
            display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; list-style: none;
        }

.sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links li a {
            display: flex; align-items: center; gap: 10px; width: 100%;
            background: var(--sct-sand); border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-red);
            border-radius: 3px; padding: 11px 14px; font-weight: 500; font-size: .94rem; color: var(--sct-navy);
            overflow-wrap: anywhere; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
        }

.sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links li a::before {
            content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--sct-red); font-size: .85rem; flex: 0 0 auto;
        }

.sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links li a:hover {
            background: var(--sct-red); border-color: var(--sct-red); color: #fff; transform: translateY(-2px);
        }

.sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links li a:hover::before { color: #fff; }

.sct-tpl-service-hub .sct-maillage-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.7rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 20px;
            padding-bottom: 10px; border-bottom: 2px solid var(--sct-red); display: inline-block;
        }

.sct-tpl-service-hub .sct-maillage-links p { color: var(--sct-muted); margin-bottom: 14px; }

.sct-tpl-service-hub .sct-maillage-services .sct-maillage-links ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; }

.sct-tpl-service-hub .sct-maillage-links > a,
        .sct-tpl-service-hub .sct-maillage-services .sct-maillage-links li a {
            display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
            background: #fff; border: 1px solid var(--sct-border); border-radius: 3px;
            padding: 10px 16px; font-weight: 500; font-size: .94rem; color: var(--sct-navy);
            transition: background .2s ease, color .2s ease, border-color .2s ease;
        }

.sct-tpl-service-hub .sct-maillage-links > a { margin: 0 10px 10px 0; }

.sct-tpl-service-hub .sct-maillage-links > a:hover,
        .sct-tpl-service-hub .sct-maillage-services .sct-maillage-links li a:hover { background: var(--sct-red); border-color: var(--sct-red); color: #fff; }

.sct-tpl-service-hub .sct-cta-final { background: var(--sct-red); padding: 62px 0; text-align: center; color: #fff; }

.sct-tpl-service-hub .sct-cta-final h2 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: clamp(1.9rem, 4vw, 2.7rem); text-transform: uppercase; margin-bottom: 12px;
        }

.sct-tpl-service-hub .sct-cta-final p { color: rgba(255,255,255,.92); max-width: 700px; margin: 0 auto 24px; }

.sct-tpl-service-hub .sct-cta-phone {
            display: inline-flex; align-items: center; gap: 14px; color: #fff;
            font-family: 'Barlow Condensed', sans-serif; font-size: clamp(2rem, 6vw, 3rem); font-weight: 700;
            transition: transform .2s ease;
        }

.sct-tpl-service-hub .sct-cta-phone:hover { transform: scale(1.03); }

.sct-tpl-service-hub .sct-cta-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 24px; }

@media (max-width: 992px) {
            .sct-tpl-service-hub .sct-hero { padding: 130px 0 70px; }
            .sct-tpl-service-hub .sct-hero-grid { grid-template-columns: 1fr; gap: 40px; }
            .sct-tpl-service-hub .sct-hero-card { max-width: 480px; margin: 0 auto; width: 100%; }
            .sct-tpl-service-hub .sct-section { padding: 68px 0; }
            .sct-tpl-service-hub .sct-stats-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-service-hub .sct-stat:nth-child(3) { border-left: none; }
            .sct-tpl-service-hub .sct-services-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-service-hub .sct-processus-grid { grid-template-columns: repeat(3, 1fr); }
            .sct-tpl-service-hub .sct-why-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-service-hub .sct-usecase-grid { grid-template-columns: 1fr; gap: 50px; }
            .sct-tpl-service-hub .sct-usecase-media img { height: 340px; }
            .sct-tpl-service-hub .sct-engagements-grid { grid-template-columns: 1fr 1fr; }
            .sct-tpl-service-hub .sct-maillage-cities { padding: 68px 0; }
            .sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }

@media (max-width: 640px) {
            .sct-tpl-service-hub .sct-hero { padding: 120px 0 56px; }
            .sct-tpl-service-hub .sct-breadcrumb { font-size: .8rem; gap: 6px; margin-bottom: 18px; }
            .sct-tpl-service-hub .sct-hero-btns { flex-direction: column; }
            .sct-tpl-service-hub .sct-hero-btns > * { width: 100%; justify-content: center; }
            .sct-tpl-service-hub .sct-hero-text h1 { font-size: 1.9rem; line-height: 1.2; }
            .sct-tpl-service-hub .sct-hero-subtitle { font-size: 1rem; }
            .sct-tpl-service-hub .sct-hero-card { padding: 24px 20px; }
            .sct-tpl-service-hub .sct-section { padding: 56px 0; }
            .sct-tpl-service-hub .sct-section-head { margin-bottom: 32px; }
            .sct-tpl-service-hub .sct-stat-num { font-size: 2.1rem; }
            .sct-tpl-service-hub .sct-services-grid,
            .sct-tpl-service-hub .sct-processus-grid,
            .sct-tpl-service-hub .sct-why-grid,
            .sct-tpl-service-hub .sct-engagements-grid { grid-template-columns: 1fr; }
            .sct-tpl-service-hub .sct-usecase-media img { height: 260px; }
            .sct-tpl-service-hub .sct-usecase-stamp { left: 12px; bottom: -18px; }
            .sct-tpl-service-hub .sct-maillage-section { padding: 48px 0; }
            .sct-tpl-service-hub .sct-maillage-cities { padding: 56px 0; }
            .sct-tpl-service-hub .sct-maillage-box { padding: 24px 18px; }
            .sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
            .sct-tpl-service-hub .sct-maillage-cities .sct-maillage-links li a { padding: 10px 11px; font-size: .88rem; }
            .sct-tpl-service-hub .sct-cta-btns { flex-direction: column; }
            .sct-tpl-service-hub .sct-cta-btns > * { width: 100%; }
        }

.sct-tpl-zone .sct-section { padding: 84px 0; }

.sct-tpl-zone .sct-section-sand { background: var(--sct-sand); }

.sct-tpl-zone .sct-section-dark { background: var(--sct-navy); color: #EAF0F6; }

.sct-tpl-zone .sct-section-head { max-width: 780px; margin-bottom: 46px; }

.sct-tpl-zone .sct-section-head.sct-center { margin-left: auto; margin-right: auto; text-align: center; }

.sct-tpl-zone .sct-eyebrow {
            display: inline-flex; align-items: center; gap: 10px;
            font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
            color: var(--sct-red); margin-bottom: 14px;
        }

.sct-tpl-zone .sct-eyebrow::before {
            content: ""; width: 14px; height: 14px; background: var(--sct-red); border-radius: 2px; flex: 0 0 auto;
        }

.sct-tpl-zone .sct-section-dark .sct-eyebrow { color: var(--sct-yellow); }

.sct-tpl-zone .sct-section-dark .sct-eyebrow::before { background: var(--sct-yellow); }

.sct-tpl-zone .sct-section-title {
            font-family: 'Barlow Condensed', 'Inter', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: clamp(1.9rem, 4.2vw, 2.9rem); text-transform: uppercase;
            color: var(--sct-navy); margin-bottom: 14px; overflow-wrap: anywhere;
        }

.sct-tpl-zone .sct-section-dark .sct-section-title { color: #fff; }

.sct-tpl-zone .sct-section-lead { color: var(--sct-muted); font-size: 1.04rem; }

.sct-tpl-zone .sct-section-dark .sct-section-lead { color: #B8C6D4; }

.sct-tpl-zone .sct-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.12rem; font-weight: 600;
            letter-spacing: .07em; text-transform: uppercase; text-align: center;
            padding: 15px 30px; border-radius: 4px; border: 2px solid transparent; cursor: pointer;
            transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
        }

.sct-tpl-zone .sct-btn-primary { background: var(--sct-red); color: #fff; box-shadow: 0 10px 24px rgba(211,43,30,.28); }

.sct-tpl-zone .sct-btn-primary:hover { background: var(--sct-red-dark); transform: translateY(-2px); }

.sct-tpl-zone .sct-btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }

.sct-tpl-zone .sct-btn-outline:hover { background: #fff; color: var(--sct-navy); border-color: #fff; }

.sct-tpl-zone .sct-btn-dark { background: var(--sct-navy); color: #fff; }

.sct-tpl-zone .sct-btn-dark:hover { background: var(--sct-navy-light); transform: translateY(-2px); }

.sct-tpl-zone .sct-hero {
            position: relative; padding: 150px 0 90px;
            background-color: var(--sct-navy); background-size: cover; background-position: center;
            border-bottom: 6px solid var(--sct-red); overflow: hidden;
        }

.sct-tpl-zone .sct-hero::after {
            content: ""; position: absolute; inset: 0;
            background: linear-gradient(135deg, rgba(10,18,28,.92) 0%, rgba(21,34,50,.84) 50%, rgba(21,34,50,.66) 100%);
        }

.sct-tpl-zone .sct-hero-container { position: relative; z-index: 2; }

.sct-tpl-zone .sct-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 50px; align-items: center; }

.sct-tpl-zone .sct-hero-grid > * { min-width: 0; }

.sct-tpl-zone .sct-hero-text,
        .sct-tpl-zone .sct-hero-card { min-width: 0; max-width: 100%; }

.sct-tpl-zone .sct-breadcrumb {
            display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
            max-width: 100%; overflow-wrap: anywhere;
            font-size: .86rem; color: #A9BAC9; margin-bottom: 22px;
        }

.sct-tpl-zone .sct-breadcrumb a { color: #D6E0EA; border-bottom: 1px solid transparent; transition: color .2s ease, border-color .2s ease; }

.sct-tpl-zone .sct-breadcrumb a:hover { color: var(--sct-yellow); border-bottom-color: var(--sct-yellow); }

.sct-tpl-zone .sct-bc-sep { color: var(--sct-red); font-weight: 700; }

.sct-tpl-zone .sct-bc-current { color: var(--sct-yellow); font-weight: 600; }

.sct-tpl-zone .sct-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }

.sct-tpl-zone .sct-hero-badge {
            display: inline-flex; align-items: center; gap: 8px;
            font-size: .78rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
            color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.26);
            border-left: 3px solid var(--sct-red); padding: 8px 14px; border-radius: 3px;
        }

.sct-tpl-zone .sct-hero-badge i { color: var(--sct-yellow); }

.sct-tpl-zone .sct-hero-text h1 {
            font-family: 'Barlow Condensed', 'Inter', sans-serif; font-weight: 700; line-height: 1.08;
            color: #fff; font-size: clamp(2.2rem, 5.2vw, 3.8rem); text-transform: uppercase;
            margin-bottom: 20px; overflow-wrap: anywhere;
        }

.sct-tpl-zone .sct-hero-text h1 span { color: var(--sct-yellow); }

.sct-tpl-zone .sct-hero-subtitle { color: #D6E0EA; font-size: 1.08rem; max-width: 640px; margin-bottom: 30px; }

.sct-tpl-zone .sct-hero-btns { display: flex; flex-wrap: wrap; gap: 16px; }

.sct-tpl-zone .sct-hero-trust { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 26px; }

.sct-tpl-zone .sct-hero-trust li { display: flex; align-items: center; gap: 8px; color: #C7D3DE; font-size: .92rem; }

.sct-tpl-zone .sct-hero-trust i { color: var(--sct-yellow); }

.sct-tpl-zone .sct-hero-card {
            background: #fff; border-radius: 6px; border-top: 6px solid var(--sct-red);
            padding: 30px 28px; box-shadow: 0 26px 60px rgba(6,12,20,.4);
        }

.sct-tpl-zone .sct-hero-card-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: 1.8rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 6px;
        }

.sct-tpl-zone .sct-hero-card-sub { font-size: .92rem; color: var(--sct-muted); margin-bottom: 18px; }

.sct-tpl-zone .sct-hero-card-list { margin-bottom: 22px; }

.sct-tpl-zone .sct-hero-card-list li {
            display: flex; align-items: flex-start; gap: 14px;
            padding: 13px 0; border-bottom: 1px dashed var(--sct-border);
        }

.sct-tpl-zone .sct-hero-card-list li:last-child { border-bottom: none; }

.sct-tpl-zone .sct-hero-card-list i {
            width: 36px; height: 36px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
            background: rgba(211,43,30,.09); color: var(--sct-red); border-radius: 3px; font-size: .95rem;
        }

.sct-tpl-zone .sct-hero-card-list .sct-info-label {
            display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sct-muted);
        }

.sct-tpl-zone .sct-hero-card-list .sct-info-value { color: var(--sct-navy); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }

.sct-tpl-zone .sct-hero-card .sct-btn { width: 100%; }

.sct-tpl-zone .sct-stats-band { background: var(--sct-navy); padding: 42px 0; }

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

.sct-tpl-zone .sct-stats-grid > * { min-width: 0; }

.sct-tpl-zone .sct-stat { text-align: center; padding: 14px 10px; border-left: 1px solid rgba(255,255,255,.12); }

.sct-tpl-zone .sct-stat:first-child { border-left: none; }

.sct-tpl-zone .sct-stat-num {
            font-family: 'Barlow Condensed', sans-serif; font-size: 2.6rem; font-weight: 700; line-height: 1;
            color: var(--sct-red); overflow-wrap: anywhere;
        }

.sct-tpl-zone .sct-stat-label {
            display: block; margin-top: 8px; font-size: .8rem; font-weight: 600;
            letter-spacing: .1em; text-transform: uppercase; color: #A9BAC9;
        }

.sct-tpl-zone .sct-intro-wrap { max-width: 880px; margin: 0 auto; }

.sct-tpl-zone .sct-intro-body p { color: var(--sct-text); font-size: 1.03rem; margin-bottom: 18px; }

.sct-tpl-zone .sct-intro-body p:first-child { border-left: 4px solid var(--sct-red); padding-left: 20px; }

.sct-tpl-zone .sct-intro-body strong { color: var(--sct-navy); }

.sct-tpl-zone .sct-intro-body a { color: var(--sct-red); border-bottom: 1px solid currentColor; }

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

.sct-tpl-zone .sct-services-grid > * { min-width: 0; }

.sct-tpl-zone .sct-services-grid > ul { display: contents; list-style: none; }

.sct-tpl-zone .sct-services-grid > ul > li,
        .sct-tpl-zone .sct-services-grid > article,
        .sct-tpl-zone .sct-services-grid > div,
        .sct-tpl-zone .sct-services-grid > a {
            position: relative; display: flex; flex-direction: column; min-width: 0;
            background: #fff; border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-red);
            border-radius: 4px; padding: 26px 24px; box-shadow: 0 4px 16px rgba(21,34,50,.06);
            transition: transform .25s ease, box-shadow .25s ease, border-left-width .25s ease;
        }

.sct-tpl-zone .sct-services-grid > ul > li:hover,
        .sct-tpl-zone .sct-services-grid > article:hover,
        .sct-tpl-zone .sct-services-grid > div:hover,
        .sct-tpl-zone .sct-services-grid > a:hover {
            transform: translateY(-6px); box-shadow: 0 18px 40px rgba(21,34,50,.15); border-left-width: 7px;
        }

.sct-tpl-zone .sct-services-grid img {
            width: 100%; height: 190px; object-fit: cover; border-radius: 4px; margin-bottom: 18px;
        }

.sct-tpl-zone .sct-services-grid i { color: var(--sct-red); }

.sct-tpl-zone .sct-services-grid h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.38rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 10px;
        }

.sct-tpl-zone .sct-services-grid p { font-size: .95rem; color: var(--sct-muted); margin-bottom: 14px; }

.sct-tpl-zone .sct-services-grid a { color: var(--sct-navy); font-weight: 600; transition: color .2s ease; }

.sct-tpl-zone .sct-services-grid a:hover { color: var(--sct-red); }

.sct-tpl-zone .sct-services-grid p:last-child,
        .sct-tpl-zone .sct-services-grid li > a:last-child { margin-top: auto; }

.sct-tpl-zone .sct-services-grid li > a:only-child {
            display: flex; align-items: center; gap: 10px;
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.3rem; font-weight: 700; text-transform: uppercase; line-height: 1.2;
        }

.sct-tpl-zone .sct-services-grid li > a:only-child::after {
            content: "\f061"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .9rem; color: var(--sct-red); margin-left: auto;
        }

.sct-tpl-zone .sct-zones-box {
            background: #fff; border: 1px solid var(--sct-border); border-top: 5px solid var(--sct-navy);
            border-radius: 4px; padding: 34px 32px;
        }

.sct-tpl-zone .sct-zones-content ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; }

.sct-tpl-zone .sct-zones-content li {
            display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
            background: var(--sct-sand); border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-red);
            border-radius: 3px; padding: 9px 14px; font-weight: 500; color: var(--sct-navy); font-size: .95rem;
        }

.sct-tpl-zone .sct-zones-content li::before {
            content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--sct-red); font-size: .85rem;
        }

.sct-tpl-zone .sct-zones-content a { color: inherit; }

.sct-tpl-zone .sct-zones-content a:hover { color: var(--sct-red); }

.sct-tpl-zone .sct-zones-content p { color: var(--sct-muted); margin-top: 18px; }

.sct-tpl-zone .sct-zones-content p:first-child { margin-top: 0; margin-bottom: 18px; }

.sct-tpl-zone .sct-usecase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }

.sct-tpl-zone .sct-usecase-grid > * { min-width: 0; }

.sct-tpl-zone .sct-usecase-media { position: relative; }

.sct-tpl-zone .sct-usecase-media img {
            width: 100%; height: 420px; object-fit: cover; border-radius: 4px; box-shadow: 0 22px 50px rgba(21,34,50,.2);
        }

.sct-tpl-zone .sct-usecase-stamp {
            position: absolute; bottom: -20px; left: -16px; background: var(--sct-red); color: #fff;
            padding: 14px 20px; border-radius: 4px; box-shadow: 0 14px 30px rgba(211,43,30,.35);
        }

.sct-tpl-zone .sct-usecase-stamp strong {
            display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 2rem; line-height: 1;
        }

.sct-tpl-zone .sct-usecase-stamp span { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }

.sct-tpl-zone .sct-usecase-content p { color: var(--sct-muted); margin-bottom: 16px; }

.sct-tpl-zone .sct-usecase-content strong { color: var(--sct-navy); }

.sct-tpl-zone .sct-usecase-content ul { margin: 0 0 16px; display: grid; gap: 10px; }

.sct-tpl-zone .sct-usecase-content li { position: relative; padding-left: 26px; color: var(--sct-text); }

.sct-tpl-zone .sct-usecase-content li::before {
            content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--sct-red);
        }

.sct-tpl-zone .sct-engagements-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }

.sct-tpl-zone .sct-engagements-grid > * { min-width: 0; }

.sct-tpl-zone .sct-engagement-card {
            background: #fff; border: 1px solid var(--sct-border); border-radius: 4px; padding: 32px 28px; text-align: center;
            box-shadow: 0 4px 16px rgba(21,34,50,.06); transition: transform .25s ease, box-shadow .25s ease;
        }

.sct-tpl-zone .sct-engagement-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(21,34,50,.13); }

.sct-tpl-zone .sct-engagement-icon {
            width: 62px; height: 62px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center;
            background: var(--sct-navy); color: var(--sct-yellow); border-radius: 50%; font-size: 1.4rem;
            border: 3px solid var(--sct-red);
        }

.sct-tpl-zone .sct-engagement-card h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.35rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 10px;
        }

.sct-tpl-zone .sct-engagement-card p { font-size: .95rem; color: var(--sct-muted); }

.sct-tpl-zone .sct-local-spec:has(.sct-local-content:empty) { display: none; }

.sct-tpl-zone .sct-local-box {
            max-width: 920px; margin: 0 auto; background: var(--sct-sand); border-left: 5px solid var(--sct-yellow);
            border-radius: 4px; padding: 32px 34px;
        }

.sct-tpl-zone .sct-local-box h2 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.7rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 14px;
        }

.sct-tpl-zone .sct-local-box h2 i { color: var(--sct-red); margin-right: 8px; }

.sct-tpl-zone .sct-local-content p { color: var(--sct-text); margin-bottom: 12px; }

.sct-tpl-zone .sct-local-content p:last-child { margin-bottom: 0; }

.sct-tpl-zone .sct-local-content strong { color: var(--sct-navy); }

.sct-tpl-zone .sct-faq-wrap { max-width: 880px; margin: 0 auto; }

.sct-tpl-zone .sct-faq-list .sct-faq-item,
        .sct-tpl-zone .sct-faq-list details {
            background: #fff; border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-navy);
            border-radius: 4px; padding: 22px 26px; margin-bottom: 16px;
        }

.sct-tpl-zone .sct-faq-list details[open] { border-left-color: var(--sct-red); }

.sct-tpl-zone .sct-faq-list summary { cursor: pointer; list-style: none; }

.sct-tpl-zone .sct-faq-list summary::-webkit-details-marker { display: none; }

.sct-tpl-zone .sct-faq-list h3,
        .sct-tpl-zone .sct-faq-list summary {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.2;
            font-size: 1.24rem; text-transform: uppercase; color: var(--sct-navy);
        }

.sct-tpl-zone .sct-faq-list h3 { margin-bottom: 10px; }

.sct-tpl-zone .sct-faq-list summary h3 { display: inline; margin: 0; }

.sct-tpl-zone .sct-faq-list h3 i { color: var(--sct-red); margin-right: 8px; font-size: .95rem; }

.sct-tpl-zone .sct-faq-list p { color: var(--sct-muted); font-size: .97rem; }

.sct-tpl-zone .sct-faq-list details p { margin-top: 12px; }

.sct-tpl-zone .sct-maillage-section { padding: 64px 0; }

.sct-tpl-zone .sct-maillage-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.7rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 20px;
            padding-bottom: 10px; border-bottom: 2px solid var(--sct-red); display: inline-block;
        }

.sct-tpl-zone .sct-maillage-links p { color: var(--sct-muted); margin-bottom: 14px; }

.sct-tpl-zone .sct-maillage-links ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; }

.sct-tpl-zone .sct-maillage-links > a,
        .sct-tpl-zone .sct-maillage-links li a {
            display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
            background: #fff; border: 1px solid var(--sct-border); border-radius: 3px;
            padding: 10px 16px; font-weight: 500; font-size: .94rem; color: var(--sct-navy);
            transition: background .2s ease, color .2s ease, border-color .2s ease;
        }

.sct-tpl-zone .sct-maillage-links > a::before,
        .sct-tpl-zone .sct-maillage-links li a::before {
            content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--sct-red); font-size: .85rem;
        }

.sct-tpl-zone .sct-maillage-links > a { margin: 0 10px 10px 0; }

.sct-tpl-zone .sct-maillage-links > a:hover,
        .sct-tpl-zone .sct-maillage-links li a:hover { background: var(--sct-red); border-color: var(--sct-red); color: #fff; }

.sct-tpl-zone .sct-maillage-links > a:hover::before,
        .sct-tpl-zone .sct-maillage-links li a:hover::before { color: #fff; }

.sct-tpl-zone .sct-cta-final { background: var(--sct-red); padding: 62px 0; text-align: center; color: #fff; }

.sct-tpl-zone .sct-cta-final h2 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: clamp(1.9rem, 4vw, 2.7rem); text-transform: uppercase; margin-bottom: 12px;
        }

.sct-tpl-zone .sct-cta-final p { color: rgba(255,255,255,.92); max-width: 700px; margin: 0 auto 24px; }

.sct-tpl-zone .sct-cta-phone {
            display: inline-flex; align-items: center; gap: 14px; color: #fff;
            font-family: 'Barlow Condensed', sans-serif; font-size: clamp(2rem, 6vw, 3rem); font-weight: 700;
            transition: transform .2s ease;
        }

.sct-tpl-zone .sct-cta-phone:hover { transform: scale(1.03); }

.sct-tpl-zone .sct-cta-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 24px; }

@media (max-width: 992px) {
            .sct-tpl-zone .sct-hero { padding: 130px 0 70px; }
            .sct-tpl-zone .sct-hero-grid { grid-template-columns: 1fr; gap: 40px; }
            .sct-tpl-zone .sct-hero-card { max-width: 480px; margin: 0 auto; width: 100%; }
            .sct-tpl-zone .sct-section { padding: 68px 0; }
            .sct-tpl-zone .sct-stats-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-zone .sct-stat:nth-child(3) { border-left: none; }
            .sct-tpl-zone .sct-services-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-zone .sct-usecase-grid { grid-template-columns: 1fr; gap: 50px; }
            .sct-tpl-zone .sct-usecase-media img { height: 340px; }
            .sct-tpl-zone .sct-engagements-grid { grid-template-columns: 1fr 1fr; }
        }

@media (max-width: 640px) {
            .sct-tpl-zone .sct-hero { padding: 120px 0 56px; }
            .sct-tpl-zone .sct-breadcrumb { font-size: .8rem; gap: 6px; margin-bottom: 18px; }
            .sct-tpl-zone .sct-hero-btns { flex-direction: column; }
            .sct-tpl-zone .sct-hero-btns > * { width: 100%; justify-content: center; }
            .sct-tpl-zone .sct-hero-text h1 { font-size: 1.9rem; line-height: 1.2; }
            .sct-tpl-zone .sct-hero-subtitle { font-size: 1rem; }
            .sct-tpl-zone .sct-hero-card { padding: 24px 20px; }
            .sct-tpl-zone .sct-section { padding: 56px 0; }
            .sct-tpl-zone .sct-section-head { margin-bottom: 32px; }
            .sct-tpl-zone .sct-stat-num { font-size: 2.1rem; }
            .sct-tpl-zone .sct-services-grid,
            .sct-tpl-zone .sct-engagements-grid { grid-template-columns: 1fr; }
            .sct-tpl-zone .sct-zones-box,
            .sct-tpl-zone .sct-local-box { padding: 24px 20px; }
            .sct-tpl-zone .sct-usecase-media img { height: 260px; }
            .sct-tpl-zone .sct-usecase-stamp { left: 12px; bottom: -18px; }
            .sct-tpl-zone .sct-maillage-section { padding: 48px 0; }
            .sct-tpl-zone .sct-cta-btns { flex-direction: column; }
            .sct-tpl-zone .sct-cta-btns > * { width: 100%; }
        }

.sct-tpl-service-city .sct-section { padding: 84px 0; }

.sct-tpl-service-city .sct-section-sand { background: var(--sct-sand); }

.sct-tpl-service-city .sct-section-dark { background: var(--sct-navy); color: #EAF0F6; }

.sct-tpl-service-city .sct-section-head { max-width: 780px; margin-bottom: 46px; }

.sct-tpl-service-city .sct-section-head.sct-center { margin-left: auto; margin-right: auto; text-align: center; }

.sct-tpl-service-city .sct-eyebrow {
            display: inline-flex; align-items: center; gap: 10px;
            font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
            color: var(--sct-red); margin-bottom: 14px;
        }

.sct-tpl-service-city .sct-eyebrow::before {
            content: ""; width: 14px; height: 14px; background: var(--sct-red); border-radius: 2px; flex: 0 0 auto;
        }

.sct-tpl-service-city .sct-section-dark .sct-eyebrow { color: var(--sct-yellow); }

.sct-tpl-service-city .sct-section-dark .sct-eyebrow::before { background: var(--sct-yellow); }

.sct-tpl-service-city .sct-section-title {
            font-family: 'Barlow Condensed', 'Inter', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: clamp(1.9rem, 4.2vw, 2.9rem); text-transform: uppercase;
            color: var(--sct-navy); margin-bottom: 14px; overflow-wrap: anywhere;
        }

.sct-tpl-service-city .sct-section-dark .sct-section-title { color: #fff; }

.sct-tpl-service-city .sct-section-lead { color: var(--sct-muted); font-size: 1.04rem; }

.sct-tpl-service-city .sct-section-dark .sct-section-lead { color: #B8C6D4; }

.sct-tpl-service-city .sct-btn {
            display: inline-flex; align-items: center; justify-content: center; gap: 10px;
            font-family: 'Barlow Condensed', sans-serif; font-size: 1.12rem; font-weight: 600;
            letter-spacing: .07em; text-transform: uppercase; text-align: center;
            padding: 15px 30px; border-radius: 4px; border: 2px solid transparent; cursor: pointer;
            transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
        }

.sct-tpl-service-city .sct-btn-primary { background: var(--sct-red); color: #fff; box-shadow: 0 10px 24px rgba(211,43,30,.28); }

.sct-tpl-service-city .sct-btn-primary:hover { background: var(--sct-red-dark); transform: translateY(-2px); }

.sct-tpl-service-city .sct-btn-outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }

.sct-tpl-service-city .sct-btn-outline:hover { background: #fff; color: var(--sct-navy); border-color: #fff; }

.sct-tpl-service-city .sct-btn-dark { background: var(--sct-navy); color: #fff; }

.sct-tpl-service-city .sct-btn-dark:hover { background: var(--sct-navy-light); transform: translateY(-2px); }

.sct-tpl-service-city .sct-hero {
            position: relative; padding: 150px 0 90px;
            background-color: var(--sct-navy); background-size: cover; background-position: center;
            border-bottom: 6px solid var(--sct-red); overflow: hidden;
        }

.sct-tpl-service-city .sct-hero::after {
            content: ""; position: absolute; inset: 0;
            background: linear-gradient(135deg, rgba(10,18,28,.92) 0%, rgba(21,34,50,.84) 50%, rgba(21,34,50,.66) 100%);
        }

.sct-tpl-service-city .sct-hero-container { position: relative; z-index: 2; }

.sct-tpl-service-city .sct-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 50px; align-items: center; }

.sct-tpl-service-city .sct-hero-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-hero-text,
        .sct-tpl-service-city .sct-hero-card { min-width: 0; max-width: 100%; }

.sct-tpl-service-city .sct-breadcrumb {
            display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
            max-width: 100%; overflow-wrap: anywhere;
            font-size: .86rem; color: #A9BAC9; margin-bottom: 22px;
        }

.sct-tpl-service-city .sct-breadcrumb a { color: #D6E0EA; border-bottom: 1px solid transparent; transition: color .2s ease, border-color .2s ease; }

.sct-tpl-service-city .sct-breadcrumb a:hover { color: var(--sct-yellow); border-bottom-color: var(--sct-yellow); }

.sct-tpl-service-city .sct-bc-sep { color: var(--sct-red); font-weight: 700; }

.sct-tpl-service-city .sct-bc-current { color: var(--sct-yellow); font-weight: 600; }

.sct-tpl-service-city .sct-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }

.sct-tpl-service-city .sct-hero-badge {
            display: inline-flex; align-items: center; gap: 8px;
            font-size: .78rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
            color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.26);
            border-left: 3px solid var(--sct-red); padding: 8px 14px; border-radius: 3px;
        }

.sct-tpl-service-city .sct-hero-badge i { color: var(--sct-yellow); }

.sct-tpl-service-city .sct-hero-text h1 {
            font-family: 'Barlow Condensed', 'Inter', sans-serif; font-weight: 700; line-height: 1.08;
            color: #fff; font-size: clamp(2.2rem, 5.2vw, 3.8rem); text-transform: uppercase;
            margin-bottom: 20px; overflow-wrap: anywhere;
        }

.sct-tpl-service-city .sct-hero-text h1 span { color: var(--sct-yellow); }

.sct-tpl-service-city .sct-hero-subtitle { color: #D6E0EA; font-size: 1.08rem; max-width: 640px; margin-bottom: 30px; }

.sct-tpl-service-city .sct-hero-btns { display: flex; flex-wrap: wrap; gap: 16px; }

.sct-tpl-service-city .sct-hero-trust { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 26px; }

.sct-tpl-service-city .sct-hero-trust li { display: flex; align-items: center; gap: 8px; color: #C7D3DE; font-size: .92rem; }

.sct-tpl-service-city .sct-hero-trust i { color: var(--sct-yellow); }

.sct-tpl-service-city .sct-hero-card {
            background: #fff; border-radius: 6px; border-top: 6px solid var(--sct-red);
            padding: 30px 28px; box-shadow: 0 26px 60px rgba(6,12,20,.4);
        }

.sct-tpl-service-city .sct-hero-card-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: 1.8rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 6px;
        }

.sct-tpl-service-city .sct-hero-card-sub { font-size: .92rem; color: var(--sct-muted); margin-bottom: 18px; }

.sct-tpl-service-city .sct-hero-card-list { margin-bottom: 22px; }

.sct-tpl-service-city .sct-hero-card-list li {
            display: flex; align-items: flex-start; gap: 14px;
            padding: 13px 0; border-bottom: 1px dashed var(--sct-border);
        }

.sct-tpl-service-city .sct-hero-card-list li:last-child { border-bottom: none; }

.sct-tpl-service-city .sct-hero-card-list i {
            width: 36px; height: 36px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
            background: rgba(211,43,30,.09); color: var(--sct-red); border-radius: 3px; font-size: .95rem;
        }

.sct-tpl-service-city .sct-hero-card-list .sct-info-label {
            display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sct-muted);
        }

.sct-tpl-service-city .sct-hero-card-list .sct-info-value { color: var(--sct-navy); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }

.sct-tpl-service-city .sct-hero-card .sct-btn { width: 100%; }

.sct-tpl-service-city .sct-stats-band { background: var(--sct-navy); padding: 42px 0; }

.sct-tpl-service-city .sct-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.sct-tpl-service-city .sct-stats-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-stat { text-align: center; padding: 14px 10px; border-left: 1px solid rgba(255,255,255,.12); }

.sct-tpl-service-city .sct-stat:first-child { border-left: none; }

.sct-tpl-service-city .sct-stat-num {
            font-family: 'Barlow Condensed', sans-serif; font-size: 2.6rem; font-weight: 700; line-height: 1;
            color: var(--sct-red); overflow-wrap: anywhere;
        }

.sct-tpl-service-city .sct-stat-label {
            display: block; margin-top: 8px; font-size: .8rem; font-weight: 600;
            letter-spacing: .1em; text-transform: uppercase; color: #A9BAC9;
        }

.sct-tpl-service-city .sct-intro-wrap { max-width: 880px; margin: 0 auto; }

.sct-tpl-service-city .sct-intro-body p { color: var(--sct-text); font-size: 1.03rem; margin-bottom: 18px; }

.sct-tpl-service-city .sct-intro-body p:first-child { border-left: 4px solid var(--sct-red); padding-left: 20px; }

.sct-tpl-service-city .sct-intro-body strong { color: var(--sct-navy); }

.sct-tpl-service-city .sct-intro-body a { color: var(--sct-red); border-bottom: 1px solid currentColor; }

.sct-tpl-service-city .sct-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.sct-tpl-service-city .sct-services-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-service-card {
            display: flex; flex-direction: column; background: #fff;
            border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-red); border-radius: 4px;
            padding-bottom: 26px; box-shadow: 0 4px 16px rgba(21,34,50,.06);
            transition: transform .25s ease, box-shadow .25s ease, border-left-width .25s ease;
        }

.sct-tpl-service-city .sct-service-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(21,34,50,.15); border-left-width: 7px; }

.sct-tpl-service-city .sct-service-media { padding: 14px 14px 0; overflow: hidden; }

.sct-tpl-service-city .sct-service-media img {
            width: 100%; height: 210px; object-fit: cover; border-radius: 4px; transition: transform .3s ease;
        }

.sct-tpl-service-city .sct-service-card:hover .sct-service-media img { transform: scale(1.03); }

.sct-tpl-service-city .sct-service-body { padding: 20px 24px 0; }

.sct-tpl-service-city .sct-service-body h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.42rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 10px;
        }

.sct-tpl-service-city .sct-service-body p { font-size: .96rem; color: var(--sct-muted); }

.sct-tpl-service-city .sct-processus-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; counter-reset: sctstep; }

.sct-tpl-service-city .sct-processus-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-step {
            position: relative; background: #fff; border: 1px solid var(--sct-border); border-radius: 4px;
            padding: 30px 20px 24px; overflow: hidden; counter-increment: sctstep;
        }

.sct-tpl-service-city .sct-step::after {
            content: counter(sctstep, decimal-leading-zero); position: absolute; top: -14px; right: 8px;
            font-family: 'Barlow Condensed', sans-serif; font-size: 5rem; font-weight: 700; line-height: 1;
            color: transparent; -webkit-text-stroke: 2px rgba(211,43,30,.2); pointer-events: none;
        }

.sct-tpl-service-city .sct-step-icon {
            position: relative; z-index: 1; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
            background: var(--sct-red); color: #fff; border-radius: 3px; font-size: 1.1rem; margin-bottom: 16px;
        }

.sct-tpl-service-city .sct-step h3 {
            position: relative; z-index: 1; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.25rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 8px;
        }

.sct-tpl-service-city .sct-step p { position: relative; z-index: 1; font-size: .92rem; color: var(--sct-muted); }

.sct-tpl-service-city .sct-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

.sct-tpl-service-city .sct-why-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-why-card {
            background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-top: 4px solid var(--sct-red);
            border-radius: 4px; padding: 30px 24px; transition: background .25s ease, transform .25s ease;
        }

.sct-tpl-service-city .sct-why-card:hover { background: rgba(255,255,255,.1); transform: translateY(-4px); }

.sct-tpl-service-city .sct-why-card i { display: block; font-size: 1.6rem; color: var(--sct-yellow); margin-bottom: 16px; }

.sct-tpl-service-city .sct-why-card h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.3rem; text-transform: uppercase; color: #fff; margin-bottom: 10px;
        }

.sct-tpl-service-city .sct-why-card p { font-size: .94rem; color: #B8C6D4; }

.sct-tpl-service-city .sct-zones-box {
            background: #fff; border: 1px solid var(--sct-border); border-top: 5px solid var(--sct-navy);
            border-radius: 4px; padding: 34px 32px;
        }

.sct-tpl-service-city .sct-zones-content ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; }

.sct-tpl-service-city .sct-zones-content li {
            display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
            background: var(--sct-sand); border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-red);
            border-radius: 3px; padding: 9px 14px; font-weight: 500; color: var(--sct-navy); font-size: .95rem;
        }

.sct-tpl-service-city .sct-zones-content li::before {
            content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--sct-red); font-size: .85rem;
        }

.sct-tpl-service-city .sct-zones-content a { color: inherit; }

.sct-tpl-service-city .sct-zones-content a:hover { color: var(--sct-red); }

.sct-tpl-service-city .sct-zones-content p { color: var(--sct-muted); margin-top: 18px; }

.sct-tpl-service-city .sct-usecase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }

.sct-tpl-service-city .sct-usecase-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-usecase-media { position: relative; }

.sct-tpl-service-city .sct-usecase-media img {
            width: 100%; height: 420px; object-fit: cover; border-radius: 4px; box-shadow: 0 22px 50px rgba(21,34,50,.2);
        }

.sct-tpl-service-city .sct-usecase-stamp {
            position: absolute; bottom: -20px; left: -16px; background: var(--sct-red); color: #fff;
            padding: 14px 20px; border-radius: 4px; box-shadow: 0 14px 30px rgba(211,43,30,.35);
        }

.sct-tpl-service-city .sct-usecase-stamp strong {
            display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 2rem; line-height: 1;
        }

.sct-tpl-service-city .sct-usecase-stamp span { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }

.sct-tpl-service-city .sct-usecase-content p { color: var(--sct-muted); margin-bottom: 16px; }

.sct-tpl-service-city .sct-usecase-content strong { color: var(--sct-navy); }

.sct-tpl-service-city .sct-usecase-content ul { margin: 0 0 16px; display: grid; gap: 10px; }

.sct-tpl-service-city .sct-usecase-content li { position: relative; padding-left: 26px; color: var(--sct-text); }

.sct-tpl-service-city .sct-usecase-content li::before {
            content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--sct-red);
        }

.sct-tpl-service-city .sct-engagements-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }

.sct-tpl-service-city .sct-engagements-grid > * { min-width: 0; }

.sct-tpl-service-city .sct-engagement-card {
            background: #fff; border: 1px solid var(--sct-border); border-radius: 4px; padding: 32px 28px; text-align: center;
            box-shadow: 0 4px 16px rgba(21,34,50,.06); transition: transform .25s ease, box-shadow .25s ease;
        }

.sct-tpl-service-city .sct-engagement-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(21,34,50,.13); }

.sct-tpl-service-city .sct-engagement-icon {
            width: 62px; height: 62px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center;
            background: var(--sct-navy); color: var(--sct-yellow); border-radius: 50%; font-size: 1.4rem;
            border: 3px solid var(--sct-red);
        }

.sct-tpl-service-city .sct-engagement-card h3 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.35rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 10px;
        }

.sct-tpl-service-city .sct-engagement-card p { font-size: .95rem; color: var(--sct-muted); }

.sct-tpl-service-city .sct-local-spec:has(.sct-local-content:empty) { display: none; }

.sct-tpl-service-city .sct-local-box {
            max-width: 920px; margin: 0 auto; background: var(--sct-sand); border-left: 5px solid var(--sct-yellow);
            border-radius: 4px; padding: 32px 34px;
        }

.sct-tpl-service-city .sct-local-box h2 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.7rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 14px;
        }

.sct-tpl-service-city .sct-local-box h2 i { color: var(--sct-red); margin-right: 8px; }

.sct-tpl-service-city .sct-local-content p { color: var(--sct-text); margin-bottom: 12px; }

.sct-tpl-service-city .sct-local-content p:last-child { margin-bottom: 0; }

.sct-tpl-service-city .sct-local-content strong { color: var(--sct-navy); }

.sct-tpl-service-city .sct-faq-wrap { max-width: 880px; margin: 0 auto; }

.sct-tpl-service-city .sct-faq-list .sct-faq-item,
        .sct-tpl-service-city .sct-faq-list details {
            background: #fff; border: 1px solid var(--sct-border); border-left: 3px solid var(--sct-navy);
            border-radius: 4px; padding: 22px 26px; margin-bottom: 16px;
        }

.sct-tpl-service-city .sct-faq-list details[open] { border-left-color: var(--sct-red); }

.sct-tpl-service-city .sct-faq-list summary { cursor: pointer; list-style: none; }

.sct-tpl-service-city .sct-faq-list summary::-webkit-details-marker { display: none; }

.sct-tpl-service-city .sct-faq-list h3,
        .sct-tpl-service-city .sct-faq-list summary {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.2;
            font-size: 1.24rem; text-transform: uppercase; color: var(--sct-navy);
        }

.sct-tpl-service-city .sct-faq-list h3 { margin-bottom: 10px; }

.sct-tpl-service-city .sct-faq-list summary h3 { display: inline; margin: 0; }

.sct-tpl-service-city .sct-faq-list h3 i { color: var(--sct-red); margin-right: 8px; font-size: .95rem; }

.sct-tpl-service-city .sct-faq-list p { color: var(--sct-muted); font-size: .97rem; }

.sct-tpl-service-city .sct-faq-list details p { margin-top: 12px; }

.sct-tpl-service-city .sct-maillage-section { padding: 64px 0; }

.sct-tpl-service-city .sct-maillage-section + .sct-maillage-section { padding-top: 0; }

.sct-tpl-service-city .sct-maillage-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.15;
            font-size: 1.7rem; text-transform: uppercase; color: var(--sct-navy); margin-bottom: 20px;
            padding-bottom: 10px; border-bottom: 2px solid var(--sct-red); display: inline-block;
        }

.sct-tpl-service-city .sct-maillage-links ul { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; }

.sct-tpl-service-city .sct-maillage-links > a,
        .sct-tpl-service-city .sct-maillage-links li a {
            display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
            background: #fff; border: 1px solid var(--sct-border); border-radius: 3px;
            padding: 10px 16px; font-weight: 500; font-size: .94rem; color: var(--sct-navy);
            transition: background .2s ease, color .2s ease, border-color .2s ease;
        }

.sct-tpl-service-city .sct-maillage-links > a { margin: 0 10px 10px 0; }

.sct-tpl-service-city .sct-maillage-links > a:hover,
        .sct-tpl-service-city .sct-maillage-links li a:hover { background: var(--sct-red); border-color: var(--sct-red); color: #fff; }

.sct-tpl-service-city .sct-maillage-links p { color: var(--sct-muted); margin-bottom: 14px; }

.sct-tpl-service-city .sct-cta-final { background: var(--sct-red); padding: 62px 0; text-align: center; color: #fff; }

.sct-tpl-service-city .sct-cta-final h2 {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700; line-height: 1.1;
            font-size: clamp(1.9rem, 4vw, 2.7rem); text-transform: uppercase; margin-bottom: 12px;
        }

.sct-tpl-service-city .sct-cta-final p { color: rgba(255,255,255,.92); max-width: 700px; margin: 0 auto 24px; }

.sct-tpl-service-city .sct-cta-phone {
            display: inline-flex; align-items: center; gap: 14px; color: #fff;
            font-family: 'Barlow Condensed', sans-serif; font-size: clamp(2rem, 6vw, 3rem); font-weight: 700;
            transition: transform .2s ease;
        }

.sct-tpl-service-city .sct-cta-phone:hover { transform: scale(1.03); }

.sct-tpl-service-city .sct-cta-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 24px; }

@media (max-width: 992px) {
            .sct-tpl-service-city .sct-hero { padding: 130px 0 70px; }
            .sct-tpl-service-city .sct-hero-grid { grid-template-columns: 1fr; gap: 40px; }
            .sct-tpl-service-city .sct-hero-card { max-width: 480px; margin: 0 auto; width: 100%; }
            .sct-tpl-service-city .sct-section { padding: 68px 0; }
            .sct-tpl-service-city .sct-stats-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-service-city .sct-stat:nth-child(3) { border-left: none; }
            .sct-tpl-service-city .sct-services-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-service-city .sct-processus-grid { grid-template-columns: repeat(3, 1fr); }
            .sct-tpl-service-city .sct-why-grid { grid-template-columns: repeat(2, 1fr); }
            .sct-tpl-service-city .sct-usecase-grid { grid-template-columns: 1fr; gap: 50px; }
            .sct-tpl-service-city .sct-usecase-media img { height: 340px; }
            .sct-tpl-service-city .sct-engagements-grid { grid-template-columns: 1fr 1fr; }
        }

@media (max-width: 640px) {
            .sct-tpl-service-city .sct-hero { padding: 120px 0 56px; }
            .sct-tpl-service-city .sct-breadcrumb { font-size: .8rem; gap: 6px; margin-bottom: 18px; }
            .sct-tpl-service-city .sct-hero-btns { flex-direction: column; }
            .sct-tpl-service-city .sct-hero-btns > * { width: 100%; justify-content: center; }
            .sct-tpl-service-city .sct-hero-text h1 { font-size: 1.9rem; line-height: 1.2; }
            .sct-tpl-service-city .sct-hero-subtitle { font-size: 1rem; }
            .sct-tpl-service-city .sct-hero-card { padding: 24px 20px; }
            .sct-tpl-service-city .sct-section { padding: 56px 0; }
            .sct-tpl-service-city .sct-section-head { margin-bottom: 32px; }
            .sct-tpl-service-city .sct-stat-num { font-size: 2.1rem; }
            .sct-tpl-service-city .sct-services-grid,
            .sct-tpl-service-city .sct-processus-grid,
            .sct-tpl-service-city .sct-why-grid,
            .sct-tpl-service-city .sct-engagements-grid { grid-template-columns: 1fr; }
            .sct-tpl-service-city .sct-zones-box,
            .sct-tpl-service-city .sct-local-box { padding: 24px 20px; }
            .sct-tpl-service-city .sct-usecase-media img { height: 260px; }
            .sct-tpl-service-city .sct-usecase-stamp { left: 12px; bottom: -18px; }
            .sct-tpl-service-city .sct-maillage-section { padding: 48px 0; }
            .sct-tpl-service-city .sct-cta-btns { flex-direction: column; }
            .sct-tpl-service-city .sct-cta-btns > * { width: 100%; }
        }

.footer {
            background: #0E1824;
            color: #A9BAC9;
            padding-top: 70px;
            border-top: 5px solid var(--primary);
            font-size: .94rem;
        }

.footer-grid {
            display: grid;
            grid-template-columns: 1.4fr 1fr 1.3fr 1fr 1.3fr;
            gap: 36px;
            padding-bottom: 48px;
        }

.footer-brand img {
            height: 64px;
            width: auto;
            margin-bottom: 18px;
            background: #fff;
            padding: 6px;
            border-radius: 4px;
        }

.footer-brand p { font-size: .9rem; line-height: 1.7; margin-bottom: 20px; }

.footer-social a {
            width: 40px; height: 40px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 4px;
            background: rgba(255,255,255,.07);
            border: 1px solid rgba(255,255,255,.12);
            color: #fff;
            transition: background .2s ease, border-color .2s ease;
        }

.footer-social a:hover { background: var(--primary); border-color: var(--primary); }

.footer-col .col-title {
            display: block;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.2rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .06em;
            color: #fff;
            margin-bottom: 18px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--primary);
            display: inline-block;
        }

.footer-col a { transition: color .2s ease; }

.footer-col .fcontact { display: flex; align-items: flex-start; gap: 10px; }

.footer-col .fcontact i { color: var(--primary); margin-top: 5px; width: 16px; flex: 0 0 auto; }

.footer-bottom {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding-top: 22px;
            padding-bottom: 22px;
            border-top: 1px solid rgba(255,255,255,.1);
            font-size: .84rem;
        }

.footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }

.footer-links a:hover { color: var(--accent); }

.footer-links a[href="/plan-du-site.html"] { color: #fff; }

.legal-btn {
            background: none;
            border: none;
            color: inherit;
            font: inherit;
            cursor: pointer;
            padding: 0;
            transition: color .2s ease;
        }

.legal-btn:hover { color: var(--accent); }

.page-banner {
            position: relative;
            padding-top: 160px;
            padding-bottom: 76px;
            background-color: var(--secondary);
            background-image:
                linear-gradient(135deg, rgba(10,18,28,.94) 0%, rgba(21,34,50,.88) 55%, rgba(36,54,76,.82) 100%),
                repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 14px, transparent 14px 28px);
            border-bottom: 6px solid var(--primary);
            text-align: center;
            overflow: hidden;
        }

.page-banner::before {
            content: "";
            position: absolute;
            right: -60px; top: 50%;
            width: 320px; height: 320px;
            transform: translateY(-50%) rotate(45deg);
            border: 2px solid rgba(211,43,30,.25);
            pointer-events: none;
        }

.page-banner .container { position: relative; z-index: 2; }

.breadcrumb {
            display: inline-flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
            font-size: .8rem;
            font-weight: 600;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: #A9BAC9;
            margin-bottom: 20px;
        }

.breadcrumb a { color: #fff; transition: color .2s ease; }

.breadcrumb a:hover { color: var(--accent); }

.breadcrumb i { font-size: .7rem; color: var(--primary); }

.page-banner h1 {
            color: #fff;
            font-size: clamp(2.5rem, 6vw, 4rem);
            text-transform: uppercase;
            margin-bottom: 14px;
        }

.page-banner h1 span { color: var(--accent); }

.page-banner p {
            color: #D6E0EA;
            font-size: 1.1rem;
            max-width: 620px;
            margin: 0 auto;
        }

.banner-counts {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
            margin-top: 28px;
        }

.sitemap-toc {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
            margin-bottom: 64px;
        }

.sitemap-toc a {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.05rem;
            font-weight: 600;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: var(--secondary);
            background: var(--white);
            border: 1px solid var(--border);
            border-bottom: 3px solid var(--primary);
            border-radius: 4px;
            padding: 10px 18px;
            transition: background .2s ease, color .2s ease, transform .2s ease;
        }

.sitemap-toc a i { color: var(--primary); transition: color .2s ease; }

.sitemap-toc a:hover { background: var(--secondary); color: #fff; transform: translateY(-2px); }

.sitemap-toc a:hover i { color: var(--accent); }

.sitemap-block {
            background: var(--white);
            border: 1px solid var(--border);
            border-top: 5px solid var(--secondary);
            border-radius: 4px;
            padding: 38px 36px;
            box-shadow: 0 4px 16px rgba(21,34,50,.06);
        }

.sitemap-block + .sitemap-block { margin-top: 0; }

.sitemap-sep {
            display: flex;
            align-items: center;
            gap: 16px;
            margin: 52px 0;
            color: var(--primary);
        }

.sitemap-sep::before,
        .sitemap-sep::after {
            content: "";
            flex: 1 1 auto;
            height: 1px;
            background: var(--border);
        }

.sitemap-sep i { font-size: .9rem; }

.sitemap-head {
            display: flex;
            align-items: flex-start;
            gap: 18px;
            margin-bottom: 26px;
        }

.sitemap-icon {
            width: 52px; height: 52px;
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--primary);
            color: #fff;
            border-radius: 4px;
            font-size: 1.25rem;
            box-shadow: 0 8px 18px rgba(211,43,30,.25);
        }

.sitemap-head h2 {
            font-size: clamp(1.7rem, 3.4vw, 2.2rem);
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 4px;
        }

.sitemap-head p { color: var(--text-light); font-size: .96rem; }

.sitemap-count {
            display: inline-block;
            margin-left: 8px;
            font-family: 'Inter', sans-serif;
            font-size: .78rem;
            font-weight: 700;
            letter-spacing: .06em;
            vertical-align: middle;
            color: var(--primary);
            background: rgba(211,43,30,.09);
            padding: 3px 10px;
            border-radius: 20px;
        }

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

.chip {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            max-width: 100%;
            font-size: .93rem;
            font-weight: 500;
            line-height: 1.35;
            color: var(--secondary);
            background: var(--sand);
            border: 1px solid var(--border);
            border-left: 3px solid var(--primary);
            border-radius: 4px;
            padding: 11px 16px;
            transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
        }

.chip i { color: var(--primary); font-size: .85rem; flex: 0 0 auto; transition: color .2s ease; }

.chip:hover {
            background: var(--secondary);
            color: #fff;
            border-color: var(--secondary);
            border-left-color: var(--accent);
            transform: translateY(-2px);
            box-shadow: 0 10px 22px rgba(21,34,50,.16);
        }

.chip:hover i { color: var(--accent); }

.chip-home {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.15rem;
            font-weight: 600;
            letter-spacing: .06em;
            text-transform: uppercase;
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
            border-left-color: var(--primary-dark);
            padding: 13px 22px;
        }

.chip-home i { color: #fff; }

.chip-city { background: var(--white); padding: 9px 14px; font-size: .9rem; }

.city-groups {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 22px;
        }

.city-group {
            background: var(--sand);
            border: 1px solid var(--border);
            border-left: 4px solid var(--primary);
            border-radius: 4px;
            padding: 24px 22px;
        }

.city-group h3 {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 1.3rem;
            text-transform: uppercase;
            color: var(--secondary);
            margin-bottom: 16px;
        }

.city-group h3 a { transition: color .2s ease; }

.city-group h3 a:hover { color: var(--primary); }

.city-group h3 i { color: var(--primary); font-size: 1rem; }

.city-group .chips { gap: 10px; }

.zone-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

.zone-chip {
            display: flex;
            align-items: center;
            gap: 16px;
            background: var(--sand);
            border: 1px solid var(--border);
            border-left: 4px solid var(--primary);
            border-radius: 4px;
            padding: 18px 20px;
            transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
        }

.zone-chip .zc-pin {
            width: 40px; height: 40px;
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: var(--white);
            color: var(--primary);
            border: 1px solid var(--border);
        }

.zone-chip strong {
            display: block;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 1.25rem;
            font-weight: 700;
            text-transform: uppercase;
            color: var(--secondary);
            line-height: 1.15;
            transition: color .2s ease;
        }

.zone-chip small { display: block; font-size: .86rem; color: var(--text-light); transition: color .2s ease; }

.zone-chip .zc-arrow { margin-left: auto; color: var(--primary); transition: transform .2s ease, color .2s ease; }

.zone-chip:hover {
            background: var(--secondary);
            border-color: var(--secondary);
            border-left-color: var(--accent);
            transform: translateY(-3px);
            box-shadow: 0 14px 30px rgba(21,34,50,.16);
        }

.zone-chip:hover strong { color: #fff; }

.zone-chip:hover small { color: #B8C6D4; }

.zone-chip:hover .zc-arrow { color: var(--accent); transform: translateX(4px); }

@media (max-width: 1080px) {
            .footer-grid { grid-template-columns: repeat(3, 1fr); }
            .footer-brand { grid-column: 1 / -1; }
        }

@media (max-width: 960px) {
            .menu-toggle {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 46px; height: 46px;
                flex: 0 0 auto;
                font-size: 1.3rem;
                color: #fff;
                background: var(--primary);
                border-radius: 4px;
            }
            .nav {
                display: none;
                position: absolute;
                top: 100%; left: 0; right: 0;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                background: #fff;
                border-top: 1px solid var(--border);
                border-bottom: 3px solid var(--primary);
                box-shadow: 0 18px 30px rgba(21,34,50,.15);
                padding: 10px 20px 20px;
            }
            .nav a { padding: 14px 4px; border-bottom: 1px solid var(--border); }
            .nav a:hover { border-bottom-color: var(--border); }
            .nav .btn-cta-nav { margin-top: 14px; text-align: center; padding: 14px 20px; }
            .menu-check:checked ~ .nav { display: flex; }
            .city-groups { grid-template-columns: 1fr; }
        }

@media (max-width: 720px) {
            .section { padding-top: 60px; padding-bottom: 60px; }
            .logo img { height: 42px; }
            .logo-text { font-size: 1.08rem; }
            .page-banner { padding-top: 130px; padding-bottom: 56px; }
            .sitemap-block { padding: 28px 20px; }
            .sitemap-sep { margin: 38px 0; }
            .zone-chips { grid-template-columns: 1fr; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .footer-bottom { flex-direction: column; text-align: center; }
            .footer-links { justify-content: center; }
        }

@media (max-width: 480px) {
            .logo-text { display: none; }
            .sitemap-head { flex-direction: column; gap: 12px; }
            .chips { gap: 8px; }
            .chip { width: 100%; }
            .city-group .chip-city { width: auto; flex: 1 1 calc(50% - 8px); justify-content: flex-start; }
            .footer-grid { grid-template-columns: 1fr; }
        }