/*
==================================================
LOGICFLOW CLEANED MAIN CSS
Latest locked homepage sections preserved.
==================================================
*/
*,
*::before,
*::after{
margin:0;
padding:0;
box-sizing:border-box;
}

/*
==================================================
ROOT VARIABLES
==================================================
*/
:root{
--primary:#0B1F4D;
--primary-light:#163A7A;
--primary-dark:#081634;
--gold:#D4A017;
--gold-dark:#B78A11;
--white:#FFFFFF;
--light:#F5F7FA;
--border:#E5E7EB;
--text:#1F2937;
--muted:#6B7280;
--success:#16A34A;
--danger:#DC2626;
--container:1280px;
--radius-sm:6px;
--radius:10px;
--radius-lg:18px;
--radius-xl:30px;
--shadow-sm:0 2px 6px rgba(0,0,0,.06);
--shadow:0 10px 25px rgba(0,0,0,.08);
--shadow-lg:0 25px 60px rgba(0,0,0,.12);
--transition:.3s ease;
}

/*
==================================================
BASE
==================================================
*/
html{
scroll-behavior:smooth;
scroll-padding-top:110px;
}
body{
font-family:'Inter',sans-serif;
color:var(--text);
background:#fff;
font-size:16px;
line-height:1.7;
overflow-x:hidden;
}
img{
display:block;
max-width:100%;
}
a{
color:inherit;
text-decoration:none;
}
ul{
list-style:none;
}
button{
font:inherit;
border:none;
cursor:pointer;
background:none;
}
input,
textarea,
select{
font:inherit;
}
section{
padding:50px 0;
}
a:focus-visible,
button:focus-visible{
outline:2px solid var(--gold);
outline-offset:4px;
}

/*
==================================================
TYPOGRAPHY
==================================================
*/
h3,
h4,
h5,
h6{
font-family:'Montserrat',sans-serif;
color:var(--primary);
font-weight:700;
line-height:1.2;
}
h1{
color:var(--primary);
font-family:'Montserrat', sans-serif;
font-weight:800;
font-size:clamp(2rem, 4.1vw, 4.15rem);
line-height:1.03;
letter-spacing:-.07em;
}
h2{
font-family:'Montserrat', sans-serif;
font-size:clamp(1.7rem, 2.25vw, 2.15rem);
color:var(--primary);
font-weight:800;
line-height:1.22;
}
h3{
font-size:1.6rem;
}
p{
margin-top:18px;
color:var(--muted);
}

/*
==================================================
LAYOUT
==================================================
*/
.container{
width:min(100% - 40px,var(--container));
margin:auto;
}
.text-center{
text-align:center;
}

/*
==================================================
GLOBAL SECTION KICKER
==================================================
*/
.section-kicker{
display:inline-flex;
align-items:center;
gap:12px;
color:var(--gold);
font-family:'Inter', sans-serif;
font-weight:800;
text-transform:uppercase;
letter-spacing:.12em;
font-size:.76rem;
margin-bottom:14px;
}
.section-kicker::before{
content:"";
display:block;
width:34px;
height:2px;
background:var(--gold);
border-radius:999px;
}

/*
==================================================
GLOBAL BUTTONS
==================================================
*/
.btn-primary,
.btn-secondary{
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;
min-height:50px;
padding:0 24px;
border-radius:5px;
font-family:'Inter', sans-serif;
font-size:.9rem;
font-weight:800;
text-decoration:none;
transition:all .28s ease;
}
.btn-primary{
background:var(--gold);
color:#071a38;
box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.btn-secondary{
color:#fff;
border:1px solid rgba(212,160,23,.8);
background:transparent;
}
.btn-primary:hover,
.btn-secondary:hover{
transform:translateY(-3px);
}
.btn-primary:hover{
background:#fff;
color:var(--primary);
box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.btn-secondary:hover{
background:var(--gold);
color:#071a38;
border-color:var(--gold);
box-shadow:0 18px 45px rgba(0,0,0,.22);
}

/*
==================================================
UTILITY
==================================================
*/
.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:60px;}
.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:60px;}

/*
==================================================
NAVBAR
==================================================
*/
.site-header{
position:sticky;
top:0;
z-index:999;
width:100%;
background:rgba(255,255,255,.94);
backdrop-filter:blur(16px);
border-bottom:1px solid var(--border);
}
.navbar{
min-height:84px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}
.logo{
display:flex;
align-items:center;
font-family:'Montserrat',sans-serif;
font-weight:800;
color:var(--primary);
}
.logo img{
height:48px;
width:auto;
}
.nav-menu{
display:flex;
align-items:center;
gap:30px;
}
.nav-menu a{
font-size:.95rem;
font-weight:600;
color:var(--primary);
transition:var(--transition);
}
.nav-menu a:hover,
.nav-menu a.active{
color:var(--gold);
}
.nav-menu .btn-primary{
color:#fff;
padding:12px 24px;
}
.nav-menu .btn-primary:hover{
color:#fff;
background:var(--gold);
}
.menu-toggle{
display:none;
width:48px;
height:48px;
border:none;
background:transparent;
cursor:pointer;
position:relative;
padding:0;
}
.menu-toggle span{
position:absolute;
left:12px;
width:24px;
height:2px;
background:#fff;
border-radius:999px;
transition:.35s ease;
}
.menu-toggle span:nth-child(1){
top:16px;
}
.menu-toggle span:nth-child(2){
top:23px;
}
.menu-toggle span:nth-child(3){
top:30px;
}
.menu-toggle.active span:nth-child(1){
transform:rotate(45deg);
top:23px;
}
.menu-toggle.active span:nth-child(2){
opacity:0;
}
.menu-toggle.active span:nth-child(3){
transform:rotate(-45deg);
top:23px;
}

