/*
Theme Name: Estra
Theme URI: https://estra.com.au/
Author: Estra
Description: Estra — Civil, Infrastructure & Mining. Modular WordPress theme rebuilt from the React site with clean HTML/CSS/JS for easy editing.
Version: 1.1.0
License: GPL-2.0-or-later
Text Domain: estra
*/

/* ============================================================
   Design tokens
   ============================================================ */
:root {
  --navy-deep:#0b1a33;
  --navy:#13284a;
  --cyan:#22c4e6;
  --cyan-glow:#5fd9ef;
  --bg:#fbfbfd;
  --fg:#0f1a2e;
  --card:#ffffff;
  --muted:#5b6b82;
  --border:#e3e7ee;
  --secondary:#f1f4f9;
  --radius:.5rem;
  --shadow-elegant:0 20px 50px -20px rgba(11,26,51,.35);
  --shadow-glow:0 0 60px rgba(34,196,230,.35);
  --gradient-hero:linear-gradient(135deg,rgba(11,26,51,.92) 0%,rgba(19,40,74,.78) 60%,rgba(34,68,120,.6) 100%);
  --gradient-cyan:linear-gradient(135deg,var(--cyan),var(--cyan-glow));
  --max:1200px;
  --font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ============================================================
   Base
   ============================================================ */
*{box-sizing:border-box;border-color:var(--border)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{letter-spacing:-.02em;margin:0;line-height:1.1}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none}

.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.eyebrow{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:var(--cyan)}
.section{padding:6rem 0}
@media(min-width:768px){.section{padding:8rem 0}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;transition:all .2s ease;cursor:pointer}
.btn-primary{background:var(--gradient-cyan);color:var(--navy-deep);box-shadow:var(--shadow-glow)}
.btn-primary:hover{opacity:.9}
.btn-outline{border:1px solid rgba(255,255,255,.3);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-arrow::after{content:"→";margin-left:.25rem;transition:transform .2s}
.btn-arrow:hover::after{transform:translateX(3px)}

/* ============================================================
   Header
   ============================================================ */
.site-header{position:sticky;top:0;z-index:30;background:rgba(11,26,51,.95);backdrop-filter:blur(10px)}
.site-header.transparent{position:absolute;inset:0 0 auto 0;background:transparent;backdrop-filter:none}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.5rem;max-width:var(--max);margin:0 auto}
.site-header .logo img{height:2.75rem;width:auto;filter:brightness(0) invert(1)}
.main-nav{display:none;gap:1.5rem;align-items:center}
.main-nav a{font-size:.875rem;color:rgba(255,255,255,.8);transition:color .2s}
.main-nav a:hover,.main-nav a.active{color:var(--cyan)}
.main-nav a.active{font-weight:500}
.header-right{display:flex;align-items:center;gap:1rem}
.header-phone{display:none;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.9)}
.header-phone .ico{color:var(--cyan)}
.header-phone:hover{color:var(--cyan)}
.btn-header{background:var(--gradient-cyan);color:var(--navy-deep);padding:.55rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:600;box-shadow:var(--shadow-glow)}
.btn-header:hover{opacity:.9}
.menu-toggle{display:inline-flex;color:#fff;padding:.5rem}
@media(min-width:768px){.header-phone{display:inline-flex}}
@media(min-width:1024px){.main-nav{display:flex}.menu-toggle{display:none}}

/* Mobile nav drawer */
.mobile-nav{display:none;background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.1);padding:1rem 1.5rem}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:.65rem 0;color:rgba(255,255,255,.85);font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-nav a:last-child{border-bottom:none}

/* ============================================================
   Hero (home)
   ============================================================ */
