:root{
  --bg:#f7f1e8;
  --bg-soft:#efe5d7;
  --surface:#fffdf9;
  --surface-strong:#f6ecde;
  --surface-dark:#2e2117;
  --surface-dark-2:#433023;
  --text:#2d241d;
  --text-soft:#685548;
  --text-muted:#8e7869;
  --line:#dcc7b3;
  --line-strong:#b8926f;
  --brand-1:#c98939;
  --brand-2:#e3a34b;
  --brand-3:#8b5a2b;
  --brand-4:#5f3d25;
  --success:#3e7a4d;
  --white:#ffffff;
  --shadow-sm:0 10px 30px rgba(84, 52, 28, 0.06);
  --shadow-md:0 20px 50px rgba(84, 52, 28, 0.1);
  --shadow-lg:0 28px 80px rgba(67, 44, 25, 0.16);
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:30px;
  --radius-xl:42px;
  --transition:all .3s ease;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{ 
  margin:0;
  font-family:'Manrope',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(227,163,75,.2), transparent 28%),
    linear-gradient(180deg, #fbf6ef 0%, var(--bg) 48%, #f3ebe0 100%);
  line-height:1.65;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;transition:var(--transition)}
img{display:block;max-width:100%}
ul{margin:0;padding:0;list-style:none}
button,input,textarea,select{font:inherit}
button{border:0;background:none;cursor:pointer}
code{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  background:rgba(95,61,37,.08);
  color:var(--brand-4);
  padding:.1rem .35rem;
  border-radius:8px;
}

.container{width:min(1180px,calc(100% - 2rem));margin:0 auto}
.section-pad{padding:5.5rem 0}
.section-heading{display:grid;gap:1rem;justify-items:center;text-align:center;margin-bottom:2.6rem}
.section-heading-left{justify-items:start;text-align:left}
.section-title{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.03;
  letter-spacing:-.04em;
}
.section-subtitle{
  margin:0;
  max-width:760px;
  color:var(--text-soft);
  font-size:1.03rem;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .9rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.14);
  color:inherit;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.eyebrow{
  display:inline-flex;
  width:max-content;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(95,61,37,.08);
  color:var(--brand-4);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.topbar{
  position:relative;
  z-index:20;
  padding:.75rem 0;
  background:rgba(46,33,23,.92);
  color:#f4e7d7;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar .container,
.topbar-left,
.topbar-right{
  display:flex;
  align-items:center;
  gap:.9rem 1.25rem;
  flex-wrap:wrap;
}
.topbar .container{justify-content:space-between}
.topbar-item{font-size:.85rem;color:#f4e7d7}
.topbar-right a:hover{color:#ffd9aa}

.navbar{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(22px);
  background:rgba(251,246,239,.72);
  border-bottom:1px solid rgba(137,90,43,.1);
  transition:var(--transition);
}
.navbar.scrolled{
  background:rgba(251,246,239,.92);
  box-shadow:0 18px 35px rgba(46,33,23,.08);
}
.navbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:82px;
  gap:1rem;
}
.nav-logo{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.12;
  color:var(--surface-dark);
}
.nav-logo small{
  display:block;
  margin-top:.32rem;
  font-family:'Manrope',sans-serif;
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-muted);
}
.nav-links{
  display:flex;
  align-items:center;
  gap:1.6rem;
}
.nav-links > a:not(.nav-cta),
.nav-dropdown-trigger{
  position:relative;
  padding:.2rem 0;
  color:var(--text-soft);
  font-size:.95rem;
  font-weight:700;
}
.nav-links > a:not(.nav-cta)::after,
.nav-dropdown-trigger::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-.2rem;
  width:100%;
  height:2px;
  transform:scaleX(0);
  transform-origin:left;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand-1),var(--brand-2));
  transition:transform .25s ease;
}
.nav-links > a:not(.nav-cta):hover,
.nav-links > a:not(.nav-cta).is-active,
.nav-dropdown-trigger:hover,
.nav-dropdown-trigger.is-active{color:var(--surface-dark)}
.nav-links > a:not(.nav-cta):hover::after,
.nav-links > a:not(.nav-cta).is-active::after,
.nav-dropdown-trigger:hover::after,
.nav-dropdown-trigger.is-active::after{transform:scaleX(1)}
.nav-dropdown{position:relative}
.nav-dropdown-trigger{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.nav-dropdown-trigger::before{
  content:'';
  width:.45rem;
  height:.45rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
}
.nav-dropdown-menu{
  display:none;
  position:absolute;
  left:0;
  top:calc(100% + 1.1rem);
  min-width:250px;
  padding:.65rem;
  border-radius:22px;
  border:1px solid rgba(137,90,43,.12);
  background:rgba(255,253,249,.98);
  box-shadow:var(--shadow-lg);
}
.nav-dropdown.is-open .nav-dropdown-menu{display:grid;gap:.25rem}
.nav-dropdown-menu a,
.nav-dropdown-menu span{
  padding:.7rem .8rem;
  border-radius:14px;
  color:var(--text-soft);
  font-size:.92rem;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.is-active{
  background:var(--surface-strong);
  color:var(--surface-dark);
}
.nav-dropdown-menu span{color:var(--text-muted)}
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.88rem 1.35rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:var(--white)!important;
  font-size:.9rem;
  font-weight:800;
  box-shadow:0 18px 32px rgba(201,137,57,.26);
}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 22px 34px rgba(201,137,57,.34)}
.hamburger{display:none;flex-direction:column;gap:4px;padding:.3rem}
.hamburger span{
  width:24px;
  height:2px;
  border-radius:999px;
  background:var(--surface-dark);
}

