:root{
    --navy:#061a33;
    --navy-deep:#031226;
    --gold:#c9a45f;
    --gold-light:#f0d38d;
    --white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:"DM Sans",sans-serif;
    background:#fff;
    color:var(--navy);
}
a{text-decoration:none;color:inherit}
.container{
    width:min(1240px,calc(100% - 60px));
    margin:auto;
}
p{
    font-size:15px;
}
/* =========================
   HEADER
========================= */
.site-header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:94px;
    z-index:100;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(6,26,51,.08);
    box-shadow:0 4px 20px rgba(0,0,0,.06);
}
.header-inner{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
}
.logo{
    display:block;
    width:117px;
    flex-shrink:0;
}
.logo img{
    width:100%;
    height:auto;
    display:block;
}
.main-nav{
    margin-left:auto;
}
.main-nav ul{
    display:flex;
    align-items:center;
    gap:27px;
}
.main-nav ul li{
    list-style: none;
}
.main-nav a{
    position:relative;
    font:700 14px/1 "Manrope",sans-serif;
    color:#18304c;
    white-space:nowrap;
    padding:39px 0;
}
.main-nav .nav-cta{
    content:"";
    position:absolute;
    left:0;
    bottom:30px;
    width:0;
    height:2px;
    background:var(--gold);
    transition:.3s ease;
    font-weight: 600;
}
.main-nav a:not(.nav-cta):hover::after,
.main-nav a.active:not(.nav-cta)::after{
    width:100%;
}
.nav-cta{
    padding:15px 21px!important;
    background:linear-gradient(135deg,#f2d38d,#c59b4e);
    color:var(--navy)!important;
    border-radius:4px;
    box-shadow:0 8px 20px rgba(197,155,78,.25);
    transition:.3s ease;
    font-weight: 600;
    font-size: 14px;
}
.nav-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(197,155,78,.35);
}
.nav-cta i{
    margin-left:9px;
}
.menu-toggle{
    display:none;
    border:0;
    background:none;
    cursor:pointer;
    padding: 10px 14px !important;
    background: linear-gradient(135deg, #f2d38d, #c59b4e);
    color: var(--navy) !important;
    border-radius: 4px;
    box-shadow: 0 8px 20px rgba(197, 155, 78, .25);
    transition: .3s ease;
    font-weight: 600;
    font-size: 14px;
    margin-left: auto;
}
.menu-toggle span{
    display:block;
    width:27px;
    height:2px;
    margin:5px 0;
    background:var(--navy);
}
/* =========================
   HERO SLIDER
========================= */
.hero{
    position:relative;
    height:100vh;
    min-height:680px;
    overflow:hidden;
    color:#fff;
}
.hero-slides{
    position:absolute;
    inset:0;
}
.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    background-size:cover;
    background-position:center;
    transform:scale(1.06);
    transition:
        opacity 1s ease,
        visibility 1s ease,
        transform 7s ease;
}
.hero-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
}
/* =========================================
   IMAGES
========================================= */
/*.slide-1{
    background-image:url("assets/bannerimgtwo.jpg");
}
.slide-2{
    background-image:url("assets/bannerimg.avif");
}
.slide-3{
    background-image:url("assets/bannerimgtwo.jpg");
}
*/
/* =========================================
   OVERLAY
========================================= */
.hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(
            90deg,
            rgba(3,17,37,.95) 0%,
            rgba(3,17,37,.82) 28%,
            rgba(3,17,37,.55) 58%,
            rgba(3,17,37,.30) 100%
        );
}
/* =========================================
   HERO CONTENT
========================================= */
.hero-content{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    align-items:center;
}
.hero-copy{
    width:75%;
}
.hero-kicker{
    color:#e1bd72;
    font:
        800 10px
        "Manrope",
        sans-serif;
    letter-spacing:3px;
    margin-bottom:20px;
}
.hero-title{
    margin:0;
    max-width:850px;
    color:#fff;
    font:
        700 clamp(50px,6vw,88px)/.98
        "Playfair Display",
        serif;
    letter-spacing:-2px;
}
.hero-title .gold{
    color:#e8c777;
}
.hero-description{
    max-width:650px;
    margin-top:24px;
    color:#e2e8ef;
    font-size:17px;
    line-height:1.65;
    text-transform: capitalize;
}
.hero-buttons{
    display:flex;
    gap:12px;
    margin-top:30px;
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:170px;
    padding:15px 21px;
    border-radius:4px;
    font:
        800 10px
        "Manrope",
        sans-serif;
    transition:.3s ease;
}
.btn-gold{
    color:#071d3d;
    background:
        linear-gradient(
            135deg,
            #f2d48e,
            #c49a4e
        );
}
.btn-gold:hover{
    transform:
        translateY(-3px);
}
.btn-outline{
    color:#fff;
    border:
        1px solid
        rgba(255,255,255,.6);
    background:
        rgba(0,0,0,.08);
}
.btn-outline:hover{
    color:#e9ca7d;
    border-color:#e9ca7d;
}
/* =========================================
   RIGHT SIDE
========================================= */
.hero-side{
    position:absolute;
    right:0;
    top:50%;
    transform:
        translateY(-50%);
    padding-left:20px;
    border-left:
        2px solid
        #c9a05a;
}
.hero-side span{
    display:block;
    color:#fff;
    font:
        800 10px/2
        "Manrope",
        sans-serif;
    letter-spacing:2px;
}
/* =========================================
   BOTTOM
========================================= */
.hero-bottom{
    position:absolute;
    z-index:5;
    left:0;
    right:0;
    bottom:28px;
}
.hero-bottom-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.slide-counter{
    display:flex;
    align-items:center;
    gap:12px;
    font:
        800 10px
        "Manrope";
}
.counter-line{
    width:45px;
    height:2px;
    background:
        rgba(255,255,255,.3);
    position:relative;
    overflow:hidden;
}
.counter-line::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:#c9a05a;
}
/* =========================================
   ARROWS
========================================= */
.slider-controls{
    display:flex;
    gap:7px;
}
.slider-controls button{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border:
        1px solid
        rgba(255,255,255,.4);
    background:
        rgba(3,18,36,.3);
    color:#fff;
    cursor:pointer;
    transition:.3s ease;
}
.slider-controls button:hover{
    background:#c9a05a;
    border-color:#c9a05a;
    color:#071d3d;
}
/* =========================================
   PROGRESS
========================================= */
.slider-progress{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:3px;
    z-index:6;
    background:
        rgba(255,255,255,.15);
}
.slider-progress span{
    display:block;
    width:33.33%;
    height:100%;
    background:#c9a05a;
    transition:
        width .5s ease;
}
/* =========================================
   MOBILE
========================================= */
@media(max-width:768px){
    .hero{
        min-height:700px;
    }
    .hero-copy{
        width:100%;
    }
    .hero-title{
        font-size:48px;
        letter-spacing:-1px;
    }
    .hero-description{
        font-size:14px;
    }
    .hero-side{
        display:none;
    }
    .hero-buttons{
        flex-direction:column;
        width:205px;
    }
    .btn{
        width:205px;
    }
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    min-width:175px;
    padding:15px 22px;
    border-radius:4px;
    font:800 11px/1 "Manrope",sans-serif;
    transition:.3s ease;
}
.btn-gold{
    background:linear-gradient(135deg,#f4d795,#c59b4e);
    color:var(--navy);
    box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.btn-gold:hover{
    transform:translateY(-3px);
    box-shadow:0 17px 35px rgba(0,0,0,.3);
}
.btn-outline{
    color:#fff;
    border:1px solid rgba(255,255,255,.62);
    background:rgba(0,0,0,.08);
    backdrop-filter:blur(5px);
}
.btn-outline:hover{
    border-color:var(--gold-light);
    color:var(--gold-light);
    background:rgba(201,164,95,.08);
}
/* Right-side vertical brand message */
.hero-side{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:145px;
    padding-left:22px;
    border-left:2px solid var(--gold);
}
.hero-side span{
    display:block;
    color:#fff;
    font:800 11px/2 "Manrope",sans-serif;
    letter-spacing:2.3px;
}
.hero-side::after{
    content:"";
    display:block;
    width:43px;
    height:3px;
    background:var(--gold);
    margin-top:16px;
}
/* Bottom slider controls */
.hero-bottom{
    position:absolute;
    z-index:7;
    left:0;
    right:0;
    bottom:27px;
}
.hero-bottom-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.slide-counter{
    display:flex;
    align-items:center;
    gap:14px;
    font:800 10px/1 "Manrope",sans-serif;
    letter-spacing:1px;
}
.slide-counter strong{
    color:#fff;
}
.counter-line{
    width:42px;
    height:2px;
    background:rgba(255,255,255,.3);
    position:relative;
    overflow:hidden;
}
.counter-line::before{
    content:"";
    position:absolute;
    inset:0;
    width:33.33%;
    background:var(--gold);
}
.slider-controls{
    display:flex;
    gap:7px;
}
.slider-controls button{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.38);
    background:rgba(3,18,36,.28);
    color:#fff;
    cursor:pointer;
    transition:.3s ease;
}
.slider-controls button:hover{
    background:var(--gold);
    color:var(--navy);
    border-color:var(--gold);
}
/* Progress line */
.slider-progress{
    position:absolute;
    z-index:8;
    bottom:0;
    left:0;
    width:100%;
    height:3px;
    background:rgba(255,255,255,.13);
}
.slider-progress span{
    display:block;
    width:33.33%;
    height:100%;
    background:var(--gold);
    transition:width .4s ease;
}
/* =========================
   RESPONSIVE
========================= */
@media(max-width:1100px){
    .main-nav{gap:17px}
    .main-nav a{font-size:9px}
    .logo{width:180px}
    .hero-copy{width:78%}
}
@media(max-width:850px){
    .header-inner{
        gap: 11px;
    }
    .site-header{
        height:78px;
    }
    .container{
        width:min(100% - 32px,700px);
    }
    .logo{
        width:max-content;
    }
    .menu-toggle{
        display:block;
    }
    .main-nav{
        display:none;
        position:absolute;
        top:78px;
        left:16px;
        right:16px;
        padding:10px;
        background:#fff;
        box-shadow:0 20px 40px rgba(0,0,0,.13);
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .main-nav.active{
        display:block;
    }
    .main-nav a{
        padding:13px 12px;
        font-size: 13px;
    }
    .main-nav a:not(.nav-cta)::after{
        bottom:5px;
    }
    .main-nav ul {
        display: block;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .main-nav li {
        border-bottom: 1px solid #eee;
    }

    .main-nav a {
        display: block;
        padding: 15px 20px;
    }
    .nav-cta{
        text-align:center;
       
    }
    .hero{
        min-height:720px;
    }
    .hero-content{
        padding-top:50px;
    }
    .hero-copy{
        width:100%;
    }
    .hero-title{
        font-size:clamp(44px,9vw,65px);
        letter-spacing:-1.5px;
    }
    .hero-description{
        font-size:15px;
        max-width:600px;
    }
    .hero-side{
        display:none;
    }
}
@media(max-width:560px){
    .container{
        width:calc(100% - 26px);
    }
    .logo img {
        max-width: 100px;
    }
    
    .hero{
        min-height:700px;
    }
    .hero-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(2,16,34,.94),
                rgba(3,23,43,.68)
            );
    }
    .hero-title{
        font-size:43px;
        line-height:1.01;
    }
    .hero-description{
        font-size:14px;
        line-height:1.55;
    }
    .hero-buttons{
        flex-direction:column;
        width:205px;
    }
    .btn{
        min-width:0;
        width:205px;
    }
    .hero-bottom{
        bottom:20px;
    }
    .slider-controls button{
        width:40px;
        height:40px;
    }
}
/* =================================================
   STATS SECTION
================================================= */
.viora-stats{
    background:#fff;
    border-bottom:
        1px solid #e8ebef;
    box-shadow:
        0 5px 25px
        rgba(7,29,61,.035);
}
.stats-grid{
    display:grid;
    grid-template-columns:
        repeat(4,1fr);
}
.stat-item{
    min-height:104px;
    padding:
        18px 25px;
    display:flex;
    align-items:center;
    gap:16px;
    border-right:
        1px solid var(--line);
}
.stat-item:last-child{
    border-right:0;
}
.stat-icon{
    width:50px;
    height:50px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    color:var(--gold);
    font-size:27px;
}
.stat-content{
    min-width:0;
}
.stat-content > div{
    display:flex;
    align-items:center;
}
.stat-item strong{
    font:
        700 31px/1
        "Playfair Display",
        serif;
    color:var(--navy);
}
.stat-item > .stat-content > div > span{
    color:var(--gold);
    font:
        700 24px
        "Playfair Display",
        serif;
}
.stat-item p{
    margin-top:4px;
    color:#64748a;
    font:
        600 9px/1.3
        "Manrope",
        sans-serif;
}
/* =================================================
   ABOUT SECTION
================================================= */
.viora-about{
    padding:
        28px 0 0;
    background:
        radial-gradient(
            circle at 72% 25%,
            rgba(201,157,79,.035),
            transparent 24%
        ),
        #fff;
}
.viora-about.about_single{
    padding: 70px 0;
}
.about-grid{
    display:grid;
    grid-template-columns:
        420px 1fr;
    gap:34px;
    align-items:center;
}
/* =================================================
   IMAGE
================================================= */
.about-visual{
    position:relative;
}
.about-image{
    height:auto;
    position:relative;
    overflow:hidden;
    box-shadow: 0 20px 45px rgb(167 125 56), 12px 12px 0 rgb(167 125 56);
}
.about-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:
        transform .8s ease;
}
.about-image:hover img{
    transform:
        scale(1.05);
}
.image-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(3,17,37,.90) 0%,
            rgba(3,17,37,.58) 48%,
            rgba(3,17,37,.12) 100%
        );
}
.image-content{
    position:absolute;
    inset:0;
    padding:
        54px 32px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.gold-line{
    display:block;
    width:36px;
    height:3px;
    background:
        var(--gold);
    margin-bottom:18px;
}
.image-content h3{
    color:#fff;
    font:
        600 34px/1.04
        "Playfair Display",
        serif;
    letter-spacing:-.5px;
}
.image-content h3 em{
    color:
        var(--gold-light);
    font-style:normal;
}
/* =================================================
   WATCH STORY
================================================= */
.story-btn{
    margin-top:24px;
    display:flex;
    align-items:center;
    gap:12px;
    width:max-content;
    color:#fff;
    font:
        700 10px
        "Manrope",
        sans-serif;
}
.play-icon{
    width:40px;
    height:40px;
    border:
        2px solid
        var(--gold-light);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--gold-light);
    transition:.3s;
}
.play-icon i{
    font-size:10px;
    margin-left:2px;
}
.story-btn:hover .play-icon{
    background:
        var(--gold);
    color:
        var(--navy);
}
/* =================================================
   ABOUT CONTENT
================================================= */
.about-content{
    padding-right:25px;
}
.about-kicker{
    font:
        800 9px
        "Manrope",
        sans-serif;
    letter-spacing:3px;
    color:#b08a4c;
    margin-bottom:12px;
}
.about-content h2{
    color:
        var(--navy);
    font:
        700 clamp(39px,4.2vw,58px)/1.05
        "Playfair Display",
        serif;
    letter-spacing:-1.5px;
    margin-bottom:17px;
}
.about-content h2 span{
    color:#a77d38;
}
.about-lead{
    max-width:700px;
    color:#344a64;
    font-size:15px;
    line-height:1.5;
    margin-bottom:12px;
}
.about-content p:not(.about-lead){
    max-width:720px;
    color:#6d7d90;
    font-size:12px;
    line-height:1.65;
}
/* =================================================
   LEARN MORE BUTTON
================================================= */
.learn-btn{
    margin-top:21px;
    display:inline-flex;
    align-items:center;
    gap:18px;
    padding:
        13px 22px;
    background:
        linear-gradient(
            135deg,
            #f0d18d,
            #c69c50
        );
    color:#102743;
    border-radius:4px;
    font:
        800 10px
        "Manrope",
        sans-serif;
    box-shadow:
        0 9px 22px
        rgba(201,157,79,.22);
    transition:.3s ease;
}
.learn-btn:hover{
    transform:
        translateY(-3px);
    box-shadow:
        0 13px 28px
        rgba(201,157,79,.3);
}
.learn-btn i{
    font-size:12px;
}
/* =================================================
   VALUE STRIP
================================================= */
.value-strip{
    margin-top:22px;
    border-top:
        1px solid var(--line);
    display:grid;
    grid-template-columns:
        repeat(3,1fr);
}
.value-item{
    min-height:70px;
    padding:
        12px 35px;
    display:flex;
    align-items:center;
    gap:13px;
    border-right:
        1px solid var(--line);
}
.value-item:first-child{
    padding-left:60px;
}
.value-item:last-child{
    border-right:0;
}
.value-icon{
    width:39px;
    height:39px;
    flex-shrink:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fbf5e8;
    border:
        1px solid #eedcb7;
    color:#b98c43;
    font-size:14px;
}
.value-item h4{
    color:
        var(--navy);
    font:
        800 15px
        "Manrope",
        sans-serif;
    margin-bottom:3px;
}
.value-item p{
    color:#8090a2;
    font-size:13px;
}
/* =================================================
   SCROLL REVEAL
================================================= */
.stat-item,
.about-image,
.about-content,
.value-item{
    opacity:0;
    transform:
        translateY(22px);
    transition:
        opacity .7s ease,
        transform .7s ease;
}
.reveal{
    opacity:1;
    transform:
        translateY(0);
}
/* =================================================
   TABLET
================================================= */
@media(max-width:950px){
    .stats-grid{
        grid-template-columns:
            repeat(2,1fr);
    }
    .stat-item:nth-child(2){
        border-right:0;
    }
    .stat-item:nth-child(1),
    .stat-item:nth-child(2){
        border-bottom:
            1px solid var(--line);
    }
    .about-grid{
        grid-template-columns:1fr;
        gap:38px;
    }
    .about-visual{
        max-width:620px;
    }
    .about-content{
        padding-right:0;
    }
    .value-item:first-child{
        padding-left:25px;
    }
}
/* =================================================
   MOBILE
================================================= */
@media(max-width:600px){
    .container{
        width:
            calc(100% - 28px);
    }
    .stats-grid{
        grid-template-columns:
            1fr 1fr;
    }
    .stat-item{
        min-height:88px;
        padding:
            13px 8px;
        gap:9px;
    }
    .stat-icon{
        width:35px;
        font-size:21px;
    }
    .stat-item strong{
        font-size:24px;
    }
    .stat-item > .stat-content > div > span{
        font-size:18px;
    }
    .stat-item p{
        font-size:7px;
    }
    .viora-about{
        padding-top:18px;
    }
    .about-image{
        height:340px;
    }
    .image-content{
        padding:
            40px 25px;
    }
    .image-content h3{
        font-size:32px;
    }
    .about-content h2{
        font-size:42px;
    }
    .about-lead{
        font-size:14px;
    }
    .value-strip{
        grid-template-columns:1fr;
    }
    .value-item,
    .value-item:first-child{
        min-height:66px;
        padding:
            12px 8px;
        border-right:0;
        border-bottom:
            1px solid var(--line);
    }
    .value-item:last-child{
        border-bottom:0;
    }
}
/* =====================================================
   CORE SERVICES
===================================================== */
.core-services{
    padding:92px 0 78px;
    background:#f5f7f9;
    overflow:hidden;
}
/* Heading */
.services-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:60px;
    margin-bottom:35px;
}
.section-label{
    display:block;
    color:#bd934c;
    font:
        800 8px
        "Manrope",
        sans-serif;
    letter-spacing:2.4px;
    margin-bottom:12px;
}
.heading-left h2{
    margin:0;
    color:#071d3d;
    font:
        700 clamp(40px,4.4vw,59px)/.98
        "Playfair Display",
        serif;
    letter-spacing:-1.5px;
}
.heading-left h2 span{
    color:#b98a3e;
}
.heading-right{
    width:360px;
    padding-bottom:4px;
}
.heading-right p{
    margin:0;
    color:#6f7d8e;
    font-size:15px;
    line-height:1.65;
}
/* =====================================================
   SERVICES GRID
===================================================== */
.services-grid{
    display:grid;
    grid-template-columns:
        repeat(4,1fr);
    gap:30px;
}
/* Card */
.service-card{
    min-height:165px;
    position:relative;
    padding:35px 14px 17px;
    background:#fff;
    border:
        1px solid #dfe4e9;
    overflow:hidden;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}
