/* ============================================================
   BuildRite — design system
   Barlow Condensed (display) + Barlow (body)
   ============================================================ */
:root{
	--paper:#FAF7F1;
	--tint:#F2EBDD;
	--ink:#1B1510;
	--ink-soft:#5C5344;
	--muted:#8A7F6C;
	--line:#E6DCCB;
	--brand:#C77B2A;
	--brand-dark:#9E5E1C;
	--brand-soft:#F6E8D2;
	--dark:#16110B;
	--dark-2:#201912;
	--card-shadow:0 10px 30px rgba(27,21,16,.08);
	--radius:14px;
	--font-display:'Barlow Condensed', 'Arial Narrow', sans-serif;
	--font-body:'Barlow', 'Segoe UI', sans-serif;
}

/* === BuildRite Mobile Drawer Menu v1.0 (2026-10-17) ===
 * Transforms.mobile-menu from fullscreen into an elegant slide-in drawer.
 * Only applies on mobile (max-width: 900px where burger is visible).
 */
@media (max-width: 900px) {
  /* Dark blurred backdrop */
.mobile-menu-backdrop {
    position: fixed; inset: 0; z-index: 9998;
    background: rgba(15, 10, 5, 0.55);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    opacity: 0; pointer-events: none;
    transition: opacity 0.35s ease;
}
.mobile-menu-backdrop.is-visible { opacity: 1; pointer-events: auto;}

  /* Drawer panel: slides from right, NOT fullscreen */
.mobile-menu {
    position: fixed!important;
    top: 0; right: 0; bottom: 0; z-index: 9999;
    width: min(84vw, 360px);
    max-height: 100dvh;
    overflow-y: auto;
    background: linear-gradient(165deg, #2b2118 0%, #1d150e 60%, #171008 100%);
    border-left: 1px solid rgba(255, 193, 7, 0.25);
    border-radius: 20px 0 0 20px;
    box-shadow: -20px 0 60px rgba(0, 0, 0, 0.5);
    padding: 0!important;
    transform: translateX(105%);
    transition: transform 0.42s cubic-bezier(0.32, 0.72, 0.28, 1);
    display: flex!important;
    flex-direction: column;
}
.mobile-menu[hidden] { display: flex!important;}
.mobile-menu.is-open { transform: translateX(0);}

  /* Top bar with close button */
.mobile-menu__topbar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 20px 12px;
}
.mobile-menu__brand {
    font-family: var(--font-display, inherit);
    font-size: 1.05rem; font-weight: 700;
    color: #ffc107; letter-spacing: 0.04em; text-transform: uppercase;
}
.mobile-menu__close {
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(255, 193, 7, 0.35);
    background: rgba(255, 193, 7, 0.08);
    color: #ffc107; font-size: 20px; line-height: 1;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background 0.25s, transform 0.25s;
}
.mobile-menu__close:hover { background: rgba(255,193,7,0.2); transform: rotate(90deg);}

  /* Nav list with staggered animation */
.mobile-menu__list {
    list-style: none; margin: 0; padding: 8px 16px;
    display: flex; flex-direction: column; gap: 6px;
}
.mobile-menu__list li {
    opacity: 0; transform: translateX(28px);
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.mobile-menu.is-open.mobile-menu__list li { opacity: 1; transform: translateX(0);}
.mobile-menu.is-open.mobile-menu__list li:nth-child(1) { transition-delay: 0.08s;}
.mobile-menu.is-open.mobile-menu__list li:nth-child(2) { transition-delay: 0.14s;}
.mobile-menu.is-open.mobile-menu__list li:nth-child(3) { transition-delay: 0.20s;}
.mobile-menu.is-open.mobile-menu__list li:nth-child(4) { transition-delay: 0.26s;}
.mobile-menu.is-open.mobile-menu__list li:nth-child(5) { transition-delay: 0.32s;}
.mobile-menu.is-open.mobile-menu__list li:nth-child(6) { transition-delay: 0.38s;}
.mobile-menu__list a {
    display: flex!important; align-items: center; gap: 14px;
    padding: 14px 16px!important;
    color: #f5efe2!important;
    font-size: 1.02rem!important; font-weight: 600;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07)!important;
    border-radius: 14px;
    transition: background 0.25s, border-color 0.25s, transform 0.25s!important;
}
.mobile-menu__list a::before {
    content: ">"; color: #ffc107; font-size: 1.3em; line-height: 1;
    transition: transform 0.25s;
}
.mobile-menu__list a:hover,.mobile-menu__list a:active {
    background: rgba(255, 193, 7, 0.12)!important;
    border-color: rgba(255, 193, 7, 0.4)!important;
    transform: translateX(-4px);
}
.mobile-menu__list a:hover::before { transform: translateX(4px);}

  /* CTA buttons at bottom */
.mobile-menu__cta {
    margin-top: auto; padding: 16px 20px 26px!important;
    display: flex!important; flex-direction: column; gap: 10px;
}
.mobile-menu__cta.btn {
    border-radius: 14px!important; padding: 15px!important;
    font-weight: 700; text-align: center;
    transition: transform 0.2s, box-shadow 0.2s!important;
}
.mobile-menu__cta.btn:active { transform: scale(0.97);}
.mobile-menu__cta.btn--brand {
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.35);
}
.mobile-menu__lang { display: none!important;}
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	font-family:var(--font-body);
	font-size:17px;
	line-height:1.65;
	color:var(--ink);
	background:var(--paper);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-dark)}
