/*
 * TWF Services - Security-led homepage
 * Scoped to .twf-security-home so the rest of the website remains untouched.
 */

:root {
    --twf-sec-ink: #05090d;
    --twf-sec-ink-2: #081117;
    --twf-sec-panel: #0d1a22;
    --twf-sec-panel-2: #122630;
    --twf-sec-line: rgba(110, 211, 231, 0.22);
    --twf-sec-cyan: #66d6eb;
    --twf-sec-teal: #53a0b5;
    --twf-sec-green: #78ae40;
    --twf-sec-white: #f7fbfc;
    --twf-sec-muted: #aabac1;
    --twf-sec-alert: #e80566;
    --twf-sec-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
}

.twf-security-home {
    overflow: hidden;
    background: var(--twf-sec-ink);
    color: var(--twf-sec-muted);
}

.twf-security-home h1,
.twf-security-home h2,
.twf-security-home h3,
.twf-security-home h4,
.twf-security-home h5 {
    font-family: 'Barlow Condensed', 'Montserrat', sans-serif;
    letter-spacing: -0.01em;
}

.twf-security-home a:focus-visible,
.twf-security-home button:focus-visible {
    outline: 3px solid var(--twf-sec-cyan);
    outline-offset: 4px;
}

.twf-sec-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--twf-sec-cyan);
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.twf-sec-kicker::before {
    content: '';
    width: 34px;
    height: 2px;
    background: linear-gradient(90deg, var(--twf-sec-green), var(--twf-sec-cyan));
    box-shadow: 0 0 16px rgba(102, 214, 235, 0.6);
}

.twf-sec-heading {
    color: var(--twf-sec-white);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 800;
    line-height: 0.95;
    text-transform: uppercase;
}

.twf-sec-copy {
    max-width: 760px;
    color: #b8c7cd;
    font-size: 17px;
    line-height: 1.8;
}

/* ------------------------------
   1. HERO / SECURITY CAROUSEL
------------------------------ */
.twf-sec-hero {
    position: relative;
    min-height: 860px;
    margin-top: 50px;
    background: #05090d;
    isolation: isolate;
}

.twf-sec-hero::before {
    content: '';
    position: absolute;
    z-index: 6;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(102, 214, 235, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(102, 214, 235, 0.045) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.8), transparent 80%);
}

.twf-sec-hero::after {
    content: '';
    position: absolute;
    z-index: 7;
    top: 0;
    left: -20%;
    width: 140%;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(102,214,235,.85), transparent);
    box-shadow: 0 0 20px rgba(102,214,235,.55);
    animation: twfScan 7s linear infinite;
    opacity: .6;
}

@keyframes twfScan {
    0% { transform: translateY(0); }
    100% { transform: translateY(860px); }
}

.twf-sec-hero__carousel,
.twf-sec-hero__carousel .owl-stage-outer,
.twf-sec-hero__carousel .owl-stage,
.twf-sec-hero__carousel .owl-item,
.twf-sec-hero__slide {
    min-height: 860px;
}

.twf-sec-hero__slide {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-image:
        linear-gradient(90deg, rgba(3,7,10,.96) 0%, rgba(4,10,14,.84) 44%, rgba(4,10,14,.3) 74%, rgba(4,10,14,.56) 100%),
        linear-gradient(180deg, rgba(5,9,13,.08), rgba(5,9,13,.75)),
        var(--twf-hero-image);
    background-position: center;
    background-size: cover;
}

.twf-sec-hero__slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 78% 38%, rgba(102,214,235,.13), transparent 25%),
        linear-gradient(115deg, transparent 0 62%, rgba(120,174,64,.08) 62% 63%, transparent 63% 100%);
    pointer-events: none;
}

.twf-sec-hero__content {
    position: relative;
    z-index: 3;
    max-width: 850px;
    padding: 110px 0 150px;
}

