/*==================================================
01 ROOT VARIABLES
==================================================*/
:root{
    --paper-width:min(92%,1450px);
    --paper-radius:42px;
    --paper-shadow:0 30px 90px rgba(15,23,42,.12);
    --paper-bg:#ffffff;
    --canvas-blue-1:#08192F;
    --canvas-blue-2:#12335F;
    --canvas-blue-3:#1F5FAF;
    --gold:#D4AF37;
}



/*==================================================
02 GLOBAL PAGE LAYOUT
==================================================*/
body{
    background:#061320;
}


body.home-page,
body.home-page main {
    overflow: visible;
}

body.home-page section {
    overflow-y: visible !important;
}

body.home-page {
    background: #f7fafc;
}

main{
    position:relative;
    z-index:10;
    padding:2rem 0 5rem;
    padding-top:84px;
}

.paper{
    width:var(--paper-width);
    margin:100px auto;
    padding:80px;
    background:var(--paper-bg);
    border-radius:var(--paper-radius);
    box-shadow:

0 20px 60px rgba(0,0,0,.06),

0 60px 120px rgba(0,0,0,.10),

0 1px 0 rgba(255,255,255,.7) inset;
    transition:transform .35s ease,
               box-shadow .35s ease;
}

.paper:hover{
    transform:translateY(-4px);
    box-shadow:0 45px 110px rgba(15,23,42,.16);
}

.hero-paper{
    position:relative;
    width:min(1380px,calc(100% - 70px));
    min-height:calc(100vh - 130px);
    margin:45px auto;
    margin-bottom:140px;
    padding:110px 90px;
    border-radius:42px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.97),
            rgba(252,253,255,.93)
        );
    border:1px solid
        rgba(255,255,255,.45);
    box-shadow:
        0 30px 80px
        rgba(2,12,27,.16),
        0 8px 24px
        rgba(15,23,42,.08),
        inset 0 1px 0
        rgba(255,255,255,.9);
    backdrop-filter:blur(18px);
}

.hero-paper::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background-image:
        url("../assets/images/nobo-home-hero.webp");
    background-position:62% center;
    background-size:cover;
    background-repeat:no-repeat;
    pointer-events:none;
}

.hero-paper::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        radial-gradient(circle at 72% 8%,rgba(212,175,55,.08),transparent 28%),
        linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 32%,rgba(247,251,255,.88) 48%,rgba(225,238,250,.38) 70%,rgba(13,47,91,.10) 100%);
    pointer-events:none;
}


/* ==========================================
   SECTION TAG
========================================== */
.section-tag {
    display: inline-block;
    padding: 10px 20px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: rgba(31,95,175,.08);
    color: var(--blue-primary);
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.section-tag::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold-accent);
}

.section-header .section-tag {
    display: inline-block;
    padding: 10px 20px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: rgba(31,95,175,.08);
    color: var(--blue-primary);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.about-content .section-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 20px;
    border-radius:999px;
    background:rgba(31,95,175,.08);
    color:var(--blue-primary);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.about-content .section-tag::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold-accent);
}

.tag-green {

    background: rgba(34,197,94,.10);
    color: #15803d;

}

.tag-gold {
    background: rgba(212,175,55,.12);
    color: #b8860b;
}

.tag-blue{
    background:rgba(37,99,235,.18);
    color:#8cc8ff;
    border:1px solid rgba(140,200,255,.35);
}

.tag-gold{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 22px;
    border-radius:999px;
    background:

        rgba(212,175,55,.16);
    color:#FFE7A0;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.tag-gold::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#FFD86E;
}


/*==================================================
03 BACKGROUND CANVAS
==================================================*/
.nobo-canvas{
    position:fixed;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
    background:

radial-gradient(
circle at 12% 10%,
rgba(212,175,55,.14),
transparent 22%
),

radial-gradient(
circle at 90% 90%,
rgba(31,95,175,.28),
transparent 38%
),

radial-gradient(
circle at 70% 20%,
rgba(255,255,255,.03),
transparent 45%
),

linear-gradient(
145deg,
#04111F 0%,
#0A1F39 32%,
#133867 68%,
#1F5FAF 100%
);
}

.canvas-glow{
    position:absolute;
    width:700px;
    height:700px;
    left:-180px;
    top:-180px;
    border-radius:50%;
    background:radial-gradient(circle,
        rgba(212,175,55,.25),
        transparent 70%);
    filter:blur(30px);
}

