	/*
 * Igloo Site Works — Premium Homepage V2
 * Domain: https://igloositeworks.com
 */

:root {
    --igloo-navy: #081725;
    --igloo-navy-light: #10283a;
    --igloo-orange: #ff6a00;
    --igloo-orange-dark: #d95700;
    --igloo-white: #ffffff;
    --igloo-light: #f3f1ec;
    --igloo-text: #182631;
    --igloo-muted: #69757e;
    --igloo-border: rgba(8, 23, 37, 0.14);
    --igloo-shadow: 0 24px 60px rgba(8, 23, 37, 0.15);
}

body {
    overflow-x: hidden;
}

.premium-home h1,
.premium-home h2,
.premium-home h3 {
    margin-top: 0;
}

.premium-container {
    width: min(1240px, 90%);
    margin-inline: auto;
}

.premium-eyebrow {
    margin: 0 0 18px;
    color: var(--igloo-orange);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

.premium-display {
    font-size: clamp(46px, 6.2vw, 92px);
    line-height: 0.94;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.premium-heading {
    font-size: clamp(38px, 4.5vw, 66px);
    line-height: 0.98;
    text-transform: uppercase;
}

.premium-button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 14px 25px;
    border: 2px solid transparent;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    transition:
        transform 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.premium-button:hover {
    transform: translateY(-2px);
}

.premium-button-primary {
    background: var(--igloo-orange);
    color: var(--igloo-white);
}

.premium-button-primary:hover {
    background: var(--igloo-orange-dark);
    color: var(--igloo-white);
}

.premium-button-outline {
    border-color: rgba(255, 255, 255, 0.8);
    color: var(--igloo-white);
}

.premium-button-outline:hover {
    border-color: var(--igloo-orange);
    background: var(--igloo-orange);
    color: var(--igloo-white);
}

/* HERO */
.premium-hero::before{
background: linear-gradient(
    90deg,
    rgba(0,0,0,.60) 0%,
    rgba(0,0,0,.42) 35%,
    rgba(0,0,0,.18) 65%,
    rgba(0,0,0,0) 100%
);
        url("../images/hero-siteworks-v2.jpg");
    background-position: center 42% !important;
    background-size: cover !important;
    color: var(--igloo-white);
}

.premium-hero::after {
    position: absolute;
    inset: auto 0 0;
    height: 180px;
    background: linear-gradient(to top, rgba(3, 12, 20, 0.53), transparent);
    content: "";
    pointer-events: none;
}

.premium-hero-content {
    position: relative;
    z-index: 2;
    max-width: 790px;
    padding-block: 120px 155px;
}

.premium-hero h1 {
    font-size: clamp(64px, 7vw, 110px);
    line-height: .9;
    font-weight: 800;
    letter-spacing: -2px;
    text-transform: uppercase;
}

.premium-hero-copy {
    max-width: 720px;
    margin-bottom: 35px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 21px;
    line-height: 1.7;
}

.premium-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

/* CAPABILITY STRIP */

.capability-strip {
    position: relative;
    z-index: 5;
    background: var(--igloo-navy);
    color: var(--igloo-white);
}

.capability-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.capability-item {
    position: relative;
    min-height: 118px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px 19px;
    border-right: 1px solid rgba(255, 255, 255, 0.13);
    transition: background-color 200ms ease;
}

.capability-item:first-child {
    border-left: 1px solid rgba(255, 255, 255, 0.13);
}

.capability-item:hover {
    background: var(--igloo-orange);
}

.capability-number {
    margin-bottom: 9px;
    color: var(--igloo-orange);
    font-size: 18px;
    font-weight: 900;
}

.capability-item:hover .capability-number {
    color: var(--igloo-white);
}

.capability-name {
    color: var(--igloo-white);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

/* INTRODUCTION */

.premium-intro {
    padding: 120px 0;
    background: var(--igloo-light);
}

.premium-intro-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: clamp(55px, 8vw, 120px);
    align-items: start;
}

.premium-intro h2 {
    color: var(--igloo-text);
}

.premium-intro-copy {
    padding-top: 30px;
}

.premium-intro-copy p {
    color: var(--igloo-muted);
    font-size: 18px;
    line-height: 1.8;
}

.premium-text-link {
    display: inline-flex;
    margin-top: 15px;
    align-items: center;
    gap: 11px;
    color: var(--igloo-text);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.premium-text-link::after {
    content: "→";
    color: var(--igloo-orange);
    font-size: 20px;
    transition: transform 180ms ease;
}

.premium-text-link:hover::after {
    transform: translateX(5px);
}

/* STATS */

.premium-stats {
    background: var(--igloo-orange);
    color: var(--igloo-white);
}

.premium-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.premium-stat {
    padding: 47px 25px;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    text-align: center;
}

.premium-stat:first-child {
    border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.premium-stat strong {
    display: block;
    margin-bottom: 8px;
    color: var(--igloo-white);
    font-size: clamp(31px, 4vw, 52px);
    line-height: 1;
}

.premium-stat span {
    color: rgba(255, 255, 255, 0.88);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* SERVICES */

.premium-services {
    padding: 125px 0;
    background: var(--igloo-white);
}

.premium-section-heading {
    max-width: 850px;
    margin-bottom: 55px;
}

.premium-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.premium-service-card {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    background: var(--igloo-navy);
    box-shadow: var(--igloo-shadow);
}

.premium-service-card::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: var(--service-image);
    background-position: center;
    background-size: cover;
    content: "";
    transition: transform 650ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.premium-service-card::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(
            to top,
            rgba(3, 12, 20, 0.97) 0%,
            rgba(3, 12, 20, 0.69) 42%,
            rgba(3, 12, 20, 0.10) 80%
        );
    content: "";
}

.premium-service-card:hover::before {
    transform: scale(1.075);
}

.premium-service-content {
    width: 100%;
    padding: 36px;
}

.premium-service-number {
    display: block;
    margin-bottom: 15px;
    color: var(--igloo-orange);
    font-size: 15px;
    font-weight: 900;
}

.premium-service-card h3 {
    margin-bottom: 13px;
    color: var(--igloo-white);
    font-size: 28px;
    line-height: 1.12;
    text-transform: uppercase;
}

.premium-service-card p {
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.74);
    line-height: 1.65;
}

.premium-service-link {
    color: var(--igloo-white);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

/* WHY CHOOSE US */

.premium-field {
    padding: 120px 0;
    background: var(--igloo-navy);
    color: var(--igloo-white);
}

.premium-field-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(45px, 7vw, 100px);
    align-items: stretch;
}

.premium-field-image {
    min-height: 650px;
    background:
        linear-gradient(rgba(8, 23, 37, 0.1), rgba(8, 23, 37, 0.1)),
        url("../images/project-placeholder.jpg");
    background-position: center;
    background-size: cover;
}

.premium-field-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.premium-field-content h2 {
    color: var(--igloo-white);
}

.premium-field-content > p:not(.premium-eyebrow) {
    color: rgba(255, 255, 255, 0.72);
    font-size: 17px;
    line-height: 1.75;
}

.premium-checklist {
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.premium-checklist li {
    position: relative;
    padding: 19px 10px 19px 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--igloo-white);
    font-weight: 700;
}

.premium-checklist li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.premium-checklist li::before {
    position: absolute;
    top: 18px;
    left: 4px;
    color: var(--igloo-orange);
    content: "—";
}

/* PROJECTS */

.premium-projects {
    padding: 125px 0;
    background: var(--igloo-light);
}

.premium-project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.premium-project-card {
    overflow: hidden;
    background: var(--igloo-white);
    box-shadow: var(--igloo-shadow);
}

.premium-project-photo {
    height: 320px;
    overflow: hidden;
}

.premium-project-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 550ms ease;
}

.premium-project-card:hover .premium-project-photo img {
    transform: scale(1.06);
}

.premium-project-body {
    padding: 29px;
}

.premium-project-body small {
    display: block;
    margin-bottom: 10px;
    color: var(--igloo-orange);
    font-weight: 900;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.premium-project-body h3 {
    margin-bottom: 13px;
    color: var(--igloo-text);
    font-size: 25px;
    text-transform: uppercase;
}

.premium-project-body p {
    color: var(--igloo-muted);
    line-height: 1.65;
}

/* SAFETY */

.premium-safety {
    position: relative;
    min-height: 650px;
    display: flex;
    align-items: center;
    padding: 110px 0;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(3, 12, 20, 0.95) 0%,
            rgba(3, 12, 20, 0.79) 52%,
            rgba(3, 12, 20, 0.35) 100%
        ),
        url("../images/safety-bg.jpg");
    background-position: center 25%;
    background-size: cover;
    color: var(--igloo-white);
}

.premium-safety-content {
    max-width: 700px;
}

.premium-safety h2 {
    color: var(--igloo-white);
}

.premium-safety p:not(.premium-eyebrow) {
    max-width: 610px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 18px;
    line-height: 1.75;
}

/* CTA */

.premium-cta {
    padding: 70px 0;
    background: var(--igloo-orange);
    color: var(--igloo-white);
}

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

.premium-cta h2 {
    max-width: 790px;
    margin: 0;
    color: var(--igloo-white);
    font-size: clamp(37px, 5vw, 66px);
    line-height: 0.98;
    text-transform: uppercase;
}

.premium-cta .premium-button {
    flex-shrink: 0;
    background: var(--igloo-navy);
    color: var(--igloo-white);
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .capability-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .premium-services-grid,
    .premium-project-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .premium-field-grid {
        grid-template-columns: 1fr;
    }

    .premium-field-image {
        min-height: 550px;
    }
}

@media (max-width: 800px) {
    .premium-hero {
    height: 100vh !important;
    min-height: 900px !important;
    display: flex;
    align-items: center;
    min-height: 740px;
        background-position: 64% center;
    }

    .premium-hero-content {
        padding-block: 100px 135px;
    }

    .premium-intro-grid,
    .premium-stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .premium-stat:nth-child(3) {
        border-left: 1px solid rgba(255, 255, 255, 0.28);
    }

    .premium-services-grid,
    .premium-project-grid {
        grid-template-columns: 1fr;
    }

    .premium-service-card {
        min-height: 450px;
    }

    .premium-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .premium-container {
        width: min(92%, 540px);
    }

    .premium-hero {
        min-height: 680px;
        background-position: 67% center;
    }

    .premium-hero-content {
        padding-block: 80px 115px;
    }

    .premium-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .premium-button {
       padding: 18px 38px;
       font-size: 15px;
       letter-spacing: 1px;
       border-radius: 4px;
    }

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

    .capability-item {
        min-height: 110px;
    }

    .premium-intro,
    .premium-services,
    .premium-field,
    .premium-projects {
        padding-block: 85px;
    }

    .premium-intro-grid,
    .premium-stats-grid {
        grid-template-columns: 1fr;
    }

    .premium-stat,
    .premium-stat:nth-child(3) {
        border-left: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    }

    .premium-field-image {
        min-height: 430px;
    }

    .premium-safety {
        min-height: 660px;
        background-position: 65% center;
    }
}
/* Transparent homepage header over hero */
.home .site-header{
    position:absolute !important;
    top:0;
    left:0;
    width:100%;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
}
}

.home .site-header .main-header,
.home .site-header .header-inner,
.home .site-header .navigation-wrapper {
    background: transparent !important;
}

.home.admin-bar .site-header {
    top: 32px;
}

.home .premium-hero {
    padding-top: 90px;
}
/* Homepage transparent-header text colours */

.home .site-header a,
.home .main-navigation a{
    font-size:15px;
    font-weight:600;
    letter-spacing:.8px;
    text-transform:uppercase;
}
.home .site-title,
.home .site-description {
    color: #ffffff !important;
}

.home .main-navigation a:hover,
.home .main-navigation .current-menu-item > a {
    color: #ff6a00 !important;
}

.home .main-navigation .current-menu-item > a::after {
    background: #ff6a00 !important;
}
/* Header logo alignment */

.site-branding {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0;
    margin-right: 45px !important;
}

.custom-logo-link {
    display: flex !important;
    align-items: center !important;
    line-height: 0 !important;
}

.custom-logo {
    width: auto !important;
    max-width: 165px !important;
    max-height: 64px !important;
    object-fit: contain !important;
}

.site-header .container,
.site-header .header-inner {
    display: flex !important;
    align-items: center !important;
}
.home .site-header::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        to bottom,
        rgba(3, 12, 20, 0.88) 0%,
        rgba(3, 12, 20, 0.52) 65%,
        rgba(3, 12, 20, 0) 100%
    );
    content: "";
    pointer-events: none;
}
.home .premium-hero {
    min-height: min(900px, 100vh) !important;
}