.twf-sec-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    padding: 8px 13px;
    border: 1px solid rgba(102,214,235,.28);
    background: rgba(8,17,23,.72);
    color: #d7f7ff;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.twf-sec-hero__eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--twf-sec-green);
    box-shadow: 0 0 0 5px rgba(120,174,64,.12), 0 0 18px rgba(120,174,64,.7);
    animation: twfPulse 2.4s ease-in-out infinite;
}

@keyframes twfPulse {
    0%, 100% { opacity: .75; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.12); }
}

.twf-sec-hero h1 {
    max-width: 800px;
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(58px, 7vw, 104px);
    font-weight: 800;
    line-height: .86;
    letter-spacing: -.035em;
    text-transform: uppercase;
    text-shadow: 0 12px 50px rgba(0,0,0,.35);
}

.twf-sec-hero h1 .twf-accent {
    color: transparent;
    -webkit-text-stroke: 1px rgba(102,214,235,.9);
    text-shadow: 0 0 30px rgba(102,214,235,.15);
}

.twf-sec-hero__lead {
    max-width: 700px;
    margin-bottom: 28px;
    color: #d0dce0;
    font-size: 18px;
    line-height: 1.7;
}

.twf-sec-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 34px;
}

.twf-sec-chip {
    padding: 8px 12px;
    border-left: 2px solid var(--twf-sec-green);
    background: rgba(14,30,39,.75);
    color: #e7f2f5;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.twf-sec-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.twf-sec-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 22px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

.twf-sec-btn--primary {
    background: linear-gradient(100deg, var(--twf-sec-green), #92c95e);
    color: #071006;
    box-shadow: 0 12px 30px rgba(120,174,64,.18);
}

.twf-sec-btn--primary:hover {
    color: #071006;
    transform: translateY(-2px);
}

.twf-sec-btn--ghost {
    border-color: rgba(102,214,235,.42);
    background: rgba(7,15,20,.66);
    color: #f3fcff;
    backdrop-filter: blur(10px);
}

.twf-sec-btn--ghost:hover {
    border-color: var(--twf-sec-cyan);
    background: rgba(102,214,235,.08);
    color: #fff;
    transform: translateY(-2px);
}

.twf-sec-hero__slide-index {
    position: absolute;
    z-index: 2;
    right: 5vw;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,.04);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: min(30vw, 360px);
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
}

.twf-sec-hero__hud {
    position: absolute;
    z-index: 9;
    right: 0;
    bottom: 0;
    left: 0;
    border-top: 1px solid rgba(102,214,235,.18);
    background: rgba(5,9,13,.85);
    backdrop-filter: blur(18px);
}

.twf-sec-hero__hud-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.twf-sec-hud-item {
    position: relative;
    min-height: 86px;
    padding: 20px 26px;
    border-right: 1px solid rgba(102,214,235,.14);
}

.twf-sec-hud-item:last-child { border-right: 0; }

.twf-sec-hud-item span {
    display: block;
    color: #8398a1;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.twf-sec-hud-item strong {
    display: block;
    margin-top: 4px;
    color: #f3f8f9;
    font-size: 14px;
    letter-spacing: .02em;
}

.twf-sec-hero__controls {
    position: absolute;
    z-index: 10;
    right: max(25px, calc((100vw - 1140px) / 2));
    bottom: 112px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.twf-sec-hero__control {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(102,214,235,.27);
    background: rgba(5,10,14,.76);
    color: #dff8fd;
    cursor: pointer;
    transition: .2s ease;
    backdrop-filter: blur(10px);
}

.twf-sec-hero__control:hover {
    border-color: var(--twf-sec-cyan);
    background: rgba(102,214,235,.1);
    color: #fff;
}

.twf-sec-hero__progress {
    width: 110px;
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.14);
}

.twf-sec-hero__progress > span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--twf-sec-green), var(--twf-sec-cyan));
}

.twf-sec-hero__progress > span.is-running {
    animation: twfHeroProgress 7s linear forwards;
}

@keyframes twfHeroProgress { from { width: 0; } to { width: 100%; } }