.canvas-logo{
    position:absolute;
    right:-180px;
    bottom:-120px;
    width:720px;
    opacity:.06;
    filter:grayscale(100%) brightness(220%);
}


/* =====================================================
    FLOATING STATS BAND
===================================================== */


.stat-item {
    text-align: center;
    transform: translateY(30px);
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.16,1,0.3,1);
    padding: 8px 6px;
    position: relative;
}



.stat-item.active {
    transform: translateY(0);
    opacity: 1;
}

.stat-item:not(:last-child)::after{

    content:"";

    position:absolute;

    top:50%;

    right:0;

    width:1px;

    height:70px;

    transform:translateY(-50%);

    background:

        linear-gradient(

            transparent,

            rgba(15,23,42,.08),

            transparent

        );

}

.stat-item h3 {
    font-size: 42px;
    font-weight: 800;
    color: var(--blue-accent);
}

.stat-item h3::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    margin: 10px auto 0;
    background: var(--gold-accent);
    border-radius: 999px;
}

.stat-item p {
    margin-top: 8px;
    color: var(--text-soft);
    font-weight: 600;
}


/* ==========================================
   SHARED STYLES
========================================== */

/* ==========================================
   FEATURE STRIP
========================================== */


.feature-mini {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.feature-divider {
    width: 1px;
    height: 42px;
    background: rgba(0,0,0,.08);
}

.feature-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    background:

        linear-gradient(
            135deg,
            rgba(31,95,175,.08),
            rgba(212,175,55,.12)
        );
}

.feature-mini strong {
    display: block;
    color: var(--blue-primary);
    font-size: .95rem;
}

.feature-mini span {
    color: var(--text-soft);
    font-size: .82rem;
}

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:5000;
    transition:
        background .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.section-header {
    max-width: 760px;
    margin: 0 auto 70px;
    text-align: center;
}


.section-header h2 {
    font-size: clamp(2.4rem,5vw,3.5rem);
    line-height: 1.2;
    color: var(--blue-primary);
    margin-bottom: 24px;
    font-weight: 800;
}

.section-header p {
    font-size: 1.15rem;
    line-height: 1.9;
    color: var(--text-soft);
}

/* =====================================================
   NOBO SECTION DIVIDERS
===================================================== */

.section-divider-chip {
    position: relative;
    width: min(1120px, calc(100% - 40px));
    height: 56px;
    margin: 0 auto;
    z-index: 2;
}

.section-divider-chip::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    transform: translateY(-50%);
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(30, 58, 138, 0.10) 18%,
        rgba(212, 175, 55, 0.45) 50%,
        rgba(30, 58, 138, 0.10) 82%,
        transparent 100%
    );
}

.section-divider-chip::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: linear-gradient(
        135deg,
        var(--gold-accent),
        #f0cf63
    );
    box-shadow:
        0 0 0 8px rgba(248, 250, 252, 0.95),
        0 8px 20px rgba(212, 175, 55, 0.20);
}

.section-divider-chip-light::after {
    box-shadow:
        0 0 0 8px rgba(255, 255, 255, 0.95),
        0 8px 20px rgba(212, 175, 55, 0.20);
}



/*==================================================
04 HERO
==================================================*/
.hero-inner{
    position:relative;
    z-index:2;
    width:72%;
    max-width:900px;
    text-align:left;
}

.hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 24px;
    margin-bottom:36px;
    border-radius:999px;
    background:
        rgba(212,175,55,.09);
    border:

        1px solid
        rgba(212,175,55,.18);

    color:#B88A16;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.hero-inner h1{
    margin:0;
    font-size:
        clamp(2.5rem,4.2vw,4.4rem);
    font-weight:800;
    line-height:.92;
    letter-spacing:-.055em;
    color:
        var(--blue-primary);
    text-wrap:balance;
}

.hero-inner h1 br{
    content:"";
    display:block;
    margin:.18em;
}

.hero-description{
    max-width:760px;
    margin:
        42px 0;
    font-size:1.18rem;
    line-height:2;
    color:
        var(--text-soft);
}

.hero-credibility{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:52px;
    color:#7B8794;
    font-weight:600;
    letter-spacing:.05em;
}

.hero-credibility span{
    color:
        var(--gold-accent);
}

.hero-cta-group{
    display:flex;
    justify-content:flex-start;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:70px;
}

