:root{
    --ink:#0b1735;
    --green:#073b8f;
    --green2:#05265f;
    --mint:#eef5fc;
    --sand:#f5f8fc;
    --line:#dce5f0;
    --white:#fff;
    --muted:#66758a;
    --gold:#7bea00;
    --cyan:#08bce8;
    --shadow:0 24px 70px rgba(5,38,95,.12)
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.6
}

a{color:inherit;text-decoration:none}

img{max-width:100%;display:block}

.container{
    width:min(1180px,calc(100% - 40px));
    margin:auto
}

.narrow{width:min(820px,100%)}


/* =========================================================
   TOP BAR
   ========================================================= */

.topbar{
    background:#041f50;
    color:#dceaff;
    font-size:13px
}

.topbar-inner{
    height:40px;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.topbar-inner div{
    display:flex;
    gap:22px
}

.topbar a:hover{
    color:var(--gold)
}


/* =========================================================
   HEADER
   ========================================================= */

.header{
    position:sticky;
    top:0;
    z-index:40;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(15px);
    border-bottom:1px solid rgba(7,59,143,.08)
}

.nav-wrap{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.brand{
    display:flex;
    align-items:center;
    gap:11px;
    font-weight:900;
    letter-spacing:.08em;
    font-size:19px;
    color:#05265f
}

.brand img{
    height:54px;
    width:auto
}

.brand small{
    display:block;
    font-size:9px;
    letter-spacing:.18em;
    font-weight:700;
    color:var(--muted)
}

.brand-mark{
    width:42px;
    height:42px;
    border-radius:12px;
    background:var(--green);
    color:#fff;
    display:grid;
    place-items:center;
    font-family:Georgia,serif;
    font-size:28px
}

.nav{
    display:flex;
    align-items:center;
    gap:24px;
    font-size:14px;
    font-weight:650
}

.nav>a:not(.btn):hover{
    color:var(--green)
}

.menu-btn{
    display:none;
    border:0;
    background:none;
    color:var(--green2);
    font-size:26px
}


/* =========================================================
   BUTTONS
   ========================================================= */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--green);
    background:var(--green);
    color:#fff;
    padding:14px 21px;
    border-radius:999px;
    font-weight:800;
    font-size:14px;
    cursor:pointer;
    transition:.2s
}

.btn:hover{
    background:var(--green2);
    border-color:var(--green2);
    transform:translateY(-1px);
    box-shadow:0 10px 30px rgba(5,38,95,.20)
}

.btn-sm{
    padding:10px 16px;
    font-size:13px
}

.btn-ghost,
.btn-outline{
    background:transparent;
    color:var(--green)
}

.btn-ghost:hover,
.btn-outline:hover{
    background:var(--mint);
    border-color:var(--green);
    color:var(--green2)
}

.btn-light{
    background:#fff;
    border-color:#fff;
    color:var(--green)
}

.btn-light:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#041a3d
}


/* =========================================================
   HERO
   ========================================================= */

.hero{
    padding:72px 0 86px;
    background:linear-gradient(
        135deg,
        #f8faff 0%,
        #eef5fc 68%,
        #f7fdea 100%
    );
    overflow:hidden
}

.hero-grid{
    display:grid;
    grid-template-columns:1.03fr .97fr;
    align-items:center;
    gap:70px
}

.eyebrow{
    display:inline-block;
    color:var(--green);
    font-size:12px;
    letter-spacing:.16em;
    font-weight:900;
    margin-bottom:16px
}

.eyebrow.light{
    color:#b9d8ff
}

.hero h1,
.page-hero h1{
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(46px,6vw,79px);
    line-height:1.02;
    letter-spacing:-.035em;
    margin:0 0 26px;
    font-weight:500
}

.hero h1 em{
    color:var(--green);
    font-style:italic
}

.hero-copy>p{
    font-size:18px;
    max-width:650px;
    color:#5c6b82
}

.actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:30px 0
}

.trust-row{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    font-weight:800;
    font-size:13px;
    color:#314767
}

.hero-media{
    position:relative;
    min-height:570px;
    border-radius:34px;
    overflow:hidden;
    background:#dfeaf8;
    box-shadow:var(--shadow)
}

.hero-media>img{
    width:100%;
    height:570px;
    object-fit:cover
}

.photo-placeholder{
    height:570px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:50px;
    background:linear-gradient(140deg,#e5effb,#c6dcf5);
    color:var(--green2)
}

.photo-placeholder strong{
    font-family:Georgia,serif;
    font-size:32px;
    margin-bottom:12px
}

.floating-card{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    padding:20px 22px;
    border-radius:19px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    box-shadow:0 10px 30px rgba(0,0,0,.12)
}

.floating-card b,
.floating-card span{
    display:block
}

.floating-card span{
    font-size:13px;
    color:var(--muted);
    margin-top:5px
}


/* =========================================================
   RATINGS
   ========================================================= */

.rating-strip{
    border-bottom:1px solid var(--line);
    background:#fff
}

.rating-inner{
    min-height:78px;
    display:flex;
    justify-content:space-between;
    align-items:center
}

.rating-inner>div{
    display:flex;
    align-items:center;
    gap:12px
}

.stars{
    color:#f0ad2f;
    letter-spacing:2px
}


/* =========================================================
   GENERAL SECTIONS
   ========================================================= */

.section{
    padding:94px 0
}

.soft{
    background:#f5f8fc
}

.section-head{
    max-width:760px;
    margin-bottom:42px
}

.section-head h2,
.dark-section h2,
.multi-site h2,
.quote-card h2{
    font-family:Georgia,serif;
    font-size:clamp(34px,4.6vw,56px);
    line-height:1.05;
    letter-spacing:-.025em;
    margin:0 0 18px;
    font-weight:500
}

.section-head p{
    color:var(--muted);
    font-size:17px
}

.row-head{
    max-width:none;
    display:flex;
    justify-content:space-between;
    align-items:end
}


/* =========================================================
   SERVICE CARDS
   ========================================================= */

.card-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}

.service-card{
    border:1px solid var(--line);
    border-radius:22px;
    padding:28px;
    min-height:320px;
    display:flex;
    flex-direction:column;
    background:#fff;
    transition:.2s
}

.service-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow);
    border-color:#b8cce5
}

.service-num{
    font-size:12px;
    font-weight:900;
    color:#7890ae
}

.service-card h3{
    font-size:22px;
    line-height:1.2;
    margin:44px 0 12px
}

.service-card p{
    color:var(--muted);
    font-size:14px;
    flex:1
}

.text-link{
    color:var(--green);
    font-weight:850
}

.text-link:hover{
    color:var(--green2)
}

.center{
    text-align:center;
    margin-top:36px
}


/* =========================================================
   DARK FEATURE SECTION
   ========================================================= */

.dark-section{
    background:#05265f;
    color:#fff
}

.split{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:80px;
    align-items:start
}

.dark-section p{
    color:#d2e0f2
}

.feature-list article{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:18px;
    padding:23px 0;
    border-top:1px solid rgba(255,255,255,.16)
}

.feature-list article>b{
    color:var(--gold)
}

.feature-list h3{
    margin:0 0 5px
}

.feature-list p{
    margin:0
}


/* =========================================================
   INDUSTRIES
   ========================================================= */

.industry-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.industry-card{
    background:var(--sand);
    padding:32px;
    border-radius:20px
}

.industry-card h3{
    font-size:20px;
    margin-top:0
}

.industry-card p{
    color:var(--muted);
    margin-bottom:0
}

.note,
.notice{
    margin-top:28px;
    background:#edf5fc;
    border-left:4px solid var(--green);
    padding:22px 24px;
    border-radius:12px
}


/* =========================================================
   GALLERY
   ========================================================= */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px
}

.gallery-item{
    border:0;
    padding:0;
    border-radius:18px;
    overflow:hidden;
    position:relative;
    cursor:pointer;
    background:#ddd;
    aspect-ratio:4/3
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.3s
}

.gallery-item:hover img{
    transform:scale(1.04)
}

.gallery-item span{
    position:absolute;
    left:12px;
    right:12px;
    bottom:12px;
    background:rgba(4,26,61,.82);
    color:#fff;
    border-radius:12px;
    padding:8px 10px;
    font-size:12px;
    font-weight:800
}

.empty-gallery{
    min-height:220px;
    border:1px dashed #a8bad1;
    border-radius:24px;
    display:grid;
    place-items:center;
    text-align:center;
    padding:40px;
    color:var(--muted)
}


/* =========================================================
   REVIEWS
   ========================================================= */

.reviews-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.review-card{
    border:1px solid var(--line);
    padding:28px;
    border-radius:20px;
    background:#fff
}

.review-card p{
    font-family:Georgia,serif;
    font-size:19px;
    line-height:1.5
}

.review-card b,
.review-card small{
    display:block
}

.review-card small{
    color:var(--muted);
    margin-top:4px
}


/* =========================================================
   MULTI-SITE CTA
   ========================================================= */

.multi-site{
    background:#073b8f;
    color:#fff;
    padding:64px 0
}

.multi-site-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px
}

.multi-site h2{
    margin-bottom:10px
}

.multi-site p{
    color:#d5e4f7;
    margin:0
}


/* =========================================================
   QUOTE CARD
   ========================================================= */

.quote-card{
    background:linear-gradient(135deg,#edf5fc,#f7fbea);
    border-radius:30px;
    padding:50px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px
}

.quote-card>div{
    max-width:720px
}

.quote-card p{
    color:var(--muted)
}


/* =========================================================
   PAGE HERO
   ========================================================= */

.page-hero{
    padding:80px 0;
    background:linear-gradient(135deg,#eef5fc,#fafcff)
}

.page-hero p{
    font-size:18px;
    color:var(--muted)
}


/* =========================================================
   PROSE / GENERAL CONTENT
   ========================================================= */

.prose p{
    font-size:17px;
    color:#5c6b82
}

.prose h2{
    font-family:Georgia,serif;
    font-size:38px
}

.two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px
}

.callout{
    background:var(--sand);
    border-radius:24px;
    padding:36px
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:rgba(255,255,255,.15)
}

.why-grid article{
    background:#05265f;
    padding:28px
}


/* =========================================================
   FORMS
   ========================================================= */

.form-shell{
    max-width:920px
}

.quote-form,
.form-stack{
    display:flex;
    flex-direction:column;
    gap:18px
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.form-grid .wide{
    grid-column:1/-1
}

label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font-weight:750;
    font-size:13px
}

label small{
    font-weight:500;
    color:var(--muted)
}

input,
select,
textarea{
    font:inherit;
    width:100%;
    padding:13px 14px;
    border:1px solid #ccd8e7;
    border-radius:11px;
    background:#fff;
    color:var(--ink);
    outline:none
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(7,59,143,.09)
}

fieldset{
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px
}

legend{
    font-weight:900;
    padding:0 8px
}

.checks{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px
}

.checks label,
.remember{
    flex-direction:row;
    align-items:center;
    font-weight:600
}

.checks input,
.remember input{
    width:auto;
    accent-color:var(--green)
}

.form-note{
    font-size:12px;
    color:var(--muted)
}

.hp{
    position:absolute!important;
    left:-9999px!important
}


/* =========================================================
   ALERTS
   ========================================================= */

.alert{
    padding:14px 16px;
    border-radius:10px;
    margin:10px 0
}

.alert.success{
    background:#f1fcdc;
    color:#315b06
}

.alert.error{
    background:#fff0ef;
    color:#932e28
}


/* =========================================================
   THANK YOU PAGE
   ========================================================= */

.thankyou{
    min-height:60vh;
    display:grid;
    place-items:center
}

.success-icon{
    display:grid;
    place-items:center;
    width:70px;
    height:70px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#f1fcdc;
    color:#4f9200;
    font-size:32px;
    font-weight:900
}


/* =========================================================
   CONTACT
   ========================================================= */

.contact-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px
}


/* =========================================================
   FAQ
   ========================================================= */

.faq details{
    border-bottom:1px solid var(--line);
    padding:20px 0
}

.faq summary{
    font-size:18px;
    font-weight:850;
    cursor:pointer
}


/* =========================================================
   FOOTER
   ========================================================= */

.footer{
    background:#041a3d;
    color:#fff;
    padding:70px 0 25px
}

.footer-grid{
    display:grid;
    grid-template-columns:1.5fr repeat(3,1fr);
    gap:50px
}

.footer h4{
    margin:0 0 16px
}

.footer a,
.footer p{
    display:block;
    color:#cbd9eb;
    font-size:14px;
    margin:8px 0
}

.footer a:hover{
    color:var(--gold)
}

.footer-brand{
    font-size:24px;
    font-weight:900
}

.muted-light{
    color:#9fb3ce!important
}

.insured{
    margin-top:24px!important;
    color:var(--gold)!important;
    font-weight:800
}

.copyright{
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:50px;
    padding-top:20px;
    color:#8297b4;
    font-size:12px
}


/* =========================================================
   WHATSAPP
   ========================================================= */

.whatsapp{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:60;
    background:#25D366;
    color:#fff;
    padding:13px 18px;
    border-radius:999px;
    font-weight:900;
    box-shadow:0 12px 35px rgba(0,0,0,.2)
}

.mobile-cta{
    display:none
}


/* =========================================================
   GALLERY MODAL
   ========================================================= */

.modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:80;
    background:rgba(0,0,0,.92);
    align-items:center;
    justify-content:center;
    padding:50px
}

.modal.show{
    display:flex
}

.modal img{
    max-width:92vw;
    max-height:88vh;
    border-radius:16px
}

.modal-close{
    position:absolute;
    top:18px;
    right:24px;
    border:0;
    background:none;
    color:#fff;
    font-size:42px;
    cursor:pointer
}


/* =========================================================
   ADMIN
   ========================================================= */

.admin-body{
    background:#f3f6fa
}

.admin-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:250px 1fr
}

.admin-sidebar{
    background:#041a3d;
    color:#fff;
    padding:30px 20px;
    position:sticky;
    top:0;
    height:100vh
}

.admin-brand{
    font-size:22px;
    font-weight:900;
    display:block;
    margin:0 8px 30px
}

.admin-brand small{
    display:block;
    font-size:10px;
    color:#91a7c5;
    letter-spacing:.15em
}

.admin-sidebar nav{
    display:flex;
    flex-direction:column;
    gap:4px
}

.admin-sidebar nav a{
    padding:10px 12px;
    border-radius:9px;
    color:#cfdbeb
}

.admin-sidebar nav a:hover{
    background:rgba(255,255,255,.08);
    color:#fff
}