/*
==================================================
DARK NAVBAR
==================================================
*/
.dark-header{
background:
    linear-gradient(135deg, #071a38 0%, #061833 48%, #04142d 100%);
border-bottom:1px solid rgba(255,255,255,.08);
}
.dark-header .navbar{
min-height:92px;
}
.dark-logo img{
height:54px;
}
.dark-header .nav-menu{
gap:34px;
}
.dark-header .nav-menu a{
position:relative;
color:#fff;
font-size:.95rem;
font-weight:600;
}
.dark-header .nav-menu a:not(.nav-cta)::after{
content:'';
position:absolute;
left:50%;
bottom:-16px;
width:0;
height:2px;
background:var(--gold);
transform:translateX(-50%);
transition:var(--transition);
}
.dark-header .nav-menu a:not(.nav-cta):hover::after,
.dark-header .nav-menu a:not(.nav-cta).active::after{
width:34px;
height:3px;
border-radius:999px;
}
.nav-cta{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:44px;
padding:0 22px;
border-radius:8px;
background:transparent;
color: var(--gold) !important;
border:1.5px solid var(--gold);
color:var(--gold);
font-family:'Inter', sans-serif;
font-size:.88rem;
font-weight:800;
text-decoration:none;
transition:
    background .25s ease,
    color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}
.nav-cta:hover{
background:var(--gold);
color:var(--primary) !important;
transform:translateY(-2px);
box-shadow:0 16px 35px rgba(212,160,23,.22);
}

/*
==================================================
RESPONSIVE NAVBAR
==================================================
*/
@media(max-width: 960px){
.menu-toggle{
    display:block;
}
.nav-menu{
    position:absolute;
    top:84px;
    left:0;
    width:100%;
    background:#fff;
    padding:25px 20px;
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    border-bottom:1px solid var(--border);
    box-shadow:var(--shadow);
    display:none;
}
.nav-menu.show{
    display:flex;
}
.nav-menu .btn-primary{
    width:100%;
}
.dark-header .nav-menu{
    top:92px;
    background:#071a38;
}
.dark-header .nav-menu a{
    color:#fff;
}
.dark-header .nav-menu a:hover,
.dark-header .nav-menu a.active{
    color:var(--gold);
}
.dark-header .nav-menu a:not(.nav-cta)::after{
    display:none;
}
.dark-header .nav-cta{
    width:100%;
    justify-content:center;
    color:#fff !important;
}
.site-header:not(.dark-header) .menu-toggle span{
    background:var(--primary);
}
.dark-header .menu-toggle span{
    background:#fff;
}
}

/*
==================================================
HOME HERO
==================================================
*/
.home-hero{
position:relative;
overflow:hidden;
padding:54px 0;
background:
    /* radial-gradient(circle at right top, rgba(212,160,23,.10), transparent 32%), */
    /* linear-gradient(135deg,#fff 0%,#f7f8fb 55%,#eef2f8 100%); */
}
.hero-bg-pattern{
position:absolute;
inset:0;
background-image:
    linear-gradient(rgba(11,31,77,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,31,77,.045) 1px, transparent 1px);
background-size:48px 48px;
pointer-events:none;
}
.hero-grid{
position:relative;
z-index:2;
display:grid;
grid-template-columns:.82fr 1.18fr;
gap:58px;
align-items:center;
}
.hero-words{
display:flex;
align-items:center;
gap:45px;
margin-bottom:28px;
}
.hero-words span{
position:relative;
color:var(--primary);
font-weight:800;
font-size:.82rem;
letter-spacing:.12em;
text-transform:uppercase;
}
.hero-words span:not(:last-child)::after{
content:'';
position:absolute;
right:-24px;
top:50%;
transform:translateY(-50%);
width:7px;
height:7px;
background:var(--gold);
border-radius:50%;
}
.hero-copy h1{
color:var(--primary);
font-family:'Montserrat', sans-serif;
font-weight:800;
font-size:clamp(2rem, 4.1vw, 4.15rem);
line-height:1.03;
letter-spacing:-.07em;
max-width:610px;
}
.hero-copy .title-line{
display:block;
}
.hero-gold-line{
width:70px;
height:3px;
background:var(--gold);
margin:28px 0;
}
.hero-copy p{
max-width:530px;
font-size:1.06rem;
color:#4B5563;
margin-top:0;
}
.hero-actions{
display:flex;
align-items:center;
gap:18px;
flex-wrap:nowrap;
margin-top:34px;
}
.hero-actions .btn{
border-radius:4px;
padding:15px 28px;
gap:18px;
white-space:nowrap;
}
.hero-actions .btn-primary{
background:var(--primary);
color:#fff;
border:2px solid var(--primary);
}
.hero-actions .btn-primary span{
color:var(--gold);
}
.hero-actions .btn-secondary{
color: var(--primary);
}
.hero-actions .btn-primary:hover{
background:#fff;
color:var(--gold);
border-color:var(--primary);
}
.hero-actions .btn-primary:hover span{
color:var(--primary);
}
.hero-actions .btn-secondary:hover{
background:var(--primary);
color:var(--gold);
border-color:var(--primary);
}
.hero-actions .btn-secondary:hover span{
color:#fff !important;
}
.nav-cta span{
font-size:1rem;
line-height:1;
transition:transform .25s ease;
}
.nav-cta:hover span{
transform:translateX(3px);
}

/*
==================================================
FRAMEWORK PANEL
==================================================
*/
.hero-framework{
width:100%;
}
.framework-panel{
position:relative;
overflow:hidden;
padding:26px 34px 22px;
background:linear-gradient(135deg,#0b1f4d,#08183d);
border:1px solid rgba(212,160,23,.75);
border-radius:26px;
box-shadow:0 28px 70px rgba(0,0,0,.30);
}
.framework-panel::before{
content:'';
position:absolute;
inset:0;
background:url('../images/world-map-gold.png') center center no-repeat;
background-size:92% auto;
opacity:.24;
z-index:0;
pointer-events:none;
}
.framework-panel::after{
content:'';
position:absolute;
inset:0;
background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.04), transparent 45%),
    radial-gradient(circle at 80% 20%, rgba(212,160,23,.05), transparent 40%);
z-index:1;
pointer-events:none;
}
.framework-title,
.framework-map-area,
.framework-capabilities{
position:relative;
z-index:2;
}
.framework-title{
text-align:center;
margin-bottom:22px;
}
.framework-title span{
display:block;
color:#fff;
font-family:Georgia,'Times New Roman',serif;
font-size:2.15rem;
line-height:1.05;
}
.framework-title strong{
color:var(--gold);
font-weight:500;
}
.framework-title p{
margin:7px 0 0;
color:rgba(255,255,255,.82);
font-size:.96rem;
}

/*
==================================================
FRAMEWORK MAP
==================================================
*/
.framework-map-area{
height:340px;
margin-top:4px;
}
.route-svg{
position:absolute;
inset:0;
width:100%;
height:100%;
z-index:1;
overflow:visible;
transform:translateY(-12%);
}
.route-glow,
.route-base,
.route-highlight{
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
}
.route-glow{
stroke:var(--gold);
stroke-width:18;
opacity:.22;
filter:blur(6px);
}
.route-base{
stroke: var(--gold);
stroke-width:8;
filter:drop-shadow(0 0 7px rgba(201,149,20,.55));
}
.gold-route,
.route-base{
color:var(--gold);
}
.gold-route{
transition:
    stroke-width .35s ease,
    filter .35s ease;
}
.framework-panel:hover .gold-route{
stroke-width:9;
filter:drop-shadow(0 0 12px rgba(212,160,23,.8));
}
.route-highlight{
stroke:var(--gold);
stroke-width:2.2;
opacity:.7;
}
.route-node{
position:absolute;
z-index:2;
display:flex;
align-items:center;
gap:13px;
color:#fff;
transition:transform .35s ease;
}
.node-icon{
position: relative;
z-index: 2;
width:64px;
height:64px;
flex:0 0 64px;
display:grid;
place-items:center;
border:3px solid var(--gold);
border-radius:50%;
background:rgba(11,31,77,.96);
box-shadow:
0 0 0 2px rgba(212,160,23,.08),
0 0 16px rgba(212,160,23,.55);
transition:
transform .35s ease,
box-shadow .35s ease,
border-color .35s ease;
}
.node-icon img{
width:34px;
height:34px;
object-fit:contain;
transition:transform .35s ease;
}
.node-text{
position:absolute;
min-width:180px;
}
.node-text strong{
display:block;
color:var(--gold);
font-size:.9rem;
font-weight:800;
line-height:1.15;
}
.node-text span{
display:block;
margin-top:4px;
color:rgba(255,255,255,.82);
font-size:.72rem;
line-height:1.35;
}
.node-text strong,
.node-text span{
transition:color .35s ease;
}
.route-node:hover{
transform:none;
}
.route-node:hover .node-icon{
transform:translateY(-3px) scale(1.03);
}
.route-node:hover .node-icon img{
transform:scale(1.08);
}
.route-node:hover .node-text strong{
color:#F5D46B;
}
.route-node:hover .node-text span{
color:rgba(255,255,255,.95);
}