/*==================================================
Hero Trust
==================================================*/

.hero-trust-strip{
    margin-top:30px;
    padding-top:42px;
    border-top:
        1px solid rgba(15,23,42,.07);
}

.hero-trust-title{
    margin:0 0 28px;
    text-align:left;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.22em;
    font-weight:700;
    color:#738196;
}

.hero-logo-grid{
    display:grid;
    grid-template-columns:
        repeat(4,1fr);
    gap:22px;
}

.hero-logo-card{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    border-radius:22px;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.92),
            rgba(248,250,252,.96)
        );

    border:
        1px solid rgba(15,23,42,.05);
    box-shadow:
        0 10px 26px
        rgba(15,23,42,.06);
    transition:
        .35s ease;
}

.hero-logo-card:hover{
    transform:
        translateY(-8px);
    box-shadow:
        0 24px 48px
        rgba(15,23,42,.10);
}

.hero-logo-card img{
    width:100%;
    max-width:140px;
    height:auto;
    transition:.35s;
}

.hero-logo-card:hover img{
    transform:scale(1.04);
}

@media (max-width:1200px){
    .hero-paper{
        padding-left:60px;
        padding-right:60px;
    }

    .hero-paper::before{
        background-position:68% center;
    }

    .hero-paper::after{
        background:
            radial-gradient(circle at 78% 8%,rgba(212,175,55,.07),transparent 25%),
            linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 38%,rgba(247,251,255,.91) 55%,rgba(225,238,250,.50) 76%,rgba(13,47,91,.14) 100%);
    }

    .hero-inner{
        width:82%;
    }
}

@media (max-width:900px){
    .hero-paper::before{
        background-position:74% center;
    }

    .hero-paper::after{
        background:
            linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 48%,rgba(244,249,253,.90) 70%,rgba(210,229,245,.48) 100%);
    }

    .hero-inner{
        width:90%;
    }
}

@media (max-width:768px){
    .hero-paper{
        justify-content:center;
    }

    .hero-paper::before{
        background-position:72% center;
    }

    .hero-paper::after{
        background:
            linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 58%,rgba(238,246,252,.86) 100%);
    }

    .hero-inner{
        width:100%;
        max-width:680px;
        text-align:center;
    }

    .hero-description{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-credibility,
    .hero-cta-group{
        justify-content:center;
    }

    .hero-trust-title{
        text-align:center;
    }
}

@media (max-width:480px){
    .hero-paper::before{
        background-position:76% center;
    }

    .hero-paper::after{
        background:
            linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 66%,rgba(236,245,252,.90) 100%);
    }
}



/*==================================================
05 HERO TRUST LOGOS
==================================================*/



/*==================================================
06 FLOATING STATS
==================================================*/
.stats-band {
    position: relative;
    padding: 0 32px 100px;
    z-index: 20;
    margin-top: -170px;
    background: transparent;
    transition: opacity 0.6s ease;
}

.stats-band.scrolled-past {
    opacity: 0;
}

.stats-band::after {
    content: "";
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 72%;
    height: 120px;
    background: radial-gradient(
        ellipse at center,
        rgba(212, 175, 55, 0.20) 0%,
        rgba(212, 175, 55, 0.08) 40%,
        transparent 75%
    );
    filter: blur(42px);
    pointer-events: none;
    z-index: 0;
}

.stats-container {
    max-width: 1120px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    padding: 24px 28px;
    background: rgba(255,255,255,0.96);
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow:
        0 25px 60px rgba(15, 23, 42, 0.08),
        0 8px 20px rgba(15, 23, 42, 0.04),
        0 1px 0 rgba(255,255,255,0.9) inset;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.stats-container::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    right:0;

    height:4px;

    background:

        linear-gradient(

            90deg,

            var(--gold-accent),

            #F4D56B,

            #3B82F6

        );

}



/*==================================================
07 TRUST STRIP
==================================================*/

.trust-strip-inner{
    position:relative;
    max-width:950px;
    margin:auto;
    text-align:center;
    z-index:2;
}

.trust-stars{
    font-size:38px;
    color:#d4af37;
    letter-spacing:6px;
    margin-bottom:18px;
}


.trust-badges{
    margin-top:45px;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
}