.admin-logout{
    position:absolute;
    bottom:24px;
    left:20px;
    border:0;
    background:none;
    color:#e9a3a0;
    cursor:pointer
}

.admin-main{
    padding:36px;
    min-width:0
}

.admin-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:24px
}

.admin-top h1{
    margin:0;
    font-family:Georgia,serif;
    font-size:38px
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:12px;
    margin-bottom:22px
}

.stat{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:20px
}

.stat span{
    display:block;
    color:var(--muted);
    font-size:12px
}

.stat b{
    font-size:30px
}

.admin-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:24px;
    margin-bottom:20px
}

.admin-card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}

.admin-card h2{
    margin-top:0
}

.table-wrap{
    overflow-x:auto
}

table{
    width:100%;
    border-collapse:collapse
}

th,
td{
    padding:13px 10px;
    text-align:left;
    border-bottom:1px solid var(--line);
    font-size:13px;
    vertical-align:top
}

th{
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em
}

td small{
    display:block;
    color:var(--muted);
    margin-top:3px;
    max-width:360px
}

.status{
    display:inline-block;
    border-radius:999px;
    background:#edf4fb;
    padding:4px 9px;
    font-size:11px;
    text-transform:capitalize
}

.admin-two{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:20px
}

.detail-list{
    display:grid;
    grid-template-columns:160px 1fr;
    gap:12px 18px
}

.detail-list dt{
    font-weight:850;
    color:var(--muted)
}

.detail-list dd{
    margin:0
}

.admin-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px
}

.admin-gallery-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:15px;
    overflow:hidden;
    padding-bottom:16px
}

.admin-gallery-card>img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover
}

.admin-gallery-card form{
    padding:12px 14px 0;
    display:flex;
    flex-direction:column;
    gap:8px
}

.link-danger{
    border:0;
    background:none;
    color:#a32d29;
    text-align:left;
    cursor:pointer
}

.admin-stack{
    display:grid;
    gap:14px
}


/* =========================================================
   LOGIN
   ========================================================= */

.login-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#eef5fc,#f7fbea)
}

.login-card{
    width:min(420px,calc(100% - 32px));
    background:#fff;
    padding:38px;
    border-radius:24px;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column;
    gap:16px
}

.login-card .brand-mark{
    margin:auto
}

.login-card h1{
    text-align:center;
    margin:4px 0 0
}

.login-card>p{
    text-align:center;
    color:var(--muted);
    margin-top:-10px
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1000px){

    .nav{
        gap:14px
    }

    .nav>a:not(.btn){
        display:none
    }

    .card-grid{
        grid-template-columns:repeat(2,1fr)
    }

    .stats-grid{
        grid-template-columns:repeat(3,1fr)
    }

    .gallery-grid{
        grid-template-columns:repeat(3,1fr)
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

    .container{
        width:min(100% - 28px,1180px)
    }

    .topbar-inner>span,
    .topbar-inner a:last-child{
        display:none
    }

    .nav-wrap{
        min-height:70px
    }

    .menu-btn{
        display:block
    }

    .nav{
        display:none;
        position:absolute;
        left:14px;
        right:14px;
        top:72px;
        background:#fff;
        border:1px solid var(--line);
        border-radius:18px;
        padding:16px;
        box-shadow:var(--shadow);
        flex-direction:column;
        align-items:stretch
    }

    .nav.open{
        display:flex
    }

    .nav>a:not(.btn){
        display:block;
        padding:8px
    }

    .hero{
        padding:46px 0 60px
    }

    .hero-grid,
    .split,
    .two-col,
    .contact-grid,
    .admin-two{
        grid-template-columns:1fr
    }

    .hero-media,
    .hero-media>img,
    .photo-placeholder{
        min-height:390px;
        height:390px
    }

    .section{
        padding:64px 0
    }

    .card-grid,
    .industry-grid,
    .reviews-grid,
    .why-grid,
    .gallery-grid,
    .admin-gallery{
        grid-template-columns:1fr 1fr
    }

    .row-head,
    .multi-site-inner,
    .quote-card{
        align-items:flex-start;
        flex-direction:column
    }

    .quote-card{
        padding:30px
    }

    .form-grid,
    .checks{
        grid-template-columns:1fr
    }

    .form-grid .wide{
        grid-column:auto
    }

    .footer-grid{
        grid-template-columns:1fr 1fr
    }

    .whatsapp{
        bottom:72px
    }

    .mobile-cta{
        display:grid;
        grid-template-columns:1fr 2fr;
        position:fixed;
        z-index:55;
        bottom:0;
        left:0;
        right:0;
        background:#fff;
        border-top:1px solid var(--line)
    }

    .mobile-cta a{
        text-align:center;
        padding:13px;
        font-weight:850
    }

    .mobile-cta a:last-child{
        background:var(--green);
        color:#fff
    }

    .footer{
        padding-bottom:85px
    }

    .admin-shell{
        grid-template-columns:1fr
    }

    .admin-sidebar{
        height:auto;
        position:relative
    }

    .admin-sidebar nav{
        display:grid;
        grid-template-columns:repeat(2,1fr)
    }

    .admin-logout{
        position:static;
        margin:16px 10px 0
    }

    .admin-main{
        padding:20px
    }

    .stats-grid{
        grid-template-columns:repeat(2,1fr)
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:500px){

    .card-grid,
    .industry-grid,
    .reviews-grid,
    .gallery-grid,
    .why-grid,
    .footer-grid,
    .admin-gallery{
        grid-template-columns:1fr
    }

    .hero h1,
    .page-hero h1{
        font-size:43px
    }

    .trust-row{
        gap:12px
    }

    .topbar-inner div{
        gap:10px
    }

    .stats-grid{
        grid-template-columns:1fr 1fr
    }

    .admin-sidebar nav{
        grid-template-columns:1fr
    }
}

/* ============================================================
   FAZKY BESPOKE COMMERCIAL REDESIGN
   Public frontend overrides
   ============================================================ */

:root{
    --fz-navy:#061b3a;
    --fz-blue:#073b8f;
    --fz-blue-deep:#04142e;
    --fz-lime:#7bea00;
    --fz-cyan:#08bce8;
    --fz-ink:#101b2d;
    --fz-copy:#566174;
    --fz-rule:#d9e0e9;
    --fz-offwhite:#f4f6f8;
}


/* ------------------------------------------------------------
   GLOBAL PUBLIC DETAILS
   ------------------------------------------------------------ */

body{
    color:var(--fz-ink);
}

.section{
    padding:112px 0;
}

.eyebrow{
    margin-bottom:20px;
    color:var(--fz-blue);
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.19em;
}

.eyebrow.light{
    color:#a9c8ef;
}

.text-link{
    display:inline-flex;
    align-items:center;
    gap:14px;
    color:var(--fz-ink);
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
}

.text-link span{
    color:var(--fz-blue);
    transition:transform .2s ease;
}

.text-link:hover{
    color:var(--fz-blue);
}

.text-link:hover span{
    transform:translateX(4px);
}


/* ------------------------------------------------------------
   HEADER
   ------------------------------------------------------------ */

.topbar{
    background:var(--fz-blue-deep);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.topbar-inner{
    height:34px;
}

.header{
    background:#fff;
    backdrop-filter:none;
    border-bottom:1px solid var(--fz-rule);
}

.nav-wrap{
    min-height:88px;
}

.brand img{
    height:58px;
}

.nav{
    gap:28px;
    font-size:13px;
    font-weight:700;
}

.nav>a:not(.btn){
    position:relative;
    padding:34px 0 32px;
}

.nav>a:not(.btn)::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:24px;
    height:2px;
    background:var(--fz-lime);
    transition:right .22s ease;
}

.nav>a:not(.btn):hover{
    color:var(--fz-blue);
}

.nav>a:not(.btn):hover::after{
    right:0;
}


/* ------------------------------------------------------------
   BUTTONS
   ------------------------------------------------------------ */

.btn{
    min-height:50px;
    padding:0 22px;
    gap:18px;
    border-radius:2px;
    border-color:var(--fz-blue);
    background:var(--fz-blue);
    box-shadow:none;
    font-size:12px;
    font-weight:800;
    letter-spacing:.035em;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.btn:hover{
    background:var(--fz-blue-deep);
    border-color:var(--fz-blue-deep);
    box-shadow:none;
    transform:none;
}

.btn span{
    font-size:17px;
    font-weight:400;
}

.btn-outline{
    background:transparent;
    border-color:var(--fz-blue);
    color:var(--fz-blue);
}

.btn-outline:hover{
    background:var(--fz-blue);
    border-color:var(--fz-blue);
    color:#fff;
}

.btn-light{
    background:#fff;
    border-color:#fff;
    color:var(--fz-blue-deep);
}

.btn-light:hover{
    background:var(--fz-lime);
    border-color:var(--fz-lime);
    color:var(--fz-blue-deep);
}


/* ------------------------------------------------------------
   HOMEPAGE HERO
   ------------------------------------------------------------ */

.hero.fazky-hero{
    position:relative;
    padding:0;
    background:#fff;
    overflow:hidden;
}

.hero.fazky-hero::before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:8px;
    height:38%;
    background:var(--fz-lime);
}

.fazky-hero-grid{
    min-height:710px;
    display:grid;
    grid-template-columns:minmax(0, .93fr) minmax(440px, .82fr);
    gap:72px;
    align-items:stretch;
}

.fazky-hero-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:90px 0 72px;
}

.hero-kicker{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:32px;
    color:var(--fz-blue);
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.18em;
}

.hero-kicker>span{
    display:block;
    width:38px;
    height:2px;
    background:var(--fz-lime);
}

.fazky-hero .fazky-hero-copy h1{
    max-width:690px;
    margin:0 0 30px;
    color:var(--fz-navy);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:clamp(54px,5.6vw,82px);
    line-height:.98;
    font-weight:350;
    letter-spacing:-.055em;
}

.fazky-hero .fazky-hero-copy h1 strong{
    display:block;
    color:var(--fz-blue);
    font-weight:750;
}

.hero-intro{
    max-width:620px;
    margin:0;
    color:#28374c;
    font-size:20px;
    line-height:1.55;
    font-weight:550;
}

.hero-secondary{
    max-width:580px;
    margin:17px 0 0;
    color:var(--fz-copy);
    font-size:15px;
    line-height:1.75;
}

.fazky-hero .actions{
    margin:34px 0 42px;
    align-items:center;
    gap:28px;
}

.hero-text-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid #9eabba;
    color:var(--fz-ink);
    font-size:13px;
    font-weight:750;
}

.hero-text-link span{
    color:var(--fz-blue);
}

.hero-credentials{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    max-width:570px;
    border-top:1px solid var(--fz-rule);
}

.hero-credentials>div{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:11px;
    padding:17px 18px 0 0;
}

.hero-credentials strong{
    color:#9aa6b5;
    font-size:10px;
    letter-spacing:.1em;
}

.hero-credentials span{
    color:var(--fz-navy);
    font-size:12px;
    font-weight:750;
}

.fazky-hero-visual{
    position:relative;
    min-height:710px;
}

.hero-image-frame{
    position:absolute;
    inset:0 calc((100vw - min(1180px, calc(100vw - 40px))) / -2) 0 0;
    overflow:hidden;
    background:#d8e0e9;
}

.hero-image-frame::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(4,20,46,.02) 35%,
        rgba(4,20,46,.26) 100%
    );
    pointer-events:none;
}

.hero-image-frame>img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-image-frame .photo-placeholder{
    width:100%;
    height:100%;
    min-height:710px;
    border-radius:0;
    background:#dfe6ee;
}

.hero-service-note{
    position:absolute;
    z-index:3;
    left:-38px;
    bottom:40px;
    width:min(380px,calc(100% - 20px));
    padding:26px 28px;
    background:var(--fz-blue-deep);
    color:#fff;
    border-left:4px solid var(--fz-lime);
}

.hero-service-note>span{
    display:block;
    margin-bottom:9px;
    color:#9cb4d3;
    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;
}

.hero-service-note strong{
    display:block;
    font-size:17px;
    line-height:1.35;
}

.hero-service-note p{
    margin:8px 0 0;
    color:#aebdd1;
    font-size:11px;
    line-height:1.6;
}


/* ------------------------------------------------------------
   TRUST STRIP
   ------------------------------------------------------------ */

.commercial-trust{
    background:var(--fz-offwhite);
    border-bottom:1px solid var(--fz-rule);
}

.commercial-trust-inner{
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
}

.trust-label{
    color:#8490a0;
    font-size:9px;
    font-weight:850;
    letter-spacing:.17em;
}

.google-summary{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    color:#445064;
    font-size:12px;
}

.google-summary strong{
    color:var(--fz-navy);
    font-size:16px;
}

.trust-divider{
    display:block;
    width:1px;
    height:17px;
    margin:0 5px;
    background:#c6ced8;
}


/* ------------------------------------------------------------
   INTRODUCTION
   ------------------------------------------------------------ */

.fazky-intro{
    background:#fff;
}

.intro-layout{
    display:grid;
    grid-template-columns:70px minmax(0,1.25fr) minmax(280px,.75fr);
    gap:48px;
    align-items:start;
}

.section-index{
    padding-top:4px;
    color:#9ba5b2;
    font-size:11px;
    font-weight:850;
    letter-spacing:.1em;
}

.intro-heading h2,
.standard-intro h2,
.industry-heading h2,
.work-heading h2,
.reviews-intro h2,
.final-cta-layout h2{
    margin:0;
    color:var(--fz-navy);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-weight:400;
    letter-spacing:-.045em;
}

.intro-heading h2{
    max-width:650px;
    font-size:clamp(40px,4.4vw,61px);
    line-height:1.05;
}

.intro-content{
    padding-top:33px;
    border-top:2px solid var(--fz-navy);
}

.intro-content p{
    margin:0 0 18px;
    color:var(--fz-copy);
    font-size:15px;
    line-height:1.75;
}

.intro-content p:first-child{
    color:var(--fz-ink);
    font-size:18px;
    font-weight:650;
}


/* ------------------------------------------------------------
   SERVICES DIRECTORY
   ------------------------------------------------------------ */

.services-editorial{
    background:var(--fz-blue-deep);
    color:#fff;
}

.editorial-heading{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:80px;
    align-items:end;
    margin-bottom:62px;
}

.editorial-heading h2{
    max-width:680px;
    margin:0;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:clamp(42px,4.6vw,64px);
    line-height:1.02;
    font-weight:350;
    letter-spacing:-.05em;
}

.editorial-heading>p{
    margin:0 0 5px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.25);
    color:#aebed2;
    font-size:14px;
    line-height:1.7;
}