/*
==================================================
FRAMEWORK NODE POSITIONS
==================================================
*/
.discover-node{
left:6%;
top:1.8%;
}
.discover-node .node-text{
left:78px;
top:4px;
}
.design-node{
left:32%;
top:22%;
}
.design-node .node-text{
left:72px;
top:33px;
}
.distribute-node{
right:25%;
top:15%;
}
.distribute-node .node-text{
left:80px;
top:1px;
}
.activate-node{
right:25%;
top:58%;
}
.activate-node .node-text{
left:72px;
top:10px;
}
.measure-node{
left:40%;
top:49%;
}
.measure-node .node-text{
left:24px;
top:78px;
text-align:left;
}
.optimize-node{
left:7%;
top:67%;
}
.optimize-node .node-text{
left:75px;
top:16px;
}

/*
==================================================
FRAMEWORK CAPABILITIES
==================================================
*/
.framework-capabilities{
display:grid;
grid-template-columns:repeat(4,1fr);
border-top:1px solid rgba(255,255,255,.18);
padding-top:20px;
margin-top:4px;
}
.capability{
position:relative;
display:flex;
align-items:center;
justify-content:center;
gap:12px;
padding:0 18px;
}
.capability:not(:last-child)::after{
content:'';
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:1px;
height:28px;
background:rgba(255,255,255,.12);
}
.capability img{
width:30px;
height:30px;
object-fit:contain;
flex-shrink:0;
}
.capability span{
color:#fff;
font-size:.82rem;
line-height:1.3;
}

/*
==================================================
HERO RESPONSIVE
==================================================
*/
@media(max-width:1200px){
.hero-grid{
    grid-template-columns:1fr;
    gap:50px;
}
.hero-copy{
    max-width:720px;
}
.hero-framework{
    max-width:900px;
    margin:0 auto;
}
}

@media(max-width:760px){
.home-hero{
    padding:44px 0;
}
.hero-copy h1{
    font-size:clamp(3.8rem,17vw,5.3rem);
}
.hero-actions{
    flex-direction:column;
    align-items:stretch;
}
.hero-actions .btn{
    width:70%;
}
.framework-panel{
    padding:22px 18px;
    border-radius:22px;
}
.framework-title span{
    font-size:2.15rem;
    line-height:1.1;
}
.framework-map-area{
    height:530px;
    margin-top:28px;
}
.framework-panel::before{
background-size:cover;
background-position:center;
opacity:.10;
}
.route-svg{
    display:none;
}
.route-node{
    left:auto !important;
    right:auto !important;
    top:auto !important;
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:28px;
}
.node-text{
    position:static;
    min-width:0;
}
.node-text strong,
.node-text span{
    text-align:left;
}
.measure-node{
    flex-direction:row;
}
.measure-node .node-text{
    text-align:left;
}
.framework-capabilities{
    display:none;
}
.capability{
    justify-content:flex-start;
}
.capability:nth-child(2)::after{
    display:none;
}
}

/*
==================================================
TABLET HERO FIX
==================================================
*/
@media (min-width:761px) and (max-width:1200px){
.home-hero{
    padding:70px 0;
}
.hero-grid{
    grid-template-columns:1fr;
    gap:48px;
    align-items:center;
}
.hero-copy{
    max-width:720px;
    margin:0 auto;
    text-align:center;
}
.hero-words,
.hero-actions{
    justify-content:center;
}
.hero-gold-line{
    margin:28px auto;
}
.hero-copy p{
    margin-left:auto;
    margin-right:auto;
}
.hero-framework{
    width:100%;
    max-width:880px;
    margin:0 auto;
}
.optimize-node{
    left:10%;
    top:75%;
}
}

@media(max-width:480px){
.hero-words{
    gap:28px;
}
.hero-words span{
    font-size:.72rem;
}
.hero-words span:not(:last-child)::after{
    right:-17px;
    width:6px;
    height:6px;
}
.framework-map-area{
    height:auto;
    display:flex;
    flex-direction:column;
}
.node-icon{
    width:56px;
    height:56px;
    flex-basis:56px;
}
.node-icon img{
    width:28px;
    height:28px;
}
.framework-capabilities{
    grid-template-columns:1fr;
}
.capability:not(:last-child)::after{
    display:none;
}
}

@media (min-width:760px) and (max-width:889.99px){
.distribute-node{
    right:25%;
    top:10%;
}
.optimize-node{
    left:10%;
    top:70%;
}
}

@media (min-width:890px) and (max-width:1023.99px){
.distribute-node{
    right:25%;
    top:10%;
}
.activate-node{
    right:23%;
    top:58%;
}
.optimize-node{
    left:10%;
    top:73%;
}
}

@media (min-width:1024px) and (max-width:1200px){
.distribute-node{
    right:25%;
    top:10%;
}
.distribute-node .node-text{
    left:85px;
    top:1px;
}
.activate-node .node-text{
    left:78px;
    top:10px;
}
.optimize-node{
    left:10%;
    top:75%;
}
}