.trust-badges span{
    background:#ffffff;
    padding:12px 22px;
    border-radius:40px;
    border:1px solid rgba(13,47,91,.08);
    box-shadow:
        0 10px 30px rgba(0,0,0,.05);
    font-weight:600;
    color:#0d2f5b;
    transition:.35s;
}

.trust-badges span:hover{
    transform:translateY(-5px);
    box-shadow:
        0 20px 40px rgba(0,0,0,.10);
}



/*==================================================
08 ABOUT PREVIEW
==================================================*/

/* ==========================================
   ABOUT CONTENT
========================================== */

.about-content{
    position:relative;
    max-width:580px;
}





/* ==========================================
   HEADING
========================================== */

.about-content h2{
    margin:28px 0 18px;
    font-family:"Inter",sans-serif;
    font-size:clamp(3rem,5vw,3.9rem);
    font-weight:800;
    line-height:1.02;
    letter-spacing:-.055em;
    color:#e4e7ec;
}

.about-content p{
    margin-bottom:22px;
    color:rgba(255,255,255,.86);
    font-size:1.05rem;
    line-height:1.95;
}

/* ==========================================
   HIGHLIGHTS
========================================== */

.about-highlights{

    margin:40px 0;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.about-button{

    display:inline-flex;
    align-items:center;
    gap:18px;
    margin-top:10px;
    text-decoration:none;
    font-weight:700;
    color:var(--blue-primary);
    color:rgb(238, 229, 229);
    transition:.35s;
}

.about-button:hover{
    gap:24px;
}

.about-button:hover .button-circle{

    transform:
        translateX(6px)
        rotate(-8deg)
        scale(1.08);
}

/* ==========================================
   BUTTON
========================================== */


.about-feature-strip {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
    width: 92%;
    background: white;
    border:

1px solid rgba(212,175,55,.08);
    border-radius: 22px;
    padding: 24px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow:
        0 20px 45px rgba(15,23,42,.12);

    z-index: 15;
}

/* ==========================================
   ABOUT SHOWCASE
========================================== */


.about-showcase {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 90px;
    align-items: center;
}

/* ==========================================
   IMAGE PANEL
========================================== */

.about-image-panel {
    position: relative;
}

.about-image-panel{

animation:

imageFloat

12s

ease-in-out

infinite;

}

@keyframes imageFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}

.about-image-frame {
    position: relative;
    background: white;
    padding: 22px;
    border-radius: 30px;
    border: 2px solid rgba(212,175,55,.45);
    box-shadow:
        0 30px 70px rgba(15,23,42,.10);

    overflow: hidden;
}

.about-image-frame::before{
    content:"";
    position:absolute;
    inset:10px;
    border:1px solid rgba(212,175,55,.22);
    border-radius:20px;
    pointer-events:none;
}

.about-image-frame img {
    width: 100%;
    display: block;
    border-radius: 20px;
    transition: transform .6s ease;
}

.about-image-panel:hover img {

    transform: scale(1.05);

}

.about-image-frame img{

    filter:
        saturate(108%)
        contrast(104%)
        brightness(101%);
}

/* ==========================================
   ESTABLISHED BADGE
========================================== */

.established-badge {

    position: absolute;
    top: -30px;
    left: -30px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    
background:

linear-gradient(

180deg,

#ffffff,

#f8f8f8

);

    border: 4px solid var(--gold-accent);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow:
        0 20px 45px rgba(15,23,42,.12);

    z-index: 20;
}

.established-badge::before{
    content:"";
    position:absolute;
    inset:8px;
    border:1px solid rgba(212,175,55,.35);
    border-radius:50%;
}

.established-badge{

    animation:

        badgeFloat
        7s
        ease-in-out
        infinite;
}

@keyframes badgeFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-6px);

}

100%{

transform:translateY(0);

}

}

.badge-small {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--text-soft);
}

.badge-year {

    margin: 4px 0;
    font-size: 2rem;
    font-weight: 800;
    color: var(--blue-primary);
    line-height: 1;
}

.badge-country {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    color: var(--gold-accent);
}

.gold-line{
    width:90px;
    height:4px;
    margin-bottom:30px;
    border-radius:999px;
    background:

        linear-gradient(

            90deg,

            var(--gold-accent),

            #f5d977

        );
}

.highlight-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:18px 22px;
    border-radius:18px;
    background:white;
    border:1px solid rgba(31,95,175,.08);
    transition:

        all .35s ease;

    box-shadow:
        0 10px 30px rgba(15,23,42,.04);
}

