/* =========================================================
   PRAIRIE WEST EXPRESS
   COMPLETE SITE STYLESHEET
   MAIN CSS + NAVIGATION
========================================================= */

:root{
    --paper:#f7f5ef;
    --ink:#171916;
    --gold:#d7a455;
    --pwe-accent:#d7a455;
    --pwe-navy:#090d0d;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 'DM Sans',Arial,sans-serif;overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(1240px,calc(100% - 88px));margin:auto}
.skip{position:fixed;left:-9999px;top:10px;background:#fff;color:#111;padding:10px 15px;z-index:11000}
.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.eyebrow{display:inline-block;font-size:11px;letter-spacing:.22em;font-weight:800;text-transform:uppercase;color:#a27b38}


/* =========================================================
   HEADER & NAVIGATION
   72PX BAR / FLOATING CENTER LOGO
========================================================= */

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

.site-header.pwe-header {
    position: sticky;
    top: 0;

    width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    z-index: 9999;

    background: var(--pwe-navy);
    color: #fff;
}

/* TOP INFORMATION BAR */

.pwe-topbar{
    height:32px;
    background:#070909;
    border-bottom:1px solid #ffffff18;
}

.pwe-topbar-inner{
    height:100%;
    width:100%;
    padding:0 clamp(20px,3vw,54px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.pwe-topbar-status,
.pwe-topbar-right{
    display:flex;
    align-items:center;
    gap:14px;
    color:#c6cbca;
    font:700 9px/1.2 'DM Sans',sans-serif;
    letter-spacing:.12em;
    white-space:nowrap;
}

.pwe-topbar-status i{
    width:6px;
    height:6px;
    flex-shrink:0;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 10px #d7a45570;
}

.pwe-topbar-right a{color:var(--gold)}
.pwe-topbar-right a:hover{color:#fff}
.pwe-topbar-divider{height:12px;width:1px;background:#ffffff2c}


/* FULL-WIDTH NAVIGATION BACKGROUND */

/* BLACK TO GOLD NAVIGATION GRADIENT */

.pwe-navigation-wrap {
    position: relative;
    width: 100%;

    background: linear-gradient(
        90deg,
        #050505 0%,
        #101010 30%,
        #3d2b13 60%,
        #9c783e 85%,
        #d7a455 100%
    );
}

/* CENTERED NAVIGATION CONTENT */

.pwe-header .pwe-navigation{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 155px minmax(0,1fr);
    align-items:center;
    width:min(1050px,calc(100% - 40px));
    height:70px;
    min-height:70px;
    margin:0 auto;
    padding:0;
}

/* LEFT & RIGHT LINK GROUPS */

.pwe-header .pwe-nav{
    display:flex;
    align-items:center;
    gap:clamp(15px,2vw,30px);
    min-width:0;
}

.pwe-header .pwe-nav-left{
    justify-content:flex-end;
    padding-right:12px;
}

.pwe-header .pwe-nav-right{
    justify-content:flex-start;
    padding-left:12px;
}

/* NAVIGATION LINKS */

.pwe-header .pwe-nav-link{
    position:relative;
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
    min-height:44px;
    color:#d0d3d1;
    font:700 11px/1.2 'DM Sans',sans-serif;
    letter-spacing:.09em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:color .25s;
}

.pwe-header .pwe-nav-link::after{
    content:'';
    position:absolute;
    bottom:5px;
    left:0;
    right:0;
    height:2px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s;
}

.pwe-header .pwe-nav-link:hover,
.pwe-header .pwe-nav-link.is-active{
    color:#fff;
}

.pwe-header .pwe-nav-link:hover::after,
.pwe-header .pwe-nav-link.is-active::after{
    transform:scaleX(1);
}


/* =========================================================
   FLOATING CENTER LOGO
   DOES NOT CHANGE NAVIGATION HEIGHT
========================================================= */

.pwe-header .pwe-brand{
    position:relative;
    display:block;
    justify-self:center;
    width:125px;
    height:72px;
    margin:0;
    padding:0;
    z-index:10;
}

.pwe-header .pwe-brand img{
    position:absolute;
    top:50%;
    left:50%;
    width:125px;
    height:125px;
    max-width:none;
    object-fit:contain;
    transform:translate(-50%,-50%);
    filter:drop-shadow(0 6px 12px #0009);
    transition:transform .25s;
}

.pwe-header .pwe-brand:hover img{
    transform:translate(-50%,-50%) scale(1.04);
}


/* GET A QUOTE BUTTON */

.pwe-header .pwe-quote-btn{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-shrink:0;
    min-height:42px;
    padding:5px 6px 5px 15px;
    border:1px solid #d7a45585;
    border-radius:6px;
    background:#d7a45514;
    color:#fff;
    font:800 10px/1.2 'DM Sans',sans-serif;
    letter-spacing:.08em;
    white-space:nowrap;
    transition:background .25s,color .25s;
}

.pwe-header .pwe-quote-btn:hover,
.pwe-header .pwe-quote-btn.is-active{
    background:var(--gold);
    color:#151515;
}

.pwe-quote-arrow{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:4px;
    background:var(--gold);
    color:#111;
    font-size:18px;
    transition:transform .25s;
}

.pwe-quote-btn:hover .pwe-quote-arrow{
    transform:rotate(45deg);
}


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

.pwe-header .pwe-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    background:#ffffff14;
    border:1px solid #ffffff40;
    border-radius:7px;
    cursor:pointer;
}

.pwe-header .pwe-menu-toggle span{
    display:block;
    width:21px;
    height:2px;
    background:#fff;
    transition:transform .25s,opacity .25s;
}

.pwe-header .pwe-menu-toggle.is-open span:first-child{
    transform:translateY(8px) rotate(45deg);
}

.pwe-header .pwe-menu-toggle.is-open span:nth-child(2){
    opacity:0;
}

.pwe-header .pwe-menu-toggle.is-open span:last-child{
    transform:translateY(-8px) rotate(-45deg);
}

/* MOBILE MENU PANEL */

.pwe-header .pwe-mobile-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:20;
    max-height:calc(100dvh - 80px);
    overflow-y:auto;
    background:#0b1010;
    border-top:1px solid #ffffff26;
    box-shadow:0 22px 30px #0005;
}

.pwe-header .pwe-mobile-menu.is-open{
    display:block;
}

.pwe-mobile-inner{
    width:min(640px,calc(100% - 40px));
    margin:0 auto;
    padding:28px 0 40px;
}

.pwe-mobile-eyebrow{
    display:block;
    margin-bottom:20px;
    color:var(--gold);
    font-size:10px;
    font-weight:700;
    letter-spacing:.16em;
}

.pwe-header .pwe-mobile-link{
    display:flex;
    align-items:center;
    gap:16px;
    padding:14px 0;
    border-bottom:1px solid #ffffff25;
    color:#fff;
}

.pwe-header .pwe-mobile-link:hover,
.pwe-header .pwe-mobile-link.is-active{
    color:var(--gold);
}

.pwe-mobile-number{
    width:25px;
    color:var(--gold);
    font-size:11px;
}

.pwe-mobile-name{
    flex:1;
    font:700 clamp(27px,6vw,40px)/1.1 'Barlow Condensed',sans-serif;
    text-transform:uppercase;
}

.pwe-mobile-arrow{font-size:20px}

.pwe-mobile-footer{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    justify-content:space-between;
    padding-top:28px;
    color:#a1aaa7;
    font-size:10px;
    letter-spacing:.1em;
}

body.pwe-menu-open{overflow:hidden}

.pwe-header a:focus-visible,
.pwe-header button:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
}

/* =========================================================
   YXE WEB STUDIOS FOOTER BRANDING
========================================================= */

.footer-credit {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;
}

.footer-credit > span {
    color: #a1a59d;

    font-size: 11px;
    font-weight: 500;

    white-space: nowrap;
}

.footer-credit .yxe-credit {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: 0;

    line-height: 1;
}

.footer-credit .yxe-credit img {
    display: block;

    width: 65px;
    height: auto;

    max-width: none;

    object-fit: contain;

    opacity: 0.85;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.footer-credit .yxe-credit:hover img {
    opacity: 1;
    transform: translateY(-2px);
}

/* MOBILE */

@media (max-width: 600px) {

    .footer-credit {
        justify-content: flex-start;
    }

    .footer-credit .yxe-credit img {
        width: 55px;
    }

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

.hero{min-height:max(760px,100svh);position:relative;isolation:isolate;background:#151c16;color:#fff;overflow:hidden;display:flex;align-items:center}
.hero-art{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 75% 80%,#a56b24 0%,transparent 40%),linear-gradient(112deg,#101a15,#293d2b 48%,#151c16)}
.home-hero .hero-art{background-image:url('../images/mainbg.png');background-size:cover;background-position:center;background-repeat:no-repeat}
.home-hero .hero-art::after{display:none}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.46) 48%,rgba(0,0,0,.13));pointer-events:none}
.hero-content{position:relative;z-index:1;padding:108px 0 145px}
.hero h1,.page-hero h1{font:800 clamp(70px,9vw,148px)/.87 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.012em;text-transform:uppercase;margin:22px 0 26px;max-width:1100px}
.hero h1 em,.page-hero h1 em{font-style:normal;color:var(--gold)}
.hero-sub{font-size:18px;max-width:560px;color:#e3e2dc}
.hero-actions{display:flex;gap:32px;align-items:center;margin-top:36px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:45px;padding:17px 25px;min-height:55px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border:1px solid transparent;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-white,.btn-light{background:var(--paper);color:#111}
.btn-dark{background:#1c211b;color:#fff}
.btn-outline{border-color:#292c25}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.text-link:hover{color:var(--gold)}
.hero-bottom{position:absolute;z-index:1;bottom:0;left:0;right:0;border-top:1px solid #ffffff42;display:flex;gap:55px;justify-content:center;padding:20px;font-size:10px;letter-spacing:.18em;font-weight:800}


/* =========================================================
   BODY SECTIONS
========================================================= */

.section{padding:120px 0}
.intro-section{background:var(--paper)}
.intro-grid,.prose-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:110px}
.h2,h2{font:800 clamp(48px,6vw,88px)/.97 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:22px 0 32px}
h2 em{font-style:normal;color:#a17b3e}
.body-copy{font-size:15px;color:#54574e}
.body-copy p{margin:0 0 24px}
.arrow-link{display:inline-flex;gap:60px;align-items:center;margin-top:18px;padding-bottom:8px;border-bottom:1px solid #333;color:#151915;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.arrow-link:hover{color:#a17b3e}


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

.services-section{background:#171b16;color:var(--paper)}
.section-heading{margin-bottom:52px}
.section-heading h2{margin-bottom:14px}
.section-heading p{color:#a8ada2;max-width:680px}
.services-section h2 em,.promise h2 em{color:var(--gold)}
.service-row{display:grid;grid-template-columns:75px 1fr 60px;gap:30px;align-items:start;padding:34px 0;border-top:1px solid #44483e}
.service-row:last-child{border-bottom:1px solid #44483e}
.service-number{color:#b58d4d;font-size:12px;font-weight:800;padding-top:8px}
.service-row h3{font:700 clamp(24px,3.3vw,28px)/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 10px}
.service-row p{color:#a8ada2;font-size:14px;max-width:780px;margin:0}
.round-arrow{border:1px solid #5a6053;border-radius:50%;height:52px;width:52px;display:grid;place-items:center;font-size:25px;transition:background .2s,color .2s,transform .2s}
.round-arrow:hover{background:var(--gold);color:#171b16;transform:rotate(45deg)}


/* =========================================================
   PROMISE
========================================================= */

.promise{background:#dfd3b9;padding:105px 0}
.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.promise-points>div{border-bottom:1px solid #b4a98f;padding:15px 0}
.promise-points strong{font-size:12px;letter-spacing:.15em}
.promise-points p{margin:5px 0 10px;color:#505147}


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

.reviews-section{background:var(--paper)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{padding:34px;background:#fff;border:1px solid #e5e2da;display:flex;flex-direction:column;min-height:220px}
.stars{color:#b08a48;letter-spacing:.1em}
.review-card blockquote{margin:22px 0;font-size:14px;line-height:1.85;flex:1}
.review-name{font-size:12px;font-weight:800;color:#686d60}


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

.cta-band{background:#9c783e;color:#fff;padding:75px 0}
.cta-layout{display:flex;justify-content:space-between;gap:40px;align-items:center}
.cta-band .eyebrow{color:#f5e1bc}
.cta-band h2{margin:12px 0;font-size:clamp(46px,5vw,75px)}
.cta-band p{margin:0;color:#f3e9d6}


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

.footer{background:#0b0d0a;color:#b0b2a9;padding:65px 0 22px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:60px}
.footer-logo{width:112px}
.footer h3{color:#fff;font:700 20px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em}
.footer-grid a{display:block;font-size:13px;margin:10px 0;overflow-wrap:anywhere}
.footer-grid a:hover,.footer-bottom a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #33382f;padding-top:22px;margin-top:50px;font-size:11px;gap:25px}


/* =========================================================
   INTERIOR PAGES
========================================================= */

.page-hero{background:radial-gradient(ellipse at 80% 40%,#3d4534,#161c17 65%);color:#fff;padding:115px 0 105px}
.page-hero h1{font-size:clamp(70px,9vw,135px);margin:20px 0}
.page-hero p{color:#c1c7bb;font-size:17px;max-width:650px}
.section-muted{background:#eae6da}


/* =========================================================
   CREDENTIALS
========================================================= */

.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.credential-card{padding:42px;background:#fff;border:1px solid #e3e0d6}
.credential-card>span{color:#a17b3e;font-weight:800;font-size:12px}
.credential-card h3{font:800 39px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:18px 0}
.credential-card p{color:#62675b;font-size:14px}
.credential-note{margin-top:30px;font-size:14px}
.credential-note a{text-decoration:underline}


/* =========================================================
   QUOTE FORM & CONTACT
========================================================= */

.form-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start}
.form-aside p,.contact-grid>div>p{color:#62675b}
.aside-contact{display:grid;gap:8px;margin-top:45px;border-top:1px solid #d2d0c8;padding-top:25px}
.aside-contact a{font-size:14px;overflow-wrap:anywhere}
.form-card{background:#fff;padding:48px;border:1px solid #e6e2d7;box-shadow:0 18px 60px #00000008}
.quote-form h3{font:800 26px 'Barlow Condensed',sans-serif;text-transform:uppercase;border-bottom:1px solid #ddd;padding-bottom:16px;margin:28px 0}
.quote-form h3:first-of-type{margin-top:0}
.quote-form h3 span{color:#a17b3e;margin-right:14px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote-form label{display:block;font-size:12px;font-weight:800;color:#383d35;margin-bottom:17px}
.quote-form label b{color:#9a6e2c}
.quote-form input,.quote-form textarea,.quote-form select{display:block;width:100%;border:1px solid #d8d9d2;background:#fafaf8;color:#151a15;padding:13px 14px;margin-top:8px;min-height:50px;outline-offset:2px;border-radius:0;font-size:14px}
.quote-form textarea{resize:vertical}
.quote-form .full{grid-column:1/-1}
.quote-form button{margin-top:16px}
.form-note{font-size:11px;color:#73776f;margin-top:18px}
.form-note a{text-decoration:underline}
.honeypot{position:absolute;left:-9999px}
.alert{padding:16px 18px;margin-bottom:24px;font-size:14px}
.alert.success{background:#e2f2e0;color:#23512c}
.alert.error{background:#fce9e4;color:#8b2c1a}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.contact-method{padding:25px 0;border-bottom:1px solid #d9d6cc}
.contact-method span,.contact-method small{display:block;font-size:11px;letter-spacing:.13em;color:#777}
.contact-method a{font:700 24px 'Barlow Condensed',sans-serif;overflow-wrap:anywhere}


/* =========================================================
   GALLERY & LIGHTBOX
========================================================= */

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-item{position:relative;overflow:hidden;aspect-ratio:4/3;background:#262b24}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);color:#fff;padding:35px 15px 12px;font-size:13px}
.gallery-empty{border:1px solid #d8d3c7;padding:70px;text-align:center}
.gallery-empty h3{font:800 38px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.gallery-empty p{max-width:550px;margin:0 auto 25px;color:#65685f}
.lightbox{border:0;padding:45px 10px 10px;background:#111;max-width:95vw;max-height:95vh}
.lightbox::backdrop{background:#000d}
.lightbox img{max-height:80vh;max-width:90vw}
.lightbox button{position:absolute;top:10px;right:15px;background:none;border:0;color:white}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s,transform .55s}
.reveal.visible{opacity:1;transform:none}


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

@media(max-width:1100px){

    .pwe-header .pwe-navigation{
        width:min(100%,calc(100% - 28px));
        grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);
    }

    .pwe-header .pwe-nav{
        gap:14px;
    }

    .pwe-header .pwe-nav-link{
        font-size:10px;
        letter-spacing:.05em;
    }

    .pwe-header .pwe-nav-left{
        padding-right:8px;
    }

    .pwe-header .pwe-nav-right{
        padding-left:8px;
    }

    .pwe-header .pwe-quote-btn{
        gap:7px;
        padding-left:10px;
        font-size:9px;
    }

}


/* TABLET + MOBILE */

@media(max-width:970px){

    .pwe-header .pwe-topbar{
        display:none;
    }

    .pwe-header .pwe-navigation{
        display:flex;
        justify-content:space-between;
        width:100%;
        height:40px;
        min-height:40px;
        padding:0 22px;
    }

    .pwe-header .pwe-nav{
        display:none;
    }

    .pwe-header .pwe-brand{
        width:100px;
        height:72px;
        margin:0;
    }

    .pwe-header .pwe-brand img{
        width:76px;
        height:76px;
    }

    .pwe-header .pwe-menu-toggle{
        display:flex;
    }

    .pwe-header.is-scrolled .pwe-navigation{
        height:72px;
        min-height:72px;
    }

}


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

@media(max-width:1050px){
    .intro-grid,.prose-grid,.promise-grid,.contact-grid{gap:45px}
    .form-layout{gap:35px}
    .container{width:min(1240px,calc(100% - 48px))}
    .hero-content{padding-top:95px}
    .page-hero{padding-top:105px}
}

@media(max-width:760px){
    html{scroll-padding-top:16px}
    .hero{min-height:max(670px,100svh)}
    .home-hero .hero-art{background-position:60% center}
    .hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.68),rgba(0,0,0,.46) 55%,rgba(0,0,0,.7))}
    .hero-content{padding:95px 0 135px}
    .hero h1{font-size:clamp(65px,14vw,110px)}
    .hero-bottom{gap:12px;font-size:8px;justify-content:space-around}
    .hero-actions{flex-wrap:wrap}
    .section{padding:75px 0}
    .intro-grid,.prose-grid,.promise-grid,.contact-grid,.form-layout{grid-template-columns:1fr;gap:25px}
    .review-grid,.credential-grid{grid-template-columns:1fr 1fr}
    .service-row{grid-template-columns:36px 1fr 42px;gap:10px}
    .round-arrow{width:40px;height:40px}
    .service-row h3{font-size:30px}
    .footer-grid{grid-template-columns:1fr 1fr}
    .footer-grid>div:first-child{grid-column:1/-1}
    .cta-layout{align-items:start;flex-direction:column}
    .page-hero{padding:100px 0 65px}
    .form-card{padding:25px}
}

@media(max-width:480px){
    .container{width:calc(100% - 34px)}
    .pwe-header .pwe-navigation{height:60px;min-height:60px;padding:0 16px}
    .pwe-header .pwe-brand{height:68px}
    .pwe-header .pwe-brand img{width:70px;height:70px}
    .hero h1,.page-hero h1{font-size:clamp(59px,14vw,85px)}
    .hero-sub{font-size:15px}
    .hero-bottom span{font-size:7px}
    .review-grid,.credential-grid,.field-grid,.gallery-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .footer-grid>div:first-child{grid-column:auto}
    .footer-bottom{flex-direction:column}
    .gallery-empty{padding:30px}
    .service-row p{font-size:13px}
    .service-number{font-size:10px}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
    .reveal{opacity:1;transform:none}
}
/* =========================================================
   PWE — HORIZONTAL HAULING SERVICES
   Append to the bottom of assets/css/style.css
========================================================= */
.haul-gallery{--haul-gold:#d7a455;background:#0e1412;color:#fff;position:relative;isolation:isolate}
.haul-sticky{position:relative;min-height:660px;height:calc(100svh - 72px);display:flex;flex-direction:column;overflow:hidden}
.haul-topline,.haul-bottomline{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:18px clamp(22px,4vw,76px);font-size:10px;font-weight:800;letter-spacing:.16em}
.haul-topline{border-bottom:1px solid #ffffff22;color:#c3cac5}
.haul-bottomline{border-top:1px solid #ffffff22;color:#c3cac5}
.haul-viewport{flex:1;min-height:0;overflow:hidden}
.haul-track{display:flex;gap:24px;align-items:stretch;height:100%;width:max-content;padding:24px clamp(22px,4vw,76px)}
.haul-intro,.haul-card,.haul-outro{position:relative;flex:0 0 auto;width:min(78vw,950px);height:100%;min-height:0;overflow:hidden}
.haul-intro{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,5vw,80px);background:radial-gradient(ellipse at 83% 40%,#38442d 0%,transparent 52%),#161e18}
.haul-intro h2,.haul-outro h2{position:relative;z-index:1;font:800 clamp(65px,8vw,132px)/.84 'Barlow Condensed',sans-serif;margin:28px 0;letter-spacing:-.025em}
.haul-intro h2 em,.haul-outro h2 em{color:var(--haul-gold);font-style:normal}
.haul-intro p,.haul-outro p{position:relative;z-index:1;max-width:540px;font-size:clamp(14px,1.4vw,18px);line-height:1.7;color:#c3cdc2}
.haul-intro-deco{position:absolute;right:-.06em;bottom:-.32em;font:800 330px/1 'Barlow Condensed',sans-serif;color:#ffffff07;pointer-events:none}
.haul-scroll-cue{margin-top:30px;color:var(--haul-gold);font-size:10px;font-weight:800;letter-spacing:.16em}.haul-scroll-cue b{font-size:20px;margin-left:14px}
.haul-card{background:#263127;border:1px solid #ffffff25;isolation:isolate}
.haul-photo,.haul-card-shade{position:absolute;inset:0;pointer-events:none}
.haul-photo{z-index:-2;background-size:cover;background-position:center;transform:scale(1.12);will-change:transform}
.haul-card-shade{z-index:-1;background:linear-gradient(90deg,#050907ed 0%,#080c09bd 42%,#05090726 100%),linear-gradient(0deg,#0009,transparent 45%)}
.haul-card-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:16px;padding:28px clamp(24px,4vw,55px);font-size:10px;letter-spacing:.17em;font-weight:800;color:#e1e9dc}
.haul-card-content{position:absolute;left:clamp(24px,4vw,55px);bottom:clamp(30px,5vh,64px);right:clamp(24px,4vw,55px);z-index:1;max-width:560px}
.haul-card-kicker{color:var(--haul-gold);font-size:10px;letter-spacing:.2em;font-weight:800}
.haul-card h3{
    font:800 clamp(40px,4vw,70px)/1 'Barlow Condensed',sans-serif;
    text-transform:uppercase;
    margin:14px 0 19px;
    text-wrap:balance;
}
.haul-card p{max-width:480px;font-size:clamp(14px,1.3vw,17px);line-height:1.65;color:#e8e9e2;margin:0 0 27px}
.haul-quote-link,.haul-outro-cta{display:inline-flex;align-items:center;gap:30px;border:1px solid #d7a45596;color:#fff;padding:12px 14px 12px 20px;font-size:11px;font-weight:800;letter-spacing:.09em;transition:background .2s,color .2s}
.haul-quote-link span,.haul-outro-cta span{color:var(--haul-gold);font-size:24px;line-height:1}
.haul-quote-link:hover,.haul-outro-cta:hover{background:var(--haul-gold);color:#0a0d09}.haul-quote-link:hover span,.haul-outro-cta:hover span{color:#0a0d09}
.haul-card-oversize{position:absolute;right:20px;bottom:-.33em;font:800 clamp(220px,27vw,440px)/1 'Barlow Condensed',sans-serif;color:#ffffff12;z-index:0;pointer-events:none}
.haul-outro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(26px,5vw,80px);background:radial-gradient(ellipse at 80% 15%,#735a2a40,transparent 50%),#141c16}
.haul-outro-cta{margin-top:25px}
.haul-progress{height:2px;max-width:500px;flex:1;background:#ffffff28;overflow:hidden}.haul-progress span{display:block;width:100%;height:100%;background:var(--haul-gold);transform:scaleX(0);transform-origin:left}
.haul-count{min-width:70px;text-align:right;color:var(--haul-gold)}
/* Without JS or with reduced motion, keep every service accessible. */
@media(min-width:901px) and (min-height:560px){
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-sticky{height:auto;min-height:0;overflow:visible}
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-viewport{overflow:visible}
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-track{width:auto;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:24px}
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-intro,
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-card,
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-outro{width:100%;height:570px}
 .haul-gallery:not(.is-enhanced):not(.is-measuring) .haul-bottomline{display:none}
}
/* Only enable pinned movement when JS successfully measures the scene. */
@media(min-width:901px) and (min-height:560px){
 .haul-gallery.is-enhanced .haul-sticky{position:sticky;top:72px}
 .haul-gallery.is-enhanced .haul-track{will-change:transform}
}
@media(max-width:900px), (max-height:559px){
 .haul-sticky{height:auto;min-height:0;overflow:visible}
 .haul-viewport{overflow:visible}
 .haul-track{width:auto;height:auto;display:grid;grid-template-columns:1fr;padding:15px;gap:16px}
 .haul-intro,.haul-card,.haul-outro{width:100%;height:auto;min-height:490px}
 .haul-intro,.haul-outro{min-height:380px}
 .haul-intro h2,.haul-outro h2{font-size:clamp(62px,11vw,100px)}
 .haul-card-content{position:relative;left:auto;right:auto;bottom:auto;padding:170px 28px 35px}
 .haul-card-top{padding:22px 28px}
 .haul-card h3{font-size:clamp(50px,11vw,84px)}
 .haul-card-oversize{font-size:200px}
 .haul-bottomline{display:none}
}
@media(max-width:480px){.haul-intro,.haul-outro{padding:30px 25px}.haul-card-content{padding:160px 23px 30px}.haul-card-top{padding:20px 23px}.haul-intro h2,.haul-outro h2{font-size:clamp(55px,12vw,75px)}}
@media(prefers-reduced-motion:reduce){.haul-photo,.haul-track{will-change:auto!important;transform:none!important}.haul-progress span{transform:none!important}}
.haul-photo {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
/* =========================================================
   HAULING SERVICE CARD IMAGES
   REAL HTML IMAGES — NO CSS BACKGROUND URLS
========================================================= */

.haul-gallery .haul-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

/* Image container */
.haul-gallery .haul-card .haul-photo {
    position: absolute;
    inset: 0;
    z-index: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;
    opacity: 1;
    visibility: visible;

    /* Remove any old background image */
    background: none;
}

/* Actual photograph */
.haul-gallery .haul-card .haul-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    opacity: 1;
}

/* Dark overlay */
.haul-gallery .haul-card .haul-card-shade {
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, .86) 0%,
        rgba(0, 0, 0, .65) 45%,
        rgba(0, 0, 0, .30) 100%
    );

    pointer-events: none;
}

/* Content above photograph */
.haul-gallery .haul-card .haul-card-top,
.haul-gallery .haul-card .haul-card-content,
.haul-gallery .haul-card .haul-card-oversize {
    position: relative;
    z-index: 2;
}
/* =========================================================
   PRAIRIE WEST EXPRESS
   CINEMATIC PHOTO GALLERY
========================================================= */

/* HERO */

.pwe-gallery-hero {
    position: relative;
    overflow: hidden;
    padding: 125px 0 85px;
    background:
        radial-gradient(
            ellipse at 80% 30%,
            #39452f,
            transparent 55%
        ),
        linear-gradient(
            135deg,
            #111713,
            #080b09
        );
}

.gallery-hero-content {
    position: relative;
}

.pwe-gallery-hero h1 {
    max-width: 1050px;
    margin-bottom: 30px;
}

.gallery-hero-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 75px;
    padding-top: 18px;
    border-top: 1px solid #ffffff30;
    color: #a8afa5;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .17em;
}

/* SECTION */

.pwe-gallery-section {
    background: #f7f5ef;
}

.gallery-section-intro {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 70px;
}

.gallery-section-intro h2 {
    margin-bottom: 0;
}

.gallery-intro-right {
    padding-bottom: 10px;
}

.gallery-intro-right p {
    max-width: 460px;
    margin: 0 0 30px;
    color: #55594f;
    font-size: 15px;
}

.gallery-photo-count {
    display: flex;
    align-items: baseline;
    gap: 12px;
    color: #a17b3e;
    font: 800 45px/1 'Barlow Condensed', sans-serif;
}

.gallery-photo-count span {
    color: #55594f;
    font: 800 10px 'DM Sans', sans-serif;
    letter-spacing: .15em;
}

/* STAGGERED GRID */

.pwe-photo-gallery {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.pwe-gallery-card {
    position: relative;
    display: block;
    grid-column: span 4;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    isolation: isolate;
    background: #171b16;
}

/* FEATURED WIDE CARDS */

.pwe-gallery-card:nth-child(6n + 1),
.pwe-gallery-card:nth-child(6n + 5) {
    grid-column: span 8;
    aspect-ratio: 16 / 9;
}

.pwe-gallery-image {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}

.pwe-gallery-image img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform .65s ease;
}

.pwe-gallery-card:hover .pwe-gallery-image img {
    transform: scale(1.07);
}

/* IMAGE OVERLAY */

.pwe-gallery-card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(18px, 2vw, 30px);
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, .42),
        transparent 35%,
        rgba(0, 0, 0, .80)
    );
    color: #fff;
    transition: background .25s;
}

.pwe-gallery-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    color: #e7e8e1;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.pwe-gallery-card-bottom {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}

.pwe-gallery-card-label {
    color: #d7a455;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15em;
}

.pwe-gallery-card h3 {
    margin: 8px 0 0;
    color: #fff;
    font: 800 clamp(25px, 3vw, 43px)/1 'Barlow Condensed', sans-serif;
    text-transform: uppercase;
}

.pwe-gallery-expand {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border: 1px solid #ffffff80;
    border-radius: 50%;
    font-size: 23px;
    transition: background .25s, color .25s;
}

.pwe-gallery-card:hover .pwe-gallery-expand {
    background: #d7a455;
    color: #111;
}

/* END NOTE */

.pwe-gallery-end {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    margin-top: 75px;
}

.pwe-gallery-end-line {
    flex: 1;
    max-width: 160px;
    height: 1px;
    background: #c9c4b7;
}

.pwe-gallery-end p {
    margin: 0;
    color: #847c6d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    text-align: center;
}

/* LIGHTBOX */

.pwe-gallery-lightbox {
    position: fixed;
    inset: 0;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: #0b0d0b;
    color: #fff;
}

.pwe-gallery-lightbox::backdrop {
    background: #000;
}

.pwe-gallery-lightbox[open] {
    display: flex;
    flex-direction: column;
}

.pwe-lightbox-header,
.pwe-lightbox-footer {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px clamp(20px, 4vw, 65px);
}

.pwe-lightbox-header {
    border-bottom: 1px solid #ffffff25;
    color: #d7a455;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.pwe-lightbox-counter {
    margin-left: 22px;
    color: #fff;
}

.pwe-lightbox-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.pwe-lightbox-body {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 18px;
}

.pwe-lightbox-image {
    width: auto;
    max-width: calc(100% - 115px);
    height: auto;
    max-height: 100%;
    object-fit: contain;
}

.pwe-lightbox-prev,
.pwe-lightbox-next {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #ffffff50;
    border-radius: 50%;
    background: #ffffff12;
    color: #fff;
    font-size: 24px;
}

.pwe-lightbox-prev:hover,
.pwe-lightbox-next:hover {
    background: #d7a455;
    color: #111;
}

.pwe-lightbox-footer {
    border-top: 1px solid #ffffff25;
    color: #aab0a9;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}

.pwe-lightbox-title {
    color: #fff;
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .gallery-section-intro {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .pwe-gallery-card,
    .pwe-gallery-card:nth-child(6n + 1),
    .pwe-gallery-card:nth-child(6n + 5) {
        grid-column: span 6;
        aspect-ratio: 4 / 5;
    }
}

@media (max-width: 600px) {
    .pwe-gallery-hero {
        padding: 85px 0 55px;
    }

    .gallery-hero-bottom {
        margin-top: 45px;
        flex-direction: column;
        align-items: start;
        gap: 8px;
    }

    .pwe-photo-gallery {
        gap: 12px;
    }

    .pwe-gallery-card,
    .pwe-gallery-card:nth-child(6n + 1),
    .pwe-gallery-card:nth-child(6n + 5) {
        grid-column: 1 / -1;
        aspect-ratio: 4 / 3;
    }

    .pwe-gallery-end {
        gap: 12px;
    }

    .pwe-gallery-end p {
        font-size: 8px;
    }

    .pwe-lightbox-header,
    .pwe-lightbox-footer {
        padding: 16px;
    }

    .pwe-lightbox-footer > span:last-child {
        display: none;
    }

    .pwe-lightbox-body {
        gap: 6px;
        padding: 8px;
    }

    .pwe-lightbox-prev,
    .pwe-lightbox-next {
        width: 34px;
        height: 34px;
        font-size: 18px;
    }

    .pwe-lightbox-image {
        max-width: calc(100% - 80px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pwe-gallery-image img,
    .pwe-gallery-expand {
        transition: none;
    }
}
/* =========================================================
   ABOUT US — BACKGROUND IMAGE HERO
========================================================= */

.about-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    min-height: 520px;

    display: flex;
    align-items: center;

    padding: 110px 0;

    background:

        url('../images/about-hero.webp');

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #fff;
}

.about-page-hero .container {
    position: relative;
    z-index: 2;
}

.about-page-hero h1 {
    max-width: 1000px;
}

.about-page-hero p {
    max-width: 650px;
    color: #e4e4df;
}
/* =========================================================
   PRAIRIE WEST EXPRESS
   GALLERY HERO — BACKGROUND IMAGE
========================================================= */

.page-hero.pwe-gallery-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    align-items: center;

    min-height: 550px;
    padding: 100px 0;

    background-image: url('../images/gallery-hero.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #fff;
}

/* Hero content above background */
.pwe-gallery-hero .container {
    position: relative;
    z-index: 2;
    width: min(1240px, calc(100% - 88px));
}

.pwe-gallery-hero .gallery-hero-content {
    max-width: 1000px;
}

/* Main heading */
.pwe-gallery-hero h1 {
    max-width: 950px;
    margin: 20px 0 25px;

    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(70px, 8vw, 135px);
    line-height: 0.9;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: -0.015em;

    color: #fff;
}

.pwe-gallery-hero h1 em {
    color: #d7a455;
    font-style: normal;
}

/* Description */
.pwe-gallery-hero p {
    max-width: 550px;
    margin: 0;

    color: #e5e5df;
    font-size: 17px;
    line-height: 1.7;
}

/* Bottom information */
.pwe-gallery-hero .gallery-hero-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;
    margin-top: 65px;
    padding-top: 18px;

    border-top: 1px solid rgba(255, 255, 255, 0.3);

    color: #d0d1ca;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

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

@media (max-width: 760px) {

    .page-hero.pwe-gallery-hero {
        min-height: 450px;
        padding: 85px 0 65px;

        background-position: 60% center;
    }

    .pwe-gallery-hero .container {
        width: calc(100% - 34px);
    }

    .pwe-gallery-hero h1 {
        font-size: clamp(60px, 12vw, 90px);
    }

    .pwe-gallery-hero p {
        font-size: 15px;
    }

    .pwe-gallery-hero .gallery-hero-bottom {
        margin-top: 45px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

}
/* MOBILE */

@media (max-width: 760px) {

    .about-page-hero {
        min-height: 420px;
        padding: 85px 0;

        background-position: 60% center;
    }

}
/* =========================================================
   PRAIRIE WEST EXPRESS
   CONTACT PAGE HERO
========================================================= */

.page-hero.contact-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    align-items: center;

    min-height: 540px;
    padding: 100px 0;

    color: #fff;
}

.contact-page-hero .container {
    position: relative;
    z-index: 2;
}

.contact-page-hero h1 {
    max-width: 1000px;
    margin: 20px 0 25px;
}

.contact-page-hero h1 em {
    color: #d7a455;
}

.contact-page-hero p {
    max-width: 550px;
    margin: 0;

    color: #e5e5df;
    font-size: 17px;
    line-height: 1.7;
}

/* CONTACT FORM HEADING */

.contact-section .form-card > h3 {
    margin: 0 0 12px;

    font: 800 36px/1.1 'Barlow Condensed', sans-serif;
    text-transform: uppercase;
}

.contact-section .form-card > p:not(.form-note) {
    margin: 0 0 30px;
    color: #65685f;
    font-size: 14px;
}

/* MOBILE */

@media (max-width: 760px) {

    .page-hero.contact-page-hero {
        min-height: 430px;
        padding: 85px 0 65px;

        background-position: 60% center !important;
    }

    .contact-page-hero p {
        font-size: 15px;
    }

}
/* =========================================================
   PRAIRIE WEST EXPRESS
   CREDENTIALS PAGE HERO
========================================================= */

.page-hero.credentials-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    align-items: center;

    min-height: 550px;

    padding: 105px 0;

    color: #fff;
}

/* Hero content */

.credentials-page-hero .container {
    position: relative;
    z-index: 2;
}

/* Main title */

.credentials-page-hero h1 {
    max-width: 1100px;
    margin: 20px 0 25px;

    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(65px, 8vw, 130px);
    line-height: 0.9;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: -0.015em;
}

.credentials-page-hero h1 em {
    color: #d7a455;
    font-style: normal;
}

/* Description */

.credentials-page-hero p {
    max-width: 580px;
    margin: 0;

    color: #e5e5df;
    font-size: 17px;
    line-height: 1.7;
}

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

@media (max-width: 760px) {

    .page-hero.credentials-page-hero {
        min-height: 440px;
        padding: 85px 0 65px;

        background-position: 65% center !important;
    }

    .credentials-page-hero h1 {
        font-size: clamp(56px, 11vw, 85px);
    }

    .credentials-page-hero p {
        font-size: 15px;
    }

}
/* =========================================================
   PRAIRIE WEST EXPRESS
   FOOTER VISITOR COUNTER
========================================================= */

.footer-bottom-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.footer-visitor-counter {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 7px 12px;

    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 4px;
}

.visitor-indicator {
    width: 6px;
    height: 6px;

    border-radius: 50%;
    background: #d7a455;
    box-shadow: 0 0 8px rgba(215, 164, 85, 0.45);
}

.visitor-label {
    color: #9da49c;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.visitor-number {
    color: #d7a455;

    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
}

@media (max-width: 600px) {
    .footer-bottom-left {
        gap: 14px;
    }

    .footer-visitor-counter {
        padding: 7px 10px;
    }
}
/* =========================================================
   PRAIRIE WEST EXPRESS
   QUOTE REQUEST PAGE HERO
========================================================= */

.page-hero.quote-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    display: flex;
    align-items: center;

    min-height: 550px;
    padding: 105px 0;

    color: #fff;
}

.quote-page-hero .container {
    position: relative;
    z-index: 2;
}

.quote-page-hero h1 {
    max-width: 1050px;
    margin: 20px 0 25px;

    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(65px, 8vw, 130px);
    line-height: .9;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: -.015em;
}

.quote-page-hero h1 em {
    color: #d7a455;
    font-style: normal;
}

.quote-page-hero p {
    max-width: 550px;
    margin: 0;

    color: #e5e5df;
    font-size: 17px;
    line-height: 1.7;
}

/* MOBILE */

@media (max-width: 760px) {

    .page-hero.quote-page-hero {
        min-height: 430px;
        padding: 85px 0 65px;

        background-position: 60% center !important;
    }

    .quote-page-hero h1 {
        font-size: clamp(56px, 11vw, 85px);
    }

    .quote-page-hero p {
        font-size: 15px;
    }

}