.hero,.service-hero{
  position:relative;
  overflow:hidden;
  color:var(--white);
  background:
    linear-gradient(140deg, rgba(70,47,31,.98) 0%, rgba(95,61,37,.98) 34%, rgba(137,90,43,.98) 100%);
}
.hero::before,.service-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.75), transparent 92%);
}
.hero-home,
.service-hero{padding:6rem 0 4.75rem}
.hero-grid,
.service-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap:2rem;
  align-items:center;
}
.hero-grid,
.service-hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)}
.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(12px);
  opacity:.4;
}
.hero-orb-1{
  width:360px;
  height:360px;
  right:-120px;
  top:-100px;
  background:radial-gradient(circle, rgba(255,208,140,.45) 0%, rgba(255,208,140,0) 70%);
}
.hero-orb-2{
  width:320px;
  height:320px;
  left:-120px;
  bottom:-90px;
  background:radial-gradient(circle, rgba(255,240,222,.18) 0%, rgba(255,240,222,0) 70%);
}
.hero-copy,
.service-hero-content{display:grid;gap:1.35rem}
.hero-badge{
  width:max-content;
  border-color:rgba(255,255,255,.18);
  color:#fff0db;
}
.hero h1,
.service-hero h1{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(2rem,4.1vw,4.6rem);
  line-height:.97;
  letter-spacing:-.05em;
  max-width:10.5ch;
}
.hero-description,
.service-hero-content p{
  margin:0;
  max-width:640px;
  color:rgba(255,245,234,.82);
  font-size:1.05rem;
}
.hero-buttons,
.service-hero-actions,
.cta-buttons{
  display:flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap;
}
.btn-primary,
.btn-secondary,
.btn-white,
.btn-outline-white{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 1.45rem;
  border-radius:999px;
  font-size:.95rem;
  font-weight:800;
}
.btn-primary{
  background:linear-gradient(135deg,var(--brand-2),var(--brand-1));
  color:var(--surface-dark);
  box-shadow:0 18px 34px rgba(227,163,75,.24);
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-secondary{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:var(--white);
}
.btn-secondary:hover{background:rgba(255,255,255,.14)}
.hero-stats{
  display:flex;
  gap:1.3rem;
  flex-wrap:wrap;
}
.hero-stat{
  min-width:118px;
  padding:1rem 1.1rem;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.hero-stat-number{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.45rem;
  font-weight:700;
}
.hero-stat-label{
  margin-top:.2rem;
  color:rgba(255,245,234,.72);
  font-size:.76rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-visual{display:grid;gap:1rem}
.hero-photo-card{
  margin:0;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 20px 48px rgba(44,22,7,.22);
}
.hero-photo-card img{
  display:block;
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  object-position:center;
}
.hero-note-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.hero-note{
  padding:1rem 1.15rem;
  border-radius:24px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
}
.hero-note-label{
  display:block;
  margin-bottom:.42rem;
  color:rgba(255,245,234,.7);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.lead-form-section{position:relative;z-index:2;margin-top:-2rem}
.lead-form-wrap{
  padding:2rem;
  border-radius:34px;
  background:var(--surface);
  border:1px solid rgba(137,90,43,.1);
  box-shadow:var(--shadow-lg);
}
.lead-form-header{display:grid;gap:.8rem;margin-bottom:1.5rem}
.lead-form-header h2{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(1.7rem,3vw,2.8rem);
  line-height:1;
}
.lead-form-header p{margin:0;color:var(--text-soft)}
.lead-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.2rem;
}
.form-field{display:grid;gap:.45rem}
.form-field-full{grid-column:1/-1}
.form-field label{
  color:var(--surface-dark);
  font-size:.9rem;
  font-weight:800;
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  padding:1rem 1rem;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fffaf3;
  color:var(--text);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none;
  border-color:var(--line-strong);
  box-shadow:0 0 0 4px rgba(201,137,57,.14);
}
.form-field textarea{min-height:160px;resize:vertical}
.form-submit{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding-top:.2rem;
}
.form-submit p{margin:0;color:var(--text-muted);font-size:.92rem}

.services{background:linear-gradient(180deg, rgba(255,255,255,.2) 0%, rgba(239,229,215,.55) 100%)}
.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.2rem;
}
.service-card{
  display:grid;
  gap:1rem;
  padding:1.5rem;
  border-radius:28px;
  background:rgba(255,253,249,.82);
  border:1px solid rgba(137,90,43,.1);
  box-shadow:var(--shadow-sm);
}
.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.service-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.service-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--surface-dark),var(--brand-3));
  color:var(--white);
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.1rem;
  font-weight:800;
}
.service-chip{
  display:inline-flex;
  padding:.35rem .75rem;
  border-radius:999px;
  background:rgba(62,122,77,.1);
  color:var(--success);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.service-card h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.45rem;
  line-height:1.05;
}
.service-card p{margin:0;color:var(--text-soft)}
.service-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.service-card-meta span{
  padding:.35rem .7rem;
  border-radius:999px;
  background:var(--surface-strong);
  color:var(--brand-4);
  font-size:.8rem;
  font-weight:700;
}
.service-link{
  color:var(--brand-3);
  font-weight:800;
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.process-card{
  display:grid;
  gap:.8rem;
  padding:1.6rem;
  border-radius:28px;
  background:rgba(255,253,249,.84);
  border:1px solid rgba(137,90,43,.1);
  box-shadow:var(--shadow-sm);
}
.process-index{
  display:inline-flex;
  width:max-content;
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(201,137,57,.12);
  color:var(--brand-3);
  font-size:.8rem;
  font-weight:800;
}
.process-card h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.35rem;
}
.process-card p{margin:0;color:var(--text-soft)}
.material-band{
  margin-top:1.2rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.material-band-item{
  padding:1.2rem 1.25rem;
  border-radius:24px;
  background:rgba(95,61,37,.06);
  border:1px solid rgba(137,90,43,.1);
}
.material-band-item strong{
  display:block;
  margin-bottom:.35rem;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.05rem;
}
.material-band-item p{margin:0;color:var(--text-soft)}
.material-dot{
  display:inline-flex;
  width:10px;
  height:10px;
  margin-bottom:.9rem;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand-2),var(--brand-1));
}