.hero{position:relative;isolate:isolate;min-height:92vh;overflow:hidden;background:var(--navy-deep);color:#fff}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.hero .overlay{position:absolute;inset:0;background:var(--gradient-hero)}
.hero .inner{position:relative;z-index:10;max-width:var(--max);margin:0 auto;padding:8rem 1.5rem 5rem;min-height:92vh;display:flex;flex-direction:column;justify-content:center}
.hero .tag{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;padding:.4rem 1rem;border:1px solid rgba(34,196,230,.3);background:rgba(34,196,230,.1);border-radius:9999px;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--cyan);margin-bottom:1.5rem}
.hero .tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan)}
.hero h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;max-width:60rem}
.hero h1 .accent{color:var(--cyan)}
.hero .lead{margin-top:1.5rem;max-width:38rem;font-size:1.125rem;color:rgba(255,255,255,.8)}
@media(min-width:768px){.hero .lead{font-size:1.25rem}}
.hero .ctas{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}
.hero .stats{margin-top:5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;max-width:48rem;border-top:1px solid rgba(255,255,255,.15);padding-top:2rem}
.hero .stats dt{font-size:1.5rem;font-weight:700;color:var(--cyan)}
@media(min-width:768px){.hero .stats dt{font-size:1.875rem}}
.hero .stats dd{margin:.25rem 0 0;font-size:.875rem;color:rgba(255,255,255,.7)}

/* Section heading */
.s-head{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}
@media(min-width:768px){.s-head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.s-head h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;max-width:40rem}
.s-head p{max-width:28rem;color:var(--muted)}

/* Services grid */
.svc-grid{margin-top:3.5rem;display:grid;gap:1.5rem}
@media(min-width:768px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.svc-card{position:relative;display:block;overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--card);padding:2rem;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .2s ease;color:inherit}
.svc-card:hover{transform:translateY(-4px);border-color:rgba(34,196,230,.4);box-shadow:var(--shadow-elegant)}
.svc-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.5rem;background:var(--navy-deep);color:var(--cyan);margin-bottom:1.5rem}
.svc-card h3{font-size:1.5rem;font-weight:600;color:var(--navy-deep)}
.svc-card .desc{margin-top:.75rem;color:var(--muted)}
.svc-points{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.svc-points li{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:rgba(15,26,46,.8)}
.svc-points li::before{content:"";flex-shrink:0;width:.75rem;height:.25rem;background:var(--cyan);margin-top:.55rem}
.svc-card .more{margin-top:1.75rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--cyan)}

/* Edge section (dark) */
.dark-sec{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;padding:6rem 0}
@media(min-width:768px){.dark-sec{padding:8rem 0}}
.dark-sec::before{content:"";position:absolute;inset:0;opacity:.2;background:radial-gradient(circle at 20% 20%,rgba(34,196,230,.4),transparent 40%),radial-gradient(circle at 80% 70%,rgba(34,196,230,.25),transparent 45%)}
.dark-sec .container{position:relative}
.edge-grid{display:grid;gap:4rem}
@media(min-width:1024px){.edge-grid{grid-template-columns:1fr 1fr;align-items:center}}
.edge-grid h2{margin-top:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:700}
.edge-grid h2 .accent{color:var(--cyan)}
.edge-grid .lead{margin-top:1.5rem;max-width:32rem;color:rgba(255,255,255,.75)}
.edge-pills{margin-top:2.5rem;display:grid;gap:1.25rem}
@media(min-width:640px){.edge-pills{grid-template-columns:1fr 1fr}}
.edge-pill{padding:1.25rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:.5rem;backdrop-filter:blur(8px)}
.edge-pill .ico{color:var(--cyan);width:24px;height:24px}
.edge-pill h3{margin-top:.75rem;font-size:1rem;font-weight:600}
.edge-pill p{margin-top:.25rem;font-size:.875rem;color:rgba(255,255,255,.7)}
.edge-img{position:relative}
.edge-img::before{content:"";position:absolute;inset:-1rem;background:var(--gradient-cyan);opacity:.2;filter:blur(40px);border-radius:1rem}
.edge-img img{position:relative;border-radius:.75rem;box-shadow:var(--shadow-elegant);object-fit:cover}

