:root {
  --navy: #062c55;
  --navy-2: #0b3c6a;
  --navy-dark: #041f3a;
  --red: #b91f2e;
  --red-dark: #951624;
  --gold: #d3a33a;
  --cream: #f1eadc;
  --paper: #f8f4eb;
  --ink: #172133;
  --white: #fff;
  --max: 1440px;
  --shadow: 0 18px 46px rgba(0,0,0,.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: "Source Sans 3", Arial, sans-serif;
  background: #fff;
  line-height: 1.45;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input { font: inherit; }
.container { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.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; }

.utility-bar { background: var(--navy); color: #fff; font-size: 14px; }
.utility-inner { min-height: 42px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; }
.utility-left { display: flex; gap: 20px; }
.utility-left a { opacity: .96; }
.utility-left a:hover { color: #f6cf6b; }
.utility-center { color: #f2d28b; text-align: center; font-weight: 600; letter-spacing: .03em; }
.utility-right { text-align: right; }

.site-header { background: rgba(255,255,255,.98); position: sticky; top:0; z-index:50; border-bottom: 1px solid rgba(6,44,85,.12); }
.header-inner { min-height: 118px; display: grid; grid-template-columns: 320px 1fr auto; align-items: center; gap: 28px; }
.brand img { width: 300px; max-height: 92px; object-fit: contain; object-position: left center; }
.main-nav { display:flex; justify-content:flex-end; gap: clamp(16px,2vw,32px); align-items:center; }
.main-nav a { font-family: Oswald, Arial Narrow, sans-serif; text-transform: uppercase; font-size: 16px; font-weight: 600; color: #13233d; letter-spacing: .015em; }
.main-nav a:hover { color: var(--red); }
.shop-btn { background: var(--red); color: #fff; padding: 13px 20px 12px; font-family: Oswald, sans-serif; text-transform: uppercase; font-weight: 600; line-height: 1.05; box-shadow: 0 5px 15px rgba(185,31,46,.2); }
.shop-btn:hover { background: var(--red-dark); }
.shop-btn small { display:block; margin-top:6px; text-transform:none; font-family:"Source Sans 3",sans-serif; font-size:11px; font-weight:600; }
.nav-toggle { display:none; background:none; border:0; width:42px; height:42px; padding:8px; }
.nav-toggle span { display:block; height:2px; margin:6px 0; background:var(--navy); }

.hero { min-height: 610px; position: relative; overflow: hidden; background: var(--navy-dark); color:#fff; }
.hero-photo { position:absolute; inset:0; background-image:url('assets/building.jpg'); background-size:cover; background-position:center 46%; filter:saturate(.96) contrast(1.05); transform:scale(1.002); }
.hero-wash { position:absolute; inset:0; background: linear-gradient(90deg, rgba(3,34,66,.98) 0%, rgba(3,34,66,.9) 28%, rgba(3,34,66,.50) 50%, rgba(3,34,66,.10) 72%, rgba(3,34,66,.03) 100%); }
.hero-inner { min-height:610px; position:relative; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.hero-copy { max-width: 590px; padding: 58px 0 64px; }
.eyebrow { font-family: Oswald,sans-serif; text-transform:uppercase; letter-spacing:.18em; font-weight:600; font-size:14px; }
.eyebrow.gold { color:var(--gold); }
.hero h1 { margin: 12px 0 18px; font-family: Oswald, Impact, sans-serif; text-transform: uppercase; font-size: clamp(50px,5.7vw,86px); line-height:.96; letter-spacing:.01em; text-shadow:0 4px 25px rgba(0,0,0,.25); }
.hero h1 span { color:var(--gold); }
.hero p { font-size:21px; max-width:560px; margin:0 0 28px; text-shadow:0 2px 12px rgba(0,0,0,.3); }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:0 22px; font-family:Oswald,sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.02em; border:2px solid transparent; }
.btn small { display:block; text-transform:none; font-family:"Source Sans 3",sans-serif; font-weight:600; font-size:11px; }
.btn-red { background:var(--red); color:#fff; }
.btn-red:hover { background:var(--red-dark); }
.btn-outline { border-color:#fff; color:#fff; background:rgba(6,44,85,.3); }
.btn-outline:hover { background:#fff; color:var(--navy); }
.btn-navy { background:var(--navy); color:#fff; }
.btn-navy:hover { background:var(--navy-2); }
.since-badge { width:215px; height:215px; flex:0 0 auto; display:grid; place-items:center; margin-right:30px; }
.since-ring { width:200px; height:200px; border:5px double rgba(255,255,255,.78); border-radius:50%; background:rgba(245,239,222,.91); color:var(--navy); display:flex; flex-direction:column; justify-content:center; align-items:center; text-transform:uppercase; transform:rotate(-5deg); box-shadow:0 8px 30px rgba(0,0,0,.22); }
.since-ring .small { font-family:Oswald,sans-serif; letter-spacing:.15em; font-size:13px; }
.since-ring strong { font-family:Oswald,sans-serif; font-size:24px; line-height:1; margin-top:5px; }
.since-ring b { font-family:Oswald,sans-serif; color:var(--red); font-size:58px; line-height:.95; }
.since-ring .stars { color:var(--navy); letter-spacing:.2em; margin-top:8px; }

.primary-services { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; }
.service-panel { position:relative; min-height:350px; overflow:hidden; color:#fff; border-right:5px solid #f4efe5; }
.service-panel:last-child { border-right:0; }
.service-panel img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.service-panel:hover img { transform:scale(1.045); }
.service-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(2,21,42,.10), rgba(2,29,57,.95) 72%); }
.service-overlay.warm { background:linear-gradient(180deg, rgba(71,12,11,.06), rgba(58,20,20,.92) 72%); }
.service-content { position:absolute; inset:auto 0 0; padding:28px 30px 30px; }
.service-icon { color:var(--gold); font-size:30px; }
.service-content h2 { font-family:Oswald,sans-serif; text-transform:uppercase; font-size:30px; line-height:1.05; margin:6px 0 8px; }
.service-content p { margin:0 0 18px; font-size:16px; max-width:280px; }
.service-content a { color:#f2bd4e; font-family:Oswald,sans-serif; text-transform:uppercase; font-weight:600; letter-spacing:.035em; }


.shop-categories { padding:42px 0 50px; background:#fbf9f4; }
.section-heading { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; margin-bottom:30px; }
.section-heading span { height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.section-heading span:last-child { background:linear-gradient(90deg,var(--gold),transparent); }
.section-heading h2 { margin:0; font-family:Oswald,sans-serif; text-transform:uppercase; color:var(--navy); font-size:30px; letter-spacing:.02em; }
.category-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.category-card { text-align:center; color:var(--navy); }
.category-card img { width:100%; aspect-ratio:1.7/1; object-fit:cover; border-bottom:4px solid var(--gold); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.category-card h3 { font-family:Oswald,sans-serif; text-transform:uppercase; font-size:21px; line-height:1.08; margin:12px 8px 7px; }
.category-card span { font-family:Oswald,sans-serif; color:var(--red); text-transform:uppercase; font-weight:600; }
.category-card:hover h3 { color:var(--red); }

.trust-band { background:linear-gradient(105deg,#062c55,#05223e); color:#fff; padding:34px 0; border-top:3px solid var(--gold); }
.trust-grid { display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:0; }
.trust-intro { padding:5px 34px 5px 0; }
.trust-intro p { margin:8px 0 0; font-size:16px; }
.trust-item { padding:5px 22px; display:flex; gap:14px; border-left:1px solid rgba(255,255,255,.22); }
.trust-icon { color:var(--gold); font-size:34px; line-height:1; }
.trust-item strong { display:block; color:#f3c55b; font-family:Oswald,sans-serif; text-transform:uppercase; font-size:17px; }
.trust-item span { display:block; font-size:13px; margin-top:4px; }

.newsletter { background:#07325d; color:#fff; border-top:1px solid rgba(255,255,255,.08); }
.newsletter-inner { min-height:120px; display:grid; grid-template-columns:1.3fr 1.2fr .6fr; gap:36px; align-items:center; }
.newsletter-title { display:flex; align-items:center; gap:20px; }
.mail-icon { color:var(--gold); font-size:42px; }
.newsletter h2 { margin:0; font-family:Oswald,sans-serif; text-transform:uppercase; font-size:28px; }
.newsletter p { margin:3px 0 0; }

.newsletter-embed { width:100%; min-width:0; }
.newsletter-embed .ctct-inline-form { width:100%; }
/* Constant Contact renders the live form inside this wrapper. Keep the site
   responsible for the surrounding layout; form-field styling remains editable
   in Constant Contact so marketing staff can update it without touching code. */
.newsletter-form { display:flex; }
.newsletter-form input { flex:1; min-width:0; height:48px; border:0; padding:0 16px; background:#fff; }
.newsletter-form button { height:48px; border:0; background:var(--red); color:#fff; padding:0 24px; font-family:Oswald,sans-serif; text-transform:uppercase; font-weight:600; cursor:pointer; }
.newsletter-form button:hover { background:var(--red-dark); }
.privacy-note { font-size:13px; opacity:.9; }

.shop-bridge { position:relative; overflow:hidden; background:#f5efe4; }
.shop-bridge-photo { position:absolute; left:0; top:0; bottom:0; width:34%; background:url('assets/home-category-hardware.jpg') 62% center/cover no-repeat; opacity:.92; }
.shop-bridge::after { content:""; position:absolute; z-index:1; left:24%; top:0; bottom:0; width:18%; background:linear-gradient(90deg,rgba(245,239,228,0),#f5efe4 72%); pointer-events:none; }
.bridge-inner { position:relative; z-index:2; min-height:118px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:30px; padding-left:36%; }
.bridge-inner h2 { margin:0; font-family:Oswald,sans-serif; text-transform:uppercase; color:var(--navy); font-size:28px; }
.bridge-inner p { margin:2px 0 0; }

.site-footer { background:var(--navy-dark); color:#fff; }
.footer-grid { padding:38px 0; display:grid; grid-template-columns:1.25fr 1.1fr 1fr 1fr .9fr; gap:32px; }
.footer-brand img { width:260px; max-width:100%; }
.footer-since { color:var(--gold); text-transform:uppercase; letter-spacing:.18em; font-size:12px; margin:8px 0 0 32px; }
.site-footer h3 { color:var(--gold); font-family:Oswald,sans-serif; text-transform:uppercase; margin:0 0 10px; font-size:16px; }
.footer-subhead { margin-top:20px!important; }
.site-footer a { display:block; margin:2px 0; color:#fff; }
.site-footer a:hover { color:#f5c75a; }
.site-footer p { margin:0 0 14px; }
.socials { display:flex; gap:10px; }
.socials a { width:34px; height:34px; border:1px solid rgba(255,255,255,.55); border-radius:50%; display:grid; place-items:center; }
.socials .social-placeholder { display:none; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.13); font-size:13px; }
.footer-bottom-inner { min-height:54px; display:flex; justify-content:space-between; align-items:center; gap:24px; }

@media (max-width: 1180px) {
  .header-inner { grid-template-columns:250px 1fr auto; gap:18px; }
  .brand img { width:245px; }
  .main-nav { gap:15px; }
  .main-nav a { font-size:14px; }
  .header-shop { padding-inline:14px; }
  .category-grid { grid-template-columns:repeat(3,1fr); }
  .trust-grid { grid-template-columns:1fr 1fr 1fr; row-gap:26px; }
  .trust-intro { grid-column:1/-1; }
  .trust-item:nth-child(2) { border-left:0; }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
}

@media (max-width: 900px) {
  .container { width:min(var(--max),calc(100% - 34px)); }
  .utility-center { display:none; }
  .utility-inner { grid-template-columns:1fr auto; }
  .header-inner { min-height:92px; grid-template-columns:1fr auto; }
  .brand img { width:250px; max-height:72px; }
  .nav-toggle { display:block; }
  .header-shop { display:none; }
  .main-nav { position:absolute; left:0; right:0; top:92px; display:none; flex-direction:column; align-items:stretch; padding:18px 24px 24px; background:#fff; box-shadow:var(--shadow); }
  .main-nav.open { display:flex; }
  .main-nav a { font-size:17px; padding:7px 0; }
  .hero, .hero-inner { min-height:570px; }
  .hero-wash { background:linear-gradient(90deg,rgba(3,34,66,.97),rgba(3,34,66,.76) 65%,rgba(3,34,66,.45)); }
  .hero-copy { max-width:620px; }
  .since-badge { width:150px; height:150px; margin-right:0; align-self:flex-start; margin-top:45px; }
  .since-ring { width:145px; height:145px; }
  .since-ring b { font-size:42px; }
  .since-ring strong { font-size:19px; }
  .since-ring .small { font-size:9px; }
  .primary-services { grid-template-columns:repeat(2,1fr); }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .newsletter-inner { padding:24px 0; grid-template-columns:1fr; gap:18px; }
  .privacy-note { display:none; }
  .shop-bridge-photo { width:25%; }
  .bridge-inner { padding-left:30%; grid-template-columns:1fr; padding-block:22px; }
  .bridge-inner .btn { grid-column:1; justify-self:start; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 640px) {
  .container { width:min(var(--max),calc(100% - 24px)); }
  .utility-left a span { display:none; }
  .utility-right { font-size:12px; }
  .header-inner { min-height:78px; }
  .brand img { width:210px; }
  .main-nav { top:78px; }
  .hero { min-height:620px; }
  .hero-inner { min-height:620px; align-items:flex-end; }
  .hero-photo { background-position:60% center; }
  .hero-wash { background:linear-gradient(0deg,rgba(3,34,66,.98) 0%,rgba(3,34,66,.86) 54%,rgba(3,34,66,.25) 100%); }
  .hero-copy { padding:220px 0 34px; }
  .hero h1 { font-size:48px; }
  .hero p { font-size:17px; }
  .since-badge { position:absolute; top:22px; right:4px; margin:0; width:125px; height:125px; }
  .since-ring { width:118px; height:118px; border-width:3px; }
  .since-ring b { font-size:34px; }
  .since-ring strong { font-size:15px; }
  .since-ring .stars { font-size:9px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .primary-services { grid-template-columns:1fr; }
  .service-panel { min-height:320px; border-right:0; border-bottom:5px solid #f4efe5; }
  .category-grid { grid-template-columns:1fr; }
  .category-card { display:grid; grid-template-columns:130px 1fr; text-align:left; align-items:center; gap:14px; border-bottom:1px solid #ddd3c2; padding-bottom:14px; }
  .category-card img { grid-row:1/3; aspect-ratio:1.25; }
  .category-card h3 { margin:0; font-size:22px; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-left:0; border-top:1px solid rgba(255,255,255,.15); padding:18px 0 0; }
  .newsletter-form { flex-direction:column; gap:8px; }
  .shop-bridge-photo { display:none; }
  .shop-bridge::after { display:none; }
  .bridge-inner { padding-left:0; grid-template-columns:1fr; text-align:left; }
  .bridge-inner .btn { grid-column:1; width:100%; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom-inner { flex-direction:column; align-items:flex-start; padding:16px 0; }
}


/* ==========================================================
   INTERIOR / PLACEHOLDER LANDING PAGES
   ========================================================== */
.interior-hero {
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: end;
  color: #fff;
  overflow: hidden;
  background: #082c50;
}
.interior-hero-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:0;
}
.interior-hero-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(4,31,58,.97) 0%,rgba(4,31,58,.82) 44%,rgba(4,31,58,.30) 100%);
  z-index:1;
}
.interior-hero-inner { position:relative; z-index:2; padding:70px 0 52px; }
.breadcrumbs { margin-bottom:22px; font-size:14px; color:rgba(255,255,255,.82); }
.breadcrumbs a { color:#fff; border-bottom:1px solid rgba(255,255,255,.35); }
.breadcrumbs span { color:var(--gold); padding:0 8px; }
.interior-hero h1 {
  max-width:900px;
  margin:8px 0 0;
  font-family:Oswald,Impact,sans-serif;
  text-transform:uppercase;
  font-size:clamp(48px,6vw,82px);
  line-height:1;
  letter-spacing:.01em;
  text-shadow:0 4px 24px rgba(0,0,0,.25);
}
.placeholder-section { background:var(--paper); padding:68px 0 78px; }
.placeholder-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,.72fr); gap:60px; align-items:start; }
.development-badge {
  display:inline-block;
  padding:8px 12px;
  margin-bottom:16px;
  border-left:4px solid var(--gold);
  background:#fff;
  color:var(--navy);
  font-family:Oswald,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
  box-shadow:0 5px 16px rgba(0,0,0,.06);
}
.placeholder-main h2 {
  margin:0 0 16px;
  color:var(--navy);
  font-family:Oswald,sans-serif;
  text-transform:uppercase;
  font-size:clamp(34px,4vw,52px);
  line-height:1.04;
}
.placeholder-lead { font-size:22px; max-width:850px; color:#27354b; }
.placeholder-main > p:not(.placeholder-lead) { max-width:850px; font-size:17px; }
.placeholder-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.placeholder-aside {
  background:var(--navy);
  color:#fff;
  padding:30px;
  border-top:5px solid var(--gold);
  box-shadow:var(--shadow);
}
.placeholder-aside h3 { margin:6px 0 15px; font-family:Oswald,sans-serif; text-transform:uppercase; font-size:28px; }
.placeholder-aside ul { margin:0; padding-left:20px; }
.placeholder-aside li { margin:9px 0; }
.placeholder-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:34px; }
.placeholder-link-card {
  display:block;
  background:#fff;
  border-top:4px solid var(--gold);
  padding:24px;
  box-shadow:0 10px 26px rgba(0,0,0,.07);
  transition:transform .2s ease, box-shadow .2s ease;
}
.placeholder-link-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(0,0,0,.11); }
.placeholder-card-label { color:var(--red); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:12px; letter-spacing:.1em; font-weight:600; }
.placeholder-link-card h3 { margin:5px 0 7px; color:var(--navy); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:24px; }
.placeholder-link-card p { margin:0 0 14px; color:#425069; }
.placeholder-link-card b { color:var(--red); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:14px; }
.footer-contact em { opacity:.7; font-size:12px; }

@media (max-width: 900px) {
  .placeholder-layout { grid-template-columns:1fr; gap:34px; }
  .placeholder-aside { max-width:650px; }
}
@media (max-width: 640px) {
  .interior-hero { min-height:290px; }
  .interior-hero-inner { padding:56px 0 38px; }
  .interior-hero h1 { font-size:44px; }
  .placeholder-section { padding:46px 0 56px; }
  .placeholder-link-grid { grid-template-columns:1fr; }
  .placeholder-lead { font-size:19px; }
}


/* ==========================================================
   REAL LANDING PAGE CONTENT
   ========================================================== */
.landing-section { background:var(--paper); padding:68px 0 80px; }
.landing-layout { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(290px,.72fr); gap:60px; align-items:start; }
.landing-main h2 {
  margin:8px 0 18px;
  color:var(--navy);
  font-family:Oswald,sans-serif;
  text-transform:uppercase;
  font-size:clamp(36px,4vw,56px);
  line-height:1.03;
}
.landing-lead { max-width:900px; margin:0 0 18px; color:#27354b; font-size:22px; line-height:1.48; }
.landing-main > p:not(.landing-lead) { max-width:900px; font-size:18px; }
.landing-aside {
  position:sticky;
  top:150px;
  background:var(--navy);
  color:#fff;
  padding:30px;
  border-top:5px solid var(--gold);
  box-shadow:var(--shadow);
}
.landing-aside h3 { margin:7px 0 15px; font-family:Oswald,sans-serif; text-transform:uppercase; font-size:29px; line-height:1.08; }
.landing-aside p { margin:0 0 16px; }
.landing-aside hr { border:0; border-top:1px solid rgba(255,255,255,.2); margin:26px 0; }
.landing-aside .eyebrow { color:#f2c663; }
.aside-note { padding:14px 0 0; border-top:1px solid rgba(255,255,255,.18); color:#dce5ed; font-size:14px; }
.text-link { display:inline-block; margin-top:12px; color:#f3c55b; font-family:Oswald,sans-serif; text-transform:uppercase; font-weight:600; letter-spacing:.035em; }
.text-link:hover { color:#fff; }
.check-list { margin:0; padding:0; list-style:none; }
.check-list li { position:relative; padding:8px 0 8px 24px; border-bottom:1px solid rgba(255,255,255,.09); }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--gold); font-weight:700; }

.info-grid { display:grid; gap:18px; margin:36px 0; }
.info-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.info-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.info-card { background:#fff; padding:25px 25px 27px; border-top:4px solid var(--gold); box-shadow:0 10px 26px rgba(0,0,0,.07); }
.info-card h3 { margin:0 0 8px; color:var(--navy); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:24px; line-height:1.08; }
.info-card p { margin:0; }

.landing-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:36px 0; }
.landing-card-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.landing-card { position:relative; display:block; background:#fff; padding:26px; border-top:4px solid var(--gold); box-shadow:0 10px 26px rgba(0,0,0,.07); transition:transform .2s ease,box-shadow .2s ease; overflow:hidden; }
.landing-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(0,0,0,.12); }
.landing-card > span { position:absolute; right:15px; top:7px; color:rgba(6,44,85,.08); font-family:Oswald,sans-serif; font-size:62px; font-weight:700; line-height:1; }
.landing-card h3 { position:relative; margin:0 0 8px; color:var(--navy); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:25px; line-height:1.08; }
.landing-card p { position:relative; margin:0 0 16px; }
.landing-card b { position:relative; color:var(--red); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:14px; letter-spacing:.03em; }

.content-block { margin:38px 0; padding:30px 32px; background:#eee5d5; border-left:5px solid var(--navy); }
.content-block h3 { margin:0 0 10px; color:var(--navy); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:29px; }
.content-block p { margin:0; font-size:17px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; margin-top:20px; }
.detail-grid div { display:flex; flex-direction:column; gap:3px; }
.detail-grid b { color:var(--navy); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:17px; }
.detail-grid span { font-size:15px; }

.page-callout { margin-top:40px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:30px 32px; background:linear-gradient(105deg,#062c55,#05223e); color:#fff; border-top:4px solid var(--gold); box-shadow:var(--shadow); }
.page-callout h3 { margin:5px 0 5px; font-family:Oswald,sans-serif; text-transform:uppercase; font-size:29px; line-height:1.08; }
.page-callout p { margin:0; max-width:650px; }
.page-callout .eyebrow { color:#f2c663; }
.page-callout .btn { flex:0 0 auto; }
.callout-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.callout-actions .btn-navy { border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.06); }
.callout-actions .btn-navy:hover { background:#fff; color:var(--navy); }

.contact-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:32px 0 38px; }
.contact-methods > * { display:flex; flex-direction:column; gap:5px; background:#fff; padding:22px; border-top:4px solid var(--gold); box-shadow:0 8px 20px rgba(0,0,0,.06); }
.contact-methods span { color:var(--red); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:13px; letter-spacing:.08em; }
.contact-methods b { color:var(--navy); font-size:20px; }
.contact-methods small { color:#5a6572; font-size:13px; }
.contact-methods a:hover b { color:var(--red); }
.contact-form-wrap { margin-top:40px; background:#fff; padding:30px 32px; box-shadow:0 10px 28px rgba(0,0,0,.08); border-top:5px solid var(--gold); }
.form-intro h3 { margin:5px 0 5px; color:var(--navy); font-family:Oswald,sans-serif; text-transform:uppercase; font-size:30px; }
.form-intro p { margin:0 0 22px; }
.contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.contact-form label { display:flex; flex-direction:column; gap:6px; font-weight:600; color:var(--navy); }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #c8c8c8; background:#fff; padding:12px 13px; color:var(--ink); font:inherit; }
.contact-form textarea { resize:vertical; }
.contact-form .full { grid-column:1/-1; }
.form-bottom { display:flex!important; flex-direction:row!important; align-items:center; gap:18px!important; }
.form-bottom span { color:#6c7480; font-size:13px; font-weight:400; }

@media (max-width: 980px) {
  .landing-layout { grid-template-columns:1fr; gap:38px; }
  .landing-aside { position:static; }
  .info-grid.three,.landing-card-grid.three { grid-template-columns:1fr 1fr; }
  .contact-methods { grid-template-columns:1fr; }
  .page-callout { align-items:flex-start; }
}
@media (max-width: 700px) {
  .landing-section { padding:48px 0 58px; }
  .landing-lead { font-size:20px; }
  .info-grid.three,.info-grid.two,.landing-card-grid,.landing-card-grid.three,.detail-grid,.contact-form { grid-template-columns:1fr; }
  .page-callout { flex-direction:column; padding:26px 24px; }
  .page-callout .btn,.callout-actions { width:100%; }
  .callout-actions { justify-content:flex-start; }
  .callout-actions .btn { width:100%; }
  .content-block,.contact-form-wrap { padding:24px; }
  .contact-form .full { grid-column:auto; }
  .form-bottom { flex-direction:column!important; align-items:flex-start; }
}


/* ==========================================================
   CONSTANT CONTACT — COMPACT HOMEPAGE SIGNUP
   Keep the real Constant Contact form functional, but let the
   Alabama Flag site own the visual presentation.
   ========================================================== */
.newsletter-compact .newsletter-inner {
  min-height: 0;
  padding: 26px 0;
  grid-template-columns: .9fr 1.65fr;
  gap: 48px;
  align-items: center;
}
.newsletter-compact .newsletter-embed {
  width: 100%;
  max-width: none;
  margin: 0;
}
.newsletter-compact .ctct-inline-form,
.newsletter-compact .ctct-form-embed,
.newsletter-compact .ctct-form-defaults {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.newsletter-compact .ctct-form-defaults {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #fff !important;
}
/* The site already supplies Stay Connected copy; suppress duplicate CC heading/description. */
.newsletter-compact .ctct-form-defaults h2,
.newsletter-compact .ctct-form-defaults .ctct-form-text {
  display: none !important;
}
.newsletter-compact .ctct-form-custom {
  margin: 0 !important;
}
.newsletter-compact .ctct-form-custom .ctct-form-label,
.newsletter-compact .ctct-form-custom .ctct-form-listname {
  color: #fff !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 14px !important;
  margin-bottom: 4px !important;
}
.newsletter-compact .ctct-form-custom input[type="email"],
.newsletter-compact .ctct-form-custom input[type="text"] {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: #fff !important;
  color: #17212b !important;
  font-size: 16px !important;
}
.newsletter-compact .ctct-form-custom .ctct-form-field {
  margin: 0 0 8px !important;
}
.newsletter-compact .ctct-form-custom .ctct-form-button {
  width: auto !important;
  min-width: 150px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--red) !important;
  color: #fff !important;
  font-family: Oswald, Impact, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}
.newsletter-compact .ctct-form-custom .ctct-form-button:hover {
  background: var(--red-dark) !important;
}
/* Required consent copy stays visible but no longer dominates the section. */
.newsletter-compact .ctct-form-custom .ctct-gdpr-text,
.newsletter-compact .ctct-form-custom .ctct-form-footer {
  color: rgba(255,255,255,.72) !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  margin: 7px 0 0 !important;
}
.newsletter-compact .ctct-form-custom .ctct-gdpr-text a,
.newsletter-compact .ctct-form-custom .ctct-form-footer a {
  color: #fff !important;
}

@media (max-width: 900px) {
  .newsletter-compact .newsletter-inner {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 0;
  }
}

.footer-email-link { color:var(--gold)!important; margin-top:8px!important; font-weight:700; }

/* Launch form anti-spam field */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