/*
==================================================
INDUSTRIES PREVIEW
==================================================
*/
.industries-preview{
padding:60px 0;
background:#fff;
}
.section-kicker{
display:block;
color:var(--gold);
font-weight:800;
text-transform:uppercase;
letter-spacing:.12em;
font-size:.76rem;
margin-bottom:10px;
}
.industries-preview__kicker{
position:relative;
display:inline-flex;
align-items:center;
gap:16px;
color:var(--gold);
margin-bottom:34px;
}
.industries-preview__kicker::before{
content:"";
width:42px;
height:2px;
background:var(--gold);
display:inline-block !important;
}
.industries-head{
display:grid;
grid-template-columns:1fr .8fr auto;
align-items:end;
gap:40px;
margin-bottom:36px;
}
.industries-head h2{
font-family:'Montserrat', sans-serif;
font-size:clamp(1.7rem, 2.25vw, 2.15rem);
color:var(--primary);
font-weight:800;
line-height:1;
}
.industries-head p{
margin:0;
color:var(--muted);
max-width:420px;
}
.industries-head > a{
display:inline-flex;
align-items:center;
gap:12px;
color:var(--primary);
font-weight:800;
white-space:nowrap;
}
.industries-head > a span{
color:var(--gold);
}
.industry-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:14px;
align-items: stretch;
}
.industry-card{
position:relative;
height: 100%;
min-height:275px;
overflow:hidden;
border-radius:16px;
display:flex;
align-items:flex-end;
padding:20px;
background:var(--primary);
box-shadow:0 20px 45px rgba(11,31,77,.14);
transition:transform .35s ease, box-shadow .35s ease;
}
.industry-card::before{
content:'';
position:absolute;
inset:0;
background:
linear-gradient(
to top,
rgba(11,31,77,.97) 0%,
rgba(11,31,77,.95) 28%,
rgba(11,31,77,.45) 52%,
transparent 72%
),
var(--industry-img);
background-size:cover;
background-position:center top;
transition:transform .5s ease;
}
.industry-card:hover{
transform:translateY(-8px);
box-shadow:0 28px 65px rgba(11,31,77,.22);
}
.industry-card:hover::before{
transform:scale(1.06);
}
.industry-card > div{
position:relative;
z-index:2;
height:100%;
display:flex;
flex-direction:column;
align-items:flex-start;
}
.industry-card span{
display:inline-flex;
color:var(--gold);
font-weight:900;
font-size:.82rem;
letter-spacing:.08em;
margin-bottom:5px;
}
.industry-card h3{
min-height:auto;
display:flex;
align-items:flex-end;
color:#fff;
font-size:1rem;
}
.industry-card p{
color:rgba(255,255,255,.78);
font-size:0.86rem;
line-height:1.45;
margin-bottom:5px;
min-height:72px;
}
.industry-card a{
color:var(--gold);
font-weight:700;
font-size:.84rem;
margin-top:10px;
}
.alcohol{--industry-img:url('../images/industries/alcohol-spirits.png');}
.fmcg{--industry-img:url('../images/industries/fcmg.png');}
.consumer{--industry-img:url('../images/industries/consumer-goods.png');}
.food{--industry-img:url('../images/industries/food-beverage.png');}
.retail{ --industry-img:url('../images/industries/retail.png');}
.distribution{--industry-img:url('../images/industries/distribution.png');}

@media(max-width:1200px){
.industries-head{
    grid-template-columns:1fr;
}
.industry-grid{
    grid-template-columns:repeat(3,1fr);
}
}

@media (max-width:992px){
.industry-grid{
    grid-template-columns:repeat(2,1fr);
}
}

@media (max-width:760px){
.industry-grid{
    grid-template-columns:1fr;
    justify-items:center;
}
.industry-card{
    width:100%;
    max-width:340px;
}
.industry-card > div{
    justify-content: center;
}
.industry-card p{
    min-height: 32px;
}
}

/*
==================================================
INDUSTRY ICON
==================================================
*/
.industry-icon{
width:54px;
height:54px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(11,31,77,.95);
border-radius:50%;
margin-top:16px;
margin-bottom:15px;
box-shadow:
0 8px 24px rgba(0,0,0,.18);
transition:.35s ease;
box-sizing:border-box;
aspect-ratio:1 / 1;
overflow:hidden;
}
.industry-card:hover .industry-icon{
transform:translateY(-4px) scale(1.08);
}
.industry-icon img{
width:28px;
height:28px;
object-fit:contain;
}

@media (max-width:760px){
.industry-icon{
    width:38px;
    height:38px;
    padding:0;
    flex:0 0 38px;
}
.industry-icon img{
    width:25px;
    height:25px;
    display:block;
}
}

/*
==================================================
SOLUTIONS PREVIEW
==================================================
*/
.solutions-preview{
padding:60px 0;
background:#f8fafc;
}
.solutions-preview__kicker{
position:relative;
display:inline-flex;
align-items:center;
gap:16px;
color:var(--gold);
margin-bottom:34px;
}
.solutions-preview__kicker::before{
content:"";
width:42px;
height:2px;
background:var(--gold);
display:inline-block;
}
.solutions-header{
display:flex;
justify-content:space-between;
align-items:flex-end;
margin-bottom:25px;
gap:40px;
}
.solutions-header h2{
font-family:'Montserrat', sans-serif;
font-size:clamp(1.7rem, 2.25vw, 2.15rem);
font-weight:800;
color:var(--primary);
line-height:1.08;
max-width:11ch;
}
.solutions-link{
display:inline-flex;
align-items:center;
gap:12px;
color:var(--primary);
font-weight:700;
white-space:nowrap;
transition:var(--transition);
}
.solutions-link span,
.solutions-link:hover{
color:var(--gold);
}
.solutions-grid{
display:grid;
grid-template-columns:38% 62%;
gap:60px;
align-items:start;
}
.solutions-copy{
position:sticky;
top:120px;
align-self: start;
}
.solutions-copy p{
font-size:1.05rem;
line-height:1.9;
color:var(--muted);
margin-bottom:50px;
max-width: 420px;
}
.solutions-copy .btn{
border-radius:4px;
padding:15px 28px;
gap:18px;
white-space:nowrap;
}
.solutions-copy .btn-primary{
background:var(--primary);
color:#fff;
border:2px solid var(--primary);
}
.solutions-copy .btn-primary span{
color:var(--gold);
}
.solutions-copy .btn-primary:hover{
background:#fff;
color:var(--gold);
border-color:var(--primary);
}
.solutions-copy .btn-primary:hover span{
color:var(--primary);
}

/*
==================================================
SOLUTIONS ACCORDION
==================================================
*/
.solutions-accordion{
position:relative;
width:100%;
overflow:hidden;
padding-right:20px;
}
.solutions-accordion::before{
content:'';
position:absolute;
left:18px;
top:0;
bottom:0;
width:2px;
background:var(--gold);
}
.solution-top-divider{
margin:0 0 0 18px;
border:0;
height:0.5px;
background:gray;
}
.solution-item{
position:relative;
padding-left:48px;
}
.solution-item::after{
content:'';
position:absolute;
left:18px;
right:0;
bottom:0;
height:0.5px;
background:gray;
}
.solution-marker{
position:absolute;
left:13px;
top:32px;
width:12px;
height:12px;
border-radius:50%;
background:#fff;
border:1.5px solid var(--gold);
z-index:3;
}
.solution-item.active .solution-marker{
background:var(--gold);
box-shadow:0 0 14px rgba(212,160,23,.6);
}
.solution-toggle{
width:100%;
background:none;
border:none;
cursor:pointer;
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
padding:22px 0;
text-align:left;
}
.solution-number{
width:42px;
color:var(--gold);
font-weight:800;
font-size:.82rem;
}
.solution-title{
flex:1;
font-size:1.18rem;
font-weight:700;
color:var(--primary);
transition:.3s;
}
.solution-toggle:hover .solution-title{
color:var(--gold);
}
.solution-icon{
width:36px;
height:36px;
flex:0 0 36px;
display:grid;
place-items:center;
border-radius:50%;
border:2px solid var(--gold);;
color:var(--gold);
font-size:1.35rem;
font-weight:300;
line-height:1;
transition:.35s;
}
.solution-item:hover .solution-icon{
transform:scale(1.05);
}