.regions{
  color:var(--white);
  background:
    radial-gradient(circle at top right, rgba(255,212,165,.14), transparent 28%),
    linear-gradient(140deg, #2f2118 0%, #4b3425 48%, #65422a 100%);
}
.regions .badge{
  background:rgba(255,255,255,.08);
  color:#fbead3;
}
.regions .section-title,
.regions .section-subtitle{color:var(--white)}
.regions .section-subtitle{color:rgba(255,242,227,.72)}
.regions-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.region-card{
  display:grid;
  gap:.85rem;
  padding:1.5rem;
  border-radius:28px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}
.region-card h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.35rem;
}
.region-copy{
  margin:0;
  color:rgba(255,242,227,.72);
  font-size:.94rem;
}
.region-card a{
  display:block;
  color:#fff2e3;
  font-size:1rem;
  font-weight:800;
}
.region-card a:hover{color:#ffd7a6}

.coverage-locations{
  background:
    linear-gradient(180deg, rgba(255,253,249,.72) 0%, rgba(239,229,215,.72) 100%);
}
.coverage-locations-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  align-items:start;
}
.coverage-location-card{
  display:grid;
  gap:1rem;
  padding:1.35rem;
  border-radius:28px;
  background:rgba(255,253,249,.88);
  border:1px solid rgba(137,90,43,.1);
  box-shadow:var(--shadow-sm);
}
.coverage-location-header{
  display:flex;
  align-items:center;
  gap:.85rem;
}
.coverage-location-mark{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--brand-3),var(--surface-dark));
  color:var(--white);
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.05rem;
  font-weight:800;
}
.coverage-location-card h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.45rem;
  line-height:1.05;
}
.coverage-parish-list{
  display:flex;
  flex-wrap:wrap;
  gap:.48rem;
}
.coverage-parish-list li{
  padding:.35rem .68rem;
  border-radius:999px;
  background:var(--surface-strong);
  color:var(--text-soft);
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
}