.service-directory{
    border-top:1px solid rgba(255,255,255,.2);
}

.service-row{
    display:grid;
    grid-template-columns:70px minmax(210px,.8fr) minmax(300px,1.2fr) 38px;
    gap:28px;
    align-items:center;
    min-height:112px;
    padding:22px 0;
    border-bottom:1px solid rgba(255,255,255,.16);
    transition:
        padding .2s ease,
        background .2s ease;
}

.service-row:hover{
    padding-left:16px;
    padding-right:16px;
    background:rgba(255,255,255,.045);
}

.service-row-number{
    color:var(--fz-lime);
    font-size:10px;
    font-weight:850;
    letter-spacing:.12em;
}

.service-row h3{
    margin:0;
    font-size:20px;
    line-height:1.25;
    font-weight:650;
}

.service-row p{
    margin:0;
    color:#aebed2;
    font-size:13px;
    line-height:1.65;
}

.service-arrow{
    color:var(--fz-lime);
    font-size:20px;
    text-align:right;
}

.directory-footer{
    display:flex;
    justify-content:flex-end;
    padding-top:40px;
}


/* ------------------------------------------------------------
   FAZKY STANDARD
   ------------------------------------------------------------ */

.fazky-standard{
    background:#fff;
}

.standard-layout{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:100px;
}

.standard-intro{
    position:sticky;
    top:145px;
    align-self:start;
}

.standard-intro h2{
    max-width:470px;
    margin-bottom:24px;
    font-size:clamp(39px,4vw,57px);
    line-height:1.05;
}

.standard-intro>p{
    max-width:470px;
    margin-bottom:30px;
    color:var(--fz-copy);
    font-size:15px;
    line-height:1.75;
}

.standard-list{
    border-top:2px solid var(--fz-navy);
}

.standard-list article{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:25px;
    padding:29px 0;
    border-bottom:1px solid var(--fz-rule);
}

.standard-list article>span{
    padding-top:4px;
    color:#8d98a6;
    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
}

.standard-list h3{
    margin:0 0 7px;
    color:var(--fz-navy);
    font-size:19px;
}

.standard-list p{
    max-width:600px;
    margin:0;
    color:var(--fz-copy);
    font-size:14px;
    line-height:1.7;
}


/* ------------------------------------------------------------
   INDUSTRIES
   ------------------------------------------------------------ */

.industry-editorial{
    background:var(--fz-offwhite);
}

.industry-heading{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:100px;
    align-items:end;
    margin-bottom:62px;
}

.industry-heading h2{
    max-width:650px;
    font-size:clamp(42px,4.5vw,62px);
    line-height:1.03;
}

.industry-heading>div:last-child{
    padding-bottom:6px;
}

.industry-heading p{
    margin:0 0 22px;
    color:var(--fz-copy);
    font-size:15px;
    line-height:1.75;
}

.industry-directory{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:2px solid var(--fz-navy);
}

.industry-line{
    display:grid;
    grid-template-columns:44px 1fr;
    column-gap:18px;
    padding:29px 34px 29px 0;
    border-bottom:1px solid #cfd6df;
}

.industry-line:nth-child(odd){
    border-right:1px solid #cfd6df;
}

.industry-line:nth-child(even){
    padding-left:34px;
}

.industry-line>span{
    grid-row:1/3;
    color:#909baa;
    font-size:10px;
    font-weight:850;
}

.industry-line h3{
    margin:0 0 8px;
    color:var(--fz-navy);
    font-size:19px;
}

.industry-line p{
    margin:0;
    color:var(--fz-copy);
    font-size:13px;
    line-height:1.65;
}

.industry-enquiry{
    display:grid;
    grid-template-columns:180px 1fr auto;
    gap:40px;
    align-items:center;
    margin-top:46px;
    padding-top:28px;
    border-top:1px solid #c7d0da;
}

.industry-enquiry>span{
    color:#7e8998;
    font-size:9px;
    font-weight:850;
    letter-spacing:.14em;
}

.industry-enquiry p{
    margin:0;
    color:#4e5b6d;
    font-size:14px;
}

.industry-enquiry a{
    color:var(--fz-blue);
    font-size:13px;
    font-weight:800;
}


/* ------------------------------------------------------------
   WORK / GALLERY
   ------------------------------------------------------------ */

.work-section{
    background:#fff;
}

.work-heading{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:100px;
    align-items:end;
    margin-bottom:52px;
}

.work-heading h2{
    max-width:650px;
    font-size:clamp(42px,4.5vw,62px);
    line-height:1.03;
}

.work-heading>div:last-child{
    padding-bottom:4px;
}

.work-heading p{
    max-width:430px;
    margin:0 0 20px;
    color:var(--fz-copy);
    line-height:1.7;
}

.work-gallery{
    display:grid;
    grid-template-columns:1.15fr .85fr .85fr;
    grid-template-rows:280px 280px;
    gap:12px;
}

.work-image{
    position:relative;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:0;
    background:#d8dee6;
    cursor:pointer;
}

.work-image:first-child{
    grid-row:1/3;
}

.work-image:nth-child(n+6){
    display:none;
}

.work-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.work-image:hover img{
    transform:scale(1.025);
}

.work-image::after{
    content:"";
    position:absolute;
    inset:55% 0 0;
    background:linear-gradient(transparent,rgba(4,20,46,.72));
}

.work-image span{
    position:absolute;
    z-index:2;
    left:20px;
    right:20px;
    bottom:17px;
    color:#fff;
    font-size:12px;
    font-weight:750;
    text-align:left;
}

.work-placeholder{
    min-height:420px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    padding:50px;
    background:var(--fz-navy);
    color:#fff;
}

.work-placeholder>span{
    color:var(--fz-lime);
    font-size:10px;
    font-weight:850;
    letter-spacing:.17em;
}

.work-placeholder h3{
    max-width:550px;
    margin:14px 0;
    font-size:38px;
    line-height:1.05;
    font-weight:450;
}

.work-placeholder p{
    max-width:500px;
    margin:0;
    color:#b7c4d6;
}


/* ------------------------------------------------------------
   REVIEWS
   ------------------------------------------------------------ */

.reviews-editorial{
    background:#f7f8fa;
}

.reviews-layout{
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:100px;
}

.reviews-intro h2{
    margin-bottom:36px;
    font-size:clamp(39px,3.8vw,55px);
    line-height:1.06;
}

.large-rating{
    display:flex;
    align-items:center;
    gap:20px;
    margin:0 0 34px;
    padding:22px 0;
    border-top:1px solid #cdd4dd;
    border-bottom:1px solid #cdd4dd;
}

.large-rating>strong{
    color:var(--fz-navy);
    font-size:46px;
    line-height:1;
    font-weight:500;
}

.large-rating p{
    margin:3px 0 0;
    color:var(--fz-copy);
    font-size:11px;
}

.review-editorial-list{
    border-top:2px solid var(--fz-navy);
}

.review-editorial-list article{
    position:relative;
    padding:34px 0 34px 55px;
    border-bottom:1px solid #cfd6df;
}

.review-quote{
    position:absolute;
    left:0;
    top:24px;
    color:var(--fz-blue);
    font-size:48px;
    line-height:1;
    font-family:Georgia,serif;
}

.review-editorial-list blockquote{
    margin:0 0 20px;
    color:#27364a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    line-height:1.55;
}

.review-editorial-list footer{
    display:flex;
    gap:12px;
    align-items:center;
    font-size:11px;
}

.review-editorial-list footer strong{
    color:var(--fz-navy);
}

.review-editorial-list footer span{
    color:#8792a1;
}


/* ------------------------------------------------------------
   MULTI-SITE
   ------------------------------------------------------------ */

.multi-site.bespoke-multisite{
    position:relative;
    padding:70px 0;
    overflow:hidden;
    background:var(--fz-blue);
}

.bespoke-multisite .multi-site-inner{
    display:grid;
    grid-template-columns:140px 1fr auto;
    gap:55px;
}

.multisite-number{
    color:rgba(255,255,255,.13);
    font-size:48px;
    line-height:.82;
    font-weight:900;
    letter-spacing:-.07em;
}

.bespoke-multisite h2{
    margin:0 0 10px;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:38px;
    line-height:1.05;
    font-weight:450;
    letter-spacing:-.04em;
}


/* ------------------------------------------------------------
   FINAL CTA
   ------------------------------------------------------------ */

.final-commercial-cta{
    background:#fff;
}

.final-cta-layout{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:100px;
    align-items:end;
    padding-top:50px;
    border-top:2px solid var(--fz-navy);
}

.final-cta-layout h2{
    max-width:700px;
    font-size:clamp(42px,4.6vw,64px);
    line-height:1.02;
}

.final-cta-layout>div:last-child{
    max-width:460px;
}

.final-cta-layout p{
    margin:0 0 28px;
    color:var(--fz-copy);
    font-size:15px;
    line-height:1.75;
}


/* ------------------------------------------------------------
   INNER PAGE HERO
   ------------------------------------------------------------ */

.page-hero{
    position:relative;
    padding:96px 0 88px;
    overflow:hidden;
    background:var(--fz-offwhite);
    border-bottom:1px solid var(--fz-rule);
}

.page-hero::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    width:6px;
    background:var(--fz-lime);
}

.page-hero .narrow{
    width:min(900px,100%);
    margin-left:0;
}

.page-hero h1{
    max-width:880px;
    margin:0 0 24px;
    color:var(--fz-navy);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:clamp(48px,5.5vw,74px);
    line-height:1;
    font-weight:400;
    letter-spacing:-.055em;
}

.page-hero p{
    max-width:720px;
    color:var(--fz-copy);
    font-size:17px;
    line-height:1.7;
}


/* ------------------------------------------------------------
   EXISTING SERVICE CARDS ON INNER PAGES
   ------------------------------------------------------------ */

.card-grid{
    grid-template-columns:repeat(2,1fr);
    gap:0;
    border-top:2px solid var(--fz-navy);
}

.service-card{
    min-height:260px;
    padding:34px 36px;
    border:0;
    border-bottom:1px solid var(--fz-rule);
    border-radius:0;
    box-shadow:none;
}

.service-card:nth-child(odd){
    border-right:1px solid var(--fz-rule);
}

.service-card:hover{
    transform:none;
    border-color:var(--fz-rule);
    background:#f7f9fb;
    box-shadow:none;
}

.service-card h3{
    margin:32px 0 12px;
}

.service-num{
    color:#8a96a5;
}


/* ------------------------------------------------------------
   EXISTING INDUSTRY CARDS
   ------------------------------------------------------------ */

.industry-grid{
    gap:0;
    border-top:2px solid var(--fz-navy);
}

.industry-card{
    padding:32px;
    border-right:1px solid var(--fz-rule);
    border-bottom:1px solid var(--fz-rule);
    border-radius:0;
    background:#fff;
}


/* ------------------------------------------------------------
   EXISTING REVIEWS
   ------------------------------------------------------------ */

.reviews-grid{
    gap:0;
    border-top:2px solid var(--fz-navy);
}

.review-card{
    padding:34px;
    border:0;
    border-right:1px solid var(--fz-rule);
    border-bottom:1px solid var(--fz-rule);
    border-radius:0;
}

.review-card p{
    color:#2b394d;
    font-size:18px;
}


/* ------------------------------------------------------------
   QUOTE / CONTENT PANELS
   ------------------------------------------------------------ */

.quote-card{
    padding:48px 0;
    border-top:2px solid var(--fz-navy);
    border-bottom:1px solid var(--fz-rule);
    border-radius:0;
    background:#fff;
}

.callout{
    padding:38px;
    border-radius:0;
    border-left:4px solid var(--fz-lime);
    background:var(--fz-offwhite);
}

.notice,
.note{
    border-radius:0;
    border-left-color:var(--fz-lime);
    background:#f3f6f9;
}


/* ------------------------------------------------------------
   FORMS
   ------------------------------------------------------------ */

input,
select,
textarea{
    border-radius:2px;
    border-color:#c8d0db;
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--fz-blue);
    box-shadow:0 0 0 2px rgba(7,59,143,.08);
}

fieldset{
    border-radius:2px;
}


/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */

.footer{
    background:var(--fz-blue-deep);
    padding-top:82px;
}

.footer-grid{
    padding-top:38px;
    border-top:1px solid rgba(255,255,255,.16);
}

.footer-brand{
    font-size:20px;
    letter-spacing:-.02em;
}

