/* Fencing 4U — "contractor dark" stylesheet.
   Deliberately unlike gardengates4u (white/green trade e-commerce):
   navy masthead + footer, amber CTAs, full-bleed hero with embedded form. */
:root{
  --navy:#16283E; --navy-d:#0F1C2C; --steel:#2C4258; --sky:#9FB0C4;
  --amber:#F0A020; --amber-d:#D68C0E;
  --ink:#24303E; --mut:#5B6875; --line:#D9DEE5; --bg:#fff; --alt:#F2F5F8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:#175A9C;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-weight:800;line-height:1.22;color:#182333}
h1 em,h2 em{font-style:normal;color:var(--amber)}

/* ---------- tier 1: slim utility strip ---------- */
.c-trust{background:var(--navy-d);color:#B9C6D6;font-size:13px;border-bottom:1px solid #1D3049}
.c-trust-in{max-width:1180px;margin:0 auto;padding:7px 20px;display:flex;gap:22px;flex-wrap:wrap}
.c-trust span{display:flex;align-items:center;gap:6px}
.c-trust span:first-child{color:#fff;font-weight:700}
.c-trust span:last-child{margin-left:auto}
.c-trust a{color:#B9C6D6}

/* ---------- tier 2: navy masthead ---------- */
.c-nav{background:var(--navy)}
.c-nav-in{max-width:1180px;margin:0 auto;padding:15px 20px;display:flex;align-items:center;gap:26px}
.c-nav-logo img{height:50px;width:auto}
.c-nav-call{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;color:#fff;white-space:nowrap;margin-left:auto}
.c-nav-call small{color:var(--sky)!important}
.c-nav-call::before{content:"";width:38px;height:38px;flex:none;border-radius:50%;background:var(--amber) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%2316283E"><path d="M6.6 10.8c1.5 2.9 3.7 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z"/></svg>') center/20px no-repeat}
.c-nav-call:hover{text-decoration:none;color:var(--amber)}
.c-nav .btn--solid{background:var(--amber);color:var(--navy-d)}
.c-nav .btn--solid:hover{background:var(--amber-d);color:var(--navy-d)}

/* ---------- tier 3: steel navbar ---------- */
.c-navbar{background:var(--navy-d);border-top:1px solid var(--steel)}
.c-navbar-in{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap}
.c-navbar a{color:#E7EDF4;font-weight:700;font-size:14.5px;padding:12px 15px;display:block;border-bottom:3px solid transparent}
.c-navbar a:hover{color:var(--amber);border-bottom-color:var(--amber);text-decoration:none;background:none}

/* ---------- tier 4: benefits strip ---------- */
.c-benefits{background:#fff;border-bottom:1px solid var(--line)}
.c-benefits-in{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;gap:30px;flex-wrap:wrap}
.c-benefits span{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#314052}
.c-benefits span::before{content:"";width:17px;height:17px;flex:none;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="12" fill="%23F0A020"/><path d="M7 12.5l3.2 3.2L17 9" stroke="%2316283E" stroke-width="2.6" fill="none"/></svg>') center/contain no-repeat}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-weight:800;font-size:15.5px;padding:12px 26px;border-radius:2px;border:1px solid transparent;cursor:pointer;text-align:center}
.btn:hover{text-decoration:none}
.btn--lg{padding:14px 30px;font-size:16.5px}
.btn--solid{background:var(--navy);color:#fff}
.btn--solid:hover{background:var(--navy-d);color:#fff}
.btn--timber{background:var(--amber);color:var(--navy-d)}
.btn--timber:hover{background:var(--amber-d);color:var(--navy-d)}
.btn--outline{background:#fff;color:var(--navy);border-color:#B7C0CC}
.btn--outline:hover{border-color:var(--navy);color:var(--navy-d)}
.btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55)}
.btn--ghost:hover{background:rgba(255,255,255,.22);color:#fff}

/* ---------- homepage hero: full-bleed with embedded form ---------- */
.f-hero{position:relative;overflow:hidden;background:var(--navy-d)}
.f-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.f-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,19,32,.88) 0%,rgba(10,19,32,.72) 44%,rgba(13,24,40,.38) 100%)}
.f-hero-c{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:56px 20px 60px;width:100%}
.f-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.f-hero-grid h1{color:#fff;font-size:clamp(30px,4.4vw,46px);font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.35)}
.f-hero-grid h1 span{color:var(--amber)}
.f-hero-grid p{color:#DCE4EE;font-size:17.5px;margin:16px 0 24px;max-width:560px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.f-hero-ticks{list-style:none;display:flex;gap:22px;flex-wrap:wrap;margin-top:22px}
.f-hero-ticks li{color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}
.f-hero-ticks li::before{content:"";width:16px;height:16px;flex:none;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="12" fill="%23F0A020"/><path d="M7 12.5l3.2 3.2L17 9" stroke="%2316283E" stroke-width="2.6" fill="none"/></svg>') center/contain no-repeat}

/* ---------- service image tiles ---------- */
.f-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.f-tile{position:relative;display:block;overflow:hidden;border-radius:2px;aspect-ratio:4/3;background:var(--navy)}
.f-tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.f-tile:hover img{transform:scale(1.05)}
.f-tile:hover{text-decoration:none}
.f-tile-t{position:absolute;inset:auto 0 0 0;padding:34px 14px 12px;background:linear-gradient(180deg,rgba(15,28,44,0) 0%,rgba(15,28,44,.88) 62%)}
.f-tile-t b{display:block;color:#fff;font-size:16.5px;font-weight:800;line-height:1.25}
.f-tile-t em{font-style:normal;color:var(--amber);font-size:13px;font-weight:700}

/* ---------- numbered steps band ---------- */
.section--dark{background:var(--navy);color:#D5DEE9}
.section--dark h2,.section--dark h3,.section--dark b{color:#fff}
.f-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:step}
.f-steps>div{border-top:3px solid var(--amber);padding-top:16px}
.f-steps b{display:block;font-size:19px;font-weight:800;margin-bottom:6px}
.f-steps p{color:#C2CEDC;font-size:14.8px}

/* ---------- split hero (inner pages) ---------- */
.c-hero{background:#fff;border-bottom:1px solid var(--line)}
.c-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;padding:38px 0 44px}
.c-hero h1{font-size:clamp(26px,3.6vw,38px)}
.c-hero-sub{font-size:17px;color:#3C4859;margin:14px 0 22px}
.c-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.c-hero-note{font-size:13.5px;color:var(--mut);margin-top:14px}
.c-hero-img{border:1px solid var(--line);border-radius:2px;overflow:hidden;background:#fff;padding:5px;box-shadow:0 4px 14px rgba(22,40,62,.08)}
.c-hero-img img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:1px}

/* ---------- generic sections ---------- */
.section{padding:48px 0}
.section--alt{background:var(--alt)}
.section-h{margin-bottom:26px}
.section-h h2{font-size:27px}
.eyebrow{display:block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-d);margin-bottom:6px}
.section--dark .eyebrow,.c-convert .eyebrow{color:var(--amber)}
.slat-rule{width:58px;height:4px;background:var(--amber);margin-top:10px}
.prose p{margin-bottom:14px}
.prose h2,.prose h3{margin:22px 0 10px}
.prose ul{margin:0 0 14px 20px}
.c-split{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.lead{font-size:17.5px;color:#3C4859}

/* ---------- facts ---------- */
.c-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.c-fact{background:#fff;border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:2px;padding:13px 15px}
.c-fact b{display:block;font-size:14.5px;color:#182333}
.c-fact span{font-size:13.5px;color:var(--mut)}

/* ---------- cards ---------- */
.c-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.c-card{background:#fff;border:1px solid var(--line);border-radius:2px;overflow:hidden;display:flex;flex-direction:column}
.c-card:hover{box-shadow:0 5px 16px rgba(22,40,62,.13)}
.c-card-img{aspect-ratio:4/3;background:var(--alt);overflow:hidden}
.c-card-img img{width:100%;height:100%;object-fit:cover}
.c-card h3{font-size:16px;padding:12px 14px 4px}
.c-card h3 a{color:#182333}
.c-card h3 a:hover{color:var(--amber-d);text-decoration:none}
.c-card p{font-size:13.8px;color:var(--mut);padding:0 14px 12px;flex:1}
.c-card .go{margin:0 14px 14px;display:inline-block;font-weight:800;color:var(--amber-d);font-size:14px}

/* ---------- pills ---------- */
.c-pills{display:flex;flex-wrap:wrap;gap:8px}
.c-pills a{border:1px solid var(--line);border-radius:2px;background:#fff;padding:7px 13px;font-size:13.5px;font-weight:700;color:#314052}
.c-pills a:hover{border-color:var(--navy);background:var(--navy);color:#fff;text-decoration:none}

/* ---------- gallery ---------- */
.c-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.c-gallery img{border:1px solid var(--line);border-radius:2px;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;background:#fff;padding:4px}

/* ---------- quote form ---------- */
.c-quote{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;box-shadow:0 8px 24px rgba(10,19,32,.18)}
.c-quote h3{background:var(--navy);color:#fff;font-size:17px;padding:13px 18px;border-bottom:3px solid var(--amber)}
.c-quote>p{padding:14px 18px 0;font-size:13.8px;color:var(--mut)}
.c-quote form{padding:14px 18px 18px}
.c-field{margin-bottom:12px}
.c-field label{display:block;font-size:13px;font-weight:700;margin-bottom:4px;color:#314052}
.c-input,.c-textarea{width:100%;border:1px solid #BEC7D2;border-radius:2px;padding:10px 12px;font:inherit;font-size:14.5px;background:#fff}
.c-input:focus,.c-textarea:focus{outline:2px solid var(--amber);outline-offset:0;border-color:var(--amber)}
.c-textarea{min-height:84px;resize:vertical}
.c-quote .btn{width:100%}

/* ---------- FAQ (each <details> carries .c-faq) ---------- */
details.c-faq{background:#fff;border:1px solid var(--line);border-left:3px solid var(--navy);border-radius:2px;margin-bottom:10px}
details.c-faq summary{cursor:pointer;font-weight:700;padding:14px 16px;font-size:15.5px;list-style:none;position:relative;padding-right:40px;color:#182333}
details.c-faq summary::-webkit-details-marker{display:none}
details.c-faq summary::after{content:"+";position:absolute;right:16px;top:10px;font-size:22px;color:var(--amber-d)}
details.c-faq[open] summary::after{content:"\2013"}
details.c-faq>div{padding:0 16px 14px;color:#3C4859;font-size:14.8px}

/* ---------- conversion band ---------- */
.c-convert{background:var(--navy-d);color:#fff;padding:54px 0}
.c-convert h2{color:#fff;font-size:27px}
.c-convert p{color:#C2CEDC}
.c-convert-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.c-convert .btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.c-convert .btn--outline:hover{border-color:#fff}
.slats{background-image:none}

/* ---------- breadcrumb ---------- */
.c-crumb{font-size:13px;color:#7A8694;padding:12px 0}
.c-crumb a{color:#4E5D6E}
.c-crumb .sep{margin:0 6px;color:#AEB8C2}

/* ---------- footer ---------- */
.c-footer{background:var(--navy-d);color:#B9C6D6;font-size:14.5px;padding:44px 0 0}
.c-footer a{color:#B9C6D6}
.c-footer a:hover{color:var(--amber)}
.c-footer h4{color:#fff;font-size:14px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--steel);padding-bottom:8px;display:inline-block}
.c-footer ul{list-style:none}
.c-footer li{margin-bottom:7px}
.c-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-bottom:34px}
.c-footer-base{border-top:1px solid var(--steel);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 0;font-size:13px;color:#8496AB}
.c-footer-base a{color:#8496AB}

/* ---------- sticky mobile CTA ---------- */
.c-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60}
.c-sticky a{flex:1;text-align:center;font-weight:800;font-size:15.5px;padding:14px 0}
.c-sticky .call{background:var(--amber);color:var(--navy-d)}
.c-sticky .wa{background:var(--navy);color:#fff}
.c-sticky a:hover{text-decoration:none}

/* ---------- checklists / local callout ---------- */
.c-check{list-style:none}
.c-check li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid #E4E9EF;font-size:15px}
.c-check li::before{content:"";position:absolute;left:0;top:11px;width:16px;height:16px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="12" fill="%23F0A020"/><path d="M7 12.5l3.2 3.2L17 9" stroke="%2316283E" stroke-width="2.6" fill="none"/></svg>') center/contain no-repeat}
.c-local{background:var(--alt);border-left:4px solid var(--navy);border-radius:0 2px 2px 0;padding:20px 24px}
.c-local h2,.c-local h3{margin-bottom:8px}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .c-cards,.f-tiles{grid-template-columns:repeat(2,1fr)}
  .c-facts{grid-template-columns:repeat(2,1fr)}
  .c-hero-grid,.c-split,.c-convert-grid,.f-hero-grid{grid-template-columns:1fr}
  .f-steps{grid-template-columns:1fr}
  .c-nav-links{display:none}
}
@media(max-width:640px){
  .c-nav-in{justify-content:space-between;gap:12px}
  .c-nav-call{font-size:17px}
  .c-nav-call::before{width:32px;height:32px}
  .c-nav-logo img{height:40px}
  .c-nav .btn{display:none}
  .c-trust span:nth-child(2),.c-trust span:nth-child(3){display:none}
  .c-benefits span:nth-child(n+3){display:none}
  .f-hero-c{padding:36px 20px 40px}
  .c-cards,.f-tiles{grid-template-columns:1fr}
  .c-sticky{display:flex}
  body{padding-bottom:52px}
  .c-navbar-in{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.f-tile img{transition:none}}