/*
==================================================
SOLUTIONS CONTENT
==================================================
*/
.solution-content{
max-height:0;
overflow:hidden;
opacity:0;
transition:max-height .45s ease, opacity .25s ease;
}
.solution-item.active .solution-content{
max-height:260px;
opacity:1;
padding:0 0 24px;
}
.solution-divider{
margin:0 0 24px -30px;
border:0;
height:0.5px;
background:gray;
display:none;
}
.solution-item.active .solution-divider{
display:block;
}
.solution-content-row{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:34px;
}
.solution-description{
padding-right:28px;
border-right:1px solid rgba(15,23,42,.10);
}
.solution-description p{
margin:0 0 22px;
color:var(--muted);
line-height:1.8;
}
.solution-points ul{
margin:0;
padding:0;
list-style:none;
}
.solution-points li{
position:relative;
padding-left:22px;
margin-bottom:12px;
color:var(--muted);
}
.solution-learn{
position:relative;
display:inline-flex;
color:var(--gold);
padding-bottom:7px;
}
.solution-learn::after{
content:'';
position:absolute;
left:0;
bottom:0;
width:95px;
height:1px;
background:var(--gold);
}
.solution-points li::before{
content:'❯';
position:absolute;
left:0;
color:var(--gold);
}
.solutions-grid,
.solutions-list,
.solution-item,
.solution-top,
.solution-panel{
min-width:0;
}

/*
==================================================
SOLUTIONS RESPONSIVE
==================================================
*/
@media(max-width:1395px){
.solutions-preview{
    overflow:hidden;
}
.solutions-grid{
    grid-template-columns:1fr;
    gap:34px;
}
.solutions-copy{
    position:relative;
    top:0;
    max-width:760px;
}
.solutions-list{
    max-width:100%;
    width:100%;
    min-width:0;
}
.solution-item{
    width:100%;
    min-width:0;
}
.solution-top{
    min-width:0;
}
.solution-top h3{
    min-width:0;
    overflow-wrap:break-word;
}
.solution-panel{
    max-width:100%;
    min-width:0;
}
}

@media(max-width:760px){
.solutions-preview{
    padding:80px 0;
}
.solutions-header{
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:40px;
}
.solutions-accordion{
    padding-right:0;
}
.solutions-accordion::before{
    left:12px;
}
.solution-top-divider{
    margin-left:12px;
}
.solution-item{
    padding-left:34px;
}
.solution-item::after{
    left:12px;
}
.solution-marker{
    left:7px;
}
.solution-title{
    font-size:1.02rem;
}
.solution-content-row{
    grid-template-columns:1fr;
    gap:18px;
}
.solution-description{
    padding-right:0;
    border-right:none;
    border-bottom:none;
    padding-bottom:0;
}
.solution-divider{
    margin-left:-22px;
}
.solution-points{
    display: none;
}
}

/*
==================================================
TECHNOLOGY PREVIEW
==================================================
*/
.technology-preview{
position:relative;
padding:78px 0 86px;
background:linear-gradient(135deg, #071a38 0%, #061833 46%, #04142d 100%);
color:#fff;
overflow:hidden;
}
.technology-preview::before{
content:"";
position:absolute;
inset:0;
background:
    linear-gradient(90deg, rgba(255,255,255,.035), transparent 38%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.12) 100%);
pointer-events:none;
}
.technology-preview__rings{
position:absolute;
top:-130px;
right:-300px;
width:450px;
height:450px;
border:1px solid var(--gold);
border-radius:50%;
opacity:.68;
pointer-events:none;
}
.technology-preview__rings::before,
.technology-preview__rings::after{
content:"";
position:absolute;
border:1px solid var(--gold);
border-radius:50%;
}
.technology-preview__rings::before{
inset:38px;
}
.technology-preview__rings::after{
inset:76px;
}
.technology-preview__rings span{
position:absolute;
inset:114px;
border:1px solid var(--gold);
border-radius:50%;
}
.technology-preview__inner{
position:relative;
z-index:2;
}
.technology-preview__top{
display:grid;
grid-template-columns:1.05fr .95fr;
gap:78px;
align-items:start;
margin-bottom:44px;
}
.technology-preview__kicker{
position:relative;
display:inline-flex;
align-items:center;
gap:16px;
color:var(--gold);
margin-bottom:34px;
}
.technology-preview__kicker::before{
content:"";
width:42px;
height:2px;
background:var(--gold);
display:inline-block;
}
.technology-preview__head h2{
max-width:460px;
color:#fff;
font-family:'Montserrat', sans-serif;
font-size:clamp(1.7rem, 2.25vw, 2.15rem);
line-height:1.22;
letter-spacing:-.055em;
text-shadow:0 18px 42px rgba(0,0,0,.22);
}
.technology-preview__body{
max-width:400px;
}
.technology-preview__body p{
color:rgba(255,255,255,.84);
font-size:1.03rem;
line-height:1.82;
margin-bottom:30px;
}
.technology-preview__link{
position:relative;
display:inline-flex;
align-items:center;
gap:18px;
color:var(--gold);
font-size:.88rem;
font-weight:900;
letter-spacing:.065em;
text-transform:uppercase;
text-decoration:none;
padding-bottom:13px;
transition:gap .3s ease, color .3s ease;
}
.technology-preview__link::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:calc(100% - 52px);
height:2px;
background:var(--gold);
transform-origin:left;
transition:transform .3s ease;
}
.technology-preview__link span{
color:var(--gold);
font-size:1.35rem;
line-height:1;
}
.technology-preview__link:hover{
gap:24px;
color:#fff;
}
.technology-preview__link:hover::after{
transform:scaleX(.78);
}
/*
==================================================
TECHNOLOGY PREVIEW FLOW
==================================================
*/

.technology-preview__flow{
position:relative;
display:grid;
grid-template-columns:1fr 72px 1fr 72px 1fr 72px 1fr;
gap:0;
align-items:start;
max-width:1080px;
margin:0 auto;
padding-top:10px;
}
.technology-preview__item{
text-align:center;
}
.technology-preview__circle{
width:92px;
height:92px;
margin:0 auto 18px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,255,255,.34);
background:rgba(255,255,255,.035);
box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.technology-preview__circle svg{
width:38px;
height:38px;
fill:none;
stroke:var(--gold);
stroke-width:2.15;
stroke-linecap:round;
stroke-linejoin:round;
}
.technology-preview__item h3{
margin:0;
color:#fff;
font-family:'Montserrat', sans-serif;
font-size:.92rem;
font-weight:800;
line-height:1.35;
letter-spacing:-.02em;
}
.technology-preview__connector{
position:relative;
display:block;
width:64px;
height:2px;
margin-top:45px;
background-image:linear-gradient(
    90deg,
    var(--gold) 0 4px,
    transparent 4px 9px
);
background-size:9px 2px;
background-repeat:repeat-x;
opacity:.9;
}
.technology-preview__connector::after{
content:"";
position:absolute;
right:-4px;
top:50%;
width:8px;
height:8px;
border-top:2px solid var(--gold);
border-right:2px solid var(--gold);
transform:translateY(-50%) rotate(45deg);
}