.footer h4{
    color:#879bb6;
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.footer a{
    transition:color .2s ease;
}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1000px){

    .fazky-hero-grid{
        grid-template-columns:1fr 1fr;
        gap:45px;
    }

    .fazky-hero .fazky-hero-copy h1{
        font-size:55px;
    }

    .standard-layout,
    .reviews-layout{
        gap:60px;
    }

    .editorial-heading,
    .industry-heading,
    .work-heading,
    .final-cta-layout{
        gap:60px;
    }

    .service-row{
        grid-template-columns:50px minmax(190px,.8fr) 1.2fr 30px;
        gap:18px;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:760px){

    .section{
        padding:72px 0;
    }

    .header{
        position:sticky;
    }

    .nav>a:not(.btn){
        padding:8px;
    }

    .nav>a:not(.btn)::after{
        display:none;
    }


    /* Hero */

    .fazky-hero-grid{
        min-height:0;
        display:flex;
        flex-direction:column;
        gap:0;
    }

    .fazky-hero-copy{
        padding:62px 0 52px;
    }

    .fazky-hero .fazky-hero-copy h1{
        font-size:clamp(46px,13vw,64px);
    }

    .hero-intro{
        font-size:18px;
    }

    .hero-credentials{
        max-width:none;
    }

    .fazky-hero-visual{
        min-height:500px;
        margin-left:-14px;
        margin-right:-14px;
    }

    .hero-image-frame{
        inset:0;
    }

    .hero-image-frame .photo-placeholder{
        min-height:500px;
    }

    .hero-service-note{
        left:20px;
        bottom:20px;
    }


    /* Trust */

    .commercial-trust-inner{
        padding:20px 0;
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }

    .google-summary{
        justify-content:flex-start;
        flex-wrap:wrap;
    }


    /* Introduction */

    .intro-layout{
        grid-template-columns:45px 1fr;
        gap:25px;
    }

    .intro-content{
        grid-column:2;
    }


    /* Services */

    .editorial-heading{
        grid-template-columns:1fr;
        gap:28px;
    }

    .service-row{
        grid-template-columns:38px 1fr 28px;
        min-height:0;
        padding:25px 0;
    }

    .service-row h3{
        font-size:18px;
    }

    .service-row p{
        grid-column:2/4;
    }

    .service-arrow{
        grid-column:3;
        grid-row:1;
    }


    /* Standard */

    .standard-layout{
        grid-template-columns:1fr;
        gap:55px;
    }

    .standard-intro{
        position:static;
    }


    /* Industries */

    .industry-heading,
    .work-heading,
    .reviews-layout,
    .final-cta-layout{
        grid-template-columns:1fr;
        gap:35px;
    }

    .industry-directory{
        grid-template-columns:1fr;
    }

    .industry-line:nth-child(odd){
        border-right:0;
    }

    .industry-line:nth-child(even){
        padding-left:0;
    }

    .industry-enquiry{
        grid-template-columns:1fr;
        gap:14px;
    }


    /* Gallery */

    .work-gallery{
        grid-template-columns:1fr 1fr;
        grid-template-rows:380px 220px 220px;
    }

    .work-image:first-child{
        grid-column:1/3;
        grid-row:auto;
    }


    /* Reviews */

    .review-editorial-list article{
        padding-left:42px;
    }


    /* Multisite */

    .bespoke-multisite .multi-site-inner{
        display:grid;
        grid-template-columns:1fr;
        gap:28px;
    }

    .multisite-number{
        font-size:36px;
    }


    /* Existing inner pages */

    .card-grid{
        grid-template-columns:1fr;
    }

    .service-card:nth-child(odd){
        border-right:0;
    }

    .page-hero{
        padding:70px 0 62px;
    }

    .page-hero h1{
        font-size:clamp(44px,12vw,60px);
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media(max-width:500px){

    .fazky-hero .actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .hero-credentials{
        grid-template-columns:1fr;
    }

    .hero-credentials>div{
        padding:12px 0;
        border-bottom:1px solid var(--fz-rule);
    }

    .intro-layout{
        display:block;
    }

    .intro-layout>.section-index{
        margin-bottom:20px;
    }

    .intro-content{
        margin-top:32px;
    }

    .work-gallery{
        display:grid;
        grid-template-columns:1fr;
        grid-template-rows:none;
    }

    .work-image,
    .work-image:first-child{
        grid-column:auto;
        height:280px;
    }

    .industry-card,
    .review-card,
    .service-card{
        border-right:0;
    }

}
/* =========================================================
   ADMIN HERO SLIDES
   ========================================================= */

.hero-admin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
    margin-top:25px;
}

.hero-admin-slide{
    overflow:hidden;
    border:1px solid var(--line);
    background:#fff;
}

.hero-admin-slide>img{
    width:100%;
    height:240px;
    object-fit:cover;
}

.hero-admin-slide>form{
    padding:20px;
}

.hero-admin-slide>.form-stack{
    border-bottom:1px solid var(--line);
}

@media(max-width:900px){

    .hero-admin-grid{
        grid-template-columns:1fr;
    }

}
/* ============================================================
   FAZKY FULL SCREEN HERO SLIDER
   ============================================================ */

.fazky-slider{
    position:relative;
    width:100%;
    min-height:calc(100svh - 122px);
    overflow:hidden;
    background:#04142e;
    color:#fff;
}


/* ============================================================
   BACKGROUNDS
   ============================================================ */

.fazky-slider-backgrounds{
    position:absolute;
    inset:0;
    z-index:0;
}

.fazky-slide-background{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:scale(1.035);
    transition:
        opacity 1.1s ease,
        visibility 1.1s ease,
        transform 7s ease;
}

.fazky-slide-background.is-active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
}

.fazky-slide-background img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.fazky-slide-placeholder{
    background:
        linear-gradient(
            120deg,
            #04142e,
            #073b8f
        );
}


/* ============================================================
   OVERLAY
   ============================================================ */

.fazky-slider-shade{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(3,14,34,.91) 0%,
            rgba(3,14,34,.80) 30%,
            rgba(3,14,34,.48) 58%,
            rgba(3,14,34,.17) 82%,
            rgba(3,14,34,.10) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3,14,34,.52) 0%,
            rgba(3,14,34,0) 45%
        );
}


/* ============================================================
   CONTAINER
   ============================================================ */

.fazky-slider-container{
    position:relative;
    z-index:2;
    min-height:calc(100svh - 122px);
    display:flex;
    align-items:center;
}


/* ============================================================
   CONTENT
   ============================================================ */

.fazky-slider-content{
    position:relative;
    width:min(760px,70%);
    padding:85px 0 130px;
}

.fazky-slide-copy{
    display:none;
}

.fazky-slide-copy.is-active{
    display:block;
    animation:
        fazkyCopyEnter .75s ease both;
}