.home .premium-hero-content{
    position:absolute !important;
    left:6% !important;
    top:40% !important;
    transform:translateY(-50%) !important;
    width:min(700px,84%) !important;
    max-width:700px !important;
    margin:0 !important;
    text-align:left !important;
    z-index:5 !important;
}
.home .premium-hero {
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
@media (max-width: 900px) {
    .home .site-header {
        position: relative !important;
        top: auto !important;
        background: transparent !important;
        box-shadow: none !important;
        border-bottom: none !important;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
    }

    .home .site-header::before {
        display: none !important;
    }

    .home .premium-hero {
        padding-top: 0 !important;
        min-height: 680px !important;
        background-position: 65% center !important;
    }

    .home .premium-hero-content {
      padding-top: 120px;
      max-width: 720px;
    }

    .custom-logo {
        width: auto;
        max-height: 82px !important;
    }
}
/* Current Igloo project hero image */
.home .premium-hero {
    background-image:
        linear-gradient(
            90deg,
            rgba(3, 12, 20, 0.91) 0%,
            rgba(3, 12, 20, 0.73) 38%,
            rgba(3, 12, 20, 0.24) 72%,
            rgba(3, 12, 20, 0.08) 100%
        ),
        url("../images/hero-siteworks-v2.jpg") !important;

    background-position: center 42% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
/* Correct custom-theme logo positioning */
.site-header .brand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-shrink: 0 !important;
    margin-right: 42px !important;
    line-height: 0 !important;
}

.site-header .brand img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 175px !important;
    max-height: 66px !important;
    object-fit: contain !important;
}