.highlight-item:hover{

    transform:translateX(8px);
    border-color:rgba(212,175,55,.25);
    box-shadow:

        0 18px 40px rgba(15,23,42,.08);
}

.highlight-icon{
    width:56px;
    height:56px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:1.35rem;
    background:

        linear-gradient(

            135deg,

            rgba(31,95,175,.10),

            rgba(212,175,55,.15)

        );
}

.highlight-item h4{
    margin-bottom:6px;
    font-size:1.08rem;
    color:var(--blue-primary);
    font-weight:700;
}

.highlight-item p{
    margin:0;
    font-size:.96rem;
    line-height:1.7;
}

.button-circle{
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;

    background:

        linear-gradient(

            135deg,
            var(--blue-primary),
            var(--blue-accent)

        );

    color:white;
    font-size:1.4rem;
    transition:.35s;
    box-shadow:
        0 15px 35px rgba(31,95,175,.25);
}

.executive-button .button-circle{
    width:60px;
    height:60px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:white;
    color:var(--blue-primary);
    font-size:1.4rem;
    box-shadow:
        0 15px 40px rgba(0,0,0,.18);
    transition:.35s;
}

.executive-button:hover .button-circle{

    transform:
        rotate(-10deg)
        translateX(8px)
        scale(1.08);
}



/*==================================================
09 WHY CHOOSE NOBO
==================================================*/

.why-grid {

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 70px;
}

.why-card {

    background: #ffffff;
    border: 1px solid rgba(31,95,175,.08);
    border-radius: 24px;
    padding: 40px 34px;
    text-align: left;
    box-shadow:
        0 12px 35px rgba(15,23,42,.05);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

    position: relative;
    overflow: hidden;
}

.why-card::before {

    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        var(--gold-accent),
        var(--blue-accent)
    );

    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;

}

.why-card:hover {

    transform: translateY(-10px);
    border-color: rgba(31,95,175,.15);
    box-shadow:
        0 25px 55px rgba(15,23,42,.10);

}

.why-card:hover::before {

    transform: scaleX(1);

}

/* ==========================================
   ICON
========================================== */

.why-icon {

    width: 72px;
    height: 72px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin-bottom: 26px;
    background:
        linear-gradient(
            135deg,
            rgba(31,95,175,.08),
            rgba(212,175,55,.10)
        );

    color: var(--blue-primary);

    transition:
        transform .35s ease,
        background .35s ease;

}

.why-card:hover .why-icon {

    transform:
        rotate(-6deg)
        scale(1.08);

    background:
        linear-gradient(
            135deg,
            rgba(31,95,175,.15),
            rgba(212,175,55,.20)
        );
}

/* ==========================================
   CONTENT
========================================== */

.why-card h3 {
    font-size: 1.35rem;
    margin-bottom: 16px;
    color: var(--blue-primary);
    line-height: 1.4;
}

.why-card p {
    color: var(--text-soft);
    line-height: 1.8;
    font-size: 1rem;
}

/* ==========================================
   CTA
========================================== */

/* ==========================================
   WHY CTA
========================================== */

.why-cta {
    margin-top: 70px;
    text-align: center;
}

.why-cta .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 34px;
    border-radius: 14px;
    background: linear-gradient(
        135deg,
        var(--blue-primary),
        var(--blue-accent)
    );

    color: white;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    transition: all .35s ease;
    box-shadow:
        0 15px 35px rgba(31,95,175,.25);
}

.why-cta .btn-primary:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 25px 50px rgba(31,95,175,.35);

}



/*==================================================
10 WHO WE SERVE
==================================================*/

.audience-grid{

    max-width:1250px;

    margin:0 auto;

    display:grid;

    grid-template-columns:
        repeat(4, minmax(250px,1fr));

    gap:28px;

    padding:0 35px;

}

.audience-block {

    background: #ffffff;
    border: 1px solid rgba(31,95,175,.08);
    border-radius: 24px;
    padding: 40px 34px;
    box-shadow:
        0 12px 35px rgba(15,23,42,.05);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

    position: relative;
    overflow: hidden;
}

.audience-block::before {

    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #22c55e,
        var(--blue-accent)
    );

    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;

}

.audience-block:hover {
    transform: translateY(-10px);
    border-color: rgba(34,197,94,.18);
    box-shadow:
        0 25px 55px rgba(15,23,42,.10);
}