@keyframes fazkyCopyEnter{

    from{
        opacity:0;
        transform:translateY(18px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* ============================================================
   EYEBROW
   ============================================================ */

.fazky-slider-eyebrow{
    display:flex;
    align-items:center;
    gap:14px;

    margin-bottom:28px;

    color:#fff;

    font-size:11px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.18em;
}

.fazky-slider-eyebrow>span{
    display:block;
    width:42px;
    height:2px;
    flex:0 0 42px;

    background:#7bea00;
}


/* ============================================================
   HEADING
   ============================================================ */

.fazky-slide-copy h1{
    max-width:850px;

    margin:0;

    color:#fff;

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size:clamp(
        58px,
        6.6vw,
        96px
    );

    line-height:.94;

    font-weight:600;

    letter-spacing:-.06em;

    text-wrap:balance;
}

.fazky-slide-copy p{
    max-width:630px;

    margin:28px 0 0;

    color:rgba(255,255,255,.83);

    font-size:17px;
    line-height:1.65;

    text-shadow:
        0 2px 15px
        rgba(0,0,0,.2);
}


/* ============================================================
   ACTIONS
   ============================================================ */

.fazky-slider-actions{
    display:flex;
    align-items:center;
    gap:30px;

    margin-top:38px;
}

.slider-primary-btn{
    min-height:56px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;

    padding:0 26px;

    background:#7bea00;

    color:#04142e;

    font-size:12px;
    font-weight:850;
    letter-spacing:.025em;

    transition:
        background .2s ease,
        color .2s ease;
}

.slider-primary-btn:hover{
    background:#fff;
    color:#04142e;
}

.slider-primary-btn span{
    font-size:18px;
    font-weight:400;
}

.slider-secondary-link{
    display:inline-flex;
    align-items:center;
    gap:11px;

    padding:12px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.45);

    color:#fff;

    font-size:12px;
    font-weight:750;
}

.slider-secondary-link:hover{
    border-color:#7bea00;
    color:#7bea00;
}


/* ============================================================
   TRUST
   ============================================================ */

.fazky-slider-trust{
    display:flex;
    align-items:center;
    gap:13px;

    margin-top:35px;

    color:rgba(255,255,255,.65);

    font-size:10px;
    font-weight:750;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.fazky-slider-trust i{
    display:block;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#7bea00;
}


/* ============================================================
   NAVIGATION
   ============================================================ */

.fazky-slider-navigation{
    position:absolute;
    z-index:5;

    left:0;
    right:0;
    bottom:32px;

    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:28px;
    align-items:center;
}


/* Counter */

.fazky-slide-counter{
    display:flex;
    align-items:center;
    gap:11px;

    min-width:95px;
}

.fazky-slide-counter strong{
    color:#fff;

    font-size:12px;
    font-weight:850;
}

.fazky-slide-counter>span{
    display:block;

    width:26px;
    height:1px;

    background:
        rgba(255,255,255,.4);
}

.fazky-slide-counter small{
    color:
        rgba(255,255,255,.55);

    font-size:10px;
    font-weight:700;
}


/* Progress */

.fazky-slider-progress{
    display:flex;
    align-items:center;
    gap:8px;

    max-width:500px;
}

.fazky-progress-item{
    position:relative;

    width:60px;
    height:18px;

    padding:0;

    border:0;

    background:transparent;

    cursor:pointer;
}

.fazky-progress-item::before{
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:50%;

    height:1px;

    background:
        rgba(255,255,255,.28);
}

.fazky-progress-item span{
    position:absolute;

    left:0;
    top:50%;

    width:0;
    height:2px;

    transform:translateY(-50%);

    background:#7bea00;
}

.fazky-progress-item.is-active span{
    animation:
        fazkyProgress
        6.5s
        linear
        forwards;
}

@keyframes fazkyProgress{

    from{
        width:0;
    }

    to{
        width:100%;
    }

}


/* Arrows */

.fazky-slider-arrows{
    display:flex;
}

.fazky-slider-arrows button{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:
        1px solid
        rgba(255,255,255,.32);

    background:
        rgba(4,20,46,.2);

    color:#fff;

    font-size:18px;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.fazky-slider-arrows button+button{
    border-left:0;
}

.fazky-slider-arrows button:hover{
    background:#7bea00;
    border-color:#7bea00;
    color:#04142e;
}


/* ============================================================
   SCROLL INDICATOR
   ============================================================ */

.fazky-scroll-indicator{
    position:absolute;

    z-index:5;

    right:26px;
    top:50%;

    display:flex;
    align-items:center;
    gap:14px;

    transform:
        translateY(-50%)
        rotate(90deg);

    transform-origin:center;
}

.fazky-scroll-indicator span{
    color:
        rgba(255,255,255,.55);

    font-size:8px;
    font-weight:850;
    letter-spacing:.2em;
}

.fazky-scroll-indicator i{
    display:block;

    width:55px;
    height:1px;

    background:
        rgba(255,255,255,.35);
}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1000px){

    .fazky-slider,
    .fazky-slider-container{
        min-height:
            calc(100svh - 110px);
    }

    .fazky-slider-content{
        width:min(720px,82%);
    }

    .fazky-slide-copy h1{
        font-size:
            clamp(
                54px,
                8vw,
                80px
            );
    }

    .fazky-scroll-indicator{
        display:none;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:760px){

    .fazky-slider{
        min-height:88svh;
    }

    .fazky-slider-container{
        min-height:88svh;
        align-items:flex-end;
    }

    .fazky-slider-shade{
        background:
            linear-gradient(
                0deg,
                rgba(3,14,34,.94) 0%,
                rgba(3,14,34,.76) 48%,
                rgba(3,14,34,.28) 78%,
                rgba(3,14,34,.14) 100%
            );
    }

    .fazky-slider-content{
        width:100%;

        padding:
            120px
            0
            130px;
    }

    .fazky-slider-eyebrow{
        margin-bottom:20px;

        font-size:9px;
    }

    .fazky-slide-copy h1{
        max-width:620px;

        font-size:
            clamp(
                45px,
                13vw,
                66px
            );

        line-height:.96;
    }

    .fazky-slide-copy p{
        max-width:520px;

        margin-top:21px;

        font-size:15px;
    }

    .fazky-slider-actions{
        align-items:flex-start;
        flex-direction:column;

        gap:17px;

        margin-top:28px;
    }

    .slider-primary-btn{
        min-height:54px;

        width:100%;

        justify-content:
            space-between;
    }

    .fazky-slider-trust{
        margin-top:26px;

        flex-wrap:wrap;
    }

    .fazky-slider-navigation{
        bottom:19px;

        grid-template-columns:
            auto
            1fr
            auto;

        gap:13px;
    }

    .fazky-slider-progress{
        gap:4px;
    }

    .fazky-progress-item{
        width:34px;
    }

    .fazky-slider-arrows button{
        width:40px;
        height:40px;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media(max-width:500px){

    .fazky-slider{
        min-height:90svh;
    }

    .fazky-slider-container{
        min-height:90svh;
    }

    .fazky-slider-content{
        padding-bottom:125px;
    }

    .fazky-slide-copy h1{
        font-size:
            clamp(
                42px,
                12.5vw,
                58px
            );
    }

    .fazky-slide-copy p{
        line-height:1.55;
    }

    .fazky-slider-trust{
        font-size:9px;
    }

    .fazky-slider-navigation{
        grid-template-columns:
            auto
            1fr;
    }

    .fazky-slider-arrows{
        display:none;
    }

}
/* ============================================================
   FAZKY SIMPLIFIED HOMEPAGE
   ============================================================ */

.home-label{
    display:block;

    margin-bottom:18px;

    color:#073b8f;

    font-size:10px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.18em;
}

.home-label-light{
    color:#9ef13d;
}


/* ============================================================
   TRUST BAR
   ============================================================ */

.home-trust-bar{
    border-bottom:1px solid #dce5f0;

    background:#fff;
}

.home-trust-inner{
    min-height:92px;

    display:grid;

    grid-template-columns:
        1.25fr
        auto
        auto;

    align-items:center;

    gap:38px;
}

.home-trust-company{
    display:flex;
    flex-direction:column;

    gap:4px;
}

.home-trust-company span{
    color:#073b8f;

    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
}

.home-trust-company strong{
    color:#0b1735;

    font-size:14px;
    font-weight:700;
}

.home-google-rating{
    display:flex;
    align-items:center;

    gap:9px;

    color:#66758a;

    font-size:11px;
}

.home-google-rating strong{
    color:#0b1735;

    font-size:15px;
}

.home-stars{
    color:#073b8f;

    font-size:12px;
    letter-spacing:1px;
}

.home-google-rating i{
    width:1px;
    height:18px;

    margin:0 4px;

    background:#dce5f0;
}

.home-trust-points{
    display:flex;
    align-items:center;

    gap:11px;

    color:#0b1735;

    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.home-trust-points i{
    width:3px;
    height:3px;

    border-radius:50%;

    background:#7bea00;
}


/* ============================================================
   SHARED SECTION HEADING
   ============================================================ */

.home-services-clean,
.home-proof{
    padding:110px 0;
}

.home-section-heading{
    display:grid;

    grid-template-columns:
        minmax(0,1.35fr)
        minmax(280px,.65fr);

    gap:80px;

    align-items:end;

    margin-bottom:65px;
}

.home-section-heading h2{
    max-width:720px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        42px,
        5vw,
        68px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.045em;
}

.home-heading-side{
    max-width:420px;
}

.home-heading-side p{
    margin:0 0 25px;

    color:#66758a;

    font-size:15px;
    line-height:1.7;
}

.home-arrow-link{
    display:inline-flex;
    align-items:center;

    gap:15px;

    padding-bottom:7px;

    border-bottom:1px solid #bcc9d8;

    color:#073b8f;

    font-size:11px;
    font-weight:850;
    letter-spacing:.035em;
}

.home-arrow-link:hover{
    border-color:#073b8f;
}


/* ============================================================
   SERVICES
   ============================================================ */

.home-services-clean{
    background:#fff;
}

.home-service-list{
    border-top:1px solid #ccd7e4;
}

.home-service-item{
    display:grid;

    grid-template-columns:
        65px
        minmax(230px,.8fr)
        minmax(280px,1fr)
        40px;

    gap:30px;

    align-items:center;

    min-height:118px;

    border-bottom:1px solid #dce5f0;

    color:#0b1735;

    transition:
        padding .25s ease,
        background .25s ease;
}

.home-service-item:hover{
    padding-left:15px;

    background:#f7f9fc;
}

.home-service-number{
    color:#8794a6;

    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
}

.home-service-item h3{
    margin:0;

    font-size:21px;
    line-height:1.25;
    font-weight:650;

    letter-spacing:-.025em;
}

.home-service-item p{
    margin:0;

    color:#66758a;

    font-size:13px;
    line-height:1.65;
}

.home-service-arrow{
    justify-self:end;

    font-size:18px;

    transition:transform .2s ease;
}

.home-service-item:hover
.home-service-arrow{
    transform:
        translate(3px,-3px);
}


/* ============================================================
   WHY FAZKY
   ============================================================ */

.home-why{
    padding:110px 0;

    background:#05265f;

    color:#fff;
}

.home-why-layout{
    display:grid;

    grid-template-columns:
        minmax(280px,.8fr)
        minmax(420px,1.2fr);

    gap:110px;
}

.home-why-intro{
    align-self:start;

    position:sticky;
    top:130px;
}

.home-why-intro h2{
    max-width:500px;

    margin:0 0 24px;

    color:#fff;

    font-size:clamp(
        40px,
        4.4vw,
        62px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.045em;
}

.home-why-intro p{
    max-width:450px;

    margin:0;

    color:rgba(255,255,255,.68);

    font-size:15px;
    line-height:1.7;
}

.home-light-link{
    display:inline-flex;
    align-items:center;

    gap:15px;

    margin-top:30px;

    padding-bottom:7px;

    border-bottom:
        1px solid
        rgba(255,255,255,.35);

    color:#fff;

    font-size:11px;
    font-weight:800;
}

.home-light-link:hover{
    border-color:#7bea00;
    color:#7bea00;
}

.home-why-points{
    border-top:
        1px solid
        rgba(255,255,255,.18);
}

.home-why-points article{
    display:grid;

    grid-template-columns:
        55px
        1fr;

    gap:25px;

    padding:32px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.18);
}

.home-why-points article>span{
    padding-top:5px;

    color:#7bea00;

    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
}

.home-why-points h3{
    margin:0 0 8px;

    color:#fff;

    font-size:19px;
    font-weight:650;
}

.home-why-points p{
    max-width:520px;

    margin:0;

    color:rgba(255,255,255,.62);

    font-size:13px;
    line-height:1.65;
}


/* ============================================================
   WORK + REVIEWS
   ============================================================ */

.home-proof{
    background:#f5f8fc;
}

.home-proof-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(340px,.75fr);

    gap:65px;

    align-items:start;
}


/* Photography */

.home-proof-gallery{
    display:grid;

    grid-template-columns:
        1.1fr
        .9fr;

    grid-template-rows:
        250px
        250px;

    gap:12px;
}

.home-proof-image{
    position:relative;

    overflow:hidden;

    padding:0;

    border:0;

    background:#dce5f0;

    cursor:pointer;
}

.home-proof-image:first-child{
    grid-row:1 / 3;
}

.home-proof-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .5s ease;
}

.home-proof-image:hover img{
    transform:scale(1.025);
}

.home-proof-image>span{
    position:absolute;

    left:18px;
    bottom:18px;

    padding:8px 11px;

    background:
        rgba(4,20,46,.82);

    color:#fff;

    font-size:9px;
    font-weight:800;
    letter-spacing:.06em;
}

.home-proof-placeholder{
    min-height:510px;

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:35px;

    background:#e7edf5;
}

.home-proof-placeholder span{
    margin-bottom:8px;

    color:#073b8f;

    font-size:9px;
    font-weight:850;
    letter-spacing:.15em;
}

.home-proof-placeholder strong{
    max-width:350px;

    color:#0b1735;

    font-size:27px;
}


/* Reviews */

.home-review-panel{
    padding-top:5px;
}

.home-review-rating{
    display:flex;
    align-items:center;

    gap:16px;

    margin:12px 0 28px;
}

.home-review-rating>strong{
    color:#0b1735;

    font-size:42px;
    line-height:1;
    font-weight:600;
}

.home-review-rating div{
    display:flex;
    flex-direction:column;

    gap:3px;
}

.home-review-rating small{
    color:#66758a;

    font-size:10px;
}

.home-review{
    position:relative;

    padding:27px 0;

    border-top:1px solid #ccd7e4;
}

.home-review-mark{
    height:25px;

    color:#073b8f;

    font-family:Georgia,serif;

    font-size:40px;
    line-height:1;
}

.home-review blockquote{
    margin:8px 0 18px;

    color:#25364c;

    font-size:15px;
    line-height:1.7;
}

.home-review footer{
    display:flex;
    flex-direction:column;

    gap:3px;
}

.home-review footer strong{
    color:#0b1735;

    font-size:11px;
}

.home-review footer span{
    color:#7b8797;

    font-size:9px;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.home-no-reviews{
    padding:25px 0;

    border-top:1px solid #ccd7e4;

    color:#66758a;
}


/* ============================================================
   FINAL CTA
   ============================================================ */

.home-final-cta{
    padding:95px 0;

    background:#073b8f;

    color:#fff;
}

.home-final-inner{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(320px,.8fr);

    gap:100px;

    align-items:center;
}

.home-final-inner h2{
    max-width:720px;

    margin:0;

    color:#fff;

    font-size:clamp(
        43px,
        5vw,
        70px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.home-final-action p{
    max-width:520px;

    margin:0 0 28px;

    color:rgba(255,255,255,.72);

    font-size:14px;
    line-height:1.7;
}

.home-assessment-btn{
    min-height:56px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;

    gap:30px;

    padding:0 24px;

    background:#7bea00;

    color:#04142e;

    font-size:11px;
    font-weight:850;
}

.home-assessment-btn:hover{
    background:#fff;
    color:#04142e;
}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1000px){

    .home-trust-inner{
        grid-template-columns:
            1fr
            auto;
    }

    .home-trust-points{
        display:none;
    }

    .home-section-heading{
        gap:45px;
    }

    .home-service-item{
        grid-template-columns:
            50px
            .8fr
            1fr
            30px;

        gap:18px;
    }

    .home-why-layout{
        gap:60px;
    }

    .home-proof-layout{
        grid-template-columns:1fr;
    }

    .home-review-panel{
        max-width:700px;
    }

    .home-final-inner{
        gap:55px;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:760px){

    .home-trust-inner{
        min-height:auto;

        display:block;

        padding-top:22px;
        padding-bottom:22px;
    }

    .home-trust-company{
        margin-bottom:15px;
    }

    .home-google-rating{
        flex-wrap:wrap;
    }


    .home-services-clean,
    .home-proof,
    .home-why{
        padding:75px 0;
    }


    .home-section-heading{
        display:block;

        margin-bottom:40px;
    }

    .home-section-heading h2{
        font-size:43px;
    }

    .home-heading-side{
        margin-top:25px;
    }


    .home-service-item{
        position:relative;

        display:grid;

        grid-template-columns:
            38px
            1fr;

        gap:5px 15px;

        min-height:auto;

        padding:25px 35px 25px 0;
    }

    .home-service-item:hover{
        padding-left:0;
    }

    .home-service-number{
        grid-row:1 / 3;

        padding-top:5px;
    }

    .home-service-item h3{
        font-size:18px;
    }

    .home-service-item p{
        margin-top:4px;
    }

    .home-service-arrow{
        position:absolute;

        right:3px;
        top:27px;
    }


    .home-why-layout{
        display:block;
    }

    .home-why-intro{
        position:static;

        margin-bottom:50px;
    }

    .home-why-intro h2{
        font-size:43px;
    }


    .home-proof-layout{
        gap:45px;
    }

    .home-proof-gallery{
        grid-template-columns:1fr 1fr;

        grid-template-rows:
            310px
            170px;
    }

    .home-proof-image:first-child{
        grid-column:1 / 3;
        grid-row:auto;
    }


    .home-final-cta{
        padding:75px 0;
    }

    .home-final-inner{
        display:block;
    }

    .home-final-inner h2{
        font-size:43px;
    }

    .home-final-action{
        margin-top:30px;
    }

    .home-assessment-btn{
        width:100%;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media(max-width:480px){

    .home-proof-gallery{
        display:block;
    }

    .home-proof-image{
        display:block;

        width:100%;
        height:230px;

        margin-bottom:10px;
    }

    .home-proof-placeholder{
        min-height:320px;
    }

}
/* ============================================================
   FAZKY SERVICES PAGE
   ============================================================ */

.services-label{
    display:block;
    margin-bottom:18px;

    color:#073b8f;

    font-size:10px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.18em;
}

.services-label-light{
    color:#9ef13d;
}


/* HERO */

.services-page-hero{
    padding:105px 0 0;

    background:#f5f8fc;

    border-bottom:1px solid #dce5f0;
}

.services-hero-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(320px,.75fr);

    gap:100px;

    align-items:end;
}

.services-kicker{
    display:block;

    margin-bottom:25px;

    color:#073b8f;

    font-size:10px;
    font-weight:850;
    letter-spacing:.2em;
}

.services-hero-layout h1{
    max-width:850px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        58px,
        6.5vw,
        94px
    );

    line-height:.94;

    font-weight:600;

    letter-spacing:-.06em;
}

.services-hero-layout h1 span{
    display:block;

    color:#073b8f;
}

.services-hero-side{
    padding-bottom:8px;
}

.services-hero-side p{
    max-width:480px;

    margin:0 0 30px;

    color:#66758a;

    font-size:16px;
    line-height:1.75;
}

.services-primary-action{
    min-height:55px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;

    padding:0 23px;

    background:#073b8f;

    color:#fff;

    font-size:11px;
    font-weight:850;
}

.services-primary-action:hover{
    background:#05265f;

    color:#fff;
}

.services-primary-action span{
    font-size:17px;
}

.services-trust-line{
    display:flex;
    align-items:center;

    gap:14px;

    margin-top:75px;

    min-height:68px;

    border-top:1px solid #dce5f0;

    color:#5f6f83;

    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.services-trust-line i{
    width:3px;
    height:3px;

    border-radius:50%;

    background:#7bea00;
}


/* DIRECTORY */

.services-directory-section{
    padding:110px 0;

    background:#fff;
}

.services-directory-heading{
    display:grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(300px,.75fr);

    gap:90px;

    align-items:end;

    margin-bottom:60px;
}

.services-directory-heading h2{
    max-width:700px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        43px,
        5vw,
        68px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.services-directory-heading>p{
    max-width:430px;

    margin:0;

    color:#66758a;

    font-size:14px;
    line-height:1.75;
}

.services-directory-list{
    border-top:1px solid #cbd6e3;
}

.services-directory-row{
    display:grid;

    grid-template-columns:
        65px
        minmax(240px,.8fr)
        minmax(300px,1fr)
        40px;

    gap:28px;

    align-items:center;

    min-height:112px;

    border-bottom:1px solid #dce5f0;

    color:#0b1735;

    transition:
        background .2s ease,
        padding .2s ease;
}

.services-directory-row:hover{
    padding-left:14px;

    background:#f7f9fc;
}

.services-directory-number{
    color:#8997a8;

    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
}

.services-directory-name h3{
    margin:0;

    font-size:20px;
    line-height:1.25;

    font-weight:650;

    letter-spacing:-.025em;
}

.services-directory-row>p{
    margin:0;

    color:#66758a;

    font-size:13px;
    line-height:1.65;
}

.services-directory-arrow{
    justify-self:end;

    font-size:18px;

    transition:transform .2s ease;
}

.services-directory-row:hover
.services-directory-arrow{
    transform:translate(3px,-3px);
}

.services-empty{
    padding:35px 0;

    color:#66758a;
}


/* APPROACH */

.services-approach{
    padding:110px 0;

    background:#05265f;

    color:#fff;
}

.services-approach-layout{
    display:grid;

    grid-template-columns:
        minmax(300px,.85fr)
        minmax(440px,1.15fr);

    gap:110px;
}

.services-approach-intro h2{
    max-width:540px;

    margin:0 0 25px;

    color:#fff;

    font-size:clamp(
        42px,
        4.7vw,
        64px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.services-approach-intro p{
    max-width:480px;

    margin:0;

    color:rgba(255,255,255,.68);

    font-size:15px;
    line-height:1.75;
}

.services-process{
    border-top:
        1px solid
        rgba(255,255,255,.18);
}

.services-process article{
    display:grid;

    grid-template-columns:
        55px
        1fr;

    gap:25px;

    padding:30px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.18);
}

.services-process article>span{
    padding-top:4px;

    color:#7bea00;

    font-size:10px;
    font-weight:850;
}

.services-process h3{
    margin:0 0 7px;

    color:#fff;

    font-size:19px;
    font-weight:650;
}

.services-process p{
    max-width:520px;

    margin:0;

    color:rgba(255,255,255,.62);

    font-size:13px;
    line-height:1.65;
}


/* FACILITIES */

.services-facilities{
    padding:110px 0;

    background:#f5f8fc;
}

.services-facility-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(380px,1fr);

    gap:100px;
}

.services-facility-layout h2{
    max-width:600px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        43px,
        5vw,
        68px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.services-facility-side>p{
    max-width:500px;

    margin:0 0 32px;

    color:#66758a;

    font-size:15px;
    line-height:1.7;
}

.services-facility-list{
    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    border-top:1px solid #ccd7e4;

    margin-bottom:30px;
}

.services-facility-list span{
    padding:19px 10px 19px 0;

    border-bottom:1px solid #ccd7e4;

    color:#0b1735;

    font-size:13px;
    font-weight:700;
}

.services-facility-list span:nth-child(odd){
    border-right:1px solid #ccd7e4;
}

.services-facility-list span:nth-child(even){
    padding-left:22px;
}

.services-text-link{
    display:inline-flex;
    align-items:center;

    gap:15px;

    padding-bottom:7px;

    border-bottom:1px solid #b8c6d7;

    color:#073b8f;

    font-size:11px;
    font-weight:850;
}

.services-text-link:hover{
    border-color:#073b8f;
}


/* MULTI SITE */

.services-multisite{
    padding:70px 0;

    background:#041a3d;

    color:#fff;
}

.services-multisite-inner{
    display:grid;

    grid-template-columns:
        120px
        1fr
        auto;

    gap:55px;

    align-items:center;
}

.services-multisite-index{
    color:rgba(255,255,255,.16);

    font-size:35px;
    line-height:.9;
    font-weight:850;
    letter-spacing:-.06em;
}

.services-multisite h2{
    margin:0 0 10px;

    color:#fff;

    font-size:34px;
    line-height:1.05;

    font-weight:600;

    letter-spacing:-.035em;
}

.services-multisite p{
    max-width:600px;

    margin:0;

    color:rgba(255,255,255,.65);

    font-size:13px;
    line-height:1.65;
}

.services-multisite-link{
    display:inline-flex;
    align-items:center;

    gap:20px;

    padding-bottom:8px;

    border-bottom:
        1px solid
        rgba(255,255,255,.4);

    color:#fff;

    font-size:11px;
    font-weight:800;
}

.services-multisite-link:hover{
    border-color:#7bea00;

    color:#7bea00;
}


/* FINAL CTA */

.services-final{
    padding:105px 0;

    background:#fff;
}

.services-final-layout{
    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(340px,.85fr);

    gap:100px;

    align-items:center;
}

.services-final h2{
    max-width:700px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        43px,
        5vw,
        68px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.services-final-side p{
    max-width:510px;

    margin:0 0 13px;

    color:#66758a;

    font-size:14px;
    line-height:1.7;
}

.services-final-button{
    min-height:55px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;

    margin-top:18px;

    padding:0 24px;

    background:#073b8f;

    color:#fff;

    font-size:11px;
    font-weight:850;
}

.services-final-button:hover{
    background:#05265f;

    color:#fff;
}


/* TABLET */

@media(max-width:1000px){

    .services-hero-layout,
    .services-directory-heading,
    .services-approach-layout,
    .services-facility-layout,
    .services-final-layout{
        gap:55px;
    }

    .services-directory-row{
        grid-template-columns:
            50px
            .8fr
            1fr
            30px;

        gap:18px;
    }

    .services-multisite-inner{
        grid-template-columns:
            80px
            1fr;
    }

    .services-multisite-link{
        grid-column:2;
        justify-self:start;
    }

}


/* MOBILE */

@media(max-width:760px){

    .services-page-hero{
        padding-top:70px;
    }

    .services-hero-layout,
    .services-directory-heading,
    .services-approach-layout,
    .services-facility-layout,
    .services-final-layout{
        display:block;
    }

    .services-hero-layout h1{
        font-size:52px;
    }

    .services-hero-side{
        margin-top:30px;
    }

    .services-primary-action{
        width:100%;
    }

    .services-trust-line{
        margin-top:50px;

        flex-wrap:wrap;

        padding:20px 0;
    }


    .services-directory-section,
    .services-approach,
    .services-facilities,
    .services-final{
        padding:75px 0;
    }

    .services-directory-heading{
        margin-bottom:40px;
    }

    .services-directory-heading>p{
        margin-top:22px;
    }

    .services-directory-row{
        position:relative;

        display:grid;

        grid-template-columns:
            38px
            1fr;

        gap:6px 14px;

        min-height:auto;

        padding:24px 35px 24px 0;
    }

    .services-directory-row:hover{
        padding-left:0;
    }

    .services-directory-number{
        grid-row:1 / 3;

        padding-top:5px;
    }

    .services-directory-name h3{
        font-size:18px;
    }

    .services-directory-row>p{
        margin-top:3px;
    }

    .services-directory-arrow{
        position:absolute;

        right:3px;
        top:26px;
    }


    .services-approach-intro{
        margin-bottom:50px;
    }


    .services-facility-side{
        margin-top:35px;
    }

    .services-facility-list{
        grid-template-columns:1fr;
    }

    .services-facility-list span:nth-child(odd){
        border-right:0;
    }

    .services-facility-list span:nth-child(even){
        padding-left:0;
    }


    .services-multisite{
        padding:65px 0;
    }

    .services-multisite-inner{
        display:block;
    }

    .services-multisite-index{
        display:none;
    }

    .services-multisite-link{
        margin-top:25px;
    }


    .services-final-side{
        margin-top:30px;
    }

    .services-final-button{
        width:100%;
    }

}
/* ============================================================
   FAZKY INDIVIDUAL SERVICE PAGE
   ============================================================ */

.single-service-label{
    display:block;

    margin-bottom:18px;

    color:#073b8f;

    font-size:10px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.18em;
}

.single-service-label-light{
    color:#9ef13d;
}

.single-service-section-number{
    display:block;

    margin-bottom:45px;

    color:#9aa7b7;

    font-size:10px;
    font-weight:850;
    letter-spacing:.12em;
}


/* HERO */

.single-service-hero{
    padding:90px 0 0;

    background:#f5f8fc;

    border-bottom:1px solid #dce5f0;
}

.single-service-hero-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(320px,.8fr);

    gap:100px;

    align-items:end;
}

.single-service-back{
    display:inline-flex;

    margin-bottom:55px;

    padding-bottom:6px;

    border-bottom:1px solid #c5d0dc;

    color:#66758a;

    font-size:10px;
    font-weight:750;
}

.single-service-back:hover{
    color:#073b8f;

    border-color:#073b8f;
}

.single-service-title h1{
    max-width:900px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        56px,
        6.5vw,
        92px
    );

    line-height:.95;

    font-weight:600;

    letter-spacing:-.06em;
}

.single-service-summary{
    padding-bottom:7px;
}

.single-service-summary>p{
    max-width:500px;

    margin:0 0 30px;

    color:#66758a;

    font-size:16px;
    line-height:1.75;
}

.single-service-primary{
    min-height:55px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;

    padding:0 23px;

    background:#073b8f;

    color:#fff;

    font-size:11px;
    font-weight:850;
}

.single-service-primary:hover{
    background:#05265f;

    color:#fff;
}

.single-service-primary span{
    font-size:17px;
}

.single-service-trust{
    display:flex;
    align-items:center;

    gap:14px;

    min-height:70px;

    margin-top:70px;

    border-top:1px solid #dce5f0;

    color:#66758a;

    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.single-service-trust i{
    width:3px;
    height:3px;

    border-radius:50%;

    background:#7bea00;
}


/* ABOUT */

.single-service-about{
    padding:110px 0;

    background:#fff;
}

.single-service-about-grid{
    display:grid;

    grid-template-columns:
        minmax(300px,.9fr)
        minmax(420px,1.1fr);

    gap:110px;
}

.single-service-about h2{
    max-width:580px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        42px,
        4.7vw,
        64px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.single-service-description{
    padding-top:55px;
}

.single-service-lead{
    max-width:650px;

    margin:0;

    color:#25364c;

    font-size:19px;
    line-height:1.75;
}

.single-service-principle{
    margin-top:55px;

    padding-top:30px;

    border-top:1px solid #d5dee9;
}

.single-service-principle>span{
    display:block;

    margin-bottom:12px;

    color:#073b8f;

    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
}

.single-service-principle h3{
    margin:0 0 12px;

    color:#0b1735;

    font-size:27px;
    font-weight:600;

    letter-spacing:-.035em;
}

.single-service-principle p{
    max-width:600px;

    margin:0;

    color:#66758a;

    font-size:14px;
    line-height:1.7;
}


/* APPROACH */

.single-service-approach{
    padding:110px 0;

    background:#05265f;

    color:#fff;
}

.single-service-approach-grid{
    display:grid;

    grid-template-columns:
        minmax(300px,.85fr)
        minmax(440px,1.15fr);

    gap:110px;
}

.single-service-approach-intro h2{
    max-width:560px;

    margin:0 0 25px;

    color:#fff;

    font-size:clamp(
        42px,
        4.7vw,
        64px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.single-service-approach-intro>p{
    max-width:470px;

    margin:0;

    color:rgba(255,255,255,.68);

    font-size:15px;
    line-height:1.75;
}

.single-service-process{
    border-top:
        1px solid
        rgba(255,255,255,.18);
}

.single-service-process article{
    display:grid;

    grid-template-columns:
        55px
        1fr;

    gap:25px;

    padding:30px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.18);
}

.single-service-process article>span{
    padding-top:4px;

    color:#7bea00;

    font-size:10px;
    font-weight:850;
}

.single-service-process h3{
    margin:0 0 7px;

    color:#fff;

    font-size:19px;
    font-weight:650;
}

.single-service-process p{
    max-width:520px;

    margin:0;

    color:rgba(255,255,255,.62);

    font-size:13px;
    line-height:1.65;
}


/* CONFIDENCE */

.single-service-confidence{
    padding:110px 0;

    background:#f5f8fc;
}

.single-service-confidence-grid{
    display:grid;

    grid-template-columns:
        minmax(300px,.9fr)
        minmax(420px,1.1fr);

    gap:110px;
}

.single-service-confidence h2{
    max-width:570px;

    margin:0;

    color:#0b1735;

    font-size:clamp(
        42px,
        4.7vw,
        64px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.single-service-confidence-list{
    padding-top:55px;

    border-top:1px solid #cbd6e3;
}

.single-service-confidence-list>div{
    display:grid;

    grid-template-columns:
        170px
        1fr;

    gap:30px;

    padding:23px 0;

    border-bottom:1px solid #d5dee9;
}

.single-service-confidence-list strong{
    color:#0b1735;

    font-size:14px;
    font-weight:750;
}

.single-service-confidence-list span{
    color:#66758a;

    font-size:13px;
    line-height:1.6;
}


/* FINAL */

.single-service-final{
    padding:100px 0;

    background:#073b8f;

    color:#fff;
}

.single-service-final-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(340px,.85fr);

    gap:100px;

    align-items:center;
}

.single-service-final h2{
    max-width:720px;

    margin:0;

    color:#fff;

    font-size:clamp(
        44px,
        5vw,
        70px
    );

    line-height:1;

    font-weight:600;

    letter-spacing:-.05em;
}

.single-service-final-side>p{
    max-width:520px;

    margin:0 0 27px;

    color:rgba(255,255,255,.74);

    font-size:14px;
    line-height:1.75;
}

.single-service-final-button{
    min-height:56px;

    display:inline-flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;

    padding:0 24px;

    background:#7bea00;

    color:#04142e;

    font-size:11px;
    font-weight:850;
}

.single-service-final-button:hover{
    background:#fff;

    color:#04142e;
}

.single-service-contact-link{
    display:block;

    width:max-content;

    margin-top:18px;

    padding-bottom:5px;

    border-bottom:
        1px solid
        rgba(255,255,255,.35);

    color:rgba(255,255,255,.82);

    font-size:10px;
    font-weight:750;
}

.single-service-contact-link:hover{
    border-color:#fff;

    color:#fff;
}


/* TABLET */

@media(max-width:1000px){

    .single-service-hero-grid,
    .single-service-about-grid,
    .single-service-approach-grid,
    .single-service-confidence-grid,
    .single-service-final-grid{
        gap:55px;
    }

}


/* MOBILE */

@media(max-width:760px){

    .single-service-hero{
        padding-top:60px;
    }

    .single-service-hero-grid,
    .single-service-about-grid,
    .single-service-approach-grid,
    .single-service-confidence-grid,
    .single-service-final-grid{
        display:block;
    }

    .single-service-back{
        margin-bottom:40px;
    }

    .single-service-title h1{
        font-size:50px;
    }

    .single-service-summary{
        margin-top:30px;
    }

    .single-service-primary{
        width:100%;
    }

    .single-service-trust{
        min-height:auto;

        margin-top:50px;

        padding:20px 0;

        flex-wrap:wrap;
    }


    .single-service-about,
    .single-service-approach,
    .single-service-confidence,
    .single-service-final{
        padding:75px 0;
    }

    .single-service-description{
        padding-top:35px;
    }

    .single-service-lead{
        font-size:17px;
    }


    .single-service-approach-intro{
        margin-bottom:50px;
    }


    .single-service-confidence-list{
        margin-top:45px;

        padding-top:0;
    }

    .single-service-confidence-list>div{
        grid-template-columns:
            115px
            1fr;

        gap:20px;
    }


    .single-service-final-side{
        margin-top:30px;
    }

    .single-service-final-button{
        width:100%;
    }

}
/* ============================================================
   FAZKY ABOUT PAGE
   ============================================================ */

.about-label{
    display:block;
    margin-bottom:18px;
    color:#073b8f;
    font-size:10px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.18em;
}

.about-label-light{
    color:#9ef13d;
}

.about-section-number{
    display:block;
    margin-bottom:45px;
    color:#9aa7b7;
    font-size:10px;
    font-weight:850;
    letter-spacing:.12em;
}


/* HERO */

.about-premium-hero{
    padding:105px 0 0;
    background:#f5f8fc;
    border-bottom:1px solid #dce5f0;
}

.about-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
    gap:100px;
    align-items:end;
}

.about-hero-grid h1{
    max-width:850px;
    margin:0;
    color:#0b1735;
    font-size:clamp(58px,6.5vw,94px);
    line-height:.94;
    font-weight:600;
    letter-spacing:-.06em;
}

.about-hero-grid h1 span{
    display:block;
    color:#073b8f;
}

.about-hero-side{
    padding-bottom:8px;
}

.about-hero-side p{
    max-width:480px;
    margin:0 0 30px;
    color:#66758a;
    font-size:16px;
    line-height:1.75;
}

.about-primary-button{
    min-height:55px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:0 23px;
    background:#073b8f;
    color:#fff;
    font-size:11px;
    font-weight:850;
}

.about-primary-button:hover{
    background:#05265f;
    color:#fff;
}

.about-primary-button span{
    font-size:17px;
}

.about-trust-line{
    display:flex;
    align-items:center;
    gap:14px;
    min-height:70px;
    margin-top:75px;
    border-top:1px solid #dce5f0;
    color:#66758a;
    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.about-trust-line i{
    width:3px;
    height:3px;
    border-radius:50%;
    background:#7bea00;
}


/* STORY */

.about-story{
    padding:115px 0;
    background:#fff;
}

.about-story-grid{
    display:grid;
    grid-template-columns:minmax(300px,.85fr) minmax(430px,1.15fr);
    gap:120px;
}

.about-story-heading h2{
    max-width:570px;
    margin:0;
    color:#0b1735;
    font-size:clamp(42px,4.7vw,64px);
    line-height:1;
    font-weight:600;
    letter-spacing:-.05em;
}

.about-story-copy{
    padding-top:55px;
}

.about-story-copy>p{
    max-width:680px;
    margin:0 0 20px;
    color:#66758a;
    font-size:15px;
    line-height:1.8;
}

.about-story-copy .about-story-lead{
    color:#25364c;
    font-size:20px;
    line-height:1.7;
}

.about-statement{
    margin-top:55px;
    padding-top:30px;
    border-top:1px solid #d5dee9;
}

.about-statement span{
    display:block;
    margin-bottom:13px;
    color:#073b8f;
    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
}

.about-statement strong{
    display:block;
    color:#0b1735;
    font-size:30px;
    line-height:1.15;
    font-weight:600;
    letter-spacing:-.035em;
}


/* METHOD */

.about-method{
    padding:110px 0;
    background:#05265f;
    color:#fff;
}

.about-method-grid{
    display:grid;
    grid-template-columns:minmax(300px,.85fr) minmax(440px,1.15fr);
    gap:110px;
}

.about-method-intro h2{
    max-width:570px;
    margin:0 0 25px;
    color:#fff;
    font-size:clamp(42px,4.7vw,64px);
    line-height:1;
    font-weight:600;
    letter-spacing:-.05em;
}

.about-method-intro p{
    max-width:480px;
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:15px;
    line-height:1.75;
}

.about-method-list{
    border-top:1px solid rgba(255,255,255,.18);
}

.about-method-list article{
    display:grid;
    grid-template-columns:55px 1fr;
    gap:25px;
    padding:30px 0;
    border-bottom:1px solid rgba(255,255,255,.18);
}

.about-method-list article>span{
    padding-top:4px;
    color:#7bea00;
    font-size:10px;
    font-weight:850;
}

.about-method-list h3{
    margin:0 0 7px;
    color:#fff;
    font-size:19px;
    font-weight:650;
}

.about-method-list p{
    max-width:520px;
    margin:0;
    color:rgba(255,255,255,.62);
    font-size:13px;
    line-height:1.65;
}


/* STANDARD */

.about-standard{
    padding:115px 0;
    background:#f5f8fc;
}

.about-standard-heading{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    gap:90px;
    align-items:end;
    margin-bottom:65px;
}

.about-standard-heading h2{
    max-width:680px;
    margin:0;
    color:#0b1735;
    font-size:clamp(42px,4.7vw,64px);
    line-height:1;
    font-weight:600;
    letter-spacing:-.05em;
}

.about-standard-heading>p{
    max-width:460px;
    margin:0;
    color:#66758a;
    font-size:15px;
    line-height:1.75;
}

.about-standard-list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid #cbd6e3;
}

.about-standard-list article{
    min-height:230px;
    padding:28px 28px 15px 0;
    border-bottom:1px solid #cbd6e3;
}

.about-standard-list article:not(:last-child){
    margin-right:28px;
    border-right:1px solid #cbd6e3;
}

.about-standard-index{
    display:block;
    margin-bottom:45px;
    color:#073b8f;
    font-size:9px;
    font-weight:850;
}

.about-standard-list h3{
    margin:0 0 12px;
    color:#0b1735;
    font-size:20px;
    font-weight:650;
}

.about-standard-list p{
    max-width:250px;
    margin:0;
    color:#66758a;
    font-size:13px;
    line-height:1.65;
}


/* QUALITY */

.about-quality{
    padding:105px 0;
    background:#fff;
}

.about-quality-grid{
    display:grid;
    grid-template-columns:minmax(300px,.85fr) minmax(440px,1.15fr);
    gap:110px;
}

.about-quality h2{
    max-width:550px;
    margin:0;
    color:#0b1735;
    font-size:clamp(42px,4.7vw,64px);
    line-height:1;
    font-weight:600;
    letter-spacing:-.05em;
}

.about-quality-copy>p{
    max-width:650px;
    margin:0 0 40px;
    color:#66758a;
    font-size:15px;
    line-height:1.75;
}

.about-quality-facts{
    border-top:1px solid #cbd6e3;
}

.about-quality-facts>div{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:25px;
    padding:21px 0;
    border-bottom:1px solid #d5dee9;
}

.about-quality-facts strong{
    color:#0b1735;
    font-size:14px;
}

.about-quality-facts span{
    color:#66758a;
    font-size:13px;
}


/* FINAL CTA */

.about-final{
    padding:100px 0;
    background:#073b8f;
    color:#fff;
}

.about-final-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    gap:100px;
    align-items:center;
}

.about-final h2{
    max-width:720px;
    margin:0;
    color:#fff;
    font-size:clamp(44px,5vw,70px);
    line-height:1;
    font-weight:600;
    letter-spacing:-.05em;
}

.about-final-side>p{
    max-width:520px;
    margin:0 0 27px;
    color:rgba(255,255,255,.74);
    font-size:14px;
    line-height:1.75;
}

.about-final-button{
    min-height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:0 24px;
    background:#7bea00;
    color:#04142e;
    font-size:11px;
    font-weight:850;
}

.about-final-button:hover{
    background:#fff;
    color:#04142e;
}

.about-secondary-link{
    display:block;
    width:max-content;
    margin-top:18px;
    padding-bottom:5px;
    border-bottom:1px solid rgba(255,255,255,.35);
    color:rgba(255,255,255,.82);
    font-size:10px;
    font-weight:750;
}

.about-secondary-link:hover{
    color:#fff;
    border-color:#fff;
}


/* TABLET */

@media(max-width:1000px){

    .about-hero-grid,
    .about-story-grid,
    .about-method-grid,
    .about-standard-heading,
    .about-quality-grid,
    .about-final-grid{
        gap:55px;
    }

    .about-standard-list{
        grid-template-columns:repeat(2,1fr);
    }

}


/* MOBILE */

@media(max-width:760px){

    .about-premium-hero{
        padding-top:70px;
    }

    .about-hero-grid,
    .about-story-grid,
    .about-method-grid,
    .about-standard-heading,
    .about-quality-grid,
    .about-final-grid{
        display:block;
    }

    .about-hero-grid h1{
        font-size:52px;
    }

    .about-hero-side{
        margin-top:30px;
    }

    .about-primary-button{
        width:100%;
    }

    .about-trust-line{
        min-height:auto;
        margin-top:50px;
        padding:20px 0;
        flex-wrap:wrap;
    }


    .about-story,
    .about-method,
    .about-standard,
    .about-quality,
    .about-final{
        padding:75px 0;
    }

    .about-story-copy{
        padding-top:35px;
    }

    .about-story-copy .about-story-lead{
        font-size:17px;
    }


    .about-method-intro{
        margin-bottom:50px;
    }


    .about-standard-heading>p{
        margin-top:25px;
    }

    .about-standard-list{
        grid-template-columns:1fr;
        margin-top:45px;
    }

    .about-standard-list article{
        min-height:auto;
        padding:25px 0;
        margin:0 !important;
        border-right:0 !important;
    }

    .about-standard-index{
        margin-bottom:20px;
    }


    .about-quality-copy{
        margin-top:35px;
    }

    .about-quality-facts>div{
        grid-template-columns:125px 1fr;
    }


    .about-final-side{
        margin-top:30px;
    }

    .about-final-button{
        width:100%;
    }

}
/* ============================================================
   FAZKY ADMIN - QUOTE REQUESTS
   ============================================================ */

.admin-muted{
    margin:6px 0 0;
    color:#718096;
    font-size:13px;
}

.admin-table-action{
    white-space:nowrap;
    text-align:right;
}

.admin-view-link{
    display:inline-block;
    padding:9px 13px;
    border:1px solid #cbd8e7;
    border-radius:7px;
    color:#073b8f;
    font-size:12px;
    font-weight:750;
}

.admin-view-link:hover{
    background:#073b8f;
    border-color:#073b8f;
    color:#fff;
}


/* DETAILS */

.quote-admin-top{
    margin-bottom:22px;
}

.admin-back-link{
    color:#66758a;
    font-size:13px;
    font-weight:700;
}

.admin-back-link:hover{
    color:#073b8f;
}

.quote-detail-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px;
}

.quote-admin-label{
    display:block;
    margin-bottom:8px;
    color:#073b8f;
    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
}

.quote-detail-heading h2{
    margin:0 0 7px;
    color:#0b1735;
    font-size:32px;
}

.quote-detail-heading p{
    margin:0;
    color:#718096;
    font-size:13px;
}

.quote-status-large{
    display:inline-flex;
    padding:8px 13px;
    background:#eef5fc;
    border-radius:6px;
    color:#073b8f;
    font-size:11px;
    font-weight:800;
}


/* LAYOUT */

.quote-admin-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:25px;
    align-items:start;
}

.quote-admin-main{
    display:grid;
    gap:20px;
}


/* CARDS */

.quote-detail-card{
    padding:28px;
}

.quote-card-title{
    display:grid;
    grid-template-columns:35px 1fr;
    gap:15px;
    margin-bottom:27px;
    padding-bottom:20px;
    border-bottom:1px solid #e1e8f0;
}

.quote-card-title>span{
    padding-top:4px;
    color:#073b8f;
    font-size:10px;
    font-weight:850;
}

.quote-card-title h3{
    margin:0 0 5px;
    color:#0b1735;
    font-size:18px;
}

.quote-card-title p{
    margin:0;
    color:#7a8798;
    font-size:12px;
}


/* INFORMATION */

.quote-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 35px;
}

.quote-detail-grid>div{
    min-width:0;
}

.quote-field-full{
    grid-column:1 / -1;
}

.quote-field-label{
    display:block;
    margin-bottom:6px;
    color:#8290a3;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.quote-detail-grid strong,
.quote-detail-grid a{
    color:#17243b;
    font-size:14px;
    line-height:1.55;
}

.quote-detail-grid a{
    color:#073b8f;
}


/* SERVICES */

.quote-services-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.quote-services-list span{
    display:inline-flex;
    padding:7px 10px;
    background:#eef5fc;
    border:1px solid #d8e4f0;
    border-radius:5px;
    color:#073b8f;
    font-size:11px;
    font-weight:700;
}


/* CUSTOMER MESSAGE */

.quote-customer-message{
    padding:20px;
    background:#f6f8fb;
    border-left:3px solid #073b8f;
    color:#344258;
    font-size:14px;
    line-height:1.75;
}

.quote-customer-message span{
    color:#8793a3;
}


/* MANAGEMENT */

.quote-manage-card{
    position:sticky;
    top:25px;
    padding:25px;
}

.quote-manage-card h3,
.quote-quick-actions h3{
    margin:0 0 22px;
    color:#0b1735;
    font-size:19px;
}

.quote-manage-card label{
    display:block;
    margin-bottom:20px;
    color:#344258;
    font-size:12px;
    font-weight:750;
}

.quote-manage-card select,
.quote-manage-card textarea{
    width:100%;
    margin-top:8px;
}

.quote-manage-card .btn{
    width:100%;
}

.quote-save-success{
    margin-top:15px;
    padding:11px;
    background:#edf8ef;
    color:#276738;
    font-size:12px;
    text-align:center;
}


/* QUICK ACTIONS */

.quote-quick-actions{
    margin-top:20px;
    padding:25px;
}

.quote-quick-actions a{
    display:block;
    padding:12px 0;
    border-top:1px solid #e1e8f0;
    color:#073b8f;
    font-size:13px;
    font-weight:700;
}

.quote-quick-actions a:last-child{
    border-bottom:1px solid #e1e8f0;
}


/* RESPONSIVE */

@media(max-width:1000px){

    .quote-admin-layout{
        grid-template-columns:1fr;
    }

    .quote-manage-card{
        position:static;
    }

}

@media(max-width:700px){

    .quote-detail-heading{
        display:block;
    }

    .quote-status-large{
        margin-top:15px;
    }

    .quote-detail-grid{
        grid-template-columns:1fr;
    }

    .quote-field-full{
        grid-column:auto;
    }

}
/* ============================================================
   FAZKY CORPORATE TYPOGRAPHY
   Mature commercial / facilities identity
   Public website only
   ============================================================ */

:root {
    --fz-font-body:
        "Source Sans 3",
        "Segoe UI",
        Arial,
        sans-serif;

    --fz-font-display:
        "Merriweather",
        Georgia,
        serif;
}


/* ============================================================
   BASE
   ============================================================ */

body:not(.admin-body) {
    font-family: var(--fz-font-body);
    font-size: 17px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: 0;
}

body:not(.admin-body) p {
    font-family: var(--fz-font-body);
    font-weight: 400;
    letter-spacing: 0;
}


/* ============================================================
   HEADINGS
   ============================================================ */

body:not(.admin-body) h1,
body:not(.admin-body) h2 {
    font-family: var(--fz-font-display);
    font-weight: 600;
    letter-spacing: -.025em;
}

body:not(.admin-body) h3,
body:not(.admin-body) h4,
body:not(.admin-body) h5,
body:not(.admin-body) h6 {
    font-family: var(--fz-font-body);
    font-weight: 600;
    letter-spacing: -.01em;
}


/* ============================================================
   MAIN HERO / SLIDER
   ============================================================ */

body:not(.admin-body) .fazky-slider h1,
body:not(.admin-body) .fazky-hero h1,
body:not(.admin-body) .hero h1 {
    font-family: var(--fz-font-display);
    font-weight: 600;

    font-size: clamp(46px, 5vw, 70px);
    line-height: 1.08;

    letter-spacing: -.035em;
}

body:not(.admin-body) .fazky-slider p,
body:not(.admin-body) .hero-intro {
    font-family: var(--fz-font-body);

    font-size: 19px;
    line-height: 1.65;
    font-weight: 400;

    letter-spacing: 0;
}


/* ============================================================
   PAGE HEROES
   ============================================================ */

body:not(.admin-body) .page-hero h1,
body:not(.admin-body) .services-page-hero h1,
body:not(.admin-body) .single-service-title h1,
body:not(.admin-body) .about-hero-grid h1 {
    font-family: var(--fz-font-display);

    font-size: clamp(42px, 4.5vw, 64px);
    line-height: 1.1;

    font-weight: 600;
    letter-spacing: -.03em;
}

body:not(.admin-body) .page-hero p {
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
}


/* ============================================================
   SECTION HEADINGS
   ============================================================ */

body:not(.admin-body) .section-head h2,
body:not(.admin-body) .home-section-heading h2,
body:not(.admin-body) .home-why h2,
body:not(.admin-body) .home-final-cta h2,

body:not(.admin-body) .intro-heading h2,
body:not(.admin-body) .standard-intro h2,
body:not(.admin-body) .industry-heading h2,
body:not(.admin-body) .work-heading h2,
body:not(.admin-body) .reviews-intro h2,
body:not(.admin-body) .final-cta-layout h2,

body:not(.admin-body) .services-approach h2,
body:not(.admin-body) .services-facilities h2,
body:not(.admin-body) .services-final h2,

body:not(.admin-body) .single-service-about h2,
body:not(.admin-body) .single-service-approach h2,
body:not(.admin-body) .single-service-confidence h2,
body:not(.admin-body) .single-service-final h2,

body:not(.admin-body) .about-story h2,
body:not(.admin-body) .about-method h2,
body:not(.admin-body) .about-standard h2,
body:not(.admin-body) .about-quality h2,
body:not(.admin-body) .about-final h2,

body:not(.admin-body) .dark-section h2,
body:not(.admin-body) .multi-site h2,
body:not(.admin-body) .quote-card h2 {
    font-family: var(--fz-font-display);

    font-size: clamp(34px, 3.7vw, 52px);
    line-height: 1.14;

    font-weight: 600;
    letter-spacing: -.025em;
}


/* ============================================================
   SECTION LABELS
   Less "AI template" styling
   ============================================================ */

body:not(.admin-body) .eyebrow,
body:not(.admin-body) .home-label,
body:not(.admin-body) .hero-kicker,
body:not(.admin-body) .services-label,
body:not(.admin-body) .single-service-label,
body:not(.admin-body) .about-label,
body:not(.admin-body) .trust-label,
body:not(.admin-body) .fazky-slider-eyebrow {
    font-family: var(--fz-font-body);

    font-size: 13px;
    line-height: 1.4;

    font-weight: 600;
    letter-spacing: .06em;
}


/* ============================================================
   BODY / SUPPORTING COPY
   ============================================================ */

body:not(.admin-body) .section-head p,
body:not(.admin-body) .home-section-heading p,
body:not(.admin-body) .home-why p,
body:not(.admin-body) .home-final-cta p,
body:not(.admin-body) .prose p {
    font-family: var(--fz-font-body);

    font-size: 17px;
    line-height: 1.72;

    font-weight: 400;
    letter-spacing: 0;
}


/* ============================================================
   NAVIGATION
   ============================================================ */

body:not(.admin-body) .nav {
    font-family: var(--fz-font-body);

    font-size: 15px;
    font-weight: 600;

    letter-spacing: 0;
}

body:not(.admin-body) .topbar {
    font-family: var(--fz-font-body);

    font-size: 14px;
    font-weight: 400;

    letter-spacing: 0;
}


/* ============================================================
   BUTTONS / LINKS
   ============================================================ */

body:not(.admin-body) .btn,
body:not(.admin-body) button,
body:not(.admin-body) .slider-primary-btn,
body:not(.admin-body) .slider-secondary-link,
body:not(.admin-body) .home-arrow-link,
body:not(.admin-body) .home-assessment-btn,
body:not(.admin-body) .text-link,
body:not(.admin-body) .hero-text-link {
    font-family: var(--fz-font-body);
    font-weight: 600;
    letter-spacing: 0;
}

body:not(.admin-body) .btn,
body:not(.admin-body) .slider-primary-btn,
body:not(.admin-body) .home-assessment-btn {
    font-size: 15px;
}


/* ============================================================
   SERVICES
   ============================================================ */

body:not(.admin-body) .home-service-item h3,
body:not(.admin-body) .service-row h3,
body:not(.admin-body) .services-directory-row h3,
body:not(.admin-body) .service-card h3 {
    font-family: var(--fz-font-body);

    font-size: 22px;
    line-height: 1.3;

    font-weight: 600;
    letter-spacing: -.01em;
}

body:not(.admin-body) .home-service-item p,
body:not(.admin-body) .service-row p,
body:not(.admin-body) .services-directory-row p,
body:not(.admin-body) .service-card p {
    font-size: 16px;
    line-height: 1.65;
    font-weight: 400;
}


/* ============================================================
   LISTS / INDUSTRIES / FEATURES
   ============================================================ */

body:not(.admin-body) .industry-card h3,
body:not(.admin-body) .standard-list h3,
body:not(.admin-body) .industry-line h3,
body:not(.admin-body) .feature-list h3,
body:not(.admin-body) .home-why-points h3 {
    font-family: var(--fz-font-body);

    font-size: 20px;
    line-height: 1.35;

    font-weight: 600;
    letter-spacing: -.01em;
}

body:not(.admin-body) .industry-card p,
body:not(.admin-body) .standard-list p,
body:not(.admin-body) .industry-line p,
body:not(.admin-body) .feature-list p,
body:not(.admin-body) .home-why-points p {
    font-size: 16px;
    line-height: 1.65;
    font-weight: 400;
}


/* ============================================================
   REVIEWS
   ============================================================ */

body:not(.admin-body) .review-card p,
body:not(.admin-body) .home-review blockquote {
    font-family: var(--fz-font-display);

    font-size: 19px;
    line-height: 1.65;

    font-weight: 400;
    letter-spacing: -.01em;
}

body:not(.admin-body) .review-card b,
body:not(.admin-body) .home-review footer strong {
    font-family: var(--fz-font-body);
    font-size: 15px;
    font-weight: 600;
}

body:not(.admin-body) .review-card small,
body:not(.admin-body) .home-review footer span {
    font-family: var(--fz-font-body);
    font-size: 14px;
    font-weight: 400;
}


/* ============================================================
   FORMS
   ============================================================ */

body:not(.admin-body) label {
    font-family: var(--fz-font-body);
    font-size: 15px;
    font-weight: 600;
}

body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea {
    font-family: var(--fz-font-body);

    font-size: 16px;
    font-weight: 400;

    letter-spacing: 0;
}


/* ============================================================
   FOOTER
   ============================================================ */

body:not(.admin-body) .footer {
    font-family: var(--fz-font-body);
}

body:not(.admin-body) .footer h4 {
    font-family: var(--fz-font-body);

    font-size: 16px;
    font-weight: 600;

    letter-spacing: 0;
}

body:not(.admin-body) .footer a,
body:not(.admin-body) .footer p {
    font-size: 15px;
    line-height: 1.65;
    font-weight: 400;
}

body:not(.admin-body) .footer-brand {
    font-family: var(--fz-font-display);
    font-size: 27px;
    font-weight: 600;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:760px) {

    body:not(.admin-body) {
        font-size: 16px;
    }

    body:not(.admin-body) .fazky-slider h1,
    body:not(.admin-body) .fazky-hero h1,
    body:not(.admin-body) .hero h1 {
        font-size: clamp(39px, 11vw, 50px);
        line-height: 1.1;
    }

    body:not(.admin-body) .page-hero h1,
    body:not(.admin-body) .services-page-hero h1,
    body:not(.admin-body) .single-service-title h1,
    body:not(.admin-body) .about-hero-grid h1 {
        font-size: 40px;
    }

    body:not(.admin-body) .section-head h2,
    body:not(.admin-body) .home-section-heading h2,
    body:not(.admin-body) .home-why h2,
    body:not(.admin-body) .home-final-cta h2 {
        font-size: 34px;
        line-height: 1.16;
    }

    body:not(.admin-body) .nav {
        font-size: 16px;
    }

    body:not(.admin-body) .fazky-slider p,
    body:not(.admin-body) .hero-intro {
        font-size: 17px;
    }

    body:not(.admin-body) .eyebrow,
    body:not(.admin-body) .home-label,
    body:not(.admin-body) .hero-kicker,
    body:not(.admin-body) .services-label,
    body:not(.admin-body) .single-service-label,
    body:not(.admin-body) .about-label,
    body:not(.admin-body) .fazky-slider-eyebrow {
        font-size: 12px;
        letter-spacing: .05em;
    }

}
/* =========================================================
   GOOGLE REVIEWS
   ========================================================= */

.google-rating-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.google-review-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    font-weight: 700;
    font-size: 14px;

    color: var(--green);
    text-decoration: none;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.google-review-link:hover {
    opacity: .75;
}

.google-review-link:hover span {
    transform: translate(2px, -2px);
}

.google-review-link span {
    display: inline-block;
    transition: transform .2s ease;
}

@media (max-width: 768px) {

    .google-rating-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

}

/* ============================================================
   FAZKY NAVIGATION + DROPDOWNS
   ============================================================ */

body:not(.admin-body) .nav {
    gap: 27px;
    font-size: 16px;
    font-weight: 600;
}


/* Normal navigation links */

body:not(.admin-body) .nav > a:not(.btn) {
    padding: 34px 0 32px;
}


/* ============================================================
   DROPDOWN CONTAINER
   ============================================================ */

.nav-dropdown {
    position: relative;
    align-self: stretch;

    display: flex;
    align-items: center;
}

.nav-dropdown-trigger {
    height: 100%;

    display: flex;
    align-items: center;

    gap: 7px;
}

.nav-dropdown-trigger > a {
    display: flex;
    align-items: center;

    height: 100%;

    color: var(--fz-ink);

    font-size: 16px;
    font-weight: 600;

    transition: color .2s ease;
}

.nav-dropdown-trigger > a:hover {
    color: var(--fz-blue);
}


/* ============================================================
   CHEVRON
   ============================================================ */

.nav-dropdown-toggle {
    width: 20px;
    height: 20px;

    padding: 0;
    margin: 0;

    border: 0;
    background: transparent;

    display: grid;
    place-items: center;

    cursor: pointer;
}

.nav-chevron {
    width: 7px;
    height: 7px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform:
        translateY(-2px)
        rotate(45deg);

    transition: transform .2s ease;
}

.nav-dropdown:hover .nav-chevron,
.nav-dropdown:focus-within .nav-chevron {
    transform:
        translateY(2px)
        rotate(225deg);
}


/* ============================================================
   DROPDOWN
   ============================================================ */

.nav-dropdown-menu {
    position: absolute;

    top: calc(100% - 1px);
    left: -28px;

    z-index: 100;

    width: 390px;

    padding: 14px 0 0;

    background: #fff;

    border: 1px solid #dce3eb;
    border-top: 3px solid var(--fz-blue);

    box-shadow:
        0 24px 55px rgba(4, 20, 46, .14);

    opacity: 0;
    visibility: hidden;

    transform: translateY(8px);

    pointer-events: none;

    transition:
        opacity .18s ease,
        transform .18s ease,
        visibility .18s ease;
}


/* Prevent hover gap */

.nav-dropdown-menu::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: -12px;

    height: 12px;
}


/* Show dropdown */

.nav-dropdown:hover > .nav-dropdown-menu,
.nav-dropdown:focus-within > .nav-dropdown-menu,
.nav-dropdown.is-open > .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    pointer-events: auto;
}


/* ============================================================
   DROPDOWN HEADING
   ============================================================ */

.nav-dropdown-heading {
    padding: 8px 24px 13px;

    color: #7b8797;

    font-family: var(--fz-font-body);

    font-size: 12px;
    line-height: 1.3;

    font-weight: 600;

    letter-spacing: .05em;

    border-bottom: 1px solid #e5e9ef;
}


/* ============================================================
   DROPDOWN LINKS
   ============================================================ */

.nav-dropdown-menu > a {
    display: grid;

    grid-template-columns: 31px 1fr;

    gap: 10px;

    align-items: center;

    padding: 11px 24px;

    color: var(--fz-navy);

    border-bottom: 1px solid #edf0f4;

    transition:
        background .15s ease,
        color .15s ease,
        padding-left .15s ease;
}

.nav-dropdown-menu > a > span {
    color: #929cab;

    font-size: 11px;
    font-weight: 600;
}

.nav-dropdown-menu > a > strong {
    font-size: 15px;
    line-height: 1.35;

    font-weight: 600;
}

.nav-dropdown-menu > a:hover {
    padding-left: 28px;

    background: #f5f7fa;

    color: var(--fz-blue);
}

.nav-dropdown-menu > a:hover > span {
    color: var(--fz-blue);
}


/* ============================================================
   DROPDOWN FOOTER
   ============================================================ */

.nav-dropdown-footer {
    padding: 17px 24px;

    background: var(--fz-blue-deep);
}

.nav-dropdown-footer a {
    display: flex;

    align-items: center;
    justify-content: space-between;

    color: #fff;

    font-size: 14px;
    font-weight: 600;
}

.nav-dropdown-footer a span {
    color: var(--fz-lime);

    font-size: 18px;

    transition: transform .2s ease;
}

.nav-dropdown-footer a:hover span {
    transform: translateX(4px);
}


/* Slightly narrower industries menu */

.nav-dropdown-menu-industries {
    width: 350px;
}


/* ============================================================
   DESKTOP NAV ACTIVE/HOVER LINE
   ============================================================ */

@media (min-width: 1001px) {

    .nav-dropdown-trigger {
        position: relative;
    }

    .nav-dropdown-trigger::after {
        content: "";

        position: absolute;

        left: 0;
        right: 100%;

        bottom: 24px;

        height: 2px;

        background: var(--fz-lime);

        transition: right .2s ease;
    }

    .nav-dropdown:hover .nav-dropdown-trigger::after,
    .nav-dropdown:focus-within .nav-dropdown-trigger::after {
        right: 0;
    }

}


/* ============================================================
   MOBILE / TABLET
   ============================================================ */

@media (max-width: 1000px) {

    body:not(.admin-body) .nav {
        gap: 0;

        font-size: 16px;
    }

    .nav-dropdown {
        width: 100%;

        display: block;

        border-bottom: 1px solid #edf0f4;
    }

    .nav-dropdown-trigger {
        width: 100%;
        height: auto;

        justify-content: space-between;
    }

    .nav-dropdown-trigger > a {
        flex: 1;

        height: auto;

        padding: 13px 8px;

        font-size: 16px;
    }

    .nav-dropdown-toggle {
        width: 48px;
        height: 48px;

        flex: 0 0 48px;
    }

    .nav-dropdown-menu {
        position: static;

        width: 100%;

        padding: 0;

        border: 0;
        border-top: 1px solid #e1e6ed;

        box-shadow: none;

        opacity: 1;
        visibility: visible;

        transform: none;

        pointer-events: auto;

        display: none;

        background: #f6f8fa;
    }

    .nav-dropdown.is-open > .nav-dropdown-menu {
        display: block;
    }

    .nav-dropdown-heading {
        padding: 13px 16px 9px;

        background: #f1f4f7;
    }

    .nav-dropdown-menu > a {
        padding: 12px 17px;

        grid-template-columns: 27px 1fr;
    }

    .nav-dropdown-menu > a:hover {
        padding-left: 17px;
    }

    .nav-dropdown-footer {
        padding: 14px 17px;
    }

    .nav-dropdown.is-open .nav-chevron {
        transform:
            translateY(2px)
            rotate(225deg);
    }

}