.site-header .header-inner,
.site-header .container {
    display: flex !important;
    align-items: center !important;
}
.home .site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    background: rgba(3, 12, 20, 0.32) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: none !important;
    backdrop-filter: blur(4px);
}

.home.admin-bar .site-header {
    top: 32px !important;
}

.home .premium-hero-content {
    padding-top: 190px !important;
}
/* True mobile logo centering */

@media (max-width: 900px) {

    .site-header .container,
    .site-header .header-inner,
    .site-header-inner {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    .site-branding,
    .brand,
    .custom-logo-link {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
        z-index: 2 !important;
    }

    .menu-toggle,
    .mobile-menu-toggle,
    .nav-toggle {
        position: relative !important;
        margin-left: auto !important;
        z-index: 3 !important;
    }

    .site-branding img,
    .brand img,
    .custom-logo {
        max-width: 165px !important;
        max-height: 64px !important;
    }
}
/* Desktop header and logo alignment */

/* FINAL DESKTOP HEADER AND HERO */
/* FINAL DESKTOP HEADER — PRESERVE ORIGINAL LAYOUT */

@media (min-width: 901px) {

    .home .site-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 9999 !important;
        width: 100% !important;
        background: rgba(3, 12, 20, 0.55) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
        box-shadow: none !important;
        backdrop-filter: blur(5px);
    }

    .home.admin-bar .site-header {
        top: 32px !important;
    }

    /*
     * Keep the theme's normal container width.
     * Do not force it to full browser width.
     */
    .site-header .container {
        width: min(1240px, 92%) !important;
        max-width: 1240px !important;
        min-height: 76px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .site-header .header-inner,
    .site-header-inner {
        width: 100% !important;
        min-height: 76px !important;
        display: flex !important;
        align-items: center !important;
    }

    /*
     * Logo stays at the left side of the contained header,
     * not at the extreme browser edge.
     */
    .site-branding,
    .brand,
    .custom-logo-link {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        margin: 0 46px 0 0 !important;
        padding: 0 !important;
        transform: none !important;
        line-height: 0 !important;
    }

    .site-branding img,
    .brand img,
    .custom-logo {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 175px !important;
        max-height: 62px !important;
        object-fit: contain !important;
    }

    /*
     * Navigation occupies the centre/right space.
     */
    .main-navigation {
        display: flex !important;
        align-items: center !important;
        margin-left: auto !important;
    }

    .main-navigation ul {
        display: flex !important;
        align-items: center !important;
        gap: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /*
     * Keep the quote button at the far right of the header.
     */
    .header-cta,
    .site-header .request-quote,
    .site-header .btn {
        flex: 0 0 auto !important;
        margin-left: 24px !important;
    }

    .home .premium-hero-content {
        padding-top: 175px !important;
    }
}
/* FINAL HERO BRIGHTNESS — DESKTOP AND MOBILE */

.home .premium-hero {
    background-image:
        linear-gradient(
            90deg,
            rgba(3, 12, 20, 0.44) 0%,
            rgba(3, 12, 20, 0.26) 38%,
            rgba(3, 12, 20, 0.08) 68%,
            rgba(3, 12, 20, 0.02) 100%
        ),
        url("../images/hero-siteworks-v2.jpg") !important;

    background-position: center 42% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Disable older duplicate overlay */
.home .premium-hero::before {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Keep only a light fade at the bottom */
.home .premium-hero::after {
    height: 120px !important;
    background: linear-gradient(
        to top,
        rgba(3, 12, 20, 0.28),
        transparent
    ) !important;
}
/* FIX: remove grey fade bleeding into About section */

.home .premium-hero {
    overflow: hidden !important;
}

.home .premium-hero::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.premium-intro {
    position: relative !important;
    z-index: 5 !important;
    background: #f3f1ec !important;
}
/* PREMIUM MOTION AND HOVER EFFECTS */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Hero image subtle zoom */
.home .premium-hero {
    animation: iglooHeroFadeIn 900ms ease-out both;
}

@keyframes iglooHeroFadeIn {
    from {
        opacity: 0.92;
        transform: scale(1.015);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Hero text entrance */
.home .premium-hero .premium-eyebrow {
    animation: iglooFadeUp 700ms ease-out 150ms both;
}

.home .premium-hero h1 {
    animation: iglooFadeUp 800ms ease-out 280ms both;
}

.home .premium-hero .premium-hero-copy {
    animation: iglooFadeUp 800ms ease-out 430ms both;
}

.home .premium-hero-actions {
    animation: iglooFadeUp 800ms ease-out 580ms both;
}

@keyframes iglooFadeUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Header navigation premium hover */
.main-navigation a {
    position: relative;
    transition: color 180ms ease, opacity 180ms ease;
}

.main-navigation a::after {
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 0;
    height: 2px;
    background: #ff6a00;
    content: "";
    transition: width 220ms ease;
}

.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after {
    width: 100%;
}

.main-navigation a:hover {
    color: #ff6a00 !important;
}

/* Premium buttons */
.premium-button,
.btn,
.wpforms-submit {
    position: relative;
    overflow: hidden;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.premium-button:hover,
.btn:hover,
.wpforms-submit:hover {
    transform: translateY(-2px);
}

.premium-button-primary:hover,
.btn-primary:hover,
.wpforms-submit:hover {
    box-shadow: 0 14px 30px rgba(255, 106, 0, 0.28);
}

/* Orange button shine effect */
.premium-button-primary::before,
.btn-primary::before,
.wpforms-submit::before {
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.28),
        transparent
    );
    content: "";
    transform: skewX(-20deg);
    transition: left 520ms ease;
}

.premium-button-primary:hover::before,
.btn-primary:hover::before,
.wpforms-submit:hover::before {
    left: 140%;
}

/* Service strip hover */
.capability-item {
    transition:
        background-color 220ms ease,
        transform 220ms ease,
        border-color 220ms ease;
}

.capability-item:hover {
    transform: translateY(-4px);
    background: #ff6a00 !important;
}

.capability-item:hover .capability-number,
.capability-item:hover .capability-name {
    color: #ffffff !important;
}

/* Service cards */
.premium-service-card {
    transition:
        transform 260ms ease,
        box-shadow 260ms ease;
}

.premium-service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 70px rgba(8, 23, 37, 0.24);
}

.premium-service-card::before {
    transition: transform 700ms ease, filter 700ms ease;
}

.premium-service-card:hover::before {
    transform: scale(1.08);
    filter: brightness(1.08) contrast(1.04);
}

/* Project cards */
.premium-project-card {
    transition:
        transform 260ms ease,
        box-shadow 260ms ease;
}

.premium-project-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 70px rgba(8, 23, 37, 0.20);
}

.premium-project-photo img {
    transition: transform 700ms ease, filter 700ms ease;
}

.premium-project-card:hover .premium-project-photo img {
    transform: scale(1.08);
    filter: brightness(1.05) contrast(1.04);
}

/* About link hover */
.premium-text-link {
    transition: color 180ms ease;
}

.premium-text-link:hover {
    color: #ff6a00 !important;
}

/* Stats hover */
.premium-stat {
    transition:
        background-color 220ms ease,
        transform 220ms ease;
}

.premium-stat:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-3px);
}

/* Safety checklist hover */
.premium-checklist li {
    transition:
        padding-left 180ms ease,
        color 180ms ease;
}

.premium-checklist li:hover {
    padding-left: 38px;
    color: #ff6a00 !important;
}

/* Form fields hover/focus */
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.wpforms-container input:hover,
.wpforms-container select:hover,
.wpforms-container textarea:hover {
    border-color: #ff6a00 !important;
}

.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    transform: translateY(-1px);
}