/* ------------------------------
   2. TRUST / CREDENTIALS
------------------------------ */
.twf-sec-trust {
    position: relative;
    padding: 125px 0 135px;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 10%, rgba(83,160,181,.12), transparent 24%),
        radial-gradient(circle at 88% 82%, rgba(120,174,64,.09), transparent 26%),
        linear-gradient(180deg, #081117 0%, #0b151c 100%);
}

.twf-sec-trust::after {
    content: 'VERIFIED';
    position: absolute;
    right: -25px;
    top: 48px;
    color: rgba(255,255,255,.022);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 210px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    pointer-events: none;
}

.twf-sec-trust__intro {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 60px;
    align-items: end;
    margin-bottom: 55px;
}

.twf-sec-radar {
    position: relative;
    width: 210px;
    height: 210px;
    margin-left: auto;
    border: 1px solid rgba(102,214,235,.18);
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 0 24%, rgba(102,214,235,.12) 25% 25.7%, transparent 26% 49%, rgba(102,214,235,.10) 50% 50.6%, transparent 51% 74%, rgba(102,214,235,.08) 75% 75.6%, transparent 76%),
        linear-gradient(rgba(102,214,235,.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(102,214,235,.09) 1px, transparent 1px);
    background-size: auto, 50% 50%, 50% 50%;
    box-shadow: inset 0 0 40px rgba(102,214,235,.05), 0 0 50px rgba(83,160,181,.07);
}

.twf-sec-radar::before {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: conic-gradient(from 35deg, transparent 0 74%, rgba(120,174,64,.32) 88%, rgba(102,214,235,.65) 100%);
    mask: radial-gradient(circle, transparent 0 10%, #000 11% 100%);
    animation: twfRadar 5s linear infinite;
}

.twf-sec-radar::after {
    content: 'STANDARD / CONTROL';
    position: absolute;
    right: 0;
    bottom: -31px;
    color: #70858e;
    font-family: 'Montserrat', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .2em;
}

@keyframes twfRadar { to { transform: rotate(360deg); } }

@keyframes twfSecuritySweep {
    0% { transform: translateX(-8%) rotate(18deg); opacity: 0; }
    12% { opacity: .9; }
    50% { opacity: .6; }
    88% { opacity: .9; }
    100% { transform: translateX(240%) rotate(18deg); opacity: 0; }
}

.twf-sec-credentials {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.twf-sec-credential {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 490px;
    overflow: hidden;
    border: 1px solid rgba(102,214,235,.15);
    background: linear-gradient(155deg, rgba(20,40,50,.92), rgba(8,17,23,.96));
    box-shadow: var(--twf-sec-shadow);
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
}

.twf-sec-credential::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 48%;
    height: 3px;
    background: linear-gradient(90deg, var(--twf-sec-green), var(--twf-sec-cyan));
}

.twf-sec-credential__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    padding: 30px;
    background: #fff;
}

.twf-sec-credential__visual img {
    display: block;
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
}

.twf-sec-credential--sia .twf-sec-credential__visual {
    padding: 30px;
}

.twf-sec-credential--sia .twf-sec-credential__visual a {
    display: inline-block;
    padding: 12px;
    line-height: 0;
}

.twf-sec-credential--sia .twf-sec-credential__visual img {
    width: 180px;
    max-height: 180px;
}

.twf-sec-credential--fpa .twf-sec-credential__visual img {
    width: 100%;
    max-height: 125px;
}

.twf-sec-credential--iso .twf-sec-credential__visual img {
    max-height: 175px;
}

.twf-sec-credential__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 30px 30px 28px;
}