h1,h2,h3{
	font-family:var(--font-display);
	font-weight:700;
	line-height:1.08;
	letter-spacing:.01em;
	margin:0 0 .5em;
	text-transform:uppercase;
}
h1{font-size:clamp(2.6rem,5.6vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.muted{color:var(--muted)}
.center{text-align:center}
.narrow{max-width:780px}
.prose{font-size:18px}
.prose h2,.prose h3{text-transform:none;letter-spacing:0}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.section{padding:96px 0}
.section--tint{background:var(--tint)}
.section--dark{background:var(--dark);color:#F3EDE1}
.section--dark .muted{color:#B7AB94}

:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

/* Kickers */
.kicker{
	font-family:var(--font-display);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.22em;
	font-size:.95rem;
	color:var(--brand-dark);
	margin:0 0 .6em;
}
.kicker--light{color:var(--brand)}
.section-head{max-width:720px;margin-bottom:48px}
.section-head--center{margin-left:auto;margin-right:auto;text-align:center}
.section-head__sub{color:var(--ink-soft);font-size:18px}
.section--dark .section-head__sub{color:#C9BCA4}

/* Buttons */
.btn{
	display:inline-flex;align-items:center;gap:10px;
	font-family:var(--font-display);
	font-weight:600;text-transform:uppercase;letter-spacing:.08em;
	font-size:1.05rem;line-height:1;
	padding:16px 30px;border-radius:10px;
	text-decoration:none;border:2px solid transparent;cursor:pointer;
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--brand{background:var(--brand);color:#1B1206;box-shadow:0 8px 20px rgba(199,123,42,.35)}
.btn--brand:hover{background:#D98F3A;color:#1B1206}
.btn--ghost{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(0,0,0,.25)}
.btn--ghost:hover{border-color:#fff;background:rgba(0,0,0,.4)}
.btn--ghost-dark{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost-dark:hover{background:var(--ink);color:#fff}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#2C241A}
.btn--sm{padding:12px 20px;font-size:.95rem}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}

/* Topbar */
.topbar{background:var(--dark);color:#CFC3AB;font-size:13.5px}
.topbar__in{display:flex;gap:26px;align-items:center;justify-content:flex-end;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.topbar__item{display:inline-flex;align-items:center;gap:7px}
.topbar__link{color:#CFC3AB;text-decoration:none}
.topbar__link:hover{color:#fff}
.topbar__item--lic{color:var(--brand)}

/* Header */
.site-header{
	position:sticky;top:0;z-index:50;
	background:rgba(250,247,241,.96);
	backdrop-filter:blur(8px);
	border-bottom:1px solid var(--line);
	transition:box-shadow .2s ease;
}
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(27,21,16,.1)}

/* DRENTIR credit pill (printed on wp_footer, see functions.php). */
.br-credit{background:#221A12;text-align:center;padding:16px 15px 22px}
.br-credit__btn{display:inline-block;border:1px solid rgba(237,230,218,.35);border-radius:999px;padding:9px 24px;color:#EDE6DA;text-decoration:none;font-size:14.5px;letter-spacing:.02em}
.br-credit__btn strong{color:#fff;font-weight:700;letter-spacing:.06em}
.br-credit__btn:hover{border-color:#C77B2A;color:#fff}

/* Sticky blue nav bar. NOTE: the live header is the PageLayer template
   (Header ID 56), not .site-header above. Pure `position:sticky` does NOT
   work on the blue row: its containing block (header.pagelayer-header) is
   only as tall as the header itself, so the row can't stick beyond it.
   Instead, JS in assets/js/main.js adds .is-pinned once the white top row
   has scrolled away, and CSS fixes the bar to the viewport top. If the
   header template is ever rebuilt in PageLayer and the row gets a new
   pagelayer-id, update the selectors below AND the querySelector in main.js. */
header.pagelayer-header > [pagelayer-id="sip2794"].is-pinned{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:200;
	box-shadow:0 6px 24px rgba(27,21,16,.12);
}
/* Keep the bar below the WP admin bar for logged-in admins. */
body.admin-bar header.pagelayer-header > [pagelayer-id="sip2794"].is-pinned{top:32px}
@media (max-width:782px){
	body.admin-bar header.pagelayer-header > [pagelayer-id="sip2794"].is-pinned{top:46px}
}
.site-header__in{display:flex;align-items:center;gap:28px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--font-display);font-weight:700;font-size:1.7rem;letter-spacing:.06em;color:var(--ink)}
.brand__sub{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brand-dark);font-weight:600;margin-top:3px}
.main-nav__list{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.main-nav__list a{
	display:block;padding:10px 16px;text-decoration:none;color:var(--ink);
	font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:1.02rem;
	border-radius:8px;
}
.main-nav__list a:hover{background:var(--brand-soft);color:var(--brand-dark)}
.main-nav__list .current-menu-item a{background:var(--ink);color:#fff}
.site-header__actions{display:flex;align-items:center;gap:18px}
.header-phone{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.header-phone:hover{color:var(--brand-dark)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:10px;flex-direction:column;gap:5px}
.burger span{display:block;width:26px;height:3px;background:var(--ink);border-radius:2px;transition:.2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{background:var(--dark);padding:10px 24px 28px}
.mobile-menu__list{list-style:none;margin:0 0 18px;padding:0}
.mobile-menu__list a{display:block;padding:14px 4px;color:#F3EDE1;text-decoration:none;font-family:var(--font-display);font-size:1.4rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-menu__cta{display:flex;flex-direction:column;gap:12px}
.mobile-menu__cta .btn--ghost{border-color:rgba(255,255,255,.4)}

/* Hero */
.hero{position:relative;background-size:cover;background-position:center;color:#fff;overflow:hidden}
.hero__bg{position:absolute;left:0;top:0;width:100%;height:130%;object-fit:cover;will-change:transform}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(12,9,6,.86) 0%,rgba(12,9,6,.62) 46%,rgba(12,9,6,.28) 100%)}
.hero__in{position:relative;padding:130px 24px 110px;max-width:1180px}
.hero__title{max-width:13ch;margin-bottom:18px}
.hero__title .hl{color:var(--brand)}
.hero__sub{max-width:34em;font-size:19px;color:#EFE7D6}
.hero__trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:0;font-size:15px;color:#E4D9C2}
.hero__trust li{display:flex;align-items:center;gap:9px}
.hero__trust li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--brand);flex:none}

/* Stats band */
.stats-band{background:var(--ink);color:#fff}
.stats-band__in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:34px;padding-bottom:34px}
.stat{text-align:center;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:1px;background:rgba(255,255,255,.14)}
.stat__num{display:block;font-family:var(--font-display);font-weight:700;font-size:2.6rem;color:var(--brand);line-height:1}
.stat__label{display:block;margin-top:6px;font-size:14px;color:#CFC3AB;letter-spacing:.04em}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{
	background:#fff;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);
	box-shadow:var(--card-shadow);border:1px solid var(--line);
	display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(27,21,16,.14)}
.card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tint)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card__img img{transform:scale(1.05)}
.card__body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1}
.card__title{font-family:var(--font-display);font-weight:700;font-size:1.45rem;text-transform:uppercase;letter-spacing:.03em}
.card__text{color:var(--ink-soft);font-size:15.5px;flex:1}
.card__link{font-weight:700;color:var(--brand-dark);font-size:15px}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split__img img{border-radius:var(--radius);box-shadow:var(--card-shadow)}
.split__map iframe{width:100%;height:420px;border:0;border-radius:var(--radius);box-shadow:var(--card-shadow)}
.checklist{list-style:none;margin:22px 0 28px;padding:0;display:grid;gap:12px}
.checklist li{position:relative;padding-left:34px;font-weight:500}
.checklist li::before{
	content:"✓";position:absolute;left:0;top:1px;width:23px;height:23px;border-radius:50%;
	background:var(--brand);color:#1B1206;font-weight:700;font-size:14px;
	display:flex;align-items:center;justify-content:center;
}

/* Steps */
.steps{list-style:none;margin:0 0 50px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{background:var(--dark-2);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);padding:28px 24px}
.step__num{font-family:var(--font-display);font-weight:700;font-size:2.2rem;color:var(--brand);line-height:1}
.step h3{color:#fff;margin:12px 0 8px;font-size:1.3rem}
.step p{color:#C9BCA4;font-size:15.5px;margin:0}

/* Values */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value{background:var(--dark-2);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);padding:30px 26px}
.value h3{color:var(--brand);font-size:1.4rem}
.value p{color:#C9BCA4;margin:0;font-size:15.5px}

/* FAQ */
.faq{display:grid;gap:14px}
.faq__item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.faq__item summary{
	cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
	padding:20px 24px;font-family:var(--font-display);font-weight:600;font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-size:1.8rem;color:var(--brand-dark);line-height:1;flex:none;transition:transform .2s}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{padding:0 24px 22px;margin:0;color:var(--ink-soft)}

/* CTA band */
.cta-band{background:linear-gradient(120deg,#2A1F13 0%,#171209 70%);color:#fff}
.cta-band__in{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-top:72px;padding-bottom:72px}
.cta-band h2{color:#fff;margin-bottom:10px}
.cta-band p{color:#CFC3AB;max-width:32em;margin:0}
.cta-band .cta-row{margin-top:0;flex:none}

/* Page hero */
.page-hero{background:var(--dark);color:#fff;padding:84px 0 70px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border:26px solid rgba(199,123,42,.14);border-radius:50%}
.page-hero h1{max-width:16ch}
.page-hero__sub{color:#CFC3AB;font-size:18px;max-width:40em}
.page-hero .cta-row{position:relative;z-index:1}

/* Breadcrumbs (service detail pages) */
.crumbs{font-size:14px;color:#CFC3AB;margin:0 0 18px;position:relative;z-index:1}
.crumbs a{color:#CFC3AB;text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs__sep{margin:0 8px;opacity:.55}

/* 3-step variant of the .steps grid (service detail pages) */
.steps--3{grid-template-columns:repeat(3,1fr)}

/* Related-services cards (service detail pages) */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:26px 0 0;padding:0}
.rel-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;font-weight:600;color:var(--ink);text-decoration:none;box-shadow:var(--card-shadow);transition:transform .2s ease,border-color .2s ease}
.rel-grid a:hover{transform:translateY(-4px);border-color:var(--brand)}
.rel-grid span{display:block;font-weight:400;font-size:14px;color:var(--muted);margin-top:6px}

/* Service rows */
.service-rows{display:grid;gap:56px}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.service-row:nth-child(even) .service-row__img{order:2}
.service-row__img img{border-radius:var(--radius);box-shadow:var(--card-shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
.service-row__body h2{margin-bottom:12px}
.service-row__body p{color:var(--ink-soft)}
.service-row{scroll-margin-top:110px}
.service-row__best{margin:14px 0 0;font-size:15px;color:var(--ink-soft)}
.service-row__best strong{color:var(--ink)}
.service-row__more{margin:16px 0 0;font-weight:600}
.service-row__more a{color:var(--brand-dark);text-decoration:none}
.service-row__more a:hover{text-decoration:underline}

/* Compare table */
.compare-wrap{overflow-x:auto;margin:0 0 40px;border-radius:var(--radius);box-shadow:var(--card-shadow);border:1px solid var(--line)}
.compare{width:100%;border-collapse:collapse;background:#fff;font-size:15.5px;min-width:560px}
.compare th,.compare td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.compare thead th{background:var(--dark);color:#fff;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.compare tbody th{font-weight:700}
.compare tbody tr:nth-child(even){background:var(--tint)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.info-card{
	display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);
	border-radius:12px;padding:20px 22px;margin-bottom:16px;text-decoration:none;color:var(--ink);
	box-shadow:var(--card-shadow);
}
a.info-card:hover{border-color:var(--brand)}
.info-card__icon{flex:none;width:44px;height:44px;border-radius:10px;background:var(--brand-soft);color:var(--brand-dark);display:flex;align-items:center;justify-content:center}
.info-card strong{display:block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem}
.contact-grid__form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--card-shadow)}
.contact-grid__form h2{margin-bottom:6px}
.map-frame iframe{width:100%;height:440px;border:0;border-radius:var(--radius);box-shadow:var(--card-shadow)}
.map-link{margin-top:.75rem;text-align:center}
.map-link a{font-weight:600}

/* Reviews */
.reviews{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2.25rem}
.review-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:.8rem}
.stars{color:#E8A33D;letter-spacing:.18em;font-size:1.05rem}
.review-card blockquote{margin:0;font-size:.98rem;line-height:1.6;color:var(--ink)}
.review-card figcaption{display:flex;flex-direction:column;gap:.15rem;margin-top:auto}
.review-card figcaption span{font-size:.85rem;color:#7A6E5C}
.reviews__foot{text-align:center;margin-top:1.75rem}
.reviews__foot a{font-weight:600}

/* Photo gallery */
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:2.25rem}
.gallery img{width:100%;height:250px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--card-shadow);display:block}

/* Form */
.br-form{display:grid;gap:18px;margin-top:20px}
.br-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.br-form__field label{display:block;font-weight:600;font-size:14.5px;margin-bottom:7px}
.br-form__field input,.br-form__field select,.br-form__field textarea{
	width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:9px;
	font:inherit;font-size:16px;background:var(--paper);color:var(--ink);
}
.br-form__field input:focus,.br-form__field select:focus,.br-form__field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(199,123,42,.18)}
.br-form__fine{font-size:13.5px;color:var(--muted);margin:0}
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-note{border-radius:10px;padding:18px 20px;font-size:16px}
.form-note--ok{background:#EAF4E2;border:1.5px solid #9CC184;color:#2F5426}

/* Blog bits */
.post-list{display:grid;gap:26px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--card-shadow)}
.post-card h2{text-transform:none;letter-spacing:0}
.post-card h2 a{color:var(--ink);text-decoration:none}
.post-card h2 a:hover{color:var(--brand-dark)}
.back-link{display:inline-block;margin:0 0 18px;font-weight:600;text-decoration:none}

/* Language switcher relocated into the blue nav bar (moved by JS from the
 * white top row): two prominent pill buttons, active language highlighted. */
header.pagelayer-header > [pagelayer-id="sip2794"]{position:relative}
.lang-switch--nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;line-height:1}
.lang-switch--nav .lang-switch{display:inline-flex;align-items:center;gap:10px}
.lang-switch--nav .lang-switch__sep{display:none}
.lang-switch--nav .lang-switch__opt{display:inline-block;min-width:54px;text-align:center;padding:10px 22px;border-radius:999px;border:2px solid rgba(255,255,255,.92);color:#fff;background:rgba(255,255,255,.10);font-size:14px;font-weight:700;letter-spacing:.06em;text-decoration:none}
.lang-switch--nav .lang-switch__opt:hover{color:#fff;background:rgba(255,255,255,.26)}
.lang-switch--nav .lang-switch__opt.is-on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.25)}
@media (max-width:640px){
	.lang-switch--nav .lang-switch{gap:8px}
	.lang-switch--nav .lang-switch__opt{min-width:46px;padding:8px 16px;font-size:13px}
}

/* Footer */
.site-footer{background:var(--dark);color:#CFC3AB;margin-top:0}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding:70px 0 50px}
.footer__brand p{font-size:15px}
.brand--footer .brand__name{color:#fff}
.footer__lic{color:var(--brand);font-weight:600}
.site-footer h3{color:#fff;font-size:1.15rem;letter-spacing:.1em;margin-bottom:16px}
.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.footer__list a{color:#CFC3AB;text-decoration:none}
.footer__list a:hover{color:#fff}
.footer__list--contact li{color:#CFC3AB}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}
.footer__bottom a{color:#CFC3AB}

/* Floating call button (mobile) */
.call-fab{
	display:none;position:fixed;right:18px;bottom:18px;z-index:60;
	width:60px;height:60px;border-radius:50%;background:var(--brand);color:#1B1206;
	align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.3);
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1024px){
	.cards{grid-template-columns:repeat(2,1fr)}
	.steps{grid-template-columns:repeat(2,1fr)}
	.steps--3{grid-template-columns:repeat(2,1fr)}
	.rel-grid{grid-template-columns:repeat(2,1fr)}
	.values{grid-template-columns:1fr 1fr}
	.split{grid-template-columns:1fr;gap:40px}
	.service-row{grid-template-columns:1fr;gap:26px}
	.service-row:nth-child(even) .service-row__img{order:0}
	.contact-grid{grid-template-columns:1fr}
	.cta-band__in{flex-direction:column;align-items:flex-start}
	.footer__grid{grid-template-columns:1fr 1fr}
	.header-phone{display:none}
}
@media (max-width:768px){
	.main-nav{display:none}
	.burger{display:flex}
	.site-header__actions .btn{display:none}
	.section{padding:64px 0}
	.hero__in{padding:96px 24px 84px}
	.stats-band__in{grid-template-columns:repeat(2,1fr);gap:28px}
	.stat:nth-child(3)::before{display:none}
	.topbar__item--lic{display:none}
	.contact-grid__form{padding:26px 20px}
	.br-form__row{grid-template-columns:1fr}
	.footer__grid{grid-template-columns:1fr;gap:34px;padding:54px 0 36px}
	.call-fab{display:flex}
}
@media (max-width:560px){
	.cards{grid-template-columns:1fr}
	.steps{grid-template-columns:1fr}
	.rel-grid{grid-template-columns:1fr}
	.values{grid-template-columns:1fr}
	.topbar{display:none}
}

/* Language switcher EN | ES */
.lang-switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.04em}
.lang-switch__opt{color:#CFC3AB;text-decoration:none;padding:2px 4px;border-radius:4px}
.lang-switch__opt:hover{color:#fff}
.lang-switch__opt.is-on{color:#fff;background:rgba(255,255,255,.14)}
.lang-switch__sep{color:#6f6350}
.topbar__in .lang-switch{margin-left:8px}
.mobile-menu__lang{display:flex;justify-content:flex-end;padding:14px 22px 0}
.mobile-menu__lang .lang-switch{font-size:14px}
.mobile-menu__lang .lang-switch__opt{color:#CFC3AB}
.mobile-menu__lang .lang-switch__opt.is-on{color:#fff}

/* Header language toggle — visible on mobile only (1.6.0) */
.site-header__lang{display:none}
@media (max-width:768px){
	.site-header__lang{display:inline-flex;margin-right:4px}
	.site-header__lang .lang-switch{font-size:13px;gap:6px}
	.site-header__lang .lang-switch__opt{padding:10px 8px;color:#CFC3AB}
	.site-header__lang .lang-switch__opt.is-on{color:#fff}
}

/* ============================================================
   Life & motion (1.4.2)
   ============================================================ */

/* Scroll reveal — .reveal is added by JS; without JS everything stays visible. */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* Hero entrance */
@keyframes br-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero__title{animation:br-rise .8s cubic-bezier(.2,.7,.2,1) .05s both}
.hero__sub{animation:br-rise .8s cubic-bezier(.2,.7,.2,1) .18s both}
.hero .cta-row{animation:br-rise .8s cubic-bezier(.2,.7,.2,1) .3s both}
.hero__trust{animation:br-rise .8s cubic-bezier(.2,.7,.2,1) .42s both}
.page-hero h1{animation:br-rise .7s cubic-bezier(.2,.7,.2,1) .05s both}
.page-hero__sub{animation:br-rise .7s cubic-bezier(.2,.7,.2,1) .15s both}
.page-hero .cta-row{animation:br-rise .7s cubic-bezier(.2,.7,.2,1) .25s both}

/* Slow drift of the decorative ring on inner heroes */
@keyframes br-drift{from{transform:translate(0,0) rotate(0)}to{transform:translate(-30px,24px) rotate(8deg)}}
.page-hero::after{animation:br-drift 16s ease-in-out infinite alternate}

/* Buttons: shine sweep + press feedback */
.btn{position:relative}
.btn:active{transform:translateY(0) scale(.97)}
.btn--brand{overflow:hidden}
.btn--brand::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.btn--brand:hover::after{left:140%}

/* Card link nudge on hover */
.card__link{display:inline-block;transition:transform .2s ease}
.card:hover .card__link{transform:translateX(5px)}

/* Steps & values: lift + glow */
.step,.value{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.step:hover,.value:hover{transform:translateY(-6px);border-color:rgba(199,123,42,.55);box-shadow:0 16px 38px rgba(0,0,0,.28)}

/* Contact info cards (links) */
a.info-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.info-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(27,21,16,.12)}

/* Review cards */
.review-card{transition:transform .2s ease,box-shadow .2s ease}
.review-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(27,21,16,.13)}

/* Gallery zoom */
.gallery img{transition:transform .35s ease,box-shadow .35s ease}
.gallery img:hover{transform:scale(1.03);box-shadow:0 18px 44px rgba(27,21,16,.16)}

/* Service rows + split images: zoom inside rounded frame */
.service-row__img{overflow:hidden;border-radius:var(--radius);box-shadow:var(--card-shadow)}
.service-row__img img{box-shadow:none;border-radius:0;transition:transform .5s ease}
.service-row__img:hover img{transform:scale(1.04)}
.split__img{overflow:hidden;border-radius:var(--radius);box-shadow:var(--card-shadow)}
.split__img img{box-shadow:none;transition:transform .5s ease}
.split__img:hover img{transform:scale(1.04)}

/* FAQ */
.faq__item{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.faq__item:hover{border-color:#D9C6A6;box-shadow:0 10px 26px rgba(27,21,16,.08);transform:translateY(-2px)}
.faq__item summary{transition:color .15s ease}
.faq__item summary:hover{color:var(--brand-dark)}

/* Stats: tabular numerals keep the count-up steady */
.stat__num{font-variant-numeric:tabular-nums}

/* Language switcher: hide-on-desktop variant for the Pagelayer mobile row */
@media (min-width:1025px){.lang-switch--hide-desktop{display:none!important}}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion:reduce){
	.reveal{opacity:1;transform:none;transition:none}
	.hero__title,.hero__sub,.hero .cta-row,.hero__trust,.page-hero h1,.page-hero__sub,.page-hero .cta-row{animation:none}
	.page-hero::after{animation:none}
	.btn--brand::after{display:none}
	*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Contact actions (Call/Text buttons shown while the email form is disabled) */
.br-contact-actions{display:flex;flex-direction:column;gap:14px;max-width:520px}
.br-contact-actions .btn{display:flex;align-items:center;justify-content:center;text-align:center}
.btn--lg{padding:16px 28px;font-size:1.05rem}
.br-contact-actions__note{margin:2px 0 0;font-size:.92rem;color:var(--muted,#6b6257)}

/* Service Area map (tpl-service-area.php) */
.sa-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow);overflow:hidden}
.sa-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.sa-bar input{font:inherit;font-size:15px;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:190px}
.sa-bar input.is-error{border-color:#c62828;outline:2px solid rgba(198,40,40,.25)}
.sa-mapwrap{position:relative}
#saMap{width:100%;height:480px;background:#aad3df;z-index:1}
.sa-legend{position:absolute;z-index:500;right:12px;bottom:26px;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.8;box-shadow:0 1px 4px rgba(0,0,0,.15);display:flex;flex-direction:column}
.sa-sw{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:8px;vertical-align:-2px}
.sa-sw--zone{background:repeating-linear-gradient(45deg,#2fa84f 0 2px,#145a23 2px 4px)}
.sa-sw--county{background:transparent;border:2px dashed #555;border-radius:0;height:10px}
.sa-note{margin:0;padding:12px 18px;font-size:14px;color:var(--muted)}
.sa-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.sa-city{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.sa-city h3{margin:0 0 6px;font-size:22px}
.sa-city p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.6}
/* About page teaser for the service-area map */
.sa-teaser{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:32px 36px}
.sa-teaser h2{margin:6px 0 8px}
.sa-teaser p{margin:0;color:var(--ink-soft);max-width:640px}
@media(max-width:640px){
	#saMap{height:360px}
	.sa-bar input{width:100%}
	.sa-legend{font-size:12px;right:8px;bottom:20px}
	.sa-teaser{padding:24px}
}