.service-card::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:#c99d4f;
   transform:
        scaleX(1);
    transform-origin:
        left;
    transition:.35s ease;
}
.service-card:hover{
    transform:
        translateY(-7px);
    border-color:
        #d8c39a;
    box-shadow:
        0 18px 38px
        rgba(7,29,61,.09);
}
.service-card:hover::after,
.service-card.active::after{
    transform:
        scaleX(1);
}
.service-number{
    position:absolute;
    top:10px;
    right:10px;
    color:#c7cfd8;
    font:
        700 7px
        "Manrope";
}
.service-icon{
    color: #fff;
    font-size: 16px;
    height: 31px;
    display: flex;
    align-items: center;
    width: 40px;
    height: 40px;
    background: #071d3d;
    justify-content: center;
    border-radius: 50%;
    margin: 0 0 10px;
}
.service-card h3{
    margin:2px 0 8px;
    color:#071d3d;
    font:
        700 15px/1.15
        "Playfair Display",
        serif;
}
.service-card p{
    margin:0;
    min-height:50px;
    color:#788698;
    font-size:14.5px;
    line-height:1.55;
}
.service-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:12px;
    color:#071d3d;
    font:
        800 13.5px
        "Manrope";
    letter-spacing:.4px;
}
.service-link i{
    color:#b78b43;
    font-size:15px;
    transition:.3s;
}
.service-card:hover .service-link i{
    transform:
        translateX(3px);
}
/* =====================================================
   OUR APPROACH
===================================================== */
.our-approach{
    position:relative;
    padding:72px 0 65px;
    background:
        linear-gradient(
            135deg,
            #04182f,
            #061c36
        );
    color:#fff;
    overflow:hidden;
}
.our-approach::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    right:-230px;
    top:-300px;
    border:
        1px solid
        rgba(201,157,79,.09);
}
.our-approach::after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    left:-200px;
    bottom:-250px;
    border:
        1px solid
        rgba(201,157,79,.07);
}
/* Heading */
.approach-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:60px;
    position:relative;
    z-index:1;
}
.light-label{
    color:#d1ad68;
}
.approach-heading h2{
    margin:0;
    color:#fff;
    font:
        700 clamp(40px,4.5vw,60px)/1
        "Playfair Display",
        serif;
    letter-spacing:-1.4px;
}
.approach-heading h2 span{
    color:#cba158;
}
.approach-heading > p{
    width:370px;
    margin:0 0 5px;
    color:#aab8c8;
    font-size:13px;
    line-height:1.6;
}
/* =====================================================
   APPROACH LINE
===================================================== */
.approach-line{
    height:1px;
    background:
        rgba(255,255,255,.15);
    margin:
        32px 0 0;
    position:relative;
}
.approach-line::before{
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    width:100%;
    height:1px;
    background:
        linear-gradient(
            90deg,
            #c99d4f,
            transparent
        );
    opacity:.5;
}
/* =====================================================
   APPROACH GRID
===================================================== */
.approach-grid{
    display:grid;
    grid-template-columns:
        repeat(5,1fr);
    position:relative;
    z-index:2;
}
.approach-step{
    position:relative;
    text-align:center;
    padding:
        0 22px;
}
.approach-step:not(:last-child){
    border-right:
        1px solid
        rgba(255,255,255,.12);
}
/* Number */
.step-number{
    width:28px;
    height:28px;
    margin:
        -14px auto 14px;
    display:grid;
    place-items:center;
    border:
        1px solid
        #d0a75b;
    border-radius:50%;
    background:#061c36;
    color:#e0bc73;
    font:
        700 7px
        "Manrope";
}
/* Icon */
.step-icon{
    height:35px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#d2a75a;
    font-size:16px;
}
.approach-step h3{
    margin:
        5px 0 8px;
    color:#fff;
    font:
        700 15px
        "Playfair Display",
        serif;
}
.approach-step p{
    margin:0 auto;
    color:#8ea0b4;
    font-size:14px;
    line-height:1.55;
}
/* =====================================================
   HOVER EFFECT
===================================================== */
.approach-step{
    transition:
        transform .35s ease;
}
.approach-step:hover{
    transform:
        translateY(-5px);
}
.approach-step:hover .step-number{
    background:#c99d4f;
    color:#071d3d;
}
.approach-step:hover .step-icon{
    color:#efd18c;
}
/* =====================================================
   TABLET
===================================================== */
@media(max-width:1000px){
    .services-grid{
        grid-template-columns:
            repeat(2,1fr);
    }
    .services-heading{
        align-items:flex-start;
    }
    .heading-right{
        width:300px;
    }
    .approach-grid{
        grid-template-columns:
            repeat(3,1fr);
        row-gap:40px;
    }
    .approach-step:nth-child(3){
        border-right:0;
    }
}
/* =====================================================
   MOBILE
===================================================== */
@media(max-width:650px){
    .container{
        width:
            calc(100% - 28px);
    }
    .core-services{
        padding:
            65px 0;
    }
    .services-heading{
        display:block;
        margin-bottom:28px;
    }
    .heading-left h2{
        font-size:42px;
    }
    .heading-right{
        width:100%;
        margin-top:18px;
    }
    .services-grid{
        grid-template-columns:1fr;
        gap:10px;
    }
    .service-card{
        min-height:190px;
        padding:
            38px 20px 18px;
    }
    .service-card h3{
        font-size:18px;
    }
    .service-card p{
        font-size:9px;
        max-width:390px;
    }
    .service-link{
        font-size:7px;
    }
    .our-approach{
        padding:
            65px 0;
    }
    .approach-heading{
        display:block;
    }
    .approach-heading h2{
        font-size:43px;
    }
    .approach-heading > p{
        width:100%;
        margin-top:18px;
    }
    .approach-line{
        display:none;
    }
    .approach-grid{
        grid-template-columns:
            1fr;
        margin-top:35px;
    }
    .approach-step{
        padding:
            0 0 30px;
        border-right:0!important;
        border-bottom:
            1px solid
            rgba(255,255,255,.1);
    }
    .approach-step:last-child{
        border-bottom:0;
    }
    .step-number{
        margin:
            0 auto 13px;
    }
    .approach-step p{
        max-width:300px;
        font-size:9px;
    }
}
/* =========================================
   WHY VIORA VENTURES
========================================= */
.why-viora {
    position: relative;
    padding: 120px 0;
    background: #f7f6f2;
    overflow: hidden;
}
/* subtle background detail */
.why-viora::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 420px;
    height: 420px;
    background: radial-gradient(
        circle,
        rgba(184, 146, 66, 0.08) 0%,
        transparent 70%
    );
    pointer-events: none;
}
/* =========================================
   HEADER
========================================= */
.why-viora-header {
    display: grid;
    grid-template-columns: 0.8fr 1.5fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 75px;
}
.why-viora-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #a98235;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}
.why-viora-label span {
    width: 38px;
    height: 1px;
    background: #b7924a;
    display: inline-block;
}
.why-viora-heading {
    max-width: 850px;
}
.why-viora-heading h2 {
    margin: 0 0 24px;
    color: #17202b;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -2px;
}
.why-viora-heading h2 span {
    display: block;
    color: #a98235;
}
.why-viora-heading p {
    max-width: 680px;
    margin: 0;
    color: #68717a;
    font-size: 16px;
    line-height: 1.8;
}
/* =========================================
   GRID
========================================= */
.why-viora-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid #d9d6ce;
    border-left: 1px solid #d9d6ce;
}
/* =========================================
   ITEM
========================================= */
.why-viora-item {
    position: relative;
    display: grid;
    grid-template-columns: 70px 1fr 35px;
    gap: 25px;
    min-height: 235px;
    padding: 38px 35px;
    border-right: 1px solid #d9d6ce;
    border-bottom: 1px solid #d9d6ce;
    background: rgba(255, 255, 255, 0.35);
    transition:
        background 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease;
}
.why-viora-item:hover {
    z-index: 2;
    background: #17202b;
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(15, 24, 35, 0.14);
}
/* =========================================
   NUMBER
========================================= */
.why-viora-number {
    color: #b7924a;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    padding-top: 4px;
    transition: color 0.35s ease;
}
/* =========================================
   CONTENT
========================================= */
.why-viora-content h3 {
    margin: 0 0 16px;
    color: #17202b;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.25;
    transition: color 0.35s ease;
}
.why-viora-content p {
    max-width: 450px;
    margin: 0;
    color: #70777e;
    font-size: 15px;
    line-height: 1.75;
    transition: color 0.35s ease;
}
/* =========================================
   ARROW
========================================= */
.why-viora-arrow {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    color: #b7924a;
    font-size: 14px;
    padding-top: 5px;
    transition:
        transform 0.35s ease,
        color 0.35s ease;
}
.why-viora-item:hover .why-viora-arrow {
    transform: translate(4px, -4px);
    color: #d0ad67;
}
.why-viora-item:hover .why-viora-number {
    color: #d0ad67;
}
.why-viora-item:hover .why-viora-content h3 {
    color: #ffffff;
}
.why-viora-item:hover .why-viora-content p {
    color: #b9c0c7;
}
/* =========================================
   LAST ITEM
========================================= */
.why-viora-item:last-child {
    grid-column: 1 / -1;
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 991px) {
    .why-viora {
        padding: 90px 0;
    }
    .why-viora-header {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 55px;
    }
    .why-viora-heading h2 {
        font-size: 52px;
    }
    .why-viora-grid {
        grid-template-columns: 1fr;
    }
    .why-viora-item:last-child {
        grid-column: auto;
    }
}
@media (max-width: 767px) {
    .why-viora {
        padding: 70px 0;
    }
    .why-viora-header {
        margin-bottom: 40px;
    }
    .why-viora-heading h2 {
        font-size: 40px;
        letter-spacing: -1px;
    }
    .why-viora-heading p {
        font-size: 15px;
        line-height: 1.7;
    }
    .why-viora-item {
        grid-template-columns: 45px 1fr 25px;
        gap: 15px;
        min-height: auto;
        padding: 30px 22px;
    }
    .why-viora-content h3 {
        font-size: 22px;
        margin-bottom: 12px;
    }
    .why-viora-content p {
        font-size: 14px;
        line-height: 1.65;
    }
    .why-viora-number {
        font-size: 12px;
    }
}
@media (max-width: 480px) {
    .why-viora-heading h2 {
        font-size: 34px;
    }
    .why-viora-item {
        grid-template-columns: 35px 1fr 20px;
        padding: 25px 18px;
    }
    .why-viora-content h3 {
        font-size: 20px;
    }
    .why-viora-arrow {
        font-size: 12px;
    }
}
/* =========================================
   WHO WE WORK WITH
========================================= */
.clients-section {
    position: relative;
    padding: 120px 0;
    background: #17202b;
    overflow: hidden;
}
/* Background detail */
.clients-section::before {
    content: "";
    position: absolute;
    top: -200px;
    right: -150px;
    width: 550px;
    height: 550px;
    border: 1px solid rgba(183, 146, 74, 0.12);
    border-radius: 50%;
    pointer-events: none;
}
.clients-section::after {
    content: "";
    position: absolute;
    bottom: -300px;
    left: -200px;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 50%;
    pointer-events: none;
}
/* =========================================
   HEADER
========================================= */
.clients-header {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.8fr 1.5fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 70px;
}
.clients-label {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #c19a4e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}
.clients-label span {
    width: 38px;
    height: 1px;
    background: #b7924a;
}
.clients-intro {
    max-width: 850px;
}
.clients-intro h2 {
    margin: 0 0 25px;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(42px, 5vw, 70px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -2px;
}
.clients-intro h2 span {
    display: block;
    color: #b7924a;
}
.clients-intro p {
    max-width: 680px;
    margin: 0;
    color: #aeb6bf;
    font-size: 16px;
    line-height: 1.8;
}
/* =========================================
   GRID
========================================= */
.clients-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}
/* =========================================
   CARD
========================================= */
.client-card {
    position: relative;
    min-height: 300px;
    padding: 32px;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.015);
    transition:
        background 0.35s ease,
        transform 0.35s ease;
}
.client-card:hover {
    z-index: 3;
    background: #202b38;
    transform: translateY(-5px);
}
/* =========================================
   CARD TOP
========================================= */
.client-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 55px;
}
.client-number {
    color: #b7924a;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
}
.client-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border: 1px solid rgba(183, 146, 74, 0.35);
    color: #b7924a;
    font-size: 15px;
    transition:
        background 0.35s ease,
        color 0.35s ease,
        border-color 0.35s ease;
}
.client-card:hover .client-icon {
    background: #b7924a;
    border-color: #b7924a;
    color: #17202b;
}
/* =========================================
   CONTENT
========================================= */
.client-content h3 {
    max-width: 340px;
    margin: 0 0 15px;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.25;
    transition: color 0.35s ease;
}
.client-content p {
    max-width: 360px;
    margin: 0;
    color: #9ca6b0;
    font-size: 14px;
    line-height: 1.75;
    transition: color 0.35s ease;
}
.client-card:hover .client-content p {
    color: #c2c9cf;
}
/* =========================================
   BOTTOM LINE
========================================= */
.client-line {
    position: absolute;
    left: 32px;
    bottom: 28px;
    width: 35px;
    height: 1px;
    background: #b7924a;
    transition: width 0.4s ease;
}
.client-card:hover .client-line {
    width: 70px;
}
/* =========================================
   FEATURED CARD
========================================= */
.client-card-featured {
    background: rgba(183, 146, 74, 0.06);
}
.client-card-featured .client-number {
    color: #d0ad67;
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 1100px) {
    .clients-header {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .clients-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .clients-section {
        padding: 80px 0;
    }
    .clients-header {
        margin-bottom: 45px;
    }
    .clients-intro h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }
    .clients-intro p {
        font-size: 15px;
        line-height: 1.7;
    }
    .clients-grid {
        grid-template-columns: 1fr;
    }
    .client-card {
        min-height: 270px;
        padding: 28px 24px;
    }
    .client-top {
        margin-bottom: 45px;
    }
    .client-content h3 {
        font-size: 23px;
    }
}
@media (max-width: 480px) {
    .clients-intro h2 {
        font-size: 35px;
    }
    .client-card {
        min-height: 250px;
        padding: 25px 20px;
    }
    .client-content h3 {
        font-size: 21px;
    }
    .client-line {
        left: 20px;
        bottom: 23px;
    }
}
/* =========================================
   OUR NETWORK
========================================= */
.network-section {
    position: relative;
    padding: 120px 0;
    background: #f7f6f2;
    overflow: hidden;
}
/* Decorative background element */
.network-section::before {
    content: "";
    position: absolute;
    top: -180px;
    left: -180px;
    width: 450px;
    height: 450px;
    border: 1px solid rgba(183, 146, 74, 0.12);
    border-radius: 50%;
    pointer-events: none;
}
/* =========================================
   MAIN WRAPPER
========================================= */
.network-wrapper {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.8fr 1.6fr;
    gap: 90px;
    align-items: start;
}
/* =========================================
   HEADING
========================================= */
.network-heading {
    position: sticky;
    top: 100px;
}
.network-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    color: #a98235;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}
.network-label span {
    width: 38px;
    height: 1px;
    background: #b7924a;
}
.network-heading h2 {
    margin: 0;
    color: #17202b;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(45px, 5vw, 70px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -2px;
}
.network-heading h2 span {
    display: block;
    color: #a98235;
}
/* =========================================
   CONTENT
========================================= */
.network-content {
    max-width: 850px;
}
.network-intro {
    margin: 0 0 35px;
    color: #68717a;
    font-size: 16px;
    line-height: 1.7;
}
/* =========================================
   NETWORK LIST
========================================= */
.network-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid #d8d5cd;
    border-left: 1px solid #d8d5cd;
}
.network-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 90px;
    padding: 20px 24px;
    background: rgba(255, 255, 255, 0.35);
    border-right: 1px solid #d8d5cd;
    border-bottom: 1px solid #d8d5cd;
    transition:
        background 0.3s ease,
        padding 0.3s ease;
}
.network-item:hover {
    background: #17202b;
    padding-left: 30px;
}
/* =========================================
   NUMBER
========================================= */
.network-number {
    min-width: 25px;
    color: #b7924a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}
/* =========================================
   NAME
========================================= */
.network-name {
    color: #27313b;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.3;
    transition: color 0.3s ease;
}
.network-item:hover .network-name {
    color: #ffffff;
}
.network-item:hover .network-number {
    color: #d0ad67;
}
/* =========================================
   BOTTOM STATEMENT
========================================= */
.network-statement {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 50px;
    padding: 30px 0;
    border-top: 1px solid #d8d5cd;
    border-bottom: 1px solid #d8d5cd;
}
.network-statement-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    background: #17202b;
    color: #b7924a;
    font-size: 17px;
}
.network-statement p {
    max-width: 650px;
    margin: 0;
    color: #4e5862;
    font-size: 16px;
    line-height: 1.7;
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 991px) {
    .network-section {
        padding: 90px 0;
    }
    .network-wrapper {
        grid-template-columns: 1fr;
        gap: 55px;
    }
    .network-heading {
        position: static;
    }
    .network-heading h2 {
        font-size: 55px;
    }
}
@media (max-width: 767px) {
    .network-section {
        padding: 75px 0;
    }
    .network-wrapper {
        gap: 40px;
    }
    .network-heading h2 {
        font-size: 42px;
        letter-spacing: -1px;
    }
    .network-intro {
        font-size: 15px;
    }
    .network-list {
        grid-template-columns: 1fr;
    }
    .network-item {
        min-height: 78px;
        padding: 18px 20px;
    }
    .network-item:hover {
        padding-left: 25px;
    }
    .network-name {
        font-size: 18px;
    }
    .network-statement {
        align-items: flex-start;
        gap: 18px;
        margin-top: 35px;
        padding: 25px 0;
    }
    .network-statement-icon {
        width: 45px;
        height: 45px;
    }
    .network-statement p {
        font-size: 14px;
    }
}
@media (max-width: 480px) {
    .network-heading h2 {
        font-size: 35px;
    }
    .network-item {
        gap: 15px;
    }
    .network-name {
        font-size: 17px;
    }
    .network-statement {
        gap: 15px;
    }
}
/* =========================================
   INTERNATIONAL ADVISORY
========================================= */
.international-section {
    position: relative;
    padding: 125px 0;
    background: #17202b;
    overflow: hidden;
}
/* Decorative globe-inspired circles */
.international-section::before {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    top: -300px;
    right: -250px;
    border: 1px solid rgba(183, 146, 74, 0.15);
    border-radius: 50%;
    pointer-events: none;
}
.international-section::after {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    bottom: -300px;
    left: -250px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    pointer-events: none;
}
/* =========================================
   LAYOUT
========================================= */
.international-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.9fr 1.2fr;
    gap: 100px;
    align-items: start;
}
/* =========================================
   LEFT CONTENT
========================================= */
.international-content {
    max-width: 550px;
}
.international-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
    color: #c19a4e;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}