.twf-sec-credential__label {
    color: var(--twf-sec-cyan);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.twf-sec-credential h3 {
    margin: 7px 0 12px;
    color: #fff;
    font-size: 31px;
    font-weight: 700;
    text-transform: uppercase;
}

.twf-sec-credential p {
    color: #a9bbc3;
    font-size: 14px;
    line-height: 1.7;
}

.twf-sec-credential__meta {
    margin-top: auto;
    padding-top: 17px;
    border-top: 1px solid rgba(102,214,235,.12);
    color: #d9e7ea;
    font-size: 12px;
    line-height: 1.6;
}

.twf-sec-credential__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 13px;
    color: var(--twf-sec-green);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.twf-sec-credential__link:hover { color: #a9d77d; }

/* ------------------------------
   3. SECURITY SERVICE MATRIX
------------------------------ */
.twf-sec-services {
    position: relative;
    overflow: hidden;
    padding: 135px 0 125px;
    background:
        linear-gradient(135deg, rgba(102,214,235,.04) 0 1px, transparent 1px 80px),
        linear-gradient(45deg, rgba(120,174,64,.035) 0 1px, transparent 1px 80px),
        #05090d;
    background-size: 80px 80px;
}

.twf-sec-services::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 24%, rgba(102,214,235,.10), transparent 22%),
        radial-gradient(circle at 84% 16%, rgba(120,174,64,.08), transparent 18%),
        repeating-linear-gradient(0deg, rgba(102,214,235,.04) 0 1px, transparent 1px 44px);
    opacity: .95;
}

.twf-sec-services::after {
    content: '';
    position: absolute;
    top: -25%;
    left: -45%;
    width: 62%;
    height: 175%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, rgba(102,214,235,.02) 18%, rgba(102,214,235,.14) 50%, rgba(120,174,64,.06) 70%, transparent 100%);
    transform: rotate(18deg);
    filter: blur(4px);
    animation: twfSecuritySweep 10s linear infinite;
}

.twf-sec-services > .container {
    position: relative;
    z-index: 2;
}

.twf-sec-services__header {
    display: grid;
    grid-template-columns: 1fr .75fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 60px;
}

.twf-sec-services__layout {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 26px;
    align-items: stretch;
}

.twf-sec-services__visual {
    position: relative;
    min-height: 780px;
    overflow: hidden;
    border: 1px solid rgba(102,214,235,.17);
    background: #0a1218;
    box-shadow: var(--twf-sec-shadow);
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 30px 100%, 0 calc(100% - 30px));
}

.twf-sec-services__visual img {
    width: 100%;
    height: 100%;
    min-height: 780px;
    object-fit: cover;
    filter: saturate(.78) contrast(1.08);
}

.twf-sec-services__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(5,9,13,.93), transparent 56%),
        linear-gradient(90deg, rgba(5,9,13,.35), transparent 55%);
}

.twf-sec-services__visual-tag {
    position: absolute;
    z-index: 3;
    right: 28px;
    bottom: 30px;
    left: 28px;
    padding: 22px;
    border-left: 3px solid var(--twf-sec-green);
    background: rgba(7,15,20,.78);
    backdrop-filter: blur(14px);
}

.twf-sec-services__visual-tag span {
    display: block;
    color: var(--twf-sec-cyan);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.twf-sec-services__visual-tag strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 19px;
}

.twf-sec-services__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.twf-sec-service-card {
    position: relative;
    min-height: 245px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(102,214,235,.13);
    background: linear-gradient(145deg, rgba(17,35,44,.92), rgba(8,17,23,.95));
    transition: border-color .25s ease, box-shadow .25s ease;
    transform-style: preserve-3d;
}

.twf-sec-service-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 54px;
    height: 54px;
    border-top: 1px solid rgba(120,174,64,.55);
    border-right: 1px solid rgba(120,174,64,.55);
}

.twf-sec-service-card:hover {
    border-color: rgba(102,214,235,.34);
    box-shadow: 0 20px 55px rgba(0,0,0,.24), inset 0 0 45px rgba(102,214,235,.025);
}

.twf-sec-service-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 47px;
    height: 47px;
    margin-bottom: 20px;
    border: 1px solid rgba(102,214,235,.22);
    background: rgba(102,214,235,.05);
    color: var(--twf-sec-cyan);
    font-size: 19px;
}

.twf-sec-service-card__number {
    position: absolute;
    right: 23px;
    bottom: 11px;
    color: rgba(255,255,255,.035);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 76px;
    font-weight: 800;
    line-height: 1;
}