/*
==================================================
TECHNOLOGY PREVIEW FLOW
==================================================
*/
.technology-preview__flow{
position:relative;
display:grid;
grid-template-columns:1fr 54px 1fr 54px 1fr 54px 1fr 54px 1fr;
gap:0;
align-items:start;
max-width:1120px;
margin:0;
padding-top:10px;
}
.technology-preview__item{
text-align:center;
}
.technology-preview__circle img{
width:54px;
height:54px;
object-fit:contain;
display:block;
}
.technology-preview__circle{
width:86px;
height:86px;
margin:0 auto 18px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,255,255,.34);
background:rgba(255,255,255,.035);
box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.technology-preview__item h3{
margin:0;
color:#fff;
font-size:.86rem;
line-height:1.35;
letter-spacing:-.02em;
font-weight: lighter;
}
.technology-preview__connector{
position:relative;
display:block;
width:68px;
height:8px;
margin-top:39px;
background-image:radial-gradient(
    circle,
    var(--gold) 2px,
    transparent 2.2px
);
background-size:10px 8px;
background-repeat:repeat-x;
background-position:center;
opacity:.95;
}
.technology-preview__connector::after{
display:none;
}

@media(max-width:1100px){
.technology-preview__top{
    grid-template-columns:1fr;
    gap:28px;
}
.technology-preview__body{
    padding-top:0;
    max-width:700px;
}
.technology-preview__flow{
    grid-template-columns:repeat(5, 1fr);
    gap:38px 34px;
    max-width:760px;
}
.technology-preview__connector{
    display:none
}
}

@media(max-width:760px){
.technology-preview__flow{
    grid-template-columns:repeat(4, 1fr);
    max-width:520px;
}
.salesforce-tech{
    display: none;
}
}
@media(max-width:482.99px){
.technology-preview__flow{
    grid-template-columns:repeat(3, 1fr);
}
}
@media(max-width:367.99px){
.technology-preview__flow{
    grid-template-columns:repeat(2, 1fr);
}
}

/*
==================================================
ABOUT LOGICFLOW BRIEF
==================================================
*/
.about-brief{
position:relative;
padding:88px 0;
background:#fff;
overflow:hidden;
}
.about-brief::before{
content:"";
position:absolute;
right:-220px;
bottom:-260px;
width:640px;
height:420px;
border:1px solid rgba(212,160,23,.12);
border-radius:50%;
transform:rotate(-14deg);
pointer-events:none;
}
.about-brief::after{
content:"";
position:absolute;
right:-160px;
bottom:-220px;
width:520px;
height:340px;
border:1px solid rgba(212,160,23,.10);
border-radius:50%;
transform:rotate(-14deg);
pointer-events:none;
}
.about-brief__inner{
position:relative;
z-index:1;
display:grid;
grid-template-columns:.95fr 1.05fr;
gap:86px;
align-items:start;
}
.about-brief__kicker{
position:relative;
display:inline-flex;
align-items:center;
gap:16px;
color:var(--gold);
margin-bottom:24px;
}
.about-brief__kicker::before{
content:"";
width:42px;
height:2px;
background:var(--gold);
display:inline-block;
}
.about-brief__left h2{
max-width:610px;
color:var(--primary);
font-family:'Montserrat', sans-serif;
font-size:clamp(1.7rem, 2.25vw, 2.15rem);
font-weight:800;
line-height:1.22;
letter-spacing:-.06em;
}
.about-brief__right{
max-width:650px;
padding-top:54px;
}
.about-brief__right p{
color:#26334d;
font-size:1.08rem;
line-height:1.82;
margin-bottom:32px;
}
.about-brief__link{
position:relative;
display:inline-flex;
align-items:center;
gap:18px;
color:var(--primary);
font-size:.86rem;
font-weight:900;
letter-spacing:.065em;
text-transform:uppercase;
text-decoration:none;
padding-bottom:13px;
transition:gap .3s ease, color .3s ease;
}
.about-brief__link::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:calc(100% - 52px);
height:2px;
background:var(--gold);
transform-origin:left;
transition:transform .3s ease;
}
.about-brief__link span{
color:var(--primary);
font-size:1.35rem;
line-height:1;
}
.about-brief__link:hover{
gap:24px;
color:var(--gold);
}
.about-brief__link:hover::after{
transform:scaleX(.78);
}

@media(max-width:900px){
.about-brief{
    padding:72px 0;
}
.about-brief__inner{
    grid-template-columns:1fr;
    gap:28px;
}
.about-brief__right{
    padding-top:0;
}
}

@media(max-width:620px){
.about-brief__left h2{
    font-size:clamp(2.1rem, 10vw, 3.1rem);
}
.about-brief__right p{
    font-size:1rem;
}
}

/*
==================================================
FINAL CTA
==================================================
*/
.final-cta{
position:relative;
padding:20px 0 0;
background:#fff;
z-index:3;
margin-bottom:-1px;
}
.final-cta__box{
position:relative;
display:grid;
grid-template-columns:auto minmax(0, 520px) auto;
align-items:center;
justify-content:center;
gap:34px;
padding:24px 34px;    background:#071a38;
border:1px solid rgba(255,255,255,.12);
border-radius:8px;
color:#fff;
overflow:hidden;
box-shadow:0 24px 60px rgba(11,31,77,.14);
}
.final-cta__box::before{
content:"";
position:absolute;
inset:0;
background:
    linear-gradient(90deg, rgba(255,255,255,.02), transparent 32%),
    url('../images/world-map-gold.png') center right 6% / 48% auto no-repeat;
opacity:.17;
pointer-events:none;
}
.final-cta__icon,
.final-cta__content,
.final-cta__btn{
position:relative;
z-index:1;
}
.final-cta__icon{
width:68px;
height:68px;
border:1px solid rgba(212,160,23,.58);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:var(--gold);
flex-shrink:0;
}
.final-cta__icon svg{
width:40px;
height:40px;
fill:none;
stroke:#fff;
stroke-width:2.2;
stroke-linecap:round;
stroke-linejoin:round;
}
.final-cta__content{
max-width:520px;
}
.final-cta__content h2{
color:#fff;
font-family:'Montserrat', sans-serif;
font-size:clamp(1.7rem, 2.25vw, 2.15rem);
line-height:1.04;
font-weight:800;
letter-spacing:-.05em;
margin-bottom:8px;
}
.final-cta__content h2 span{
color:var(--gold);
}
.final-cta__content p{
max-width:460px;
color:rgba(255,255,255,.76);
font-size:.94rem;
line-height:1.52;
}
.final-cta__btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:16px;
min-width:220px;
height:52px;
padding:0 24px;
background:var(--gold);
color:var(--primary);
border:1px solid var(--gold);
border-radius:4px;
font-size:.86rem;
font-weight:900;
text-decoration:none;
white-space:nowrap;
margin-left:18px;
transition:
    transform .3s ease,
    background .3s ease,
    color .3s ease,
    box-shadow .3s ease;
}
.final-cta__btn span{
font-size:1.1rem;
line-height:1;
}
.final-cta__btn:hover{
transform:translateY(-3px);
background:#fff;
color:var(--primary);
box-shadow:0 18px 40px rgba(0,0,0,.18);
}