/* Sectors */
.sec-grid{margin-top:3.5rem;display:grid;gap:1.5rem}
@media(min-width:768px){.sec-grid{grid-template-columns:repeat(3,1fr)}}
.sec-card{overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--card);box-shadow:0 1px 2px rgba(0,0,0,.04);transition:box-shadow .2s}
.sec-card:hover{box-shadow:var(--shadow-elegant)}
.sec-card .ph{position:relative;height:14rem;overflow:hidden}
.sec-card .ph img{height:100%;width:100%;object-fit:cover;transition:transform .7s}
.sec-card:hover .ph img{transform:scale(1.05)}
.sec-card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,26,51,.8),transparent)}
.sec-card h3{position:absolute;bottom:1rem;left:1.25rem;font-size:1.5rem;font-weight:700;color:#fff;z-index:2}
.sec-card p{padding:1.5rem;color:var(--muted)}

/* Support (numbered) */
.support-sec{background:var(--secondary);padding:6rem 0}
@media(min-width:768px){.support-sec{padding:8rem 0}}
.support-sec h2{margin-top:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:700;max-width:48rem}
.support-sec .lead{margin-top:1.5rem;font-size:1.125rem;color:var(--muted);max-width:48rem}
.phases{margin-top:3.5rem;display:grid;gap:1px;overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--border)}
@media(min-width:768px){.phases{grid-template-columns:repeat(4,1fr)}}
.phase{position:relative;background:var(--card);padding:2rem;transition:background .2s}
.phase:hover{background:var(--navy-deep)}
.phase .n{font-size:3rem;font-weight:900;color:rgba(34,196,230,.3);transition:color .2s}
.phase:hover .n{color:var(--cyan)}
.phase h3{margin-top:1rem;font-size:1.125rem;font-weight:600;color:var(--navy-deep);transition:color .2s}
.phase:hover h3{color:#fff}
.phase p{margin-top:.5rem;font-size:.875rem;color:var(--muted);transition:color .2s}
.phase:hover p{color:rgba(255,255,255,.7)}

/* Contact */
.contact-sec{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;padding:6rem 0}
@media(min-width:768px){.contact-sec{padding:8rem 0}}
.contact-sec::before{content:"";position:absolute;inset:0;opacity:.3;background:radial-gradient(circle at 70% 30%,rgba(34,196,230,.5),transparent 50%)}
.contact-grid{position:relative;display:grid;gap:4rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-sec h2{margin-top:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:700}
.contact-sec h2 .accent{color:var(--cyan)}
.contact-sec .lead{margin-top:1.5rem;max-width:28rem;color:rgba(255,255,255,.75)}
.contact-rows{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.contact-row{display:flex;align-items:flex-start;gap:1rem;transition:color .2s}
.contact-row:hover{color:var(--cyan)}
.contact-row .ico{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.15);color:var(--cyan);flex-shrink:0}
.contact-row .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5)}
.contact-row .val{font-weight:500}

.cform{border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);padding:2rem;backdrop-filter:blur(8px)}
.cform h3{font-size:1.25rem;font-weight:600}
.cform .help{margin-top:.25rem;font-size:.875rem;color:rgba(255,255,255,.6)}
.cform .grid{margin-top:1.5rem;display:grid;gap:1rem}
@media(min-width:640px){.cform .grid{grid-template-columns:1fr 1fr}}
.cform .full{grid-column:1/-1}
.field label{display:block;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6)}
.field input,.field textarea{margin-top:.5rem;width:100%;border-radius:var(--radius);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);padding:.75rem 1rem;font-size:.875rem;color:#fff;font-family:inherit;outline:none;transition:all .2s}
.field input:focus,.field textarea:focus{border-color:var(--cyan);background:rgba(255,255,255,.1)}
.cform .submit{margin-top:1.5rem;width:100%;justify-content:center}

/* ============================================================
   Service / Page hero
   ============================================================ */