.twf-sec-service-card h3 {
    margin-bottom: 11px;
    color: #fff;
    font-size: 27px;
    font-weight: 700;
    text-transform: uppercase;
}

.twf-sec-service-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #9fb1b9;
    font-size: 13px;
    line-height: 1.72;
}

.twf-sec-operational {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    margin-top: 26px;
    border: 1px solid rgba(102,214,235,.13);
    background: #091218;
}

.twf-sec-operational__item {
    padding: 25px 24px;
    border-right: 1px solid rgba(102,214,235,.11);
}

.twf-sec-operational__item:last-child { border-right: 0; }

.twf-sec-operational__item i {
    margin-right: 9px;
    color: var(--twf-sec-green);
}

.twf-sec-operational__item strong {
    color: #edf7f9;
    font-size: 13px;
}

.twf-sec-scope-note {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-top: 24px;
    padding: 17px 20px;
    border-left: 3px solid var(--twf-sec-cyan);
    background: rgba(102,214,235,.045);
    color: #98aeb7;
    font-size: 12px;
    line-height: 1.65;
}

.twf-sec-scope-note i { margin-top: 3px; color: var(--twf-sec-cyan); }
.twf-sec-scope-note strong { color: #e7f4f7; }

/* ------------------------------
   RETAINED SECTIONS - REDESIGNED
------------------------------ */
.twf-proof-section {
    position: relative;
    padding: 95px 0;
}

.twf-proof-section__top {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 35px;
    margin-bottom: 40px;
}

.twf-proof-section__top h2 {
    margin: 0;
    font-size: clamp(38px, 4.4vw, 62px);
    font-weight: 800;
    line-height: .98;
    text-transform: uppercase;
}

/* Testimonials */
.twf-testimonials {
    background:
        radial-gradient(circle at 90% 0%, rgba(232,5,102,.09), transparent 28%),
        linear-gradient(180deg, #111c22, #0b1318);
}

.twf-testimonials .twf-proof-section__top h2 { color: #fff; }

.twf-testimonial-carousel {
    position: relative;
    border-top: 1px solid rgba(102,214,235,.14);
    border-bottom: 1px solid rgba(102,214,235,.14);
}

.twf-testimonial-card {
    position: relative;
    min-height: 345px;
    padding: 42px 68px 45px 150px;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(17,35,44,.75), rgba(8,17,23,.58));
}

.twf-testimonial-card::before {
    content: '“';
    position: absolute;
    left: 42px;
    top: 5px;
    color: rgba(102,214,235,.22);
    font-family: Georgia, serif;
    font-size: 150px;
    line-height: 1;
}

.twf-testimonial-card__quote {
    max-width: 870px;
    margin-bottom: 28px;
    color: #d7e3e7;
    font-size: 16px;
    line-height: 1.85;
}

.twf-testimonial-card__author {
    display: flex;
    align-items: center;
    gap: 13px;
}

.twf-testimonial-card__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(120,174,64,.45);
    background: rgba(120,174,64,.08);
    color: var(--twf-sec-green);
}

.twf-testimonial-card__author strong { color: #fff; font-size: 13px; }
.twf-testimonial-card__author span { display:block; color:#758a93; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.twf-testimonials .owl-dots { margin-top: 22px !important; }
.twf-testimonials .owl-theme .owl-dots .owl-dot span { width: 30px; height: 3px; border-radius:0; background:#32454d; }
.twf-testimonials .owl-theme .owl-dots .owl-dot.active span { background:var(--twf-sec-green); }

/* General accreditations */
.twf-accreditations {
    background: #eef3f4;
    color: #52656d;
}

.twf-accreditations .twf-sec-kicker { color: #28768a; }
.twf-accreditations .twf-proof-section__top h2 { color: #0d2028; }
.twf-accreditations .twf-proof-section__top p { max-width: 560px; color: #62757c; }

.twf-accreditation-wall {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 12px;
}

.twf-accreditation-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    padding: 25px;
    border: 1px solid #d7e1e4;
    background: #fff;
    box-shadow: 0 10px 30px rgba(14,36,45,.055);
}

.twf-accreditation-tile img {
    max-width: 100%;
    max-height: 95px;
    object-fit: contain;
    filter: saturate(.92);
}

/* All services */
.twf-all-services {
    background:
        linear-gradient(90deg, rgba(102,214,235,.035) 1px, transparent 1px),
        linear-gradient(rgba(102,214,235,.035) 1px, transparent 1px),
        #071016;
    background-size: 42px 42px;
}

.twf-all-services .twf-proof-section__top h2 { color: #fff; }
.twf-all-services .twf-proof-section__top p { max-width: 550px; color:#8fa4ad; }

.twf-service-tiles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.twf-service-tile {
    position: relative;
    min-height: 285px;
    overflow: hidden;
    border: 1px solid rgba(102,214,235,.12);
    background: #0c171d;
}

.twf-service-tile--security,
.twf-service-tile--featured { grid-column: span 2; }

.twf-service-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease;
    filter: saturate(.72) brightness(.62);
}

.twf-service-tile::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(5,10,14,.94) 100%);
}

.twf-service-tile:hover img { transform: scale(1.045); filter: saturate(.9) brightness(.68); }

.twf-service-tile__content {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 23px;
    left: 24px;
}

.twf-service-tile__content span {
    color: var(--twf-sec-cyan);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.twf-service-tile__content h3 {
    margin: 5px 0 10px;
    color: #fff;
    font-size: 27px;
    font-weight: 700;
    text-transform: uppercase;
}

.twf-service-tile__content a {
    color: #cfe6eb;
    font-size: 12px;
    font-weight: 700;
}

.twf-service-tile__content a:hover { color: var(--twf-sec-green); }
.twf-service-tile--security { border-color: rgba(120,174,64,.4); }
.twf-service-tile--security .twf-service-tile__content h3,
.twf-service-tile--featured .twf-service-tile__content h3 { font-size: 36px; }

/* Partners */
.twf-partners {
    padding: 80px 0 95px;
    background:
        radial-gradient(circle at 20% 20%, rgba(83,160,181,.12), transparent 24%),
        linear-gradient(180deg, #101b21 0%, #23132e 100%);
}

.twf-partners .twf-proof-section__top h2 { color:#fff; }
.twf-partners .twf-proof-section__top p { max-width: 560px; color:#a4b4bb; }

.twf-partners .client-logo-wrap {
    position: relative;
    top: auto;
    left: auto;
    padding: 20px 10px;
    border-top: 1px solid rgba(255,255,255,.09);
    border-bottom: 1px solid rgba(255,255,255,.09);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.twf-partners .single-client {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 105px;
    padding: 16px;
    background: rgba(255,255,255,.96);
}

.twf-partners .single-client img {
    max-height: 64px;
    width: auto !important;
    object-fit: contain;
}

.twf-sec-credential--sia .twf-sec-credential__visual img {
    width: min(260px, 100%);
    max-height: none;
    height: auto;
}

/* Reveal utility */
.twf-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.2,.65,.25,1);
}

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

/* ------------------------------
   RESPONSIVE
------------------------------ */
@media (max-width: 1199px) {
    .twf-sec-hero,
    .twf-sec-hero__carousel,
    .twf-sec-hero__carousel .owl-stage-outer,
    .twf-sec-hero__carousel .owl-stage,
    .twf-sec-hero__carousel .owl-item,
    .twf-sec-hero__slide { min-height: 810px; }
    .twf-sec-hero__content { padding-top: 85px; }
    .twf-sec-services__layout { grid-template-columns: .9fr 1.1fr; }
    .twf-sec-service-card { min-height: 260px; padding: 24px; }
    .twf-accreditation-wall { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 991px) {
    .twf-sec-hero { margin-top: 25px; }
    .twf-sec-hero__hud-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .twf-sec-hud-item:nth-child(2) { border-right: 0; }
    .twf-sec-hud-item:nth-child(-n+2) { border-bottom: 1px solid rgba(102,214,235,.12); }
    .twf-sec-hero__content { padding-bottom: 240px; }
    .twf-sec-hero__controls { bottom: 195px; right: 30px; }
    .twf-sec-trust__intro,
    .twf-sec-services__header { grid-template-columns: 1fr; gap: 25px; }
    .twf-sec-radar { display: none; }
    .twf-sec-credentials { grid-template-columns: 1fr; }
    .twf-sec-credential { min-height: 0; display:grid; grid-template-columns: .85fr 1.15fr; }
    .twf-sec-credential__visual { min-height: 290px; }
    .twf-sec-services__layout { grid-template-columns: 1fr; }
    .twf-sec-services__visual,
    .twf-sec-services__visual img { min-height: 560px; }
    .twf-sec-operational { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .twf-sec-operational__item:nth-child(2) { border-right: 0; }
    .twf-sec-operational__item:nth-child(-n+2) { border-bottom: 1px solid rgba(102,214,235,.11); }
    .twf-proof-section__top { align-items:flex-start; flex-direction:column; }
    .twf-service-tiles { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .twf-service-tile--security,
.twf-service-tile--featured { grid-column: span 2; }
    .twf-testimonial-card { padding-left: 120px; }
}

@media (max-width: 767px) {
    .twf-sec-hero,
    .twf-sec-hero__carousel,
    .twf-sec-hero__carousel .owl-stage-outer,
    .twf-sec-hero__carousel .owl-stage,
    .twf-sec-hero__carousel .owl-item,
    .twf-sec-hero__slide { min-height: 800px; }
    .twf-sec-hero__slide { background-position: 62% center; }
    .twf-sec-hero__content { padding: 90px 0 260px; }
    .twf-sec-hero h1 { font-size: clamp(52px, 16vw, 74px); }
    .twf-sec-hero__lead { font-size: 16px; }
    .twf-sec-hero__slide-index { display:none; }
    .twf-sec-hero__controls { right: 15px; bottom: 207px; }
    .twf-sec-hero__progress { width: 70px; }
    .twf-sec-hud-item { padding: 16px; min-height: 78px; }
    .twf-sec-hud-item strong { font-size: 12px; }
    .twf-sec-trust, .twf-sec-services { padding: 85px 0; }
    .twf-sec-heading { font-size: 48px; }
    .twf-sec-credential { display:flex; }
    .twf-sec-credential__visual { min-height: 210px; }
    .twf-sec-services__grid { grid-template-columns: 1fr; }
    .twf-sec-services__visual,
    .twf-sec-services__visual img { min-height: 430px; }
    .twf-sec-operational { grid-template-columns: 1fr; }
    .twf-sec-operational__item { border-right:0; border-bottom: 1px solid rgba(102,214,235,.11); }
    .twf-sec-operational__item:last-child { border-bottom:0; }
    .twf-proof-section { padding: 72px 0; }
    .twf-testimonial-card { min-height: 410px; padding: 95px 26px 35px; }
    .twf-testimonial-card::before { left: 24px; top: -6px; font-size: 130px; }
    .twf-accreditation-wall { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .twf-service-tiles { grid-template-columns: 1fr; }
    .twf-service-tile--security,
    .twf-service-tile--featured { grid-column: auto; }
    .twf-service-tile { min-height: 260px; }
    .twf-service-tile--security .twf-service-tile__content h3,
    .twf-service-tile--featured .twf-service-tile__content h3 { font-size: 29px; }
    .twf-partners { padding: 65px 0 75px; }
}

@media (max-width: 480px) {
    .twf-sec-hero__hud-grid { grid-template-columns: 1fr 1fr; }
    .twf-sec-hud-item { padding: 12px; }
    .twf-sec-hud-item span { letter-spacing: .1em; font-size: 8px; }
    .twf-sec-hud-item strong { font-size: 11px; }
    .twf-sec-actions { flex-direction: column; align-items: stretch; }
    .twf-sec-btn { width: 100%; }
    .twf-accreditation-wall { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .twf-security-home *,
    .twf-security-home *::before,
    .twf-security-home *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
    .twf-reveal { opacity:1; transform:none; }
}