.international-label span {
    width: 38px;
    height: 1px;
    background: #b7924a;
}
.international-title {
    margin: 0 0 35px;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(45px, 5vw, 72px);
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -2px;
}
.international-title span {
    display: block;
    color: #b7924a;
}
/* =========================================
   MARKETS
========================================= */
.international-markets {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;
    margin-bottom: 35px;
    color: #d0ad67;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;
}
.international-markets i {
    width: 4px;
    height: 4px;
    background: #b7924a;
    border-radius: 50%;
}
.international-description {
    margin: 0 0 25px;
    color: #b0bac4;
    font-size: 16px;
    line-height: 1.85;
}
.international-note {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
}
/* =========================================
   SERVICES LIST
========================================= */
.international-services {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.international-service {
    display: grid;
    grid-template-columns: 45px 1fr 25px;
    align-items: center;
    gap: 20px;
    min-height: 82px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    transition:
        padding 0.35s ease,
        background 0.35s ease;
}
.international-service:hover {
    padding-left: 20px;
    padding-right: 20px;
    background: rgba(183, 146, 74, 0.08);
}
.international-number {
    color: #b7924a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}
.international-service h3 {
    margin: 0;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
}
.international-arrow {
    color: #b7924a;
    font-size: 14px;
    transition: transform 0.35s ease;
}
.international-service:hover .international-arrow {
    transform: translate(4px, -4px);
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 1100px) {
    .international-layout {
        grid-template-columns: 1fr 1.2fr;
        gap: 55px;
    }
}
@media (max-width: 991px) {
    .international-section {
        padding: 90px 0;
    }
    .international-layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }
    .international-content {
        max-width: 750px;
    }
    .international-title {
        font-size: 55px;
    }
}
@media (max-width: 767px) {
    .international-section {
        padding: 75px 0;
    }
    .international-title {
        font-size: 42px;
        letter-spacing: -1px;
    }
    .international-description {
        font-size: 15px;
        line-height: 1.75;
    }
    .international-service {
        grid-template-columns: 35px 1fr 20px;
        gap: 15px;
        min-height: 75px;
    }
    .international-service h3 {
        font-size: 19px;
    }
    .international-service:hover {
        padding-left: 12px;
        padding-right: 12px;
    }
}
@media (max-width: 480px) {
    .international-title {
        font-size: 35px;
    }
    .international-markets {
        gap: 9px;
        font-size: 10px;
        letter-spacing: 1px;
    }
    .international-service h3 {
        font-size: 18px;
    }
}
/* ================================
   LEGAL & BUSINESS ADVISORY
================================ */
.legal-advisory {
  --navy: #0c1b2a;
  --navy-light: #142b3e;
  --gold: #b89455;
  --gold-light: #d4b77c;
  --cream: #f7f5ef;
  --white: #ffffff;
  --text: #4d5963;
  --border: #e4e1d8;
  position: relative;
  padding: 110px 20px;
  background: var(--cream);
  overflow: hidden;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}
.legal-advisory::before {
  content: "";
  position: absolute;
  width: 450px;
  height: 450px;
  border: 1px solid rgba(184, 148, 85, 0.12);
  border-radius: 50%;
  top: -220px;
  right: -180px;
}
.legal-advisory::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(184, 148, 85, 0.10);
  border-radius: 50%;
  bottom: -170px;
  left: -140px;
}
.legal-container {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}
/* ---------- HEADER ---------- */
.legal-header {
  max-width: 850px;
  margin-bottom: 65px;
}
.legal-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}
.legal-eyebrow::before {
  content: "";
  width: 38px;
  height: 1px;
  background: var(--gold);
}
.legal-header h2 {
  margin: 0 0 22px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -1.5px;
}
.legal-intro {
  max-width: 800px;
  margin: 0;
  color: var(--text);
  font-size: 17px;
  line-height: 1.85;
}
/* ---------- MAIN CONTENT ---------- */
.legal-content {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 55px;
  align-items: start;
}
/* ---------- PROFILE CARD ---------- */
.legal-profile {
  
  padding: 42px 36px;
  background: var(--navy);
  color: var(--white);
  border-radius:5px;
  box-shadow: 0 25px 60px rgba(12, 27, 42, 0.12);
}
.profile-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 28px;
  color: var(--gold-light);
  border: 1px solid rgba(212, 183, 124, 0.4);
  border-radius: 50%;
  font-size: 25px;
}
.legal-profile h3 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.25;
}
.legal-profile p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.8;
}
.profile-line {
  width: 45px;
  height: 1px;
  margin: 28px 0;
  background: var(--gold);
}
.legal-profile .support-text {
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
}
/* ---------- SERVICES ---------- */
.legal-services > h3 {
  margin: 0 0 28px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 500;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.service-card {
  position: relative;
  min-height: 190px;
  padding: 28px 25px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 3px;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}
.service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(184, 148, 85, 0.55);
  box-shadow: 0 15px 35px rgba(12, 27, 42, 0.08);
}
.service-number {
    display: block;
    margin-bottom: 18px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    background: #c39d5e;
    padding: 15px;
    margin: -10px;
    border-radius: 0 0 0 30px;
}
.service-card h4 {
  margin: 0 0 10px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
}
.service-card p {
  margin: 0;
  color: var(--text);
  font-size: 13.5px;
  line-height: 1.7;
}
/* ---------- DISCLAIMER ---------- */
.legal-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  margin-top: 65px;
  padding: 30px 35px;
  background: #eeeae0;
  border-left: 3px solid var(--gold);
}
.disclaimer-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: var(--white);
  background: var(--gold);
  border-radius: 50%;
  font-size: 16px;
  font-weight: 700;
}
.legal-disclaimer h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.legal-disclaimer p {
  max-width: 950px;
  margin: 0;
  color: #62655f;
  font-size: 13.5px;
  line-height: 1.75;
}
/* ================================
   RESPONSIVE
================================ */
@media (max-width: 950px) {
  .legal-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .legal-profile {
    position: relative;
    top: auto;
  }
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 650px) {
  .legal-advisory {
    padding: 75px 18px;
  }
  .legal-header {
    margin-bottom: 45px;
  }
  .legal-header h2 {
    font-size: 39px;
    letter-spacing: -0.8px;
  }
  .legal-intro {
    font-size: 15px;
    line-height: 1.75;
  }
  .legal-profile {
    padding: 32px 25px;
  }
  .legal-profile h3 {
    font-size: 25px;
  }
  .legal-services > h3 {
    font-size: 26px;
  }
  .service-grid {
    grid-template-columns: 1fr;
  }
  .service-card {
    min-height: auto;
  }
  .legal-disclaimer {
    padding: 25px 22px;
    gap: 15px;
  }
  .legal-disclaimer p {
    font-size: 13px;
  }
}
.site-footer {
  --footer-dark: #081521;
  --footer-deep: #0c1c2a;
  --footer-text: rgba(255, 255, 255, 0.62);
  --footer-muted: rgba(255, 255, 255, 0.42);
  --gold: #b89455;
  --gold-light: #d4b77c;
  --border: rgba(255, 255, 255, 0.1);
  color: #fff;
  background: var(--footer-dark);
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
} /* ========================================= MAIN FOOTER ========================================= */
.footer-main {
  padding: 85px 20px 70px;
  background: radial-gradient(
      circle at 85% 15%,
      rgba(184, 148, 85, 0.08),
      transparent 28%
    ),
    var(--footer-dark);
}
.footer-container {
  width: min(1200px, 100%);
  margin: 0 auto;
}
.footer-main .footer-container {
  display: grid;
  grid-template-columns: 1.5fr 0.8fr 1fr 1fr;
  gap: 55px;
} /* ========================================= BRAND ========================================= */
.footer-brand {
  max-width: 340px;
}
.footer-logo {
  display: inline-block;
  margin-bottom: 22px;
  background:#fff;
  border-radius:10px;
  width: 150px;
}
.footer-logo img {
 max-width: 100%;
}
.footer-brand > p {
  margin: 0;
  color: var(--footer-text);
  font-size: 14px;
  line-height: 1.85;
} /* ========================================= SOCIAL ========================================= */
.footer-social {
  display: flex;
  gap: 9px;
  margin-top: 28px;
}
.footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  color: rgba(255, 255, 255, 0.65);
  border: 1px solid var(--border);
  border-radius: 50%;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease,
    transform 0.25s ease;
}
.footer-social a:hover {
  color: var(--footer-dark);
  background: var(--gold-light);
  border-color: var(--gold-light);
  transform: translateY(-3px);
} /* ========================================= FOOTER COLUMNS ========================================= */
.footer-column h4 {
  position: relative;
  margin: 0 0 25px;
  padding-bottom: 13px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
}
.footer-column h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 1px;
  background: var(--gold);
}
.footer-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-column li {
  margin-bottom: 12px;
}
.footer-column li a {
  position: relative;
  color: var(--footer-text);
  text-decoration: none;
  font-size: 13.5px;
  line-height: 1.5;
  transition: color 0.25s ease, padding-left 0.25s ease;
}
.footer-column li a:hover {
  padding-left: 7px;
  color: var(--gold-light);
} /* ========================================= CONTACT ========================================= */
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 21px;
}
.footer-contact .contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  color: var(--gold-light);
  border: 1px solid rgba(212, 183, 124, 0.22);
  border-radius: 50%;
  font-size: 13px;
}
.contact-item small {
  display: block;
  margin-bottom: 4px;
  color: var(--footer-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.contact-item a,
.contact-item p {
  display: block;
  margin: 0;
  color: var(--footer-text);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.6;
  transition: color 0.25s ease;
}
.contact-item a:hover {
  color: var(--gold-light);
} /* ========================================= LEGAL DISCLAIMER ========================================= */
.footer-disclaimer {
  padding: 28px 20px;
  background: var(--footer-deep);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex;
  justify-content: space-between;
}
.footer-disclaimer .contact-icon{
        display: flex;
        font-size: 20px;
}
.disclaimer-content {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 35px;
  align-items: start;
}
.disclaimer-content strong {
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.disclaimer-content p {
  max-width: 850px;
  margin: 0;
  color: var(--footer-muted);
  font-size: 11.5px;
  line-height: 1.8;
} /* ========================================= BOTTOM BAR ========================================= */
.footer-bottom {
  padding: 22px 20px;
  background: #06111b;
}
.footer-bottom .footer-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}
.footer-bottom p {
  margin: 0;
  color: var(--footer-muted);
  font-size: 11px;
}
.footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 22px;
}
.footer-bottom-links a {
  color: var(--footer-muted);
  text-decoration: none;
  font-size: 11px;
  transition: color 0.25s ease;
}
.footer-bottom-links a:hover {
  color: var(--gold-light);
}
.footer-credit span {
  color: var(--gold);
  font-size: 8px;
} /* ========================================= TABLET ========================================= */
@media (max-width: 1000px) {
  .footer-main .footer-container {
    grid-template-columns: 1.3fr 1fr 1fr;
  }
  .footer-brand {
    grid-column: 1 / -1;
    max-width: 600px;
  }
  .footer-bottom .footer-container {
    flex-wrap: wrap;
  }
} /* ========================================= MOBILE ========================================= */
@media (max-width: 650px) {
  .footer-main {
    padding: 65px 20px 45px;
  }
  .footer-main .footer-container {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .footer-brand {
    grid-column: auto;
  }
  .footer-logo {
    font-size: 25px;
  }
  .footer-column h4 {
    margin-bottom: 19px;
  }
  .footer-disclaimer {
    padding: 25px 20px;
    display: block;
  }
  .disclaimer-content {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .footer-bottom {
    padding: 25px 20px;
  }
  .footer-bottom .footer-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
  }
  .footer-bottom-links {
    flex-wrap: wrap;
    gap: 10px 18px;
  }
}
/* =========================================
   ABOUT BREADCRUMB
========================================= */
.breadcrumb {
    position: relative;
    padding-top: 100px;
    min-height: 360px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.25)),
        url("assets/images/about-banner.jpg") center center / cover no-repeat;
    overflow: hidden;
}
/* Decorative Shape */
.breadcrumb::before {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    top: -180px;
    right: -100px;
}
.breadcrumb::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    bottom: -90px;
    left: 8%;
}
/* Overlay */
.breadcrumb-overlay {
    position: absolute;
    inset: 0;
       background: linear-gradient(90deg, rgb(3 8 16 / 101%), rgb(6 6 10 / 82%));
}
/* Content */
.breadcrumb .container {
    position: relative;
    z-index: 2;
    width: 100%;
}
.breadcrumb-content {
    text-align: center;
    color: #fff;
}
/* Small Text */
.breadcrumb-subtitle {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #e7c27d;
}
/* Heading */
.breadcrumb-content h1 {
    margin: 0 0 10px;
    font-size: 35px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -1px;
    color: #fff;
}
/* Breadcrumb */
.breadcrumb-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-size: 15px;
}
.breadcrumb-nav a {
    color: #fff;
    text-decoration: none;
    transition: 0.3s ease;
}
.breadcrumb-nav a:hover {
    color: #e7c27d;
}
.breadcrumb-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #e7c27d;
}
.breadcrumb-nav .current {
    color: rgba(255, 255, 255, 0.65);
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 991px) {
    .breadcrumb {
        min-height: 320px;
    }
    .breadcrumb-content h1 {
        font-size: 46px;
    }
}
@media (max-width: 767px) {
    .breadcrumb {
        min-height: 280px;
    }
    .breadcrumb-content h1 {
        font-size: 38px;
        margin-bottom: 16px;
    }
    .breadcrumb-subtitle {
        font-size: 12px;
        letter-spacing: 1.5px;
    }
    .breadcrumb-nav {
        font-size: 14px;
        gap: 9px;
    }
}
@media (max-width: 480px) {
    .breadcrumb {
        min-height: 250px;
    }
    .breadcrumb-content h1 {
        font-size: 32px;
    }
}
/* ==========================================
   OUR MISSION SECTION
========================================== */
.mission-section {
    position: relative;
    padding: 110px 0;
    background: #f7f6f2;
    overflow: hidden;
}
.mission-section .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
/* Main Wrapper */
.mission-wrapper {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 90px;
    align-items: center;
}
/* ==========================================
   LEFT CONTENT
========================================== */
.mission-content {
    max-width: 650px;
}
.mission-label {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #a0804c;
}
.mission-label::before {
    content: "";
    width: 38px;
    height: 1px;
    background: #a0804c;
}
/* Heading */
.mission-content h2 {
    margin: 0 0 30px;
    font-size: 48px;
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: -1px;
    color: #17231f;
}
.mission-content h2 span {
    color: #a0804c;
    font-style: italic;
}
/* Intro */
.mission-intro {
    max-width: 620px;
    margin: 0 0 30px;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 400;
    color: #37423e;
}
/* Divider */
.mission-divider {
    width: 70px;
    height: 1px;
    margin: 30px 0;
    background: #a0804c;
}
/* Paragraph */
.mission-content > p:not(.mission-intro) {
    max-width: 600px;
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.8;
    color: #69716e;
}
/* ==========================================
   RIGHT SIDE
========================================== */
.mission-side {
    position: relative;
}
/* Card */
.mission-card {
    position: relative;
    display: flex;
    gap: 25px;
    padding: 28px 30px;
    margin-bottom: 18px;
    background: #ffffff;
    border: 1px solid rgba(23, 35, 31, 0.08);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}
