/*
Theme Name: Western Sydney Excavation
Description: Custom lead-gen theme. Split hero, slate chrome, rust accents.
Version: 3.0.0
Text Domain: wse
*/

:root {
  --ink: #22252a;
  --ink-soft: #3a3f46;
  --slate: #2e3440;
  --slate-deep: #232833;
  --sand-50: #faf7f2;
  --sand-100: #f0ebe1;
  --rust: #c25e10;
  --rust-deep: #9a4a0b;
  --leaf: #3d7a4a;
  --white: #fff;
  --radius: 14px;
  --shadow: 0 4px 18px rgba(20,24,30,.09);
  --maxw: 1140px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
       color: var(--ink); background: var(--sand-50); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color: inherit; }

h1,h2,h3,h4 { margin:0 0 12px; line-height:1.15; letter-spacing:-.015em; }
h1 { font-size: clamp(1.9rem, 4vw, 2.85rem); font-weight:800; }
h2 { font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight:800; }
h3 { font-size:1.08rem; font-weight:700; }
p { margin:0 0 15px; color:var(--ink-soft); }

.container { max-width: var(--maxw); margin:0 auto; padding:0 22px; }

.topbar { background:var(--slate-deep); color:#e8ebf0; font-size:.9rem; padding:8px 0; text-align:center; }
.topbar strong { color:#fff; }

.site-header { background:var(--white); border-bottom:3px solid var(--rust); position:sticky; top:0; z-index:50; box-shadow:0 1px 8px rgba(0,0,0,.05); }
.site-header .container { display:flex; align-items:center; justify-content:flex-start; gap:30px; min-height:66px; flex-wrap:wrap; }
.logo { font-weight:800; font-size:1.12rem; text-decoration:none; color:var(--slate); letter-spacing:-.02em; display:inline-flex; align-items:center; }
.logo b { color:var(--rust); font-weight:800; margin-left:6px; }
.nav-links { display:flex; gap:19px; list-style:none; margin:0; padding:0; flex:1; justify-content:center; }
.nav-links a { text-decoration:none; font-weight:600; font-size:.92rem; color:var(--ink-soft); }
.nav-links a:hover { color:var(--rust); }
.header-actions { display:flex; align-items:center; gap:13px; }
.header-phone { font-weight:800; text-decoration:none; color:var(--slate); font-size:.95rem; }

.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 21px; border-radius:999px;
       font-weight:700; text-decoration:none; border:none; cursor:pointer; font-size:.93rem; transition:all .15s; }
.btn-primary { background:var(--rust); color:#fff; }
.btn-primary:hover { background:var(--rust-deep); transform:translateY(-1px); }
.btn-outline { background:rgba(255,255,255,.12); color:#fff; border:2px solid rgba(255,255,255,.75); font-weight:800; }
.btn-dark { background:var(--slate); color:#fff; }
.btn-block { width:100%; justify-content:center; margin-top:16px; }

/* SPLIT HERO: dark panel left, clean photo right */
.hero-split { background:var(--slate-deep); }
.hero-split .container { display:grid; grid-template-columns:1.05fr .95fr; gap:0; min-height:500px; align-items:stretch; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:56px 44px 56px 0; }
.hero-copy .eyebrow-hero { display:inline-block; background:rgba(194,94,16,.25); color:#ffb066;
  font-weight:700; text-transform:uppercase; letter-spacing:.11em; font-size:.72rem;
  padding:6px 13px; border-radius:999px; margin-bottom:16px; width:max-content; }
.hero-copy h1 { color:#fff; }
.hero-copy .lead { color:#dfe3ea; font-size:1.07rem; }
.hero-ctas { display:flex; gap:11px; flex-wrap:wrap; margin-top:22px; }
.trust-inline { display:flex; gap:20px; flex-wrap:wrap; margin-top:24px; }
.trust-inline span { color:#eceef2; font-size:.88rem; display:inline-flex; align-items:center; gap:7px; }
.trust-inline span::before { content:''; width:8px;height:8px;border-radius:50%;background:#ff9d42;display:inline-block; }

/* badges row: two badges side by side */
.badges-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.badge-card { display:flex; align-items:center; gap:11px; background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.2); border-radius:12px; padding:10px 15px; backdrop-filter:blur(4px); }
.stars { color:#ffb937; font-size:.98rem; letter-spacing:2.5px; line-height:1; white-space:nowrap; }
.badge-card .tb-text strong { display:block; color:#fff; font-size:.86rem; }
.badge-card .tb-text small { color:#c9ced7; font-size:.74rem; }
.g-mark { width:26px;height:26px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;
  font-weight:900;font-family:Arial,sans-serif;font-size:1.05rem;flex-shrink:0;
  background:conic-gradient(from -45deg,#ea4335 110deg,#4285f4 110deg 235deg,#34a853 235deg 305deg,#fbbc05 305deg);color:transparent;
  position:relative; }
.g-mark::after { content:'G'; position:absolute; color:#fff; text-shadow:0 0 2px rgba(0,0,0,.35); }

.hero-photo { position:relative; min-height:420px; }
.hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; }

section { padding:58px 0; }
.kicker { color:var(--rust); font-weight:800; text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; display:block; margin-bottom:9px; }

.pain-card { background:var(--white); border:1px solid var(--sand-100); border-radius:var(--radius); padding:22px 24px; margin-top:13px; box-shadow:var(--shadow); display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:start; }
.pain-num { width:38px;height:38px;border-radius:50%;background:var(--sand-100);color:var(--rust-deep);font-weight:800;display:flex;align-items:center;justify-content:center; }
.pain-card h3 { margin-bottom:6px; }
.pain-card p { font-size:.94rem; margin-bottom:9px; }
.pain-cta { color:var(--rust-deep); font-weight:700; text-decoration:none; font-size:.9rem; }
.pain-cta:hover { text-decoration:underline; }

.service-row { display:grid; grid-template-columns:56px 1fr auto; gap:17px; align-items:center;
  background:var(--white); border:1px solid var(--sand-100); border-radius:var(--radius);
  padding:17px 20px; margin-top:11px; text-decoration:none; transition:border-color .15s; }
.service-row:hover { border-color:var(--rust); }
.service-row .icon { width:48px;height:48px;border-radius:12px;background:#fbeadd;display:flex;align-items:center;justify-content:center;font-size:1.5rem; }
.service-row h3 { margin-bottom:3px; color:var(--slate); }
.service-row p { margin:0; font-size:.9rem; }
.service-row .arrow { color:var(--rust); font-size:1.3rem; }

.gallery-band { background:var(--slate-deep); }
.gallery-band h2, .gallery-band p { color:#fff; }
.gallery-band .kicker { color:#ffb066; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:22px; }
.gallery-item { margin:0; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; background:#333; }
.gallery-item img { width:100%;height:100%;object-fit:cover; transition:transform .25s; }
.gallery-item:hover img { transform:scale(1.04); }
.gallery-item figcaption { position:absolute; left:0;right:0;bottom:0; background:linear-gradient(transparent, rgba(0,0,0,.85)); color:#fff; padding:24px 13px 10px; font-weight:600; font-size:.83rem; }

.steps-wrap { counter-reset:s; }
.step { position:relative; background:var(--white); border:1px solid var(--sand-100); border-radius:var(--radius); padding:17px 20px 17px 62px; margin-top:11px; }
.step::before { counter-increment:s; content:counter(s); position:absolute; left:16px; top:50%; transform:translateY(-50%);
  width:32px;height:32px;border-radius:50%;background:var(--rust);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.9rem; }
.step h3 { margin-bottom:4px; font-size:1rem; }
.step p { margin:0; font-size:.91rem; }

.area-strip { background:var(--slate); padding:44px 0; }
.area-strip h2 { color:#fff; }
.area-chips { display:flex;flex-wrap:wrap;gap:9px;margin-top:18px; }
.area-chips a { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); padding:8px 16px; border-radius:999px; text-decoration:none; color:#fff; font-weight:600; font-size:.87rem; }
.area-chips a:hover { background:var(--rust); border-color:var(--rust); }

.floating-quote { position:sticky; top:82px; background:var(--white); border-radius:var(--radius); padding:20px; box-shadow:0 10px 30px rgba(20,24,30,.13); border-top:4px solid var(--rust); }
.fq-title { font-size:1.15rem !important; margin-bottom:4px !important; }
.fq-sub { font-size:.85rem !important; margin-bottom:6px !important; }
.floating-quote label { display:block; font-weight:700; font-size:.82rem; margin-top:9px; color:var(--ink); }
.floating-quote input,.floating-quote select,.floating-quote textarea { width:100%;margin-top:4px;padding:9px 11px;border:1.5px solid #b9b2a3;border-radius:8px;font:inherit;font-size:.92rem;background:#fff; }
.floating-quote input:focus,.floating-quote select:focus,.floating-quote textarea:focus { outline:none;border-color:var(--rust);box-shadow:0 0 0 3px rgba(194,94,16,.15); }
.hp-field{position:absolute;left:-9999px;}
.error-banner{background:#fdecea;border:1px solid #f5c6c0;color:#8a1f11;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:.88rem;}

.factor-card { background:var(--white); border:1px solid var(--sand-100); border-radius:var(--radius); padding:18px 20px; margin-top:11px; box-shadow:var(--shadow); }
.factor-card h3 { color:var(--rust-deep); margin-bottom:5px; }
.factor-card p { margin:0; font-size:.94rem; }

.layout-grid { display:grid; grid-template-columns:1fr 350px; gap:36px; align-items:start; padding-top:54px; padding-bottom:54px; }

.site-footer { background:var(--slate-deep); color:#aab1bc; padding:44px 0 40px; }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:28px; }
.site-footer strong { color:#fff; }
.site-footer a { color:#e8eaee; text-decoration:none; }
.site-footer a:hover { color:#ffb066; }
.footer-note { font-size:.82rem; color:#8b93a0; }

/* footer map */
.footer-map { margin-top:36px; padding-top:30px; border-top:1px solid rgba(255,255,255,.1); }
.footer-map h3 { color:#fff; margin-bottom:6px; }
.footer-map p { color:#aab1bc; font-size:.9rem; max-width:52em; }
.map-frame { border-radius:var(--radius); overflow:hidden; border:1px solid rgba(255,255,255,.14); margin-top:16px; }
.map-frame iframe { width:100%; height:280px; border:0; display:block; }

.call-bar { position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;background:var(--rust-deep); }
.call-bar a { flex:1;text-align:center;padding:14px 8px;color:#fff;font-weight:800;text-decoration:none; }

@media(max-width:960px){
  .layout-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .footer-grid{grid-template-columns:1fr;}
  .call-bar{display:flex;}
  .floating-quote{position:static;}
  .hero-split .container{grid-template-columns:1fr;}
  .hero-photo{min-height:260px; order:-1;}
  .hero-copy{padding:40px 22px;}
  .service-row{grid-template-columns:44px 1fr;}
  .service-row .arrow{display:none;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}
