/*
Theme Name: M E Crowe
Theme URI: https://mecrowe.co.uk
Author: Cog Multimedia
Description: Custom theme for M E Crowe Ltd, building & construction contractors (Lisburn, est. 1979). Blue/white scheme: navy for depth with a royal-blue brand accent on white/light-grey sections, image logo, Oswald/Inter type. Brochure site - Home, About, Services, Projects, Contact.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mecrowe
*/

/* ============================================================
   M E Crowe Ltd - static prototype stylesheet
   Palette: deep navy/charcoal base + steel-blue accent, amber highlight.
   All imagery is CSS/SVG placeholder - clearly swap-for-real-photos.
   ============================================================ */

:root{
  --navy:#0E2233;
  --navy-800:#13293D;
  --navy-700:#1B3A52;
  --navy-600:#244a66;
  --steel:#2E6B96;
  --steel-600:#357aab;
  --steel-light:#5E9BC9;
  /* Brand royal blue (matches the logo) - replaces the old amber accent in the
     blue/white refresh. The --amber vars are repurposed to blue so every
     existing reference flips to the brand blue in one place. */
  --brand:#1E5BA8;
  --brand-dark:#174A86;
  --brand-light:#2A6FBF;
  --sky:#6FB2E8;        /* bright blue for accents on dark/navy backgrounds */
  --amber:#1E5BA8;      /* was #E8A33D - repurposed to brand blue */
  --amber-dark:#174A86; /* was #CE8B28 - repurposed to brand blue (dark) */
  --ink:#1B2731;
  --muted:#5B6B77;
  --line:#E3E9ED;
  --bg:#FFFFFF;
  --bg-alt:#F4F7F9;
  --bg-alt2:#EDF2F5;
  --white:#FFFFFF;
  --radius:10px;
  --radius-lg:16px;
  --shadow:0 10px 30px rgba(14,34,51,.10);
  --shadow-sm:0 4px 14px rgba(14,34,51,.08);
  --maxw:1180px;
  --head:"Oswald","Arial Narrow",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--steel-600);text-decoration:none;}
a:hover{text-decoration:underline;}