/* Footer link hover */
.site-footer a {
    transition: color 180ms ease, padding-left 180ms ease;
}

.site-footer a:hover {
    color: #ff6a00 !important;
    padding-left: 5px;
}

/* Scroll reveal base */
.premium-intro,
.premium-stats,
.premium-services,
.premium-field,
.premium-projects,
.premium-safety,
.premium-cta,
.site-footer {
    animation: iglooSectionReveal 700ms ease-out both;
    animation-timeline: view();
    animation-range: entry 0% cover 22%;
}

@keyframes iglooSectionReveal {
    from {
        opacity: 0;
        transform: translateY(36px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
/* Hero background video */

.home .premium-hero {
    position: relative !important;
    overflow: hidden !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(3, 12, 20, 0.44) 0%,
            rgba(3, 12, 20, 0.26) 38%,
            rgba(3, 12, 20, 0.08) 68%,
            rgba(3, 12, 20, 0.02) 100%
        ),
        url("../images/hero-siteworks-v2.jpg") !important;
}

.hero-bg-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.home .premium-hero::before {
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
    90deg,
    rgba(0,0,0,.45) 0%,
    rgba(0,0,0,.20) 40%,
    rgba(0,0,0,.05) 100%
);
    content: "" !important;
    pointer-events: none;
}

.home .premium-hero .premium-container,
.home .premium-hero-content {
    position: relative !important;
    z-index: 2 !important;
}

/* Use image instead of video on mobile for better speed */
@media (max-width: 700px) {
    .hero-bg-video {
        display: none !important;
    }
}
/* FINAL FULL-SCREEN HERO FIX */

@media (min-width: 901px) {
    .home .premium-hero {
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: none !important;
    }

    .home .hero-bg-video {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .home .premium-hero-content {
        min-height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding-top: 120px !important;
        padding-bottom: 80px !important;
    }
}
/* Force homepage header and all inner wrappers fully transparent */

.home .site-header,
.home .site-header::before,
.home .site-header::after,
.home .site-header .main-header,
.home .site-header .header-inner,
.home .site-header .site-header-inner,
.home .site-header .navigation-wrapper,
.home .site-header .container {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

.home .site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.home.admin-bar .site-header {
    top: 32px !important;
}
/* HERO TEXT */

.home .premium-hero h1{
    color:#ffffff !important;
    text-shadow:0 4px 18px rgba(0,0,0,.45);
}

.home .premium-hero .premium-hero-copy{
    color:rgba(255,255,255,.95) !important;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.home .premium-hero .premium-eyebrow{
    color:#ff6a00 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.35);
}
/* HERO CONTENT POSITION */

.home .premium-hero-content{
    max-width:700px !important;
    margin-left:7% !important;
    margin-right:auto !important;
    text-align:left !important;
}
/* HERO TITLE */

.home .premium-hero h1{

    font-size:clamp(72px,7vw,120px) !important;

    line-height:.92 !important;

    font-weight:800 !important;

    letter-spacing:-3px;

    text-transform:uppercase;

}
.home .premium-hero-copy{

    font-size:20px !important;

    line-height:1.8 !important;

    max-width:620px !important;

}
/* LEFT VIDEO OVERLAY */

.home .premium-hero::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:1;

    background:linear-gradient(

        90deg,

        rgba(0,0,0,.55) 0%,

        rgba(0,0,0,.35) 40%,

        rgba(0,0,0,.12) 70%,

        rgba(0,0,0,0) 100%

    );

}


.home .site-header:hover{

    background:rgba(0,0,0,.18) !important;

}
.premium-button{

    border-radius:6px;

    transition:all .35s ease;

}

.premium-button:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(255,102,0,.35);

}
.home .premium-hero-content{
    position:absolute;
    left:8%;
    top:50%;
    transform:translateY(-50%);
    max-width:650px;
    z-index:5;
}
.home .premium-hero{
    min-height:100vh !important;
}