.page-hero{position:relative;isolate:isolate;overflow:hidden;background:var(--navy-deep);color:#fff;padding:10rem 0 6rem}
@media(min-width:768px){.page-hero{padding:12rem 0 8rem}}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.page-hero .overlay{position:absolute;inset:0;background:var(--gradient-hero)}
.page-hero .inner{position:relative;z-index:10;max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.back-link{font-size:.72rem;text-transform:uppercase;letter-spacing:.25em;color:var(--cyan)}
.back-link:hover{text-decoration:underline}
.page-hero .tag{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;padding:.4rem 1rem;border:1px solid rgba(34,196,230,.3);background:rgba(34,196,230,.1);border-radius:9999px;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--cyan);margin-top:1.5rem}
.page-hero h1{margin-top:1.25rem;max-width:60rem;font-size:clamp(2.25rem,5vw,4.8rem);font-weight:700;line-height:1.08}
.page-hero h1 .accent{color:var(--cyan)}
.page-hero .lead{margin-top:1.5rem;max-width:38rem;font-size:1.125rem;color:rgba(255,255,255,.8)}
.page-hero .ctas{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}

/* Outcomes strip */
.outcomes{border-bottom:1px solid var(--border);background:var(--secondary);padding:2.5rem 0}
.outcomes ul{margin-top:1.25rem;display:grid;gap:.75rem}
@media(min-width:768px){.outcomes ul{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.outcomes ul{grid-template-columns:repeat(4,1fr)}}
.outcomes li{display:flex;gap:.5rem;font-size:.875rem;color:rgba(15,26,46,.8)}
.outcomes li::before{content:"✓";color:var(--cyan);font-weight:700;flex-shrink:0}

/* Capabilities */
.caps{padding:6rem 0}
@media(min-width:768px){.caps{padding:7rem 0}}
.caps h2{margin-top:1rem;max-width:48rem;font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:700}
.caps .grid{margin-top:3rem;display:grid;gap:1.5rem}
@media(min-width:768px){.caps .grid{grid-template-columns:1fr 1fr}}
.cap{position:relative;overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--card);padding:1.75rem;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:all .2s}
.cap:hover{transform:translateY(-4px);border-color:rgba(34,196,230,.4);box-shadow:var(--shadow-elegant)}
.cap .icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:.5rem;background:var(--navy-deep);color:var(--cyan);margin-bottom:1.25rem}
.cap h3{font-size:1.25rem;font-weight:600;color:var(--navy-deep)}
.cap p{margin-top:.5rem;color:var(--muted)}
.cap ul{margin-top:1.25rem;display:grid;gap:.5rem}
@media(min-width:640px){.cap ul{grid-template-columns:1fr 1fr}}
.cap ul li{display:flex;gap:.5rem;font-size:.875rem;color:rgba(15,26,46,.8)}
.cap ul li::before{content:"";flex-shrink:0;width:.75rem;height:.25rem;background:var(--cyan);margin-top:.55rem}

/* Why + CTA */
.why-cta{display:grid;gap:3.5rem;position:relative}
@media(min-width:1024px){.why-cta{grid-template-columns:1fr 1fr}}
.why-cta h2{margin-top:1rem;font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:700}
.why-list{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
.why-list li{display:flex;gap:.75rem;color:rgba(255,255,255,.85)}
.why-list li::before{content:"✓";color:var(--cyan);font-weight:700;flex-shrink:0;margin-top:.15rem}
.cta-card{border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);padding:2rem;backdrop-filter:blur(8px)}
.cta-card h3{font-size:1.5rem;font-weight:600}
.cta-card p{margin-top:.75rem;color:rgba(255,255,255,.75)}
.cta-card .ctas{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem}

/* Related */
.related{padding:5rem 0}
.related h2{margin-top:.75rem;font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700}
.related-grid{margin-top:2rem;display:grid;gap:1.25rem}
@media(min-width:768px){.related-grid{grid-template-columns:repeat(3,1fr)}}
.related-card{display:flex;align-items:center;justify-content:space-between;border-radius:.75rem;border:1px solid var(--border);background:var(--card);padding:1.5rem;transition:all .2s;color:var(--navy-deep);font-weight:600}
.related-card:hover{transform:translateY(-4px);border-color:rgba(34,196,230,.4);box-shadow:var(--shadow-elegant)}
.related-card .arr{color:var(--cyan);transition:transform .2s}
.related-card:hover .arr{transform:translateX(4px)}