@media(max-width:960px){
.final-cta__box{
    grid-template-columns:1fr;
    justify-content:stretch;
    gap:20px;
    padding:28px 24px;
}
.final-cta__content{
    max-width:100%;
}
.final-cta__content p{
    max-width:100%;
}
.final-cta__btn{
    width:fit-content;
    margin-left:0;
}
.final-cta__box::before{
    background:
        linear-gradient(90deg, rgba(255,255,255,.02), transparent 32%),
        url('../images/world-map-gold.png') center / cover no-repeat;
    opacity:.10;
}
}

@media(max-width:560px){
.final-cta{
    padding-top:14px;
}
.final-cta__icon{
    width:62px;
    height:62px;
}
.final-cta__btn{
    width:100%;
}
}

/*
==================================================
FOOTER
==================================================
*/
.site-footer{
background:
    radial-gradient(circle at top left, rgba(212,160,23,.13), transparent 30%),
    linear-gradient(135deg, #071735 0%, #0B1F4D 58%, #07142f 100%);
color:#fff;
margin-top:0;
position:relative;
overflow:hidden;
}
.site-footer::before{
content:"";
position:absolute;
inset:0;
background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
background-size:42px 42px;
opacity:.35;
pointer-events:none;
}
.footer-main,
.footer-bottom{
position:relative;
z-index:1;
}
.footer-main{
display:grid;
grid-template-columns:minmax(260px, .9fr) 1.6fr;
gap:70px;
padding:50px 0 44px;
}
.footer-brand{
max-width:390px;
}
.footer-logo{
display:inline-flex;
align-items:center;
color:#fff;
font-family:'Montserrat', sans-serif;
font-size:1.35rem;
font-weight:900;
letter-spacing:-.04em;
text-decoration:none;
margin-bottom:18px;
}
.footer-logo::before{
content:"";
width:10px;
height:10px;
border-radius:50%;
background:var(--gold);
box-shadow:0 0 0 6px rgba(212,160,23,.13);
margin-right:12px;
}
.site-footer .logo img{
display:block;
height:44px;
width:auto;
}
.footer-summary{
color:rgba(255,255,255,.76);
font-size:.98rem;
line-height:1.8;
margin:22px 0;
}
.footer-meta{
display:flex;
flex-wrap:wrap;
gap:10px;
}
.footer-meta span{
display:inline-flex;
align-items:center;
min-height:34px;
padding:8px 12px;
border:1px solid rgba(255,255,255,.14);
border-radius:999px;
background:rgba(255,255,255,.06);
color:rgba(255,255,255,.78);
font-size:.8rem;
font-weight:700;
}
.footer-nav{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:34px;
}
.footer-links h4{
color:#fff;
font-family:'Montserrat', sans-serif;
font-size:.82rem;
font-weight:800;
text-transform:uppercase;
letter-spacing:.12em;
margin:0 0 18px;
}
.footer-links a{
display:flex;
align-items:center;
width:max-content;
max-width:100%;
color:rgba(255,255,255,.68);
font-size:.92rem;
font-weight:600;
line-height:1.45;
text-decoration:none;
margin-bottom:12px;
transition:
    color .25s ease,
    transform .25s ease;
}
.footer-links a::before{
content:"";
width:0;
height:1px;
background:var(--gold);
margin-right:0;
transition:
    width .25s ease,
    margin-right .25s ease;
}
.footer-links a:hover,
.footer-links a:focus-visible{
color:#fff;
transform:translateX(3px);
}
.footer-links a:hover::before,
.footer-links a:focus-visible::before{
width:18px;
margin-right:9px;
}
.footer-bottom{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:22px 0 28px;
border-top:1px solid rgba(255,255,255,.12);
}
.footer-bottom p{
color:rgba(255,255,255,.62);
font-size:.86rem;
margin:0;
}
.footer-words{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
}
.footer-words span{
color:rgba(255,255,255,.8);
font-size:.74rem;
font-weight:800;
text-transform:uppercase;
letter-spacing:.14em;
}
.footer-words span:not(:last-child)::after{
content:"";
display:inline-block;
width:5px;
height:5px;
border-radius:50%;
background:var(--gold);
margin-left:10px;
vertical-align:middle;
}
.footer-bottom-links{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}
.footer-bottom-links a{
color:rgba(255,255,255,.62);
font-size:.82rem;
font-weight:700;
text-decoration:none;
transition:color .25s ease;
}
.footer-bottom-links a:hover,
.footer-bottom-links a:focus-visible{
color:#fff;
}
.footer-bottom-links a:not(:last-child)::after{
content:"";
display:inline-block;
width:4px;
height:4px;
border-radius:50%;
background:var(--gold);
margin-left:14px;
vertical-align:middle;
}

/*
==================================================
FOOTER RESPONSIVE
==================================================
*/
@media (max-width: 980px){
.footer-main{
    grid-template-columns:1fr;
    gap:44px;
    padding:50px 0 38px;
}
.footer-brand{
    max-width:560px;
}
.footer-nav{
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
}
}

@media (max-width: 760px){
.footer-nav{
    grid-template-columns:1fr 1fr;
}
.footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
}
.footer-bottom-links{
    gap:12px;
}
}

@media (max-width: 560px){
.footer-main{
    gap:36px;
}
.footer-nav{
    grid-template-columns:1fr;
    gap:30px;
}
.footer-links a{
    width:100%;
}
.footer-meta{
    flex-direction:column;
    align-items:flex-start;
}
.footer-words{
    gap:8px;
}
.footer-words span{
    font-size:.68rem;
}
}

/*
==================================================
SCROLL REVEAL POLISH
==================================================
*/
.reveal{
opacity:0;
transform:translateY(28px);
transition:
    opacity .7s ease,
    transform .7s ease;
}
.reveal.is-visible{
opacity:1;
transform:translateY(0);
}

@media(prefers-reduced-motion:reduce){
*,
*::before,
*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
}
.reveal{
    opacity:1;
    transform:none;
}
}

/*
==================================================
HOMEPAGE RESPONSIVE QA POLISH
==================================================
*/
.home-hero,
.industries-preview,
.technology-preview,
.about-brief,
.final-cta,
.site-footer{
overflow:hidden;
}

@media(max-width:1100px){
section{
    padding-left:0;
    padding-right:0;
}
.industries-preview,
.solutions-preview,
.technology-preview,
.about-brief{
    padding-top:72px;
    padding-bottom:72px;
}
.industries-head,
.solutions-header,
.technology-preview__top,
.about-brief__inner{
    gap:34px;
}
}

@media(max-width:760px){
body{
    font-size:15px;
}
.container{
    width:min(100% - 32px, var(--container));
}
.section-kicker{
    font-size:.7rem;
    letter-spacing:.11em;
}
.hero-copy h1,
.industries-head h2,
.solutions-header h2,
.technology-preview__head h2,
.about-brief__left h2{
    letter-spacing:-.05em;
}
.industries-preview,
.solutions-preview,
.technology-preview,
.about-brief{
    padding-top:64px;
    padding-bottom:64px;
}
}

