/*
Theme Name: Azure Construction
Theme URI: https://azuredevt.com/
Author: Azure Development and Construction
Description: Custom WordPress theme converted from Azure's approved HTML website template. Bootstrap-based, responsive, and optimized for Azure's corporate website.
Version: 1.1.0
Text Domain: azure-construction
Requires at least: 6.4
Requires PHP: 8.0
*/

/* WordPress integration compatibility */
img { max-width: 100%; height: auto; }
.alignwide { max-width: 1200px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; }
.wp-caption, .gallery-caption { max-width: 100%; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.current-menu-item > a, .current-menu-ancestor > a { color: #ff5e14 !important; }
.main-nav nav .navbar-nav .nav-item .sub-menu { margin: 0; padding: 0; list-style: none; }
.admin-bar .navbar-area.is-sticky { top: 32px; }
@media (max-width: 782px) { .admin-bar .navbar-area.is-sticky { top: 46px; } }
.azure-content-area { padding: 100px 0; }
.azure-entry-content > *:first-child { margin-top: 0; }
.azure-post-card { height: 100%; }
.azure-post-card img { width: 100%; }

/* ==========================================================
   Azure Premium Homepage — v1.1
   Homepage-specific rules are intentionally prefixed to avoid
   interfering with the converted template's inner pages.
   ========================================================== */
:root {
    --az-navy: #071a35;
    --az-navy-2: #0b2447;
    --az-blue: #002366;
    --az-gold: #c9a34d;
    --az-gold-bright: #ddb75f;
    --az-cream: #f5f3ee;
    --az-paper: #fbfbfa;
    --az-ink: #172033;
    --az-muted: #687184;
    --az-line: rgba(7, 26, 53, .12);
}

.azure-home {
    background: var(--az-paper);
    overflow: hidden;
}

.azure-home h1,
.azure-home h2,
.azure-home h3 {
    letter-spacing: -.035em;
}

.azure-home p {
    color: var(--az-muted);
}

.azure-home .container {
    max-width: 1240px;
}

.az-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    color: var(--az-gold) !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.az-eyebrow::before {
    content: "";
    width: 36px;
    height: 1px;
    background: currentColor;
}

.az-eyebrow--light { color: #e7c978 !important; }

.az-btn {
    min-height: 54px;
    padding: 0 24px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.az-btn:hover { transform: translateY(-2px); }
.az-btn i { font-size: 22px; }

.az-btn--gold {
    background: var(--az-gold);
    border-color: var(--az-gold);
    color: #071a35;
}

.az-btn--gold:hover {
    background: var(--az-gold-bright);
    border-color: var(--az-gold-bright);
    color: #071a35;
}

.az-btn--ghost {
    color: #fff;
    border-color: rgba(255,255,255,.42);
    background: rgba(255,255,255,.04);
    backdrop-filter: blur(8px);
}

.az-btn--ghost:hover {
    background: #fff;
    border-color: #fff;
    color: var(--az-navy);
}

.az-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(7, 26, 53, .25);
    color: var(--az-navy);
    font-weight: 800;
}

.az-text-link i { font-size: 21px; }
.az-text-link:hover { color: var(--az-gold); border-color: var(--az-gold); }

/* Hero */
.az-hero {
    min-height: 780px;
    height: min(88vh, 940px);
    position: relative;
    display: flex;
    align-items: stretch;
    background: var(--az-navy);
    color: #fff;
}

.az-hero__media,
.az-hero__veil {
    position: absolute;
    inset: 0;
}

.az-hero__media {
    background-image: url('assets/img/hero-slider-img/hero-slider-img-1.jpg');
    background-size: cover;
    background-position: center 45%;
    transform: scale(1.01);
}

.az-hero__veil {
    background:
        linear-gradient(90deg, rgba(3,14,31,.94) 0%, rgba(3,14,31,.78) 42%, rgba(3,14,31,.36) 70%, rgba(3,14,31,.22) 100%),
        linear-gradient(0deg, rgba(2,12,28,.62) 0%, transparent 42%);
}

.az-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 120px;
    padding-bottom: 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.az-hero__content { max-width: 830px; padding-bottom: 82px; }

.az-hero h1 {
    max-width: 850px;
    margin: 0;
    color: #fff;
    font-size: clamp(52px, 6vw, 88px);
    line-height: .98;
    font-weight: 700;
}

.az-hero h1 span { color: #e8cd82; }

.az-hero__lead {
    max-width: 720px;
    margin: 28px 0 34px;
    color: rgba(255,255,255,.80) !important;
    font-size: 18px;
    line-height: 1.75;
}

.az-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.az-hero__proof {
    margin-top: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    max-width: 890px;
    border-top: 1px solid rgba(255,255,255,.22);
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.az-hero__proof-item {
    min-height: 112px;
    padding: 24px 28px 22px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(255,255,255,.16);
}
.az-hero__proof-item + .az-hero__proof-item { padding-left: 28px; }
.az-hero__proof-item:last-child { border-right: 0; }
.az-hero__proof-kicker { color: #d7bd74; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.az-hero__proof-item strong { margin-top: 5px; color: #fff; font-size: 17px; }
.az-hero__proof-item small { margin-top: 3px; color: rgba(255,255,255,.6); font-size: 12px; }

.az-hero__scroll {
    position: absolute;
    z-index: 3;
    right: 32px;
    bottom: 46px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    transform: rotate(-90deg) translateX(100%);
    transform-origin: right bottom;
}
.az-hero__scroll span { display: block; width: 46px; height: 1px; background: rgba(255,255,255,.5); }
.az-hero__scroll:hover { color: #fff; }

/* Shared section heading */
.az-section-head { max-width: 760px; margin-bottom: 54px; }
.az-section-head h2,
.az-copy-block h2,
.az-process h2,
.az-partner-message h2 {
    margin: 0;
    color: var(--az-navy);
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.08;
    font-weight: 700;
}
.az-section-head__copy { max-width: 670px; margin: 20px 0 0; font-size: 17px; }
.az-section-head--split {
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0,1.6fr) minmax(280px,.8fr);
    gap: 70px;
    align-items: end;
}
.az-section-head--split > p { margin: 0 0 5px; font-size: 16px; line-height: 1.85; }
.az-section-head--light h2 { color: #fff; }
.az-section-head--light > p { color: rgba(255,255,255,.67); }

/* Intro */
.az-intro { padding: 130px 0; background: #fff; }
.az-intro__visual { min-height: 610px; position: relative; }
.az-intro__main-image {
    width: 88%;
    height: 535px;
    overflow: hidden;
    box-shadow: 0 34px 70px rgba(11, 25, 52, .14);
}
.az-intro__main-image img { width: 100%; height: 100%; object-fit: cover; }
.az-intro__detail-image {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 45%;
    height: 230px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(11, 25, 52, .16);
}
.az-intro__detail-image img { width: 100%; height: 100%; object-fit: cover; }
.az-intro__badge {
    position: absolute;
    left: 28px;
    bottom: 22px;
    width: 132px;
    height: 132px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--az-gold);
    color: var(--az-navy);
}
.az-intro__badge strong { font-size: 34px; line-height: 1; }
.az-intro__badge span { margin-top: 7px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.az-copy-block { padding-left: 34px; }
.az-copy-block .az-lead-copy { margin: 28px 0 18px; color: #303a4d; font-size: 18px; line-height: 1.8; }
.az-copy-block > p:not(.az-eyebrow) { line-height: 1.9; }
.az-copy-block .az-text-link { margin-top: 12px; }

/* Values */
.az-values { padding: 120px 0; background: var(--az-cream); }
.az-value-card {
    height: 100%;
    min-height: 340px;
    padding: 38px 34px;
    position: relative;
    background: #fff;
    border: 1px solid rgba(7,26,53,.08);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.az-value-card:hover { transform: translateY(-7px); border-color: rgba(201,163,77,.5); box-shadow: 0 25px 55px rgba(7,26,53,.08); }
.az-value-card > i { display: inline-block; margin: 18px 0 36px; color: var(--az-gold); font-size: 54px; line-height: 1; }
.az-value-card h3 { margin-bottom: 15px; color: var(--az-navy); font-size: 25px; }
.az-value-card p { margin: 0; line-height: 1.8; }
.az-card-number { position: absolute; top: 26px; right: 28px; color: #b2b8c2; font-size: 11px; font-weight: 800; letter-spacing: .12em; }

/* Services */
.az-services { padding: 130px 0; background: #fff; }
.az-services__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--az-line); border-left: 1px solid var(--az-line); }
.az-service-card {
    min-height: 315px;
    padding: 35px;
    position: relative;
    display: flex;
    flex-direction: column;
    color: inherit;
    background: #fff;
    border-right: 1px solid var(--az-line);
    border-bottom: 1px solid var(--az-line);
    overflow: hidden;
}
.az-service-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background: var(--az-gold);
    transition: width .3s ease;
}
.az-service-card:hover::after { width: 100%; }
.az-service-card:hover { color: inherit; background: #fcfbf7; }
.az-service-card > span,
.az-service-card__content > span { color: #a1a7b0; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.az-service-card > i { margin: 32px 0 25px; color: var(--az-gold); font-size: 48px; }
.az-service-card h3 { margin: 0 0 15px; color: var(--az-navy); font-size: 24px; line-height: 1.22; }
.az-service-card p { margin: 0 0 22px; line-height: 1.75; }
.az-service-card strong { margin-top: auto; display: flex; align-items: center; gap: 6px; color: var(--az-navy); font-size: 13px; }
.az-service-card strong i { font-size: 20px; }
.az-service-card--feature {
    grid-row: span 2;
    min-height: 630px;
    display: flex;
    justify-content: flex-end;
    color: #fff;
    background:
        linear-gradient(0deg, rgba(2,15,35,.94), rgba(2,15,35,.22)),
        url('assets/img/hero-slider-img/hero-slider-img-2.jpg') center/cover no-repeat;
}
.az-service-card--feature:hover { color: #fff; background:
        linear-gradient(0deg, rgba(2,15,35,.96), rgba(2,15,35,.32)),
        url('assets/img/hero-slider-img/hero-slider-img-2.jpg') center/cover no-repeat; }
.az-service-card--feature h3 { margin-top: 18px; color: #fff; font-size: 38px; }
.az-service-card--feature p { max-width: 420px; color: rgba(255,255,255,.76); font-size: 16px; }
.az-service-card--feature strong { color: #e7c978; }
.az-service-card--feature span { color: #e7c978; }

/* Work */
.az-work { padding: 130px 0 105px; background: var(--az-navy); }
.az-project-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; grid-template-rows: 330px 330px; gap: 14px; }
.az-project { position: relative; overflow: hidden; background: #0b2447; }
.az-project--large { grid-row: 1 / span 2; }
.az-project--wide { grid-column: 2 / span 2; }
.az-project img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.az-project::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(2,13,31,.86), transparent 58%); }
.az-project:hover img { transform: scale(1.04); filter: saturate(.86); }
.az-project__overlay { position:absolute; z-index:2; left:30px; right:25px; bottom:26px; }
.az-project__overlay span { color:#dec278; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.az-project__overlay h3 { margin:7px 0 0; color:#fff; font-size:22px; line-height:1.25; }
.az-project--large .az-project__overlay h3 { font-size:31px; }
.az-work__footer { margin-top: 38px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.az-work__footer p { margin:0; color:rgba(255,255,255,.64); font-size:16px; }

/* Numbers */
.az-numbers { background: var(--az-gold); }
.az-numbers__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.az-number { min-height:220px; padding:46px 30px; border-right:1px solid rgba(7,26,53,.16); }
.az-number:first-child { border-left:1px solid rgba(7,26,53,.16); }
.az-number strong { display:block; color:var(--az-navy); font-size:46px; line-height:1; letter-spacing:-.045em; }
.az-number strong span { font-size:.48em; letter-spacing:0; }
.az-number p { max-width:220px; margin:18px 0 0; color:rgba(7,26,53,.75); line-height:1.6; font-size:13px; font-weight:700; }

/* Process */
.az-process { padding:135px 0; background:#fff; }
.az-process__sticky { position:sticky; top:130px; padding-right:55px; }
.az-process__sticky > p:not(.az-eyebrow) { margin:25px 0; font-size:17px; line-height:1.85; }
.az-process__steps { margin:0; padding:0; list-style:none; border-top:1px solid var(--az-line); }
.az-process__steps li { display:grid; grid-template-columns:75px 1fr; gap:25px; padding:34px 0; border-bottom:1px solid var(--az-line); }
.az-process__steps > li > span { padding-top:4px; color:var(--az-gold); font-size:12px; font-weight:800; letter-spacing:.14em; }
.az-process__steps h3 { margin:0 0 10px; color:var(--az-navy); font-size:25px; }
.az-process__steps p { margin:0; max-width:610px; line-height:1.75; }

/* Why Azure */
.az-partner-message { padding:0 0 130px; background:#fff; }
.az-partner-message__card { overflow:hidden; background:var(--az-cream); }
.az-partner-message__image { height:100%; min-height:540px; background:#e8e5dc; }
.az-partner-message__image img { width:100%; height:100%; object-fit:cover; }
.az-partner-message__copy { padding:70px 72px; }
.az-partner-message__copy > p:not(.az-eyebrow) { margin:24px 0 28px; line-height:1.85; font-size:16px; }
.az-checks { display:grid; grid-template-columns:1fr 1fr; gap:13px 24px; }
.az-checks span { display:flex; align-items:flex-start; gap:9px; color:#344054; font-size:14px; font-weight:700; }
.az-checks i { margin-top:2px; color:var(--az-gold); font-size:20px; }

/* Final CTA */
.az-final-cta { min-height:590px; position:relative; display:flex; align-items:center; background:var(--az-navy); }
.az-final-cta__media { position:absolute; inset:0; background:
    linear-gradient(90deg, rgba(3,14,31,.96) 0%, rgba(3,14,31,.80) 48%, rgba(3,14,31,.44) 100%),
    url('assets/img/hero-slider-img/hero-slider-img-3.jpg') center/cover no-repeat; }
.az-final-cta .container { position:relative; z-index:2; }
.az-final-cta__content { max-width:820px; padding:90px 0; }
.az-final-cta h2 { margin:0; color:#fff; font-size:clamp(42px,5vw,68px); line-height:1.04; }
.az-final-cta__content > p:not(.az-eyebrow) { max-width:670px; margin:25px 0 32px; color:rgba(255,255,255,.72); font-size:17px; line-height:1.8; }
.az-final-cta__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.az-final-cta__phone { display:inline-flex; align-items:center; gap:9px; color:#fff; font-size:15px; font-weight:800; }
.az-final-cta__phone i { color:#e4c774; font-size:23px; }
.az-final-cta__phone:hover { color:#e4c774; }

/* Premium nav treatment on homepage */
.home .main-nav { background:#fff; box-shadow:0 12px 32px rgba(7,26,53,.07); }
.home .main-nav nav .navbar-nav .nav-item a { font-weight:700; }
.home .current-menu-item > a,
.home .current-menu-ancestor > a { color:var(--az-gold) !important; }

@media (max-width: 1199px) {
    .az-hero { min-height: 700px; height:auto; }
    .az-hero__container { padding-top:110px; padding-bottom:55px; }
    .az-hero__content { padding-bottom:60px; }
    .az-intro__visual { min-height:530px; }
    .az-intro__main-image { height:465px; }
    .az-copy-block { padding-left:10px; }
    .az-project-grid { grid-template-rows:280px 280px; }
    .az-partner-message__copy { padding:55px 48px; }
}

@media (max-width: 991px) {
    .az-hero { min-height: 760px; }
    .az-hero__container { padding-top:105px; }
    .az-hero__proof { max-width:100%; }
    .az-hero__scroll { display:none; }
    .az-intro, .az-values, .az-services, .az-work, .az-process { padding-top:95px; padding-bottom:95px; }
    .az-intro__visual { max-width:680px; margin:0 auto 15px; }
    .az-copy-block { padding-left:0; }
    .az-section-head--split { grid-template-columns:1fr; gap:22px; align-items:start; }
    .az-services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .az-service-card--feature { grid-row:span 1; min-height:410px; }
    .az-project-grid { grid-template-columns:1fr 1fr; grid-template-rows:420px 270px 270px; }
    .az-project--large { grid-row:1; grid-column:1 / span 2; }
    .az-project--wide { grid-column:1 / span 2; }
    .az-numbers__grid { grid-template-columns:1fr 1fr; }
    .az-number:nth-child(3) { border-left:1px solid rgba(7,26,53,.16); }
    .az-number:nth-child(-n+2) { border-bottom:1px solid rgba(7,26,53,.16); }
    .az-process__sticky { position:static; padding-right:0; margin-bottom:25px; }
    .az-partner-message { padding-bottom:95px; }
    .az-partner-message__image { min-height:420px; }
}

@media (max-width: 767px) {
    .az-hero { min-height: 740px; }
    .az-hero__media { background-position: 62% center; }
    .az-hero__veil { background:linear-gradient(90deg, rgba(3,14,31,.95), rgba(3,14,31,.68)); }
    .az-hero__container { padding-top:85px; padding-bottom:34px; }
    .az-hero__content { padding-bottom:38px; }
    .az-hero h1 { font-size:clamp(43px,13vw,62px); }
    .az-hero__lead { margin:21px 0 28px; font-size:16px; line-height:1.7; }
    .az-hero__actions { flex-direction:column; align-items:stretch; max-width:370px; }
    .az-hero__proof { grid-template-columns:1fr; }
    .az-hero__proof-item { min-height:78px; padding:15px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
    .az-hero__proof-item + .az-hero__proof-item { padding-left:0; }
    .az-hero__proof-item:last-child { border-bottom:0; }
    .az-intro, .az-values, .az-services, .az-work, .az-process { padding-top:75px; padding-bottom:75px; }
    .az-intro__visual { min-height:410px; }
    .az-intro__main-image { width:92%; height:355px; }
    .az-intro__detail-image { width:46%; height:160px; }
    .az-intro__badge { left:15px; bottom:10px; width:105px; height:105px; padding:15px; }
    .az-intro__badge strong { font-size:28px; }
    .az-section-head { margin-bottom:38px; }
    .az-section-head h2, .az-copy-block h2, .az-process h2, .az-partner-message h2 { font-size:37px; }
    .az-services__grid { grid-template-columns:1fr; }
    .az-service-card { min-height:285px; padding:30px; }
    .az-service-card--feature { min-height:430px; }
    .az-project-grid { display:flex; flex-direction:column; }
    .az-project { height:290px; }
    .az-project--large { height:430px; }
    .az-work__footer { align-items:flex-start; flex-direction:column; }
    .az-numbers__grid { grid-template-columns:1fr; }
    .az-number, .az-number:first-child, .az-number:nth-child(3) { min-height:170px; border-left:1px solid rgba(7,26,53,.16); border-bottom:1px solid rgba(7,26,53,.16); }
    .az-number:last-child { border-bottom:0; }
    .az-process__steps li { grid-template-columns:50px 1fr; gap:12px; }
    .az-partner-message { padding-bottom:75px; }
    .az-partner-message__image { min-height:330px; }
    .az-partner-message__copy { padding:42px 28px; }
    .az-checks { grid-template-columns:1fr; }
    .az-final-cta { min-height:560px; }
    .az-final-cta__content { padding:70px 0; }
    .az-final-cta h2 { font-size:41px; }
}

@media (prefers-reduced-motion: reduce) {
    .az-btn,
    .az-value-card,
    .az-project img { transition:none; }
}