/* Reference clone tuning for Project Delivery */
.page-template-page-project-delivery .page-hero,
.page-template-page-services-project-delivery .page-hero{padding:11rem 0 7.5rem;min-height:50rem}
.page-template-page-project-delivery .page-hero .bg,
.page-template-page-services-project-delivery .page-hero .bg{opacity:.2}
.page-template-page-project-delivery .page-hero .overlay,
.page-template-page-services-project-delivery .page-hero .overlay{background:linear-gradient(90deg,rgba(7,20,58,.96) 0%,rgba(10,30,77,.92) 44%,rgba(9,24,64,.78) 72%,rgba(8,20,53,.9) 100%)}
.page-template-page-project-delivery .page-hero .inner,
.page-template-page-services-project-delivery .page-hero .inner{padding-top:5rem}
.page-template-page-project-delivery .page-hero h1,
.page-template-page-services-project-delivery .page-hero h1{max-width:48rem;font-size:clamp(3rem,6vw,5.2rem)}
.page-template-page-project-delivery .page-hero .lead,
.page-template-page-services-project-delivery .page-hero .lead{max-width:44rem;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.76)}
.page-template-page-project-delivery .page-hero .ctas .btn-primary,
.page-template-page-services-project-delivery .page-hero .ctas .btn-primary{background:rgba(7,22,58,.9);color:#06152e;border:1px solid rgba(34,196,230,.12);box-shadow:0 18px 50px -25px rgba(34,196,230,.55);color:rgba(255,255,255,.08)}
.page-template-page-project-delivery .page-hero .ctas .btn-outline,
.page-template-page-services-project-delivery .page-hero .ctas .btn-outline{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.02);color:#fff}
.page-template-page-project-delivery .outcomes,
.page-template-page-services-project-delivery .outcomes{padding:2.3rem 0 2.6rem;background:#eef2f7}
.page-template-page-project-delivery .outcomes ul,
.page-template-page-services-project-delivery .outcomes ul{gap:1.6rem}

@media(min-width:1280px){
  .page-template-page-project-delivery .page-hero .inner,
  .page-template-page-services-project-delivery .page-hero .inner{padding-left:2rem;padding-right:2rem}
}

/* Build-with-us */
.bwu-hero{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;padding:6rem 0;text-align:center}
@media(min-width:768px){.bwu-hero{padding:8rem 0}}
.bwu-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.bwu-hero .overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,26,51,.7),rgba(11,26,51,.85),var(--navy-deep))}
.bwu-hero .inner{position:relative;z-index:10;max-width:64rem;margin:0 auto;padding:0 1.5rem}
.bwu-hero h1{margin-top:1rem;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:700;letter-spacing:-.02em}
.bwu-hero .lead{margin:1.5rem auto 0;max-width:36rem;font-size:1.125rem;color:rgba(255,255,255,.85)}
.bwu-hero .ctas{margin-top:2.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}