.audience-block:hover::before {
    transform: scaleX(1);
}

/* ==========================================
   ICON
========================================== */

.audience-icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
    font-size: 2rem;
    background:
        linear-gradient(
            135deg,
            rgba(34,197,94,.10),
            rgba(31,95,175,.08)
        );

    transition:
        transform .35s ease,
        background .35s ease;

}

.audience-block:hover .audience-icon {

    transform:
        rotate(-6deg)
        scale(1.08);

    background:
        linear-gradient(
            135deg,
            rgba(34,197,94,.20),
            rgba(31,95,175,.15)
        );

}

/* ==========================================
   CONTENT
========================================== */

.audience-block h3 {
    font-size: 1.35rem;
    color: var(--blue-primary);
    margin-bottom: 16px;
    line-height: 1.4;
}

.audience-block p {
    color: var(--text-soft);
    line-height: 1.8;
    font-size: 1rem;
}



/*==================================================
11 CORE SERVICES
==================================================*/
.core-services {
    padding: 110px 0;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfdfd 100%
        );
}

.core-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 70px;
}

/* ==========================================
   SERVICE CARD
========================================== */

.core-service-item {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(212,175,55,.12);
    border-radius: 24px;
    padding: 40px 34px;
    overflow: hidden;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

    box-shadow:
        0 12px 35px rgba(15,23,42,.05);

}

.core-service-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        var(--gold-accent),
        var(--blue-accent)
    );

    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}

.core-service-item:hover {
    transform: translateY(-10px);
    border-color: rgba(212,175,55,.25);
    box-shadow:
        0 25px 55px rgba(15,23,42,.10);

}
.core-service-item:hover::before {
    transform: scaleX(1);
}

.core-service-item:hover .service-icon {

    transform:
        rotate(-6deg)
        scale(1.08);

    background:
        linear-gradient(
            135deg,
            rgba(212,175,55,.24),
            rgba(31,95,175,.15)
        );
}

/* ==========================================
   CONTENT
========================================== */
.service-icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    font-size: 2rem;
    background:
        linear-gradient(
            135deg,
            rgba(212,175,55,.14),
            rgba(31,95,175,.08)
        );

    color: var(--gold-accent);
    transition:
        transform .35s ease,
        background .35s ease;

}

.core-service-item h3 {
    font-size: 1.35rem;
    color: var(--blue-primary);
    margin-bottom: 16px;
    line-height: 1.4;
}

.core-service-item p {
    color: var(--text-soft);
    line-height: 1.8;
    font-size: 1rem;
}




/*==================================================
13 PROCESS
==================================================*/
/* =========================================================
   OUR PROCESS
========================================================= */


.process-timeline{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:20px;
    margin-top:70px;
    flex-wrap:wrap;
}

.process-card{
    position:relative;
    width:230px;
    background:#fff;
    border-radius:20px;
    padding:35px 28px;
    text-align:center;
    box-shadow:
        0 20px 50px rgba(0,0,0,.06);
    transition:.35s;
}

.process-card:hover{
    transform:translateY(-8px);
    box-shadow:
        0 30px 60px rgba(0,0,0,.10);

}

.process-number{
    position:absolute;
    top:18px;
    right:20px;
    font-size:13px;
    font-weight:700;
    color:#b9c4d2;
}

.process-icon{
    width:72px;
    height:72px;
    margin:auto;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    background:

    linear-gradient(
        135deg,
        #0d2f5b,
        #2b6cb0

    );

    color:#fff;
    margin-bottom:25px;
}

.process-card h3{
    color:#0d2f5b;
    font-size:1.15rem;
    margin-bottom:18px;
    line-height:1.4;
}

.process-card p{
    color:#5b6475;
    line-height:1.8;
    font-size:.95rem;
}

.process-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    color:#d4af37;
    font-weight:700;
}



/*==================================================
14 EXECUTIVE CTA
==================================================*/

/* ==========================================
   CTA BOX
========================================== */

.executive-cta-box{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:70px;
    align-items:center;
    padding:70px;
    border-radius:32px;
    background:
        rgba(255,255,255,.08);
    backdrop-filter:
        blur(18px);
    border:
        1px solid rgba(255,255,255,.12);
    box-shadow:
        0 30px 80px rgba(0,0,0,.18);
}

