/* Cordrey Fencing brand red remains #5F000E. */
.scroll-reveal { transition:opacity .65s ease var(--reveal-delay,0ms), translate .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); }
.reveal-pending { opacity:0; translate:0 22px; }
@media(prefers-reduced-motion:reduce) { .reveal-pending { opacity:1; translate:none; } }
@media print { .reveal-pending { opacity:1; translate:none; } }
:root { --ink:#252933; --muted:#626975; --paper:#f4f5f7; --wine:#5F000E; }
body { background:var(--paper); color:var(--ink); }
h1,h2,h3,h4 { color:var(--ink); font-weight:600; letter-spacing:-.035em; }
h2 { font-size:clamp(2rem,3.5vw,3rem); }
p { line-height:1.8; }
.container { max-width:1180px; }
.navbar,.navbar.scrolled { top:22px; left:50%; right:auto; transform:translateX(-50%); width:calc(100% - 64px); max-width:1180px; height:82px; padding:0 26px; border:1px solid rgba(255,255,255,.2); border-radius:10px; background:#5F000E; box-shadow:0 8px 32px #111b1824; backdrop-filter:blur(16px); }
.navbar-brand img { height:40px; }
.navbar-nav { gap:4px; }
.navbar-nav .nav-link,.navbar-nav .nav-link.active { border:0; padding:11px 15px; border-radius:5px; font-size:1rem; font-weight:500; }
.navbar-nav .nav-link.active { background:#ffffff12; }
.navbar-nav .nav-link:hover { background:#ffffff12; color:white; }
.navbar-phone { border-left:1px solid #ffffff30; padding-left:22px; font-size:1.1rem; font-weight:600; }
.navbar-phone span { display:none; }
.dropdown-menu { background:#fff; padding:10px; border-radius:8px; min-width:270px; box-shadow:0 18px 40px #18251c26; }
.dropdown-menu a { padding:10px 12px; border-radius:4px; }
.nav-item:focus-within .dropdown-menu { display:block; }
a:focus-visible,button:focus-visible { outline:3px solid #a5b3cc; outline-offset:4px; }
.hero { height:min(690px,77svh); min-height:560px; justify-content:flex-start; text-align:left; }
.hero-overlay { background:linear-gradient(90deg,rgba(20,16,17,.8),rgba(20,16,17,.38) 65%,rgba(20,16,17,.12)); }
.hero-content { width:1180px; max-width:1180px; margin:auto; padding:130px 24px 70px; }
.hero-content h1 { max-width:780px; font-size:clamp(3rem,5.4vw,4.8rem); line-height:1.06; letter-spacing:-.045em; text-shadow:none; }
.hero-content p { max-width:520px; margin-top:24px; font-size:1.1rem; color:#eef0f4; text-shadow:none; }
.eyebrow { display:block; font-family:'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.19em; font-size:.72rem; font-weight:700; margin-bottom:22px; color:var(--wine); }
.hero .eyebrow { color:#e1e6ef; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn,.btn-primary,.hero .btn-primary,.cta-banner .btn-primary { border-radius:5px; padding:14px 24px; font-weight:600; font-size:.9rem; border:1px solid transparent; background:var(--wine); color:white; }
.btn:hover { transform:translateY(-1px); }
.hero .btn-primary { background:#f7f8fa; color:#5F000E; }
.hero .btn-outline-light { background:transparent; border:1px solid #ffffff65; color:white; }
.hero-indicators { left:auto; right:max(32px,calc((100% - 1132px)/2)); transform:none; bottom:36px; }
.hero-dot { width:28px; height:3px; }
.trust-strip { background:#eef0f4; border-bottom:1px solid #dce0e7; }
.trust-strip .container { display:flex; justify-content:space-between; gap:24px; padding-top:24px; padding-bottom:24px; font-size:.8rem; font-weight:600; color:#606875; }
.section,.service-content { padding:100px 0; }
.section-alt { background:var(--paper); }
.section-title { text-align:left; max-width:750px; margin-bottom:42px; }
.col-text h2 { margin-bottom:24px; }
.col-text p { color:var(--muted); }
.col-text .btn { margin-top:14px; }
.col-img img,.faq-img img { border-radius:8px; height:460px; }
.cards-grid { gap:24px; }
.card { border:1px solid #dfe3e9; border-radius:8px; }
.card:hover { box-shadow:0 12px 32px #29332d0d; transform:translateY(-4px); }
.card-img { height:250px; }
.card-body { padding:28px; }
.card-body h3 { font-size:1.35rem; }
.card-body p { color:var(--muted); font-size:.9rem; }
.card-body .btn { align-self:flex-start; padding:0 0 5px; border-radius:0; border:0; border-bottom:1px solid #b59298; color:var(--wine); background:none; }
.faq-content h2 { margin-bottom:20px; }
.accordion-btn { padding:22px 0; line-height:1.5; }
.testimonial-section { background:#edf0f4; padding:85px 0; }
.testimonial-card { background:transparent; box-shadow:none; max-width:800px; padding:30px 12px 0; }
.testimonial-icon { background:transparent; color:var(--wine); font-size:3rem; }
.testimonial-quote { font-family:'DM Sans',sans-serif; font-size:clamp(1.2rem,2.3vw,1.8rem); line-height:1.55; }
.testimonial-author { font-size:.85rem; color:#606875; }
.testimonial-nav button { border-radius:50%; background:transparent; border-color:#cbd2de; }
.brands-section { padding:70px 0; }
.brands-section h2 { font-size:1.6rem; }
.brands-logos { gap:40px; }
.brands-logos img { max-width:130px; max-height:55px; }
.cta-banner { background:#5F000E; padding:80px 24px; }
.cta-banner h2 { color:#fff; }
.cta-banner p { color:#eee2e4; }
.cta-banner .btn { background:#f7f8fa; color:#5F000E; }
.map-section { display:none; }
.footer { background:#5F000E; }
.footer-main { padding:64px 0; gap:70px; }
.footer-brand img { height:55px; margin-bottom:24px; }
.footer-follow { display:none; }
.footer-bottom { text-align:left; font-size:.75rem; }
.page-header { margin:0; padding:174px 24px 65px; background:#edf0f4; text-align:center; }
.page-header h1 { color:var(--ink); font-size:clamp(2.5rem,4vw,3.5rem); }
.contact-grid { padding:0; }
.business-info { background:var(--paper); padding:32px; border-radius:8px; align-self:start; }
.form-control { padding:13px; border-color:#d5dbe5; border-radius:5px; }
.form-row:has(> :nth-child(3)) { grid-template-columns:1fr 1fr .6fr; }
.preview-form-note { font-size:.85rem; border-radius:4px; }
@media(max-width:960px) {
 .navbar,.navbar.scrolled { width:calc(100% - 32px); padding:0 18px; }
 .navbar-phone { display:none; }
 .two-col,.faq-section { gap:40px; }
 .section,.service-content { padding:64px 0; }
 .trust-strip .container { flex-wrap:wrap; justify-content:center; }
}
@media(max-width:600px) {
 .navbar,.navbar.scrolled { top:12px; height:72px; padding:14px 18px; align-content:flex-start; border-radius:8px; }
 .navbar-brand { max-width:none; }
 .navbar-brand img { height:36px; }
 .nav-toggle { height:40px; width:40px; border:1px solid #ffffff40; border-radius:5px; }
 .navbar-nav { margin-top:22px; background:#5F000E; border-radius:8px; padding:10px; max-height:calc(100svh - 115px); overflow:auto; }
 .navbar-nav .nav-link,.navbar-nav .nav-link.active { padding:12px; }
 .dropdown-menu { min-width:0; background:#ffffff08; box-shadow:none; }
 .dropdown-menu a { color:white!important; font-size:.82rem; padding:10px 16px; }
 .hero { height:780px; min-height:640px; max-height:100svh; }
 .hero-content { padding:145px 24px 70px; }
 .hero-content h1 { font-size:2.9rem; }
 .hero-content p { font-size:1rem; margin-top:20px; }
 .hero-actions { gap:10px; }
 .hero-actions .btn { padding:13px 17px; font-size:.8rem; }
 .hero .eyebrow { font-size:.64rem; letter-spacing:.12em; }
 .trust-strip .container { gap:10px 22px; font-size:.72rem; padding:20px; }
 .col-img img { height:330px; }
 .cards-grid { grid-template-columns:1fr; }
 .section-title { margin-bottom:30px; }
 .footer-main { gap:36px; }
 .page-header { padding:130px 24px 44px; }
 .form-row:has(> :nth-child(3)) { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.additional-services { padding:0 0 90px; background:var(--paper); }
.service-links { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.service-links a { position:relative; border-top:1px solid #d5dbe5; padding:26px 20px 16px 0; }
.service-links a:hover h3 { color:#5F000E; }
.service-links span { font-size:.72rem; color:#737d8d; }
.service-links h3 { font-size:1.3rem; margin:14px 0; }
.service-links p { font-size:.9rem; color:var(--muted); }
.service-links b { display:inline-block; color:#5F000E; font-size:.9rem; font-weight:600; padding-bottom:5px; border-bottom:1px solid #b59298; }
.process-section { background:#e9edf3; padding:90px 0; }
.process-section .section-title { max-width:690px; }
.process-section .section-title p { margin-top:24px; max-width:560px; color:var(--muted); }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-bottom:32px; }
.process-grid>div { border-top:2px solid #5F000E; padding-top:24px; }
.step-number { color:#5F000E; font-size:.75rem; font-weight:600; }
.process-grid h3 { font-size:1.5rem; margin:18px 0 14px; }
.process-grid p { color:var(--muted); font-size:.92rem; }
.brands-section { padding:100px 0; background:white; }
.brands-section h2 { font-size:clamp(2.3rem,4vw,3.6rem); line-height:1.1; }
.brands-section p { max-width:590px; margin:24px auto 48px; }
.brands-logos { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.brands-logos>div { grid-column:span 2; display:flex; align-items:center; justify-content:center; min-height:190px; padding:30px; border:1px solid #e0e5ed; border-radius:8px; background:#fff; }
.brands-logos>div:nth-child(4) { grid-column:2 / span 2; }
.brands-logos img { width:100%; max-width:280px; height:auto; max-height:120px; object-fit:contain; transform:scale(1.6); }

/* Open header with a soft gradient fading into the home photograph. */
.navbar,.navbar.scrolled {
 top:0; left:0; right:0; transform:none; width:100%; max-width:none;
 height:106px; padding:0 max(32px,calc((100% - 1132px)/2));
 border:0; border-radius:0; box-shadow:none; backdrop-filter:none;
 background:transparent; transition:background .25s ease,height .25s ease,padding .25s ease;
}
.navbar.scrolled { height:68.9px; background:#5F000E; }
.home-page .navbar { isolation:isolate; }
.home-page .navbar::before {
 content:""; position:absolute; inset:0 0 -70px; z-index:-1;
 pointer-events:none;
 background:linear-gradient(to bottom,rgba(15,18,23,.62) 0%,rgba(15,18,23,.36) 50%,rgba(15,18,23,0) 100%);
 opacity:1; transition:opacity .25s ease;
}
.home-page .navbar.scrolled::before,.home-page .navbar.nav-open::before { opacity:0; }
body:has(.page-header) .navbar { background:#5F000E; }
.navbar-nav .nav-link.active { background:none; text-decoration:underline; text-underline-offset:9px; text-decoration-thickness:1px; }
.navbar-brand img { height:66px; transition:height .25s ease; }
.navbar.scrolled .navbar-brand img { height:42.9px; }
@media(max-width:600px) {
 .navbar { top:0; width:100%; height:82px; padding:16px 24px; }
 .navbar.scrolled { height:53.3px; padding:10.4px 24px; }
 .navbar-brand img { height:50px; }
 .navbar.scrolled .navbar-brand img { height:32.5px; }
 .navbar.nav-open { background:#5F000E; }
 .navbar-nav { margin:16px -24px 0; width:calc(100% + 48px); padding:12px 24px 20px; border-radius:0; }
 .navbar.scrolled .navbar-nav { margin-top:10.4px; }
}
.footer-brand img { height:72px; }
.footer-contact-item { gap:12px; }
.footer-icon { width:20px; height:20px; flex:0 0 20px; color:rgba(255,255,255,.8); }
.trust-strip { background:#fff; border:0; }
.trust-strip .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding-top:38px; padding-bottom:38px; border-bottom:1px solid #e0e5ed; }
.trust-strip .container>div { padding:0 30px; border-left:1px solid #e0e5ed; }
.trust-strip .container>div:first-child { padding-left:0; border-left:0; }
.trust-strip h2 { color:#5F000E; font-size:1.25rem; letter-spacing:-.02em; margin-bottom:8px; }
.trust-strip p { font-size:.87rem; line-height:1.6; font-weight:400; color:#626975; margin:0; }
.trust-strip + .section { padding-top:60px; }
@media(max-width:700px) {
 .trust-strip .container { grid-template-columns:1fr; padding:24px; gap:20px; }
 .trust-strip .container>div,.trust-strip .container>div:first-child { padding:0 0 0 16px; border-left:2px solid #5F000E; }
 .trust-strip h2 { font-size:1.15rem; margin-bottom:4px; }
 .trust-strip + .section { padding-top:38px; }
}
#services { scroll-margin-top:125px; }
@media(max-width:700px) {
 .service-links,.process-grid { grid-template-columns:1fr; gap:18px; }
 .additional-services { padding-bottom:55px; }
 .process-section,.brands-section { padding:64px 0; }
 .brands-logos { grid-template-columns:1fr 1fr; gap:12px; }
 .brands-logos>div,.brands-logos>div:nth-child(4) { grid-column:auto; min-height:140px; padding:18px; }
 .brands-logos>div:last-child { grid-column:1 / -1; }
 .brands-logos img { max-height:100px; max-width:250px; }
}