.bwu-intro{max-width:64rem;margin:0 auto;padding:5rem 1.5rem 7rem}
.bwu-intro .row{display:grid;gap:2.5rem}
@media(min-width:768px){.bwu-intro .row{grid-template-columns:2fr 3fr}}
.bwu-intro h2{margin-top:.75rem;font-size:clamp(1.875rem,3.5vw,2.25rem);font-weight:700}
.bwu-intro .body{font-size:1.125rem;color:var(--muted);line-height:1.7}
.bwu-pillars{margin-top:4rem;display:grid;gap:1.5rem}
@media(min-width:768px){.bwu-pillars{grid-template-columns:repeat(3,1fr)}}
.bwu-pillar{border-radius:1rem;border:1px solid var(--border);background:var(--card);padding:1.5rem;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.bwu-pillar .ico{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.5rem;background:var(--gradient-cyan);color:var(--navy-deep)}
.bwu-pillar h3{margin-top:1rem;font-size:1.125rem;font-weight:600}
.bwu-pillar p{margin-top:.5rem;font-size:.875rem;color:var(--muted)}

.bwu-cta{position:relative;overflow:hidden;background:var(--navy-deep);color:#fff;padding:5rem 0;text-align:center}
@media(min-width:768px){.bwu-cta{padding:7rem 0}}
.bwu-cta .inner{max-width:56rem;margin:0 auto;padding:0 1.5rem}
.bwu-cta h2{margin-top:1rem;font-size:clamp(1.875rem,4vw,3rem);font-weight:700;letter-spacing:-.02em}
.bwu-cta .lead{margin:1.5rem auto 0;max-width:36rem;color:rgba(255,255,255,.8)}
.bwu-list{margin:2.5rem auto 0;max-width:36rem;display:grid;gap:.75rem;text-align:left}
@media(min-width:640px){.bwu-list{grid-template-columns:1fr 1fr}}
.bwu-list li{display:flex;gap:.5rem;font-size:.875rem;color:rgba(255,255,255,.85)}
.bwu-list li::before{content:"✓";color:var(--cyan);font-weight:700}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:3rem 0 1.5rem}
.site-footer .top{display:grid;gap:2.5rem;max-width:var(--max);margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.site-footer .top{grid-template-columns:repeat(4,1fr)}}
.site-footer .logo img{height:3rem;filter:brightness(0) invert(1)}
.site-footer h4{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:var(--cyan);margin-bottom:1rem}
.site-footer ul li{margin-bottom:.65rem;font-size:.875rem}
.site-footer a{transition:color .2s}
.site-footer a:hover{color:var(--cyan)}
.site-footer .row{display:flex;align-items:center;gap:.5rem}
.site-footer .row svg{color:var(--cyan);flex-shrink:0}
.site-footer .bottom{max-width:var(--max);margin:2.5rem auto 0;padding:1.5rem 1.5rem 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.75rem;font-size:.72rem;align-items:center}
@media(min-width:768px){.site-footer .bottom{flex-direction:row;justify-content:space-between}}

/* utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Feature showcase section (subpages) */
.feature-showcase{padding:5rem 0;background:var(--bg-soft,#f7fafc)}
.feature-showcase .grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.feature-showcase .grid{grid-template-columns:1.05fr 1fr}}
.feature-showcase .copy .eyebrow{color:var(--cyan,#06b6d4);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}
.feature-showcase .copy h2{margin:.5rem 0 1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--navy-deep,#0b1b2b)}
.feature-showcase .copy p{color:var(--muted-fg,#475569);line-height:1.65}
.feature-showcase .stats{margin-top:1.75rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.feature-showcase .stat{padding:1rem;border-left:3px solid var(--cyan,#06b6d4);background:#fff;border-radius:.25rem}
.feature-showcase .stat .num{font-size:1.5rem;font-weight:700;color:var(--navy-deep,#0b1b2b);display:block}
.feature-showcase .stat .lbl{font-size:.78rem;color:var(--muted-fg,#64748b);text-transform:uppercase;letter-spacing:.05em}
.feature-showcase .visual{position:relative;border-radius:1rem;overflow:hidden;box-shadow:0 25px 60px -20px rgba(6,30,55,.35)}
.feature-showcase .visual img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .8s ease}
.feature-showcase .visual:hover img{transform:scale(1.04)}
.feature-showcase .visual::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,182,212,.0),rgba(11,27,43,.15));pointer-events:none}
.feature-showcase .visual .badge{position:absolute;left:1.25rem;bottom:1.25rem;background:rgba(11,27,43,.85);color:#fff;padding:.5rem .9rem;border-radius:999px;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px)}