.executive-content h2{
    margin:28px 0 24px;
    font-size:clamp(3rem,5vw,4.2rem);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-.05em;
    color:white;
}

.executive-content p{
    max-width:700px;
    color:

        rgba(255,255,255,.84);
    font-size:1.08rem;
    line-height:1.95;
}

/* ==========================================
   BUTTON
========================================== */

.executive-button{
    display:inline-flex;
    align-items:center;
    gap:18px;
    margin-top:40px;
    text-decoration:none;
    color:white;
    font-weight:700;
    transition:.35s;
}



.executive-button:hover{
    gap:24px;
}



/* ==========================================
   RIGHT PANEL
========================================== */

.executive-points{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.executive-point{
    padding:22px 24px;
    border-radius:18px;
    background:
        rgba(255,255,255,.08);
    border:

        1px solid rgba(255,255,255,.10);

    color:white;
    font-weight:600;
    transition:.35s;
}

.executive-point:hover{
    transform:
        translateX(8px);
    background:

        rgba(255,255,255,.12);

}

/*==================================================
15 
==================================================*/
.canvas-window .section-header{
    text-align:center;
    max-width:820px;
    margin:0 auto 70px;
}

.canvas-window .section-header h2{
    color:#ffffff;
}

.canvas-window .section-header p{
    color:rgba(255,255,255,.82);
    max-width:760px;
    margin:20px auto 0;
    line-height:1.9;
}

.canvas-window .section-tag{
    color:#d4af37;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

/*==================================================
16 BUTTONS
==================================================*/
.cta-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:270px;
    padding:18px 36px;
    border-radius:999px;
    font-weight:700;
    letter-spacing:.02em;
    color:#04111F;
    background:
        linear-gradient(
            135deg,
            #D4AF37,
            #E7C65A
        );
    border:none;
    box-shadow:
        0 16px 36px rgba(212,175,55,.28);
    transition:
        all .35s ease;
}

.cta-primary:hover{
    transform:
        translateY(-4px);
    box-shadow:
        0 24px 46px rgba(212,175,55,.38);
    filter:brightness(1.04);
}

.cta-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:270px;
    padding:18px 36px;
    border-radius:999px;
    font-weight:700;
    letter-spacing:.02em;
    color:var(--blue-primary);
    background:
        rgba(255,255,255,.75);
    border:
        1px solid rgba(31,95,175,.14);
    backdrop-filter:blur(14px);
    transition:
        all .35s ease;
}

.cta-secondary:hover{
    background:
        #ffffff;
    color:
        var(--blue-primary);

    border-color:
        rgba(212,175,55,.45);
    box-shadow:
        0 18px 42px rgba(15,23,42,.12);
    transform:
        translateY(-4px);
}

.cta-button{
    gap:12px;
}

.cta-arrow{
    transition:
        transform .35s ease;
}

.cta-button:hover .cta-arrow{
    transform:
        translateX(5px);
}

.cta-button:active{
    transform:
        translateY(-1px)
        scale(.98);
}

.cta-button{
    text-decoration:none;
}


.cta-paper{
    text-align:center;
}

.cta-paper h2{
    margin:20px 0;
}

.btn-primary{
    display:inline-block;
    margin-top:24px;
}


/*==================================================
17 ANIMATIONS
==================================================*/



/*==================================================
17 RESPONSIVE
==================================================*/
/* =====================================================
MOBILE & ACCESSIBILITY
===================================================== */

@media (max-width: 768px) {
    

    .hero-cta-group {
        align-items: flex-start;
        width: 100%;
        padding-left: 0;
    }

    .hero-cta-group .cta-button {
        width: auto;
        max-width: none;
    }

    .stats-container {
        padding: 22px 18px;
        gap: 16px;
    }

    .stat-item h3 {
        font-size: 34px;
    }


    .recent-work,
    .core-services {
        padding-left: 20px;
        padding-right: 20px;
    }

    .section-divider-chip::after {
        width: 12px;
        height: 12px;
        box-shadow:
            0 0 0 6px rgba(248, 250, 252, 0.95),
            0 6px 16px rgba(212, 175, 55, 0.18);
    }


}

@media (max-width:900px){

    .paper{
        width:calc(100% - 28px);
        padding:42px 28px;
        margin:40px auto;
    }

    .hero-paper{
        min-height:70vh;
    }

    .canvas-logo{
        width:520px;
        right:-160px;
    }
}