h1,h2,h3,h4{font-family:var(--head);font-weight:600;line-height:1.08;color:var(--navy);margin:0 0 .4em;letter-spacing:.3px;text-transform:uppercase;}
h1{font-size:clamp(2.3rem,5vw,3.9rem);}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1.1em;}
.lead{font-size:1.18rem;color:#33454f;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:84px 0;}
.section.alt{background:var(--bg-alt);}
.center{text-align:center;}
.eyebrow{
  font-family:var(--head);text-transform:uppercase;letter-spacing:3px;
  font-weight:600;font-size:.92rem;color:var(--steel-600);margin:0 0 .6em;display:inline-block;
}
.eyebrow.amber{color:var(--amber-dark);}
.section-head{max-width:720px;margin:0 auto 54px;}
.section-head.left{margin-left:0;text-align:left;}
.section-head p{color:var(--muted);margin-bottom:0;}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--head);
  text-transform:uppercase;letter-spacing:1px;font-weight:600;font-size:1rem;
  padding:15px 30px;border-radius:8px;border:2px solid transparent;cursor:pointer;
  transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
  text-decoration:none;
}
.btn svg{width:18px;height:18px;}
.btn-amber{background:var(--brand);color:#fff;border-color:var(--brand);}
.btn-amber:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,91,168,.35);}
.btn-steel{background:var(--steel);color:#fff;border-color:var(--steel);}
.btn-steel:hover{background:var(--steel-600);border-color:var(--steel-600);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 20px rgba(46,107,150,.3);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;text-decoration:none;}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy-700);}
.btn-outline:hover{background:var(--navy);color:#fff;text-decoration:none;}

/* ============================================================
   Header
   ============================================================ */
.topbar{background:var(--navy-800);color:#c7d6e0;font-size:.9rem;}
.topbar .wrap{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end;align-items:center;min-height:44px;padding-top:6px;padding-bottom:6px;}
.topbar a{color:#c7d6e0;display:inline-flex;align-items:center;gap:8px;}
.topbar a:hover{color:#fff;text-decoration:none;}
.topbar svg{width:15px;height:15px;opacity:.85;}
.topbar .tb-sep{opacity:.3;}

.site-header{position:sticky;top:0;z-index:40;background:#fff;box-shadow:0 2px 14px rgba(14,34,51,.08);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:18px;}
.brand{display:flex;align-items:center;line-height:1;text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand .brand-logo{display:block;height:50px;width:auto;}

.nav{display:flex;align-items:center;gap:30px;}
.nav a.navlink{
  font-family:var(--head);text-transform:uppercase;letter-spacing:1px;font-weight:500;
  font-size:1.02rem;color:var(--navy);padding:6px 0;position:relative;
}
.nav a.navlink:hover,.nav a.navlink.active{color:var(--brand);text-decoration:none;}
.nav a.navlink.active::after,.nav a.navlink:hover::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--brand);border-radius:2px;
}
.nav .btn{padding:11px 22px;font-size:.92rem;}

.nav-toggle{display:none;background:transparent;border:2px solid rgba(14,34,51,.22);border-radius:8px;
  width:50px;height:46px;cursor:pointer;align-items:center;justify-content:center;}
.nav-toggle svg{width:26px;height:26px;stroke:var(--navy);}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;color:#fff;overflow:hidden;background:var(--navy);
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero::before{
  /* navy overlay keeps text legible over the photo */
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(130deg,rgba(14,34,51,.93) 0%,rgba(19,41,61,.88) 45%,rgba(27,58,82,.80) 100%);
}
.hero::after{
  /* subtle blueprint grid, layered over the overlay for architectural feel */
  content:"";position:absolute;inset:0;z-index:1;opacity:.35;
  background-image:
    linear-gradient(rgba(94,155,201,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(94,155,201,.10) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(90deg,transparent,#000 40%);
  pointer-events:none;
}
.hero .wrap{position:relative;z-index:2;padding-top:92px;padding-bottom:96px;}
.hero-inner{max-width:720px;}
.hero .eyebrow{color:var(--sky);background:rgba(111,178,232,.12);border:1px solid rgba(111,178,232,.4);
  padding:6px 14px;border-radius:40px;letter-spacing:2px;}
.hero h1{color:#fff;margin-top:18px;}
.hero h1 .accent{color:var(--sky);}
.hero p.lead{color:#d4e1ea;max-width:600px;margin-bottom:34px;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;}

.hero-stats{display:flex;gap:40px;flex-wrap:wrap;margin-top:54px;padding-top:34px;border-top:1px solid rgba(255,255,255,.14);}
.hero-stats .stat .num{font-family:var(--head);font-size:2.5rem;color:#fff;line-height:1;}
.hero-stats .stat .num span{color:var(--sky);}
.hero-stats .stat .lbl{font-size:.9rem;color:#aec3d2;text-transform:uppercase;letter-spacing:1.5px;margin-top:6px;}

/* ============================================================
   Intro
   ============================================================ */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.intro-grid .ph{min-height:360px;border-radius:var(--radius-lg);}
.checklist{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;}
.checklist li{position:relative;padding-left:32px;font-weight:500;color:#2c3b45;}
.checklist li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--steel);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;}

/* ============================================================
   Placeholder image blocks
   ============================================================ */
.ph{
  position:relative;background:
    repeating-linear-gradient(45deg,#dbe4ea 0 2px,transparent 2px 16px),
    linear-gradient(135deg,#c3d2dc,#a9bdca);
  border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;
  color:var(--navy-700);min-height:220px;
}
.ph::before{
  content:"";width:54px;height:54px;opacity:.6;
  background:var(--navy-700);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 3 7.17 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.17L15 3H9zm3 15a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 3 7.17 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.17L15 3H9zm3 15a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/></svg>") center/contain no-repeat;
}
.ph .ph-tag{
  position:absolute;bottom:12px;left:12px;background:rgba(14,34,51,.82);color:#fff;
  font-family:var(--body);font-size:.72rem;letter-spacing:.5px;padding:5px 10px;border-radius:5px;font-weight:500;
}
.ph.dark{background:
    repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 2px,transparent 2px 16px),
    linear-gradient(135deg,#1b3a52,#0e2233);color:#9fb6c6;}
.ph.dark::before{background:#6f93ac;}

/* Real photography sits in the same slots as the placeholders */
.ph.has-img{background:var(--navy-700);}
.ph.has-img::before{display:none;}
.ph.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.ph.has-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(160deg,transparent 55%,rgba(14,34,51,.18));pointer-events:none;}

/* ============================================================
   Sector cards
   ============================================================ */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.card .ph{min-height:190px;border-radius:0;}
.card-body{padding:26px 26px 28px;flex:1;display:flex;flex-direction:column;}
.card .ico{width:50px;height:50px;border-radius:10px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin:-52px 0 16px;position:relative;box-shadow:var(--shadow-sm);}
.card .ico svg{width:26px;height:26px;stroke:var(--sky);fill:none;}
.card h3{margin-bottom:10px;}
.card ul{list-style:none;padding:0;margin:0 0 18px;}
.card ul li{padding:5px 0 5px 20px;position:relative;color:var(--muted);font-size:.98rem;border-bottom:1px solid var(--line);}
.card ul li:last-child{border-bottom:0;}
.card ul li::before{content:"";position:absolute;left:0;top:13px;width:7px;height:7px;background:var(--steel);border-radius:2px;}
.card .card-link{margin-top:auto;font-family:var(--head);text-transform:uppercase;letter-spacing:1px;font-weight:600;
  font-size:.92rem;color:var(--steel-600);display:inline-flex;align-items:center;gap:8px;}
.card .card-link svg{width:16px;height:16px;transition:transform .15s ease;}
.card:hover .card-link svg{transform:translateX(4px);}

/* ============================================================
   Design & Build strip
   ============================================================ */
.db-strip{background:var(--steel);color:#fff;position:relative;overflow:hidden;}
.db-strip::after{content:"";position:absolute;inset:0;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:38px 38px;mask-image:linear-gradient(90deg,#000,transparent 70%);}
.db-strip .wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:58px 24px;}
.db-strip h2{color:#fff;margin-bottom:10px;}
.db-strip p{color:#dcebf5;margin-bottom:0;max-width:620px;}
.db-strip .eyebrow{color:#cfe6f5;}

/* ============================================================
   Why us
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.why{padding:30px 26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);text-align:left;}
.why .ico{width:56px;height:56px;border-radius:12px;background:var(--bg-alt2);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.why .ico svg{width:28px;height:28px;stroke:var(--steel);fill:none;}
.why h3{font-size:1.15rem;margin-bottom:8px;}
.why p{color:var(--muted);font-size:.98rem;margin-bottom:0;}

/* ============================================================
   Projects teaser
   ============================================================ */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.proj{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.proj .ph{min-height:260px;border-radius:0;}
.proj .proj-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 18px;
  background:linear-gradient(0deg,rgba(14,34,51,.9),transparent);color:#fff;}
.proj .proj-cap .k{font-family:var(--head);text-transform:uppercase;letter-spacing:1.5px;font-size:.78rem;color:var(--sky);}
.proj .proj-cap h3{color:#fff;margin:4px 0 0;font-size:1.2rem;}

/* ============================================================
   CTA / contact band
   ============================================================ */
.cta-band{background:var(--navy);color:#fff;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:66px 24px;}
.cta-band h2{color:#fff;margin-bottom:8px;}
.cta-band p{color:#c3d3de;margin-bottom:0;}
.cta-contacts{display:flex;gap:40px;flex-wrap:wrap;margin-top:8px;}
.cta-contacts .ci{display:flex;align-items:flex-start;gap:12px;}
.cta-contacts .ci svg{width:22px;height:22px;stroke:var(--sky);fill:none;flex:0 0 auto;margin-top:3px;}
.cta-contacts .ci .l{font-size:.78rem;text-transform:uppercase;letter-spacing:1.5px;color:#9fb6c6;}
.cta-contacts .ci .v{color:#fff;font-weight:600;}

/* ============================================================
   Page hero (inner pages)
   ============================================================ */
.page-hero{background:linear-gradient(130deg,var(--navy) 0%,var(--navy-700) 100%);color:#fff;position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.4;
  background-image:linear-gradient(rgba(94,155,201,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(94,155,201,.12) 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(90deg,transparent,#000 50%);}
.page-hero .wrap{position:relative;z-index:2;padding:72px 24px;}
.page-hero h1{color:#fff;margin-bottom:10px;}
.page-hero p{color:#cfdce6;max-width:640px;margin-bottom:0;}
.crumbs{font-size:.86rem;color:#9fb6c6;margin-bottom:16px;letter-spacing:.5px;}
.crumbs a{color:#9fb6c6;}
.crumbs a:hover{color:#fff;}

/* ---- Prose / generic ---- */
.prose h2{margin-top:0;}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:10px 0 0;}
.stat-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-align:center;}
.stat-box .num{font-family:var(--head);font-size:2.4rem;color:var(--steel-600);line-height:1;}
.stat-box .lbl{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-top:6px;}

/* ---- Services detail blocks ---- */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:56px 0;border-bottom:1px solid var(--line);}
.svc-block:last-child{border-bottom:0;}
.svc-block .ph{min-height:320px;}
.svc-block.flip .svc-text{order:2;}
.svc-block .tag{display:inline-block;font-family:var(--head);text-transform:uppercase;letter-spacing:2px;font-size:.82rem;
  color:var(--steel-600);background:var(--bg-alt2);padding:5px 12px;border-radius:5px;margin-bottom:14px;}
.svc-block ul{list-style:none;padding:0;margin:16px 0 0;}
.svc-block ul li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid var(--line);color:#2c3b45;}
.svc-block ul li:last-child{border-bottom:0;}
.svc-block ul li::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:50%;background:var(--steel);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/12px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/12px no-repeat;}

/* ---- Projects grid (full) ---- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.note-banner{background:#EAF2FB;border:1px solid #C3DAF2;color:#1b4a7e;border-radius:var(--radius);
  padding:16px 20px;font-size:.96rem;margin-bottom:40px;display:flex;gap:12px;align-items:flex-start;}
.note-banner svg{width:22px;height:22px;stroke:var(--brand);fill:none;flex:0 0 auto;margin-top:2px;}

/* ---- Contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
.contact-info .ci{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);}
.contact-info .ci:last-child{border-bottom:0;}
.contact-info .ci .ico{width:46px;height:46px;border-radius:10px;background:var(--bg-alt2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.contact-info .ci .ico svg{width:22px;height:22px;stroke:var(--steel);fill:none;}
.contact-info .ci .l{font-size:.78rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);}
.contact-info .ci .v{font-weight:600;color:var(--ink);font-size:1.05rem;}
/* Details-only contact page: single centred column */
.contact-solo{max-width:600px;margin:0 auto;text-align:center;}
.contact-solo .lead{margin-bottom:34px;}
.contact-solo .contact-rows{max-width:420px;margin:0 auto;text-align:left;}
.contact-solo .ci{padding:20px 0;}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm);}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{margin-bottom:18px;}
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px;color:var(--navy);}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:8px;
  font-family:var(--body);font-size:1rem;color:var(--ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(46,107,150,.15);}
.field textarea{min-height:140px;resize:vertical;}
.map-ph{min-height:300px;border-radius:var(--radius-lg);margin-top:30px;}
.map-embed{margin-top:30px;}
.map-embed iframe{display:block;width:100%;height:400px;border:0;border-radius:var(--radius-lg);}
.map-directions{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:600;color:var(--steel);text-decoration:none;}
.map-directions svg{width:18px;height:18px;transition:transform .15s ease;}
.map-directions:hover{color:var(--navy);}
.map-directions:hover svg{transform:translateX(3px);}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--navy-800);color:#aec1cf;padding:64px 0 0;font-size:.96rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:48px;}
.site-footer .brand-name{font-family:var(--head);font-weight:700;font-size:1.5rem;letter-spacing:3px;color:#fff;text-transform:uppercase;}
.site-footer .brand-sub{font-family:var(--head);font-weight:300;font-size:.7rem;letter-spacing:2px;color:var(--amber);text-transform:uppercase;margin:6px 0 16px;}
.site-footer h4{color:#fff;text-transform:uppercase;letter-spacing:1.5px;font-size:1rem;margin-bottom:18px;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer ul li{margin-bottom:10px;}
.site-footer a{color:#aec1cf;}
.site-footer a:hover{color:#fff;text-decoration:none;}
.foot-contact .fc{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px;}
.foot-contact .fc svg{width:18px;height:18px;stroke:var(--sky);fill:none;flex:0 0 auto;margin-top:3px;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:#8ba3b4;}
.foot-bottom .foot-sectors{color:#8ba3b4;letter-spacing:.5px;}

/* ============================================================
   Accreditations / trust strip
   ============================================================ */
.accreditations{background:var(--bg-alt);border-top:1px solid var(--line);}
.accred-row{display:flex;gap:28px;justify-content:center;align-items:stretch;flex-wrap:wrap;}
.accred-item{flex:0 1 240px;max-width:260px;min-height:132px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;
  padding:24px;transition:transform .18s ease,box-shadow .18s ease;}
.accred-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);text-decoration:none;}
.accred-item img{height:74px;width:auto;max-width:100%;object-fit:contain;display:block;}

/* Footer logo plate (keeps the colour logo legible on the navy footer) */
.foot-brand-logo{display:inline-block;background:#fff;border-radius:10px;padding:14px 18px;margin-bottom:16px;}
.foot-brand-logo img{height:44px;width:auto;display:block;}

/* Footer accreditation mini-strip */
.foot-accred{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;align-items:center;
  gap:20px;flex-wrap:wrap;}
.foot-accred .fa-label{font-size:.78rem;text-transform:uppercase;letter-spacing:1.5px;color:#8ba3b4;}
.foot-accred .fa-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.foot-accred .fa{background:#fff;border-radius:8px;padding:7px 10px;display:flex;align-items:center;}
.foot-accred .fa img{height:30px;width:auto;display:block;}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:980px){
  .intro-grid,.two-col,.contact-grid,.svc-block,.svc-block.flip .svc-text{grid-template-columns:1fr;}
  .svc-block.flip .svc-text{order:0;}
  .svc-block .ph{min-height:240px;}
  .cards,.why-grid,.proj-grid,.gallery,.stat-row{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .intro-grid .ph{min-height:280px;}
}
@media (max-width:760px){
  .section{padding:60px 0;}
  .topbar{display:none;}
  .nav{
    position:fixed;top:0;right:0;height:100vh;width:min(84vw,340px);background:var(--navy-800);
    flex-direction:column;align-items:stretch;gap:0;padding:90px 28px 40px;
    transform:translateX(100%);transition:transform .25s ease;box-shadow:-10px 0 40px rgba(0,0,0,.4);
  }
  .nav.open{transform:translateX(0);}
  .nav a.navlink{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:1.15rem;color:#dbe6ee;}
  .nav a.navlink:hover,.nav a.navlink.active{color:#fff;}
  .nav a.navlink.active::after,.nav a.navlink:hover::after{display:none;}
  .nav .btn{margin-top:20px;justify-content:center;}
  .nav-toggle{display:flex;}
  .nav-backdrop{position:fixed;inset:0;background:rgba(5,15,24,.5);z-index:39;opacity:0;visibility:hidden;transition:.25s;}
  .nav-backdrop.show{opacity:1;visibility:visible;}
  .cards,.why-grid,.proj-grid,.gallery,.stat-row,.foot-grid,.checklist{grid-template-columns:1fr;}
  .hero .wrap{padding-top:64px;padding-bottom:64px;}
  .hero-stats{gap:28px;}
  .hero-stats .stat{flex:1 1 40%;}
  .cta-band .wrap,.db-strip .wrap{flex-direction:column;align-items:flex-start;}
  .foot-bottom{flex-direction:column;}
  body{font-size:16px;}
}
@media (max-width:420px){
  .brand .brand-name{font-size:1.4rem;letter-spacing:2px;}
  .hero-cta{flex-direction:column;}
  .hero-cta .btn{width:100%;justify-content:center;}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto;}}


/* ---- WP contact form states (added for live build) ---- */
.form-note{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:.95rem;line-height:1.4}
.form-note.ok{background:#e6f4ea;color:#1b5e20;border:1px solid #b7dfc2}
.form-note.err{background:#fdeaea;color:#8a1c1c;border:1px solid #f1c2c2}