.mission-card:hover {
    transform: translateX(8px);
    border-color: rgba(160, 128, 76, 0.35);
    box-shadow: 0 15px 40px rgba(20, 30, 25, 0.08);
}
/* Number */
.mission-number {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid #b79b6b;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 600;
    color: #a0804c;
}
/* Card Content */
.mission-card-content h3 {
    margin: 0 0 8px;
    font-size: 21px;
    font-weight: 600;
    color: #17231f;
}
.mission-card-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #737a77;
}
/* ==========================================
   DECORATIVE BACKGROUND
========================================== */
.mission-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(160, 128, 76, 0.10);
    border-radius: 50%;
    top: -220px;
    right: -180px;
}
.mission-section::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(160, 128, 76, 0.08);
    border-radius: 50%;
    bottom: -130px;
    left: -100px;
}
/* ==========================================
   TABLET
========================================== */
@media (max-width: 991px) {
    .mission-section {
        padding: 80px 0;
    }
    .mission-wrapper {
        grid-template-columns: 1fr;
        gap: 55px;
    }
    .mission-content {
        max-width: 100%;
    }
    .mission-content h2 {
        font-size: 42px;
    }
    .mission-intro {
        font-size: 18px;
    }
}
/* ==========================================
   MOBILE
========================================== */
@media (max-width: 767px) {
    .mission-section {
        padding: 65px 0;
    }
    .mission-section .container {
        padding: 0 18px;
    }
    .mission-wrapper {
        gap: 40px;
    }
    .mission-label {
        font-size: 11px;
        letter-spacing: 2px;
    }
    .mission-content h2 {
        font-size: 34px;
        line-height: 1.2;
        letter-spacing: -0.5px;
    }
    .mission-intro {
        font-size: 17px;
        line-height: 1.65;
    }
    .mission-content > p:not(.mission-intro) {
        font-size: 15px;
    }
    .mission-card {
        gap: 18px;
        padding: 22px 20px;
    }
    .mission-number {
        width: 42px;
        height: 42px;
        font-size: 12px;
    }
    .mission-card-content h3 {
        font-size: 19px;
    }
    .mission-card-content p {
        font-size: 13px;
    }
}
/* Small Mobile */
@media (max-width: 480px) {
    .mission-content h2 {
        font-size: 30px;
    }
    .mission-card {
        padding: 20px 16px;
    }
}
/* =========================================
   VIORA CONTACT PAGE
========================================= */
.viora-contact {
    position: relative;
    padding: 120px 0 100px;
    background: #f5f4ef;
    overflow: hidden;
}
.viora-contact .container {
    width: 100%;
    max-width: 1240px;
    margin: auto;
    padding: 0 25px;
}
/* =========================================
   HEADER
========================================= */
.contact-header {
    max-width: 820px;
    margin-bottom: 80px;
}
.contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    color: #947649;
}
.contact-eyebrow span {
    width: 42px;
    height: 1px;
    background: #947649;
}
.contact-header h1 {
    margin: 0 0 25px;
    font-size: clamp(48px, 6vw, 78px);
    line-height: 1.05;
    letter-spacing: -3px;
    font-weight: 400;
    color: #17231f;
}
.contact-header h1 em {
    font-family: Georgia, serif;
    color: #947649;
}
.contact-header p {
    max-width: 670px;
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    color: #707773;
}
/* =========================================
   MAIN GRID
========================================= */
.viora-contact .contact-grid {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: 90px;
    align-items: start;
}
/* =========================================
   CONTACT INFO
========================================= */
.viora-contact .contact-info {
    padding-top: 15px;
}
.viora-contact .info-intro {
    display: flex;
    gap: 20px;
    padding-bottom: 35px;
    margin-bottom: 35px;
    border-bottom: 1px solid rgba(23, 35, 31, 0.12);
}
.viora-contact .info-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border: 1px solid #aa8a57;
    border-radius: 50%;
    font-size: 11px;
    color: #947649;
}
.viora-contact .info-intro h3 {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 500;
    color: #17231f;
}
.viora-contact .info-intro p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #737a76;
}
/* =========================================
   CONTACT ITEM
========================================= */
.viora-contact  .contact-item {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 25px;
}
.viora-contact  .contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(148, 118, 73, 0.35);
    color: #947649;
}
.viora-contact .contact-item span {
    display: block;
    margin-bottom: 4px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    color: #929691;
}
.viora-contact .contact-item a {
    font-size: 15px;
    color: #26332e;
    text-decoration: none;
    transition: 0.3s ease;
}
.viora-contact .contact-item a:hover {
    color: #947649;
}
/* =========================================
   CONFIDENTIAL BOX
========================================= */
.confidential-box {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-top: 40px;
    padding: 22px;
    background: #17231f;
    color: #fff;
}
.confidential-box > i {
    margin-top: 3px;
    font-size: 15px;
    color: #c0a06a;
}
.confidential-box strong {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 500;
}
.confidential-box p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
    color: rgba(255,255,255,0.6);
}
/* =========================================
   FORM WRAPPER
========================================= */
.contact-form-wrapper {
    padding: 45px;
    background: #ffffff;
    border: 1px solid rgba(23, 35, 31, 0.08);
    box-shadow: 0 20px 60px rgba(23, 35, 31, 0.06);
}
.form-top {
    padding-bottom: 25px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(23, 35, 31, 0.1);
}
.form-top span {
    display: block;
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    color: #947649;
}
.form-top p {
    margin: 0;
    font-size: 14px;
    color: #737a76;
}
/* =========================================
   FORM
========================================= */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}
.form-group {
    margin-bottom: 24px;
}
.form-group label {
    display: block;
    margin-bottom: 9px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #27332f;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 14px 15px;
    border: 1px solid #deded9;
    border-radius: 0;
    background: #fafaf8;
    font-family: inherit;
    font-size: 14px;
    color: #27332f;
    outline: none;
    transition: 0.3s ease;
    box-sizing: border-box;
}
.form-group input,
.form-group select {
    height: 52px;
}
.form-group textarea {
    resize: vertical;
    min-height: 145px;
}
.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #aaa;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #947649;
    background: #fff;
}
/* =========================================
   FORM BOTTOM
========================================= */
.form-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 8px;
}
.consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    max-width: 260px;
    font-size: 11px;
    line-height: 1.5;
    color: #777d79;
    cursor: pointer;
}
.consent input {
    margin-top: 2px;
    accent-color: #947649;
}
/* =========================================
   SUBMIT BUTTON
========================================= */
.contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-width: 180px;
    height: 54px;
    padding: 0 22px;
    border: none;
    background: #17231f;
    color: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    cursor: pointer;
    transition: 0.35s ease;
}
.contact-submit i {
    color: #c0a06a;
    transition: transform 0.3s ease;
}
.contact-submit:hover {
    background: #947649;
}
.contact-submit:hover i {
    transform: translateX(5px);
}
/* =========================================
   LOCATIONS
========================================= */
.contact-locations {
    display: grid;
    grid-template-columns: 1.1fr 0.7fr 0.7fr 0.7fr;
    gap: 35px;
    margin-top: 100px;
    padding-top: 45px;
    border-top: 1px solid rgba(23, 35, 31, 0.14);
}
.locations-title span {
    font-size: 10px;
    letter-spacing: 2px;
    color: #947649;
}
.locations-title h2 {
    margin: 12px 0 0;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 400;
    color: #17231f;
}
.locations-title h2 em {
    font-family: Georgia, serif;
    color: #947649;
}
.location {
    display: flex;
    gap: 15px;
}
.location-no {
    font-size: 10px;
    color: #947649;
}
.location h4 {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
    color: #26332e;
}
.location p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
    color: #777d79;
}
.legal_img{
    width: 100%;
    height: 100%;
    border-radius: 5px;
}
/* =========================================
   RESPONSIVE
========================================= */
@media (max-width: 991px) {
    .viora-contact {
        padding: 90px 0 80px;
    }
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }
    .contact-info {
        max-width: 650px;
    }
    .contact-locations {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 767px) {
    .viora-contact {
        padding: 70px 0;
    }
    .viora-contact .container {
        padding: 0 18px;
    }
    .contact-header {
        margin-bottom: 55px;
    }
    .contact-header h1 {
        font-size: 43px;
        letter-spacing: -1.5px;
    }
    .contact-header p {
        font-size: 16px;
    }
    .contact-form-wrapper {
        padding: 25px 20px;
    }
    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .form-bottom {
        flex-direction: column;
        align-items: stretch;
    }
    .consent {
        max-width: 100%;
    }
    .contact-submit {
        width: 100%;
    }
    .contact-locations {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 70px;
    }
}
@media (max-width: 480px) {
    .contact-header h1 {
        font-size: 36px;
    }
    .contact-form-wrapper {
        padding: 22px 16px;
    }
    .info-intro {
        gap: 14px;
    }
}