@media (max-width: 768px) {
    .split-layout {
        gap: 28px;
    }

    .split-intro h2 {
        font-size: 1.8rem;
    }

    .split-cards {
        gap: 24px;
    }

    .split-cards .service-card {
        min-height: auto;
        padding: 24px 22px;
    }

    .section-divider-chip {
        width: calc(100% - 32px);
        height: 44px;
    }

    .section-divider-chip::after {
        width: 12px;
        height: 12px;
        box-shadow:
            0 0 0 6px rgba(255, 255, 255, 0.95),
            0 6px 16px rgba(212, 175, 55, 0.18);
    }

    .section-divider-chip-light::after {
        box-shadow:
            0 0 0 6px rgba(255, 255, 255, 0.95),
            0 6px 16px rgba(212, 175, 55, 0.18);
    }
}

@media(max-width:900px){

.hero-logo-grid{
    grid-template-columns:
        repeat(2,1fr);
}

}

@media(max-width:560px){

.hero-logo-grid{
    grid-template-columns:1fr;
}

}

@media (max-width: 768px) {
    .stats-band {
        padding: 22px 16px 0;
        margin-top: -52px;
    }

    .stats-container {
        padding: 22px 16px;
        border-radius: 18px;
    }

}

@media (max-width: 480px) {
    .stats-band {
        padding: 20px 12px 0;
        margin-top: -46px;
    }

    .stats-container {
        padding: 20px 14px;
        border-radius: 16px;
    }

    .stat-item h3 {
        font-size: 30px;
    }

    .stat-item p {
        font-size: 0.92rem;
    }
}

/* =========================================================
   TRUST STRIP MOBILE
========================================================= */

@media (max-width:768px){


.trust-stars{
    font-size:28px;
    letter-spacing:3px;
}


.trust-badges{
    gap:12px;
}

.trust-badges span{
    width:100%;
    max-width:300px;
    margin:auto;
}

}





@media (max-width: 1100px){

    .about-showcase{
        gap:60px;
    }
}

@media (max-width:900px){

    .about-showcase{
        grid-template-columns:1fr;
    }

    .about-feature-strip{
        position:relative;
        left:auto;
        transform:none;
        bottom:auto;
        width:100%;
        margin-top:25px;
    }

    .established-badge{
        width:110px;
        height:110px;
    }
}

@media (max-width:650px){

    .about-feature-strip{
        flex-direction:column;
        gap:20px;
    }

    .feature-divider{
        width:100%;
        height:1px;
    }
}

@media (max-width: 1100px) {

    .why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {


    .why-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 55px;
    }

    .why-card {
        padding: 34px 28px;
    }

    .why-icon {
        width: 64px;
        height: 64px;
        font-size: 1.8rem;
    }

    .audience-grid {
        gap: 24px;
        margin-top: 55px;
    }

    .audience-block {
        padding: 34px 28px;
    }

    .audience-icon {
        width: 64px;
        height: 64px;
        font-size: 1.8rem;
    }
}

@media (max-width: 900px) {

    .audience-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    
    .image-slider,
    .core-service-item,
    .audience-block,
    .see-more,
    .executive-cta-band .services-overview {
        transition: none;
    }
}

@media (max-width: 1100px) {

    .core-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {

    .core-services {
        padding: 90px 0;
    }

    .core-services-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 55px;
    }

    .core-service-item {
        padding: 34px 28px;
    }

    .service-icon {
        width: 64px;
        height: 64px;
        font-size: 1.8rem;
    }
}

@media (max-width:992px){

.process-timeline{
    flex-direction:column;
    align-items:center;
}

.process-arrow{
    transform:rotate(90deg);
    margin:10px 0;
}

.process-card{
    width:100%;
    max-width:420px;
}

}

@media(max-width:950px){

.executive-cta-box{
grid-template-columns:1fr;
gap:50px;
padding:50px 40px;
}

.executive-content h2{
font-size:clamp(2.5rem,8vw,3.4rem);
}
}

@media(max-width:650px){


.executive-cta-box{
padding:35px 28px;
}

.executive-point{
padding:18px;
}
}

@media(max-width:1100px){

.audience-grid{

grid-template-columns:
repeat(2,1fr);

padding:0 20px;

}

}

@media(max-width:768px){

.audience-grid{

grid-template-columns:1fr;

padding:0;

}

}