.cta{
  position:relative;
  overflow:hidden;
  color:var(--white);
  background:linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 100%);
}
.cta::before{
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-120px;
  top:-140px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.cta .container{position:relative;z-index:1;text-align:center}
.cta .section-title{color:var(--surface-dark)}
.cta .section-subtitle{max-width:720px;color:rgba(46,33,23,.85)}
.btn-white{
  background:var(--surface-dark);
  color:var(--white);
}
.btn-outline-white{
  border:1px solid rgba(46,33,23,.16);
  background:rgba(255,255,255,.2);
  color:var(--surface-dark);
}

.service-main{
  background:
    linear-gradient(180deg, rgba(239,229,215,.65) 0%, rgba(255,253,249,.6) 160px, rgba(255,253,249,1) 160px);
}
.service-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:1.2rem;
  align-items:start;
}
.service-article,
.sidebar-card{
  background:rgba(255,253,249,.94);
  border:1px solid rgba(137,90,43,.1);
  box-shadow:var(--shadow-sm);
}
.service-article{
  padding:2rem;
  border-radius:32px;
}
.service-article-intro{
  display:grid;
  gap:.8rem;
  padding:1.15rem 1.2rem;
  margin-bottom:1.6rem;
  border-radius:24px;
  background:rgba(95,61,37,.05);
  border:1px solid rgba(137,90,43,.08);
}
.service-article-intro p{margin:0;color:var(--text-soft)}
.service-article h2{
  margin:2rem 0 .85rem;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.9rem;
  line-height:1.04;
}
.service-article h3{
  margin:1.25rem 0 .6rem;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.25rem;
}
.service-article p{
  margin:0 0 1rem;
  color:var(--text-soft);
}
.service-article ul{
  margin:0 0 1rem;
  padding-left:1.15rem;
  list-style:disc;
}
.service-article li{
  margin-bottom:.55rem;
  color:var(--text-soft);
}
.service-article li p,
.service-article li h2,
.service-article li h3{margin-top:0}
.article-lead{font-size:1.06rem;color:var(--text)}
.article-callout{
  padding:1.2rem 1.3rem;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(201,137,57,.12), rgba(227,163,75,.1));
  border:1px solid rgba(201,137,57,.18);
  margin:1.5rem 0;
}
.article-callout p:last-child{margin-bottom:0}
.faq-list{display:grid;gap:.9rem}
.faq-item{
  padding:1.15rem 1.2rem;
  border-radius:22px;
  background:rgba(95,61,37,.04);
  border:1px solid rgba(137,90,43,.08);
}
.faq-item h3{margin-top:0}
.location-collapse{
  margin-top:2rem;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(137,90,43,.1);
  background:rgba(95,61,37,.04);
}
.location-collapse summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.2rem;
  cursor:pointer;
  font-weight:800;
  list-style:none;
}
.location-collapse summary::-webkit-details-marker{display:none}
.location-collapse-icon{
  width:.6rem;
  height:.6rem;
  border-right:2px solid var(--brand-4);
  border-bottom:2px solid var(--brand-4);
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.location-collapse[open] .location-collapse-icon{transform:rotate(225deg)}
.location-links{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem .75rem;
  padding:0 1.2rem 1.2rem;
}
.location-links a{
  color:var(--brand-3);
  font-weight:800;
}

.service-sidebar{display:grid;gap:1rem}
.sidebar-card{
  position:sticky;
  top:98px;
  padding:1.35rem;
  border-radius:28px;
}
.sidebar-card + .sidebar-card{top:calc(98px + 1rem)}
.sidebar-card h3{
  margin:0 0 .65rem;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.3rem;
}
.sidebar-card p{margin:0;color:var(--text-soft)}
.sidebar-buttons{
  display:grid;
  gap:.75rem;
  margin-top:1rem;
}
.sidebar-note{
  margin-top:.9rem !important;
  color:var(--text-muted) !important;
  font-size:.9rem;
}
.related-links{display:grid;gap:.65rem}
.related-links a{
  padding:.82rem .9rem;
  border-radius:18px;
  background:var(--surface-strong);
  color:var(--brand-4);
  font-weight:800;
}
.related-empty{color:var(--text-muted);font-size:.95rem}

.footer{
  padding:4rem 0 1.6rem;
  color:#ead8c5;
  background:linear-gradient(180deg,#2b1f17 0%, #221913 100%);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr .9fr .9fr;
  gap:1.6rem;
  margin-bottom:2.2rem;
}
.footer-logo{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:1.45rem;
  color:var(--white);
}
.footer-brand p{max-width:360px}
.footer h4{
  margin:0 0 .9rem;
  color:var(--white);
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.footer ul{display:grid;gap:.6rem}
.footer ul a:hover{color:#ffd8ab}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.84rem;
}

.floating-actions{
  position:fixed;
  right:1.2rem;
  bottom:1.2rem;
  z-index:25;
  display:flex;
  flex-direction:column;
  gap:.7rem;
}
.floating-action{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  color:var(--white);
  box-shadow:0 18px 28px rgba(46,33,23,.18);
}
.floating-action:hover{transform:translateY(-2px)}
.floating-action svg{width:28px;height:28px;fill:currentColor}
.floating-action-whatsapp{background:#25d366}
.floating-action-call{background:linear-gradient(135deg,var(--brand-3),var(--brand-4))}
.floating-action-form{background:linear-gradient(135deg,var(--brand-2),var(--brand-1));color:var(--surface-dark)}

.animate-in{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .55s ease, transform .55s ease;
}
.animate-in.visible{
  opacity:1;
  transform:translateY(0);
}

.canalizador-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-notice{
  grid-column:1/-1;
  padding:.9rem 1rem;
  border-radius:18px;
  font-weight:800;
}
.form-notice-success{
  border:1px solid rgba(62,122,77,.2);
  background:rgba(62,122,77,.1);
  color:#255230;
}
.form-notice-error{
  border:1px solid rgba(164,68,45,.18);
  background:rgba(164,68,45,.1);
  color:#8b2b1b;
}

@media (max-width: 1100px){
  .hero-grid,
  .service-hero-grid,
  .service-layout,
  .footer-grid,
  .process-grid,
  .material-band{grid-template-columns:1fr}
  .hero-grid{gap:1.5rem}
  .hero h1,.service-hero h1{max-width:none}
  .regions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar-card,
  .sidebar-card + .sidebar-card{position:static}
}

@media (max-width: 860px){
  .topbar{display:none}
  .nav-links{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:82px;
    padding:1.25rem 1rem 1.35rem;
    background:rgba(255,253,249,.98);
    border-bottom:1px solid rgba(137,90,43,.1);
    box-shadow:0 20px 40px rgba(46,33,23,.08);
    flex-direction:column;
    align-items:flex-start;
  }
  .nav-links.active{display:flex}
  .nav-dropdown{width:100%}
  .nav-dropdown-menu{
    position:static;
    display:grid;
    margin-top:.8rem;
    box-shadow:none;
    min-width:0;
  }
  .hamburger{display:flex}
  .hero-home{padding-top:5rem}
  .coverage-locations-grid{grid-template-columns:1fr}
}

@media (max-width: 680px){
  .section-pad{padding:4rem 0}
  .container{width:min(1180px,calc(100% - 1.2rem))}
  .lead-form-wrap,
  .service-article{padding:1.3rem}
  .lead-form{grid-template-columns:1fr}
  .form-submit,
  .hero-buttons,
  .service-hero-actions,
  .cta-buttons{align-items:stretch}
  .btn-primary,
  .btn-secondary,
  .btn-white,
  .btn-outline-white{width:100%}
  .hero-note-grid,
  .regions-grid{grid-template-columns:1fr}
  .hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .floating-actions{right:.85rem;bottom:.85rem}
  .floating-action{width:54px;height:54px}
}

@media (max-width: 480px){
  .hero h1,
  .service-hero h1,
  .section-title{letter-spacing:-.05em}
  .hero-stats{grid-template-columns:1fr}
  .nav-cta{width:100%}
}
