/* PT PETRO PRIMA ENERGI - MAIN STYLES */

:root{
    --orange:#ff6b00;
    --orange-dark:#e85d00;
    --black:#0b0c0e;
    --black-soft:#151619;
    --text:#121315;
    --muted:#5e6063;
    --white:#ffffff;
    --container:min(1160px,calc(100% - 72px));
    --header-height:94px;
    --radius:16px;
    --shadow:0 10px 35px rgba(0,0,0,.10);
}

*,
*::before,
*::after{box-sizing:border-box}

html{
    scroll-behavior:smooth;
    scroll-padding-top:0;
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
}

body{
    margin:0;
    width:100%;
    max-width:100%;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.55;
    overflow-x:hidden !important;
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

img{display:block;max-width:100%}

img[alt="k3-orange"] {
    display: block;
    width: 29px;
    height: auto;
}

img[alt="medal"] {
    display: block;
    width: 35px;
    height: auto;
}

img[alt="group"] {
    display: block;
    width: 35px;
    height: auto;
}

section{position:relative}
.container{width:var(--container);margin-inline:auto}
.orange{color:var(--orange)}

h1,h2,h3,p{margin-top:0}
h1{
    margin-bottom:20px;
    font-size:clamp(45px,5.7vw,45px);
    line-height:.98;
    letter-spacing:-3px;
}
h2{
    margin-bottom:20px;
    font-size:clamp(28px,3.3vw,28px);
    line-height:1.06;
    letter-spacing:-1.5px;
}
h3{line-height:1.15}

.eyebrow{
    display:flex;
    align-items:center;
    gap:15px;
    width:fit-content;
    margin-bottom:16px;
    color:var(--orange);
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.25px;
}
.eyebrow::after{
    content:"";
    width:38px;
    height:2px;
    background:var(--orange);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:46px;
    padding:0 19px;
    border:1px solid transparent;
    border-radius:4px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:.2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-orange{color:#fff;background:var(--orange)}
.btn-orange:hover{background:var(--orange-dark)}
.btn-outline{color:#171717;background:#fff;border-color:#171717}
.btn-outline:hover{color:var(--orange);border-color:var(--orange)}

/* HEADER */
.site-header{
    position:fixed;
    inset:0 0 auto 0;
    height:var(--header-height);
    z-index:1000;
    color:#fff;
    isolation:isolate;
    transition:color .25s ease;
}
.site-header::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:150px;
    background:transparent;
    pointer-events:none;
}
.site-header .nav-wrap{
    position:relative;
    z-index:1;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
    color:#fff;
}
.logo{
    width:58px;
    height:58px;
    object-fit:contain;
}
.brand-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1.15;
}
.brand-name{
    color:#fff;
    font-size:17px;
    font-weight:800;
    letter-spacing:.2px;
    white-space:nowrap;
    text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 7px rgba(0,0,0,.60);
    transition:.25s ease;
}
.brand-tagline{
    margin-top:4px;
    color:#fff;
    font-size:13px;
    white-space:nowrap;
    text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 7px rgba(0,0,0,.60);
    transition:.25s ease;
}

.nav{
    display:flex;
    align-items:center;
    gap:32px;
    margin-left:auto;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
}
.nav-link{
    position:relative;
    padding:8px 0;
    white-space:nowrap;
    color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 7px rgba(0,0,0,.60);
    transition:.25s ease;
}
.nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:2px;
    background:var(--orange);
    transition:width .2s ease;
}
.nav-link:hover::after,
.nav-link.active::after{width:100%}
.nav-link.active,
.nav-link:hover{color:var(--orange)}

.site-header.header-light .brand-name,
.site-header.header-light .brand-tagline,
.site-header.header-light .nav-link{
    color:#222326;
    text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 5px rgba(255,255,255,.65);
}
.site-header.header-light .nav-link.active,
.site-header.header-light .nav-link:hover{color:var(--orange)}

.menu-toggle{
    display:none;
    width:42px;
    height:42px;
    padding:9px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:7px;
    background:rgba(0,0,0,.25);
    cursor:pointer;
}
.menu-toggle span{
    display:block;
    width:100%;
    height:2px;
    margin:5px 0;
    background:#fff;
    transition:.2s ease;
}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{
    position:relative;
    width:100%;
    height:100vh;
    height:100svh;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    align-items:center;
    color:#fff;
    overflow:hidden;
    isolation:isolate;
}
.hero-about,.hero-services,.hero-contact{
    height:280px;
    min-height:280px;
    align-items:center;
}
.hero-about .hero-content,
.hero-services .hero-content,
.hero-contact .hero-content{
    padding-top:55px;
    padding-bottom:0px;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    pointer-events:none;
}
.hero-about::before{background:#fff}
.hero-services::before{background-image:url("../images/services-bg.png")}
.hero-contact::before{background-image:url("../images/contact-bg.png")}
.hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(5,6,7,.98) 0%,rgba(5,6,7,.91) 22%,rgba(5,6,7,.55) 48%,rgba(5,6,7,.16) 75%,rgba(5,6,7,.28) 100%);
}
.hero-content{
    position:relative;
    z-index:2;
    width:var(--container);
    padding-top:80px;
    padding-bottom:40px;
}
.hero-lead{
    max-width:650px;
    margin-bottom: 0px;
    color:#f3f3f3;
    font-size:clamp(16px,1.35vw,20px);
    line-height:1.55;
}
.hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:0;
    background:#050607;
    pointer-events:none;
}
.hero-about{background:#fff;color:#121315}
.hero-about::before,.hero-about .hero-overlay{display:none}
.hero-about .hero-content{color:#121315}
.hero-about h1{
    color:#121315;
    max-width:850px;
    /* margin-bottom:70px; */
    font-size:clamp(45px,4.5vw,45px);
    line-height:1.05;
    letter-spacing:-2px;
}
.hero-about .hero-lead{color:#555}

/* ABOUT */
.about-intro{padding:0 0 80px;background:#fff}
.about-grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:75px;
    align-items:center;
}
.about-copy p{max-width:490px;color:#444;font-size:13px;text-align:justify}
.collage{
    position:relative;
    width:100%;
    max-width:560px;
    height:355px;
    min-height:355px;
    margin-left:auto;
}
.collage-main{
    position:absolute;
    left:0;top:0;
    width:420px;height:305px;
    overflow:hidden;
    border-radius:18px;
    box-shadow:var(--shadow);
    z-index:1;
}
.collage-main img,.collage-small img{
    width:100%;height:100%;object-fit:cover;
}

.wa-logo {
    width: 35px;
    height: auto;
}

.logos {
    width: 33px;
    height: auto;
}



.values-logos {
    width: 35px;
    height: auto;
}

.k3-logo {
    width: 3  px;
    height: auto;
}

.service-logos {
    width: 40px;
    height: auto;
}

.service-icon img[alt="fuel"] {
    width: 32px;
}


.footer-contacts {
    width: 15px;
    height: auto;
}

.footer-company {
    display: flex;
    flex-direction: column;
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: 0px;
    margin-bottom: 18px;
}

.footer-logo {
    width: 75px;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
}

.footer-brand-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.footer-brand-name {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: .2px;
    white-space: nowrap;
}

.footer-brand-tagline {
    margin-top: 6px;
    color: #fff;
    font-size: 13px;
    font-weight: 0;
    line-height: 1.2;
    white-space: nowrap;
}

.footer-company > p {
    max-width: 360px;
    margin: 0;
}

.collage-small{
    position:absolute;
    overflow:hidden;
    border:5px solid #fff;
    border-radius:18px;
    box-shadow:var(--shadow);
    z-index:3;
}
.collage-small-one{right:-30px;top:88px;width:220px;height:160px}
.collage-small-two{right:155px;bottom:-10px;width:160px;height:140px;z-index:4}
.dots{
    position:absolute;
    right:-4px;top:0;
    width:105px;height:90px;
    background-image:radial-gradient(var(--orange) 2px,transparent 2.5px);
    background-size:18px 18px;
    z-index:0;
}

/* VISION / MISSION */
.vision-mission{
    padding:65px 0 70px;
    color:#fff;
    background:linear-gradient(rgba(7,8,10,.94),rgba(7,8,10,.97)),url("../images/about-bg.jpg") center/cover no-repeat;
    overflow:hidden;
}
.vm-heading{text-align:center;margin-bottom:30px}
.vm-heading .eyebrow{justify-content:center;margin-inline:auto;font-size:10px;letter-spacing:2.5px}
.vm-heading h2{margin:0;color:#fff;font-size:34px}
.vision-card{
    display:grid;
    grid-template-columns:70px minmax(0,1fr) 60px;
    align-items:center;
    min-height:145px;
    margin-bottom:16px;
    padding:26px 34px;
    border:1px solid #dedede;
    border-left:5px solid var(--orange);
    border-radius:14px;
    color:#111;
    background:#f5f5f3;
    box-shadow:0 12px 35px rgba(0,0,0,.20);
    transition:.25s ease;
}
.vision-card:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:0 20px 45px rgba(0,0,0,.30),0 0 25px rgba(255,107,0,.08)}
.vision-number{color:rgba(255,107,0,.35);font-size:35px;font-weight:900}
.vision-content{padding-right:25px}
.vision-label{margin-bottom:4px;color:var(--orange);font-size:25px;font-weight:800;letter-spacing:2px}
.vision-content h4{margin:0;color:#161719;font-size:22px;line-height:1.2}
.mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mission-card{
    display:flex;
    flex-direction:column;
    min-height:220px;
    padding:23px 22px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:13px;
    color:#fff;
    background:linear-gradient(145deg,#202225,#151618);
    box-shadow:0 12px 35px rgba(0,0,0,.25);
    transition:.25s ease;
}
.mission-card:hover{transform:translateY(-6px);border-color:var(--orange);background:linear-gradient(145deg,#282a2d,#18191b);box-shadow:0 20px 45px rgba(0,0,0,.40),0 0 25px rgba(255,107,0,.07)}
.mission-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.mission-number{color:rgba(255,107,0,.32);font-size:25px;font-weight:900}
.mission-label{color:var(--orange);font-size:25px;font-weight:800;letter-spacing:1.8px}
.mission-card h4{margin:0;color:#fff;font-size:15px;line-height:1.35;}

/* VALUES */
.values{padding:75px 0}
.values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    align-items: start;
}

.value-items {
    display: contents;
}

.values-heading {
    text-align: center;
    margin-left: 40px;
}

.value-item {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 13px;

    padding: 0 45px 0 10px;

    border-right: 1px solid #ddd;
    min-width: 0;
}

.value-item:first-child {
    padding-left: 0;
}

.value-item:last-child {
    padding-right: 0;
    border-right: 0;
}
.value-item:first-child{padding-left:10px}
.value-item:last-child{border-right:0}
.value-item h3{margin:4px 0 6px;font-size:14px}
.value-item p{margin:0;color:#555;font-size:11px;}
.icon-circle{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;background:var(--orange);font-size:28px}

.icon-circle img[alt="watch"] {
    width: 40px !important;
    height: auto !important;
}

/* SERVICES */
.services-main{padding:75px 0 58px}
.center-head{max-width:800px;margin:0 auto 32px;text-align:center}
.center-head p{color:#555;font-size:13px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}
.service-card{overflow:hidden;border:1px solid #eee;border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.09)}
.service-image{height:190px;background-position:center;background-size:cover}
.service-image-fuel{background-image:url("../images/service-fuel.png")}
.service-image-transport{background-image:url("../images/service-transport.png")}
.service-image-bunker{background-image:url("../images/service-bunker.png")}
.service-body{position:relative;padding:20px}
.service-icon{display:grid;place-items:center;width:60px;height:60px;margin-top:-50px;margin-bottom:13px;border:5px solid #fff;border-radius:50%;color:#fff;background:var(--orange)}
.service-body h3{margin-bottom:8px;font-size:20px}
.service-body h3::after{content:"";display:block;width:30px;height:2px;margin-top:11px;background:var(--orange)}
.service-body p{color:#555;font-size:11px}
.service-body ul{margin:15px 0 20px;padding:0;list-style:none}
.service-body li{margin:7px 0;font-size:11px}
.service-body li::before{content:"✓";margin-right:8px;color:var(--orange);font-weight:900}

/* WHY */
.why{
    display:grid;
    grid-template-columns:1.2fr repeat(4,1fr);
    align-items:stretch;
    margin-top:27px;
    padding:28px;
    border-radius:15px;
    color:#fff;
    background:var(--black);
}
.why-lead{display:flex;flex-direction:column;justify-content:center;padding-right:25px;border-right:1px solid #555}
.why-lead h3{margin:10px 0 8px;font-size:22px}
.why-lead p,.why-item p{margin-bottom:0;color:#ddd;font-size:10px}
.why-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:115px;padding:0 18px;text-align:center;border-right:1px solid #555}
.why-item:last-child{border-right:0}
.why-icon{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin-bottom:7px;color:var(--orange);font-size:29px}
/* .why-icon img{width:34px;height:34px;margin:0 auto;object-fit:contain} */
.why-item h4{margin:0 0 7px;font-size:12px}

.why-icon[alt="k3-orange"] img{
    width: 3px;
    height: auto;
}

.why-icon[alt="medal"] img{
    width: 3px;
    height: auto;
}

.why-icon[alt="group"] img{
    width: 3px;
    height: auto;
}

/* WAVES */
.hero-wave{
    position:absolute;
    left:0;right:0;bottom:-1px;
    width:100%;height:48px;
    z-index:3;
    display:block;
    pointer-events:none;
}
.hero-wave .wave-white{fill:#fff}
.hero-wave .wave-orange{fill:none;stroke:var(--orange);stroke-linecap:round;stroke-linejoin:round}
.hero-wave .wave-orange-back{stroke-width:5}
.hero-wave .wave-orange-front{stroke-width:2}
.home-transition-wave{
    position:absolute;
    left:0;right:0;bottom:0;
    width:100%;height:110px;
    z-index:3;
    display:block;
    pointer-events:none;
}
.home-wave-white{fill:#fff}
.home-wave-orange{fill:none;stroke:var(--orange);stroke-linecap:round;stroke-linejoin:round}
.home-wave-orange-back{stroke-width:5}
.home-wave-orange-front{stroke-width:2}

/* CONTACT */
.contact-main{padding:70px 0 30px}
.contact-grid{display:block;width:min(100%,980px);margin-inline:auto}
.contact-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0 18px;overflow:hidden;border-radius:14px;box-shadow:0 4px 22px rgba(0,0,0,.08)}
.info-card{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:22px;border:1px solid #eee;background:#fff}
.info-card h3{margin:0 0 4px;font-size:14px}
.info-card p{margin:0;color:#444;font-size:11px;text-align:justify}
.map{width:100%;height:300px;overflow:hidden;border-radius:14px;background:#eee;box-shadow:var(--shadow)}
.map iframe{display:block;width:100%;height:100%;border:0}
.immediate{
    width:min(100%,980px);
    margin:30px auto 65px;
    display:grid;
    grid-template-columns:1.2fr 1fr auto;
    align-items:center;
    gap:20px;
    padding:25px 30px;
    border-radius:15px;
    color:#fff;
    background:var(--black);
}
.immediate h3{margin:0 0 4px;font-size:21px}
.immediate p{margin:0;color:#ddd;font-size:11px}
.call-now{padding-left:28px;border-left:1px solid #555}
.call-now span{font-size:11px}
.call-now strong{display:block;color:var(--orange);font-size:21px}
.call-now small{color:#ddd;font-size:10px}

/* FOOTER */
.footer{color:#fff;background:#000}
.footer-main{display:grid;grid-template-columns:1.35fr .9fr .9fr 1fr .75fr;gap:32px;padding:15px 0 20px}
.footer p,.footer a{color:#ddd;font-size:11px}
.footer h3{margin:5px 0 14px;font-size:12px;text-transform:uppercase}
.footer ul{margin:0;padding:0;list-style:none}
.footer li{margin:7px 0}
.footer a:hover{color:var(--orange)}
.footer-contact p {
    display: flex;
    gap: 12px;
    margin: 11px 0;
    align-items: flex-start;
}

.footer-contact p > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 15px;
    height: 15px;
    flex: 0 0 18px;

    margin-top: 0;

    color: var(--orange);
    font-size: 14px;
    line-height: 18px;
}

.footer-contact p > span:first-child img {
    display: block;
    width: 15px;
    height: 15px;
    max-width: 18px;
    object-fit: contain;
}

.footer-social{
    display:flex;
    flex-direction:column;
    gap:13px;
}

.footer-social a{
    display:flex;
    align-items:center;
    gap:12px;
    color:#ddd;
    font-size:11px;
    transition:.2s ease;
}

.footer-social a:hover{
    color:var(--orange);
    transform:translateX(2px);
}

.social-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:14px;
    height:14px;
    flex:0 0 14px;
    color:var(--orange);
    font-size:18px;
    line-height:1;
}

.social-icon svg{
    display:block;
    width:24px;
    height:24px;
    max-width:100%;
    max-height:100%;
}

.footer-social a:hover .social-icon{
    color:var(--orange);
}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #8a430d;color:#bbb;font-size:10px}

/* FOCUS */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:2px solid var(--orange);
    outline-offset:3px;
}

/* TABLET */

/* Equal-column Values responsive override */
@media(max-width:1100px){
    .values-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px;
    }
    .value-items{display:contents}
    .value-item{padding:0 22px}
    .value-item:nth-child(2){border-right:0}
    .value-item:nth-child(3),
    .value-item:nth-child(4){margin-top:20px}
}
@media(max-width:600px){
    .values-grid{
        grid-template-columns:1fr;
        gap:25px;
    }
    .value-item,
    .value-item:first-child{padding:0}
    .value-item{border-right:0}
    .value-item:nth-child(3),
    .value-item:nth-child(4){margin-top:0}
}

@media (max-width:1100px){
    :root{--container:min(100% - 44px,920px)}
    .logo{width:52px;height:52px}
    .brand-name{font-size:15px}
    .brand-tagline{font-size:10px}
    .nav{gap:20px}
    .about-grid{gap:45px}
    .why{grid-template-columns:repeat(3,1fr)}
    .why-lead{grid-column:1/-1;padding:0 0 18px;margin-bottom:12px;border-right:0;border-bottom:1px solid #555}
}

/* MOBILE */
@media (max-width:800px){
    :root{--container:calc(100% - 34px);--header-height:78px}
    .site-header{height:78px}
    .logo{width:48px;height:48px}
    .brand{gap:9px}
    .brand-name{font-size:13px}
    .brand-tagline{font-size:9px;margin-top:2px}
    .menu-toggle{display:block}
    .nav{
        position:absolute;
        top:calc(100% - 4px);
        left:17px;right:17px;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:17px;
        padding:18px;
        border:1px solid rgba(255,255,255,.08);
        border-radius:12px;
        background:rgba(13,14,16,.97);
        box-shadow:0 15px 35px rgba(0,0,0,.35);
        opacity:0;
        visibility:hidden;
        transform:translateY(-8px);
        transition:.2s ease;
    }
    .nav.open{opacity:1;visibility:visible;transform:translateY(0)}
    .nav-link{width:100%;color:#fff}
    .site-header.header-light .nav{background:rgba(13,14,16,.97)}
    .site-header.header-light .nav .nav-link{
        color:#fff;
        text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 7px rgba(0,0,0,.60);
    }
    .site-header.header-light .nav .nav-link.active,
    .site-header.header-light .nav .nav-link:hover{color:var(--orange)}

    .hero-home{
        height:calc(100svh + 75px)!important;
        min-height:calc(100svh + 75px)!important;
        overflow-x:hidden !important;
        overflow-y:visible;
    }
    .home-transition-wave{height:75px}

    .hero-about{
        min-height:205px;height:205px;flex:none;padding-top: 150px;
    }
    .hero-services,.hero-contact{
        min-height:205px;height:205px;flex:none;padding-top: 50px;;
    }
    .hero-about .hero-content,.hero-services .hero-content,.hero-contact .hero-content{
        padding-top:48px;padding-bottom:70px;
    }
    .about-grid{grid-template-columns:1fr;gap:38px}
    .collage{min-height:320px}
    .values-grid{grid-template-columns:1fr}
    .value-items{grid-template-columns:1fr}
    .value-item{padding:18px 0!important;border-right:0;border-bottom:1px solid #ddd}
    .value-item:last-child{border-bottom:0}
    .service-cards{grid-template-columns:1fr}
    .why{grid-template-columns:repeat(2,1fr)}
    .why-lead{grid-column:1/-1}
    .contact-info{grid-template-columns:1fr}
    .map{height:240px}
    .immediate{grid-template-columns:1fr}
    .call-now{padding:18px 0 0;border-left:0;border-top:1px solid #555}
    .footer-main{grid-template-columns:repeat(2,1fr);gap:30px}
}

@media (max-width:600px){
    .collage{height:255px;min-height:255px}
    .collage-main{width:calc(100% - 72px);height:215px}
    .collage-small{border-width:4px;border-radius:15px}
    .collage-small-one{width:125px;height:105px;right:0;top:52px}
    .collage-small-two{width:110px;height:95px;right:88px;bottom:-5px}
    .vision-mission{padding:50px 0 55px}
    .vm-heading h2{font-size:30px}
    .vision-card{grid-template-columns:1fr;min-height:auto;padding:25px 23px}
    .vision-number{margin-bottom:14px}
    .vision-content{padding-right:0}
    .vision-content h4{font-size:20px}
    .mission-grid{grid-template-columns:1fr;gap:12px}
    .mission-card{min-height:185px;padding:22px 20px}
    .mission-card h4{font-size:16px}
    .hero-about,.hero-services,.hero-contact{height:300px;min-height:210px}
    .hero-about .hero-content,.hero-services .hero-content,.hero-contact .hero-content{
        padding-top:48px;padding-bottom:42px;
    }
    .hero-wave{height:34px}
    .footer-brand-name {
        font-size: 18px;
    }

    .footer-brand-tagline {
        font-size: 13px;
    }

    .footer-logo {
        width: 55px;
        height: 55px;
    }
}

@media (max-width:520px){
    :root{--container:calc(100% - 28px)}
    h1{font-size:clamp(42px,12vw,54px);letter-spacing:-2px}
    h2{font-size:32px}
    .logo{width:42px;height:42px}
    .brand-name{font-size:11px}
    .brand-tagline{font-size:8px}
    .hero-content{padding-top:90px}
    .hero-lead{font-size:15px}
    .hero-home{
        height:calc(100svh + 60px)!important;
        min-height:calc(100svh + 60px)!important;
    }
    .home-transition-wave{height:60px}
    .why,.footer-main{grid-template-columns:1fr}
    .why-item{padding:17px;border-right:0;border-bottom:1px solid #555}
    .why-item:last-child{border-bottom:0}
    .footer-main{gap:24px}
    .footer-bottom{flex-direction:column}
    .footer-brand-name {
    font-size: 18px;
    }

    .footer-brand-tagline {
        font-size: 13px;
    }

    .footer-logo {
        width: 55px;
        height: auto;
    }
}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}


/* =========================================================
   SCROLL ANIMATIONS
   Add any animation class to any HTML element.
   ========================================================= */

html.animations-ready .animate-fade-in,
html.animations-ready .animate-fade-up,
html.animations-ready .animate-fade-down,
html.animations-ready .animate-fade-left,
html.animations-ready .animate-fade-right,
html.animations-ready .animate-slide-up,
html.animations-ready .animate-slide-down,
html.animations-ready .animate-slide-left,
html.animations-ready .animate-slide-right,
html.animations-ready .animate-zoom-in,
html.animations-ready .animate-zoom-out,
html.animations-ready .animate-pop-in,
html.animations-ready .animate-rotate-in,
html.animations-ready .animate-blur-in {
    opacity:0;
    will-change:opacity,transform,filter;
}

html.animations-ready .animate-fade-up{transform:translate3d(0,45px,0)}
html.animations-ready .animate-fade-down{transform:translate3d(0,-45px,0)}
html.animations-ready .animate-fade-left{transform:translate3d(45px,0,0)}
html.animations-ready .animate-fade-right{transform:translate3d(-45px,0,0)}
html.animations-ready .animate-slide-up{transform:translate3d(0,80px,0)}
html.animations-ready .animate-slide-down{transform:translate3d(0,-80px,0)}
html.animations-ready .animate-slide-left{transform:translate3d(90px,0,0)}
html.animations-ready .animate-slide-right{transform:translate3d(-90px,0,0)}
html.animations-ready .animate-zoom-in{transform:scale(.88)}
html.animations-ready .animate-zoom-out{transform:scale(1.12)}
html.animations-ready .animate-pop-in{transform:scale(.72)}
html.animations-ready .animate-rotate-in{transform:translate3d(0,30px,0) rotate(-8deg) scale(.94)}
html.animations-ready .animate-blur-in{transform:translate3d(0,20px,0);filter:blur(10px)}

.animate-fade-in.is-visible,
.animate-fade-up.is-visible,
.animate-fade-down.is-visible,
.animate-fade-left.is-visible,
.animate-fade-right.is-visible,
.animate-slide-up.is-visible,
.animate-slide-down.is-visible,
.animate-slide-left.is-visible,
.animate-slide-right.is-visible,
.animate-zoom-in.is-visible,
.animate-zoom-out.is-visible,
.animate-pop-in.is-visible,
.animate-rotate-in.is-visible,
.animate-blur-in.is-visible {
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:opacity 2s cubic-bezier(.22,1,.36,1),transform 2s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1);
}

.animate-fast.is-visible{transition-duration:.45s}
.animate-slow.is-visible{transition-duration:1.1s}
.animate-delay-1.is-visible{transition-delay:.10s}
.animate-delay-2.is-visible{transition-delay:.20s}
.animate-delay-3.is-visible{transition-delay:.30s}
.animate-delay-4.is-visible{transition-delay:.40s}
.animate-delay-5.is-visible{transition-delay:.50s}

@media (prefers-reduced-motion:reduce){
    html.animations-ready .animate-fade-in,
    html.animations-ready .animate-fade-up,
    html.animations-ready .animate-fade-down,
    html.animations-ready .animate-fade-left,
    html.animations-ready .animate-fade-right,
    html.animations-ready .animate-slide-up,
    html.animations-ready .animate-slide-down,
    html.animations-ready .animate-slide-left,
    html.animations-ready .animate-slide-right,
    html.animations-ready .animate-zoom-in,
    html.animations-ready .animate-zoom-out,
    html.animations-ready .animate-pop-in,
    html.animations-ready .animate-rotate-in,
    html.animations-ready .animate-blur-in {
        opacity:1 !important;
        transform:none !important;
        filter:none !important;
        transition:none !important;
    }
}


/* =========================================================
   FINAL HORIZONTAL OVERFLOW PROTECTION
   Only prevents sideways page scrolling.
   ========================================================= */

html,
body {
    overflow-x: hidden !important;
}

main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
}