@media(max-width:760px){
.final-cta__box{
    text-align:left;
}
.final-cta__content h2{
    max-width:360px;
}
.final-cta__content p{
    max-width:420px;
}
}

@media(max-width:600px){
.footer-logo{
    font-size:1.65rem;
}
.footer-links h4{
    margin-bottom:8px;
}
.footer-links{
    gap:10px;
}
.footer-bottom{
    gap:14px;
}
}

/*
==================================================
LEGAL PAGES
==================================================
*/
.legal-page{
    background:#fff;
}

.legal-page .section-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:var(--gold, #D4A017);
    font-family:'Inter', sans-serif;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.12em;
    line-height:1;
    text-transform:uppercase;
}

.legal-page .section-kicker::before{
    content:"";
    flex:0 0 34px;
    width:34px;
    height:2px;
    background:var(--gold, #D4A017);
}

.legal-hero{
    position:relative;
    overflow:hidden;
    padding:100px 0 74px;
    background:
        radial-gradient(circle at top right, rgba(212,160,23,.14), transparent 32%),
        linear-gradient(135deg, #071735 0%, #0B1F4D 58%, #07142f 100%);
    color:#fff;
}

.legal-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:42px 42px;
    opacity:.32;
    pointer-events:none;
}

.legal-hero .container{
    position:relative;
    z-index:1;
    max-width:960px;
}

.legal-hero h1{
    font-family:'Montserrat', sans-serif;
    font-weight:800;
    font-size:clamp(2rem, 4.1vw, 4.15rem);
    line-height:1.03;
    letter-spacing:-.07em;
    color:#fff;
    margin:0 0 20px;
}

.legal-hero p{
    max-width:720px;
    color:rgba(255,255,255,.78);
    font-size:1.05rem;
    line-height:1.75;
    margin:0;
}

.legal-content{
    padding:74px 0 86px;
    background:
        linear-gradient(180deg, #F5F7FA 0%, #fff 42%);
}

.legal-shell{
    display:grid;
    grid-template-columns:280px minmax(0, 1fr);
    gap:34px;
    align-items:start;
}

.legal-sidebar{
    position:sticky;
    top:104px;
    padding:22px;
    border:1px solid rgba(11,31,77,.1);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 45px rgba(11,31,77,.07);
}

.legal-sidebar span{
    display:block;
    color:var(--gold);
    font-family:'Montserrat', sans-serif;
    font-size:.74rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.14em;
    margin-bottom:16px;
}

.legal-sidebar a{
    display:block;
    color:rgba(11,31,77,.72);
    font-size:.9rem;
    font-weight:700;
    line-height:1.45;
    text-decoration:none;
    padding:10px 0;
    border-bottom:1px solid rgba(11,31,77,.08);
    transition:
        color .25s ease,
        transform .25s ease;
}

.legal-sidebar a:last-child{
    border-bottom:0;
}

.legal-sidebar a:hover,
.legal-sidebar a:focus-visible{
    color:var(--primary);
    transform:translateX(4px);
}

.legal-card{
    padding:42px;
    border:1px solid rgba(11,31,77,.1);
    border-radius:28px;
    background:#fff;
    box-shadow:0 24px 70px rgba(11,31,77,.08);
}

.legal-updated{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(212,160,23,.12);
    color:var(--primary);
    font-size:.78rem;
    font-weight:800;
    margin:0 0 28px;
}

.legal-card section{
    padding:30px 0;
    border-top:1px solid rgba(11,31,77,.08);
    scroll-margin-top:120px;
}

.legal-card section:first-of-type{
    border-top:0;
    padding-top:0;
}

.legal-card section:last-child{
    padding-bottom:0;
}

.legal-card h2{
    font-family:'Montserrat', sans-serif;
    font-size:clamp(1.35rem, 1.75vw, 1.75rem);
    color:var(--primary);
    font-weight:800;
    line-height:1.22;
    letter-spacing:-.04em;
    margin:0 0 14px;
}

.legal-card p{
    color:rgba(11,31,77,.72);
    font-size:.98rem;
    line-height:1.85;
    margin:0 0 14px;
}

.legal-card p:last-child{
    margin-bottom:0;
}

.legal-card ul{
    display:grid;
    gap:10px;
    padding:0;
    margin:16px 0 18px;
    list-style:none;
}

.legal-card li{
    position:relative;
    color:rgba(11,31,77,.72);
    font-size:.96rem;
    line-height:1.65;
    padding-left:24px;
}

.legal-card li::before{
    content:"";
    position:absolute;
    left:0;
    top:.72em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 5px rgba(212,160,23,.12);
}

.legal-card a{
    color:var(--primary);
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid rgba(212,160,23,.65);
}

.legal-card a:hover,
.legal-card a:focus-visible{
    color:var(--gold);
}

.legal-contact-box{
    margin-top:18px;
    padding:22px;
    border-radius:20px;
    background:#F5F7FA;
    border:1px solid rgba(11,31,77,.08);
}

.legal-contact-box p{
    margin-bottom:6px;
}

/*
==================================================
LEGAL RESPONSIVE
==================================================
*/
@media (max-width: 980px){
    .legal-hero{
        padding:86px 0;
    }

    .legal-shell{
        grid-template-columns:1fr;
    }

    .legal-sidebar{
        position:relative;
        top:auto;
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:0 22px;
    }

    .legal-sidebar span{
        grid-column:1 / -1;
    }
}

@media (max-width: 680px){
    .legal-hero{
        padding:74px 0 54px;
    }

    .legal-content{
        padding:54px 0 68px;
    }

    .legal-card{
        padding:28px 22px;
        border-radius:22px;
    }

    .legal-sidebar{
        grid-template-columns:1fr;
        padding:20px;
        border-radius:20px;
    }

    .legal-card section{
        padding:26px 0;
    }

    .legal-card p,
    .legal-card li{
        font-size:.94rem;
    }
}

/*
==================================================
ANIMATION POLISH
==================================================
*/
.reveal{
opacity:0;
transform:translateY(28px);
transition:
    opacity .75s ease,
    transform .75s ease;
}
.reveal.is-visible{
opacity:1;
transform:translateY(0);
}
.reveal-delay-1{
transition-delay:.08s;
}
.reveal-delay-2{
transition-delay:.16s;
}
.reveal-delay-3{
transition-delay:.24s;
}
.reveal-delay-4{
transition-delay:.32s;
}

@media(prefers-reduced-motion:reduce){
.reveal,
.reveal-delay-1,
.reveal-delay-2,
.reveal-delay-3,
.reveal-delay-4{
    opacity:1;
    transform:none;
    transition:none;
}
}
.industry-card:hover .industry-icon,
.technology-preview__card:hover .technology-preview__icon,
.final-cta__box:hover .final-cta__icon{
transform:translateY(-4px) scale(1.04);
}
.technology-preview__icon,
.final-cta__icon{
transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}
.final-cta__box:hover .final-cta__icon{
border-color:var(--gold);
box-shadow:0 0 0 6px rgba(212,160,23,.08);
}