/* Petrow Elite chrome — header/drawer/chat/footer/map/CF7 (base44 values). Homepage body: petrow-pg.css */
body.petrow-elite-theme {
  --pe-bg: #08130f;
  --pe-bg-alt: #0d1e18;
  --pe-surface: #11261e;
  --pe-gold: #d4af6a;
  --pe-gold-bright: #ead09a;
  --pe-gold-line: rgba(212, 175, 106, 0.34);
  --pe-ivory: #f4efe6;
  --pe-muted: #b8c2bc;
  --pe-cream: #f4efe6;
  --pe-ink: #0a1210;
  --pe-primary: #0b2d26;
  --pe-max: 1440px;
  --pe-font-display: "Lora", Georgia, "Times New Roman", serif;
  --pe-font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  --pe-accent: 38 38% 36%;
  --background: 42 31% 94%;
  background: var(--pe-bg);
  color: var(--pe-ivory);
  font-family: var(--pe-font-body);
  margin: 0;
  overflow-x: clip;
}
body.petrow-elite-theme a { color: inherit; }
/* Beat body a { color: inherit } — Konsultācija must stay ivory on dark. */
body.petrow-elite-theme a.pe-btn-nav,
body.petrow-elite-theme a.pe-btn-nav:visited {
  color: #f4efe6;
}
body.petrow-elite-theme a.pe-btn-nav:hover {
  color: #f4efe6;
  background: hsl(var(--pe-accent));
}
.pe-skip {
  position: absolute; left: -9999px; top: 0; z-index: 10000;
  padding: 0.75rem 1rem; background: #fff; color: #111;
}
.pe-skip:focus { left: 1rem; top: 1rem; }

/* Gutters via padding so safe-area + 360–430 phones keep Izvēlne fully on-screen */
.pe-wrap {
  width: 100%;
  max-width: var(--pe-max);
  margin-inline: auto;
  padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
  padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}
@media (min-width: 960px) {
  .pe-wrap {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

/* —— Header (base44 sticky cream) —— */
.pe-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: hsl(var(--background) / 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid hsl(var(--pe-accent) / 0.45);
  color: var(--pe-ink);
  overflow-x: clip;
}
.pe-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  /* vertical only — horizontal gutters come from .pe-wrap (safe-area) */
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  min-height: 0;
  max-width: 100%;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .pe-nav-inner {
    padding-top: 1rem;
    padding-bottom: 1rem;
    gap: 1rem;
  }
}
.pe-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 34%;
}
.pe-logo img {
  display: block;
  height: 26px;
  width: auto;
  max-width: 100%;
  aspect-ratio: 20 / 7;
  object-fit: contain;
  object-position: left center;
}
@media (min-width: 390px) {
  .pe-logo { max-width: 36%; }
  .pe-logo img { height: 30px; }
}
@media (min-width: 480px) {
  .pe-logo { max-width: none; }
  .pe-logo img { height: 36px; }
}
@media (min-width: 1024px) {
  .pe-logo { flex: 0 0 auto; max-width: none; }
  .pe-logo img { height: 40px; }
}
@media (min-width: 1400px) {
  .pe-logo img { height: 48px; }
}

.pe-nav-desktop { flex: 1; min-width: 0; display: none; }
@media (min-width: 1024px) {
  .pe-nav-desktop { display: block; }
}
.pe-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem; /* base44 md:gap-4 */
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.pe-menu a {
  color: rgba(10, 18, 16, 0.8);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  border-bottom: 1px solid transparent;
  padding: 0.35rem 0;
  white-space: nowrap;
}
.pe-menu a:hover,
.pe-menu .current-menu-item > a,
.pe-menu .current_page_item > a {
  color: hsl(var(--pe-accent));
  border-bottom-color: hsl(var(--pe-accent) / 0.55);
}
@media (min-width: 1280px) {
  .pe-menu { gap: 1.25rem; } /* lg:gap-5 */
  .pe-menu a { letter-spacing: 0.2em; }
}
@media (min-width: 1440px) {
  .pe-menu { gap: 1.75rem; } /* xl:gap-7 */
  .pe-menu a { letter-spacing: 0.24em; }
}

.pe-nav-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem; /* base44 gap-3 */
  flex: 0 1 auto;
  min-width: 0;
  max-width: 66%;
}
@media (min-width: 480px) {
  .pe-nav-tools { gap: 0.65rem; max-width: none; }
}
@media (min-width: 1024px) {
  .pe-nav-tools { gap: 0.85rem; max-width: none; flex: 0 0 auto; }
}
@media (min-width: 1280px) {
  .pe-nav-tools { gap: 1.25rem; } /* lg:gap-5 */
}

/* Language: LV · RU · EN — base44 box (~183×38) + diamond ornaments */
.pe-langs {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  min-width: 0;
  border: 1px solid hsl(var(--pe-accent) / 0.55);
  background: hsl(var(--background) / 0.9);
  color: var(--pe-ink);
  padding: 0.25rem 0.75rem; /* px-3 py-1 */
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  box-shadow:
    inset 0 0 0 2px hsl(var(--background)),
    inset 0 0 0 3px hsl(var(--pe-accent) / 0.22);
}
@media (max-width: 389px) {
  /* Keep diamonds; tighten tracking so 360 still fits with hamburger */
  .pe-langs {
    gap: 0.25rem;
    padding: 0.2rem 0.55rem;
    letter-spacing: 0.16em;
  }
}
.pe-langs-diamond {
  display: inline;
  color: hsl(var(--pe-accent));
  font-size: 8px;
  line-height: 1;
  padding: 0 0.1rem;
  flex-shrink: 0;
}
.pe-lang-sep {
  color: hsl(var(--pe-accent) / 0.55);
  padding: 0 0.05rem;
}
.pe-lang-item {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.15rem 0.2rem;
  color: rgba(10, 18, 16, 0.7);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s, border-color .2s;
}
.pe-lang-item:hover { color: hsl(var(--pe-accent)); }
.pe-lang-item.is-active {
  color: hsl(var(--pe-accent));
  font-weight: 600;
  border-bottom-color: hsl(var(--pe-accent));
  background: transparent;
}

.pe-phone {
  display: none;
  align-items: center;
  gap: 0.5rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(10, 18, 16, 0.7);
  text-decoration: none;
  max-width: 5.2rem; /* forces +371 / local stack like base44 */
  white-space: normal;
  line-height: 1.15;
}
.pe-phone-icon { flex-shrink: 0; width: 0.875rem; height: 0.875rem; color: currentColor; }
.pe-phone-num {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.pe-phone-cc,
.pe-phone-local { display: block; }
@media (min-width: 1280px) {
  .pe-phone.pe-desktop-only { display: inline-flex; }
}
.pe-btn-nav {
  display: none;
  align-items: center;
  justify-content: center;
  background: #08130f;
  color: #f4efe6;
  padding: 0.75rem 1.35rem;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: 0;
  text-decoration: none;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .pe-btn-nav.pe-desktop-only { display: inline-flex; }
}
.pe-btn-nav:hover { background: hsl(var(--pe-accent)); color: #f4efe6; }

.pe-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem; /* base44 gap-3 */
  min-height: 2.75rem; /* min-h-11 */
  background: transparent;
  border: 1px solid hsl(var(--pe-accent) / 0.45);
  color: var(--pe-ink);
  padding: 0 0.75rem;
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  flex: 0 0 auto;
  white-space: nowrap;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.pe-menu-toggle-label { line-height: 1; }
.pe-menu-toggle-icon { flex-shrink: 0; width: 1.25rem; height: 1.25rem; }
.pe-menu-toggle:hover {
  border-color: hsl(var(--pe-accent));
  background: hsl(41 26% 89%);
}
@media (min-width: 1024px) {
  .pe-menu-toggle { display: none !important; }
}

.pe-topbar {
  display: none;
  border-top: 1px solid hsl(39 28% 78% / 0.5);
  font-size: 12px;
}
@media (min-width: 768px) {
  .pe-topbar.pe-desktop-only { display: block; }
}
.pe-topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pe-topbar a {
  color: var(--pe-ink);
  padding: 0.75rem 0;
  text-decoration: none;
}
.pe-topbar a:hover { color: hsl(var(--pe-accent)); }
.pe-topbar-search {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.pe-topbar-search svg { flex-shrink: 0; color: hsl(var(--pe-accent)); }

/* Drawer */
.pe-drawer[hidden] { display: none !important; }
.pe-drawer {
  position: fixed; inset: 0; z-index: 60;
  background: rgba(8, 19, 15, 0.55);
}
.pe-drawer-panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: min(22rem, 92vw);
  background: hsl(var(--background));
  color: var(--pe-ink);
  padding: 1.25rem 1.35rem 2rem;
  overflow: auto;
  border-left: 2px solid hsl(var(--pe-accent) / 0.55);
}
.pe-drawer-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 1.25rem; padding-bottom: 0.85rem;
  border-bottom: 1px solid hsl(39 28% 78%);
}
.pe-drawer-close {
  border: 0; background: transparent; font-size: 1.6rem; line-height: 1;
  cursor: pointer; color: var(--pe-ink);
}
.pe-menu-drawer { display: grid; gap: 0.35rem; margin-bottom: 1.5rem; list-style: none; padding: 0; }
.pe-menu-drawer a {
  display: block; padding: 0.7rem 0;
  border-bottom: 1px solid #ebe5da;
  font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
  font-weight: 600; color: var(--pe-ink);
}
.pe-drawer-meta { display: grid; gap: 0.75rem; }
.pe-drawer-meta a { color: var(--pe-ink); font-weight: 600; }
body.petrow-elite-theme a.pe-btn-nav-drawer,
.pe-btn-nav-drawer {
  display: inline-flex !important;
  width: fit-content;
  background: #08130f;
  color: #f4efe6 !important;
  padding: 0.75rem 1.35rem;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
}
body.pe-drawer-open { overflow: hidden; }

/* Hero search: wrapping label like base44 (input placeholders cannot wrap) */
.pg .search.pe-search-field,
.pg .pe-search-field {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
  cursor: text;
}
.pg .pe-search-field svg {
  flex-shrink: 0;
  color: var(--m-gold-bright, #ead09a);
  margin-top: 2px;
}
.pg .pe-search-ph {
  flex: 1;
  color: var(--m-muted, #b8c2bc);
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
  pointer-events: none;
}
.pg .pe-search-field input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border: 0;
  color: var(--m-ivory, #f4efe6);
  font: inherit;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.45;
  padding: 15px 18px 15px 46px;
  outline: none;
  box-sizing: border-box;
}
.pg .pe-search-field.is-filled .pe-search-ph { visibility: hidden; }
.pg .pe-search-field input::placeholder { color: transparent; }
.pg .it[hidden],
.pg [data-pe-search-item][hidden] { display: none !important; }

/* Hero — crop/overlay already in petrow-pg; lock eyebrow wrap + intro width */
.pg .hero-bg {
  object-position: 50% 42%;
}
.pg .hero .eyebrow {
  white-space: normal;
}
.pg .hero .eyebrow .pe-eyebrow-br {
  display: none; /* one line on tablet/desktop */
}
@media (max-width: 480px) {
  /* Prefer city on its own line at phone widths (base44 RĪGĀ wrap) */
  .pg .hero .eyebrow .pe-eyebrow-br {
    display: inline;
  }
}
.pg .hero .bar > p {
  max-width: 36rem;
}
.pg .hero h1 {
  font-family: var(--font-heading, var(--pe-font-display)) !important;
  font-size: clamp(3.4rem, 7.2vw, 6.25rem) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.02em !important;
  overflow-wrap: normal;
  text-wrap: wrap;
  max-width: none;
}

/* Section rhythm — keep .pg .sec padding; tighten empty gaps toward base44 */
.pg .sec { scroll-margin-top: 5rem; }
.pg .team { margin-top: 3.25rem; }
.pg .cta.pe-home-cta {
  min-height: 18rem;
}

/* Buttons must NOT stretch full width (base44 content-sized) */
.pg .btns .btn,
.pg .btn {
  width: auto !important;
  max-width: none;
}
@media (max-width: 899px) {
  .pg .btns { flex-direction: column; align-items: flex-start; }
}

/* Cases use .pg .case photo cards from petrow-pg.css — no text-list bridge */

.pg .cta-phone {
  font-family: var(--font-heading, var(--pe-font-display));
  font-size: 1.6rem;
  color: #08130f;
  letter-spacing: 0.04em;
  margin-top: 1rem;
  display: inline-block;
}
.pg .pe-home-cta .r { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; }
@media (min-width: 900px) {
  .pg .pe-home-cta .r { align-items: flex-end; }
}

/* Map (kept pe-* inside .pg) */
.pe-map-grid { display: grid; gap: 1.25rem; margin-top: 2rem; }
@media (min-width: 960px) { .pe-map-grid { grid-template-columns: 0.9fr 1.2fr; } }
.pe-map-offices { display: grid; gap: 0.85rem; align-content: start; }
.pe-map-office {
  text-align: left; width: 100%;
  border: 1px solid var(--m-gold-line, #d4af6a57);
  background: var(--m-surface, #11261e);
  color: inherit; padding: 1rem 1.1rem; cursor: pointer; font: inherit;
}
.pe-map-office.is-active { border-color: var(--m-gold, #d4af6a); background: #132a21; }
.pe-map-office h3 { font-size: 1rem; margin: 0 0 0.4rem; color: var(--m-gold-bright, #ead09a); font-family: var(--pe-font-display); }
.pe-map-office p { color: var(--m-muted, #b8c2bc); font-size: 0.92rem; margin: 0; }
.pe-map-modes { border: 1px solid var(--m-gold-line, #d4af6a57); padding: 1rem 1.1rem; background: var(--m-bg, #08130f); }
.pe-map-modes-label { display: block; color: var(--m-gold, #d4af6a); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 0.75rem; }
.pe-map-mode-btns { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.85rem; }
.pe-map-mode {
  border: 1px solid var(--m-gold-line, #d4af6a57); background: transparent;
  color: var(--m-muted, #b8c2bc); padding: 0.55rem 0.9rem; font: inherit;
  font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer;
}
.pe-map-mode.is-active { border-color: var(--m-gold, #d4af6a); background: rgba(212,175,106,0.18); color: var(--m-ivory, #f4efe6); }
.pe-map-frame { border: 1px solid var(--m-gold-line, #d4af6a57); min-height: 320px; background: #0a1612; }
.pe-map-frame iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; filter: grayscale(0.15) contrast(1.05); }

/* Business card + footer */
.pe-card-sec {
  background:
    linear-gradient(135deg, rgba(212,175,106,0.04) 0%, transparent 40%),
    repeating-linear-gradient(-45deg, rgba(212,175,106,0.035) 0 1px, transparent 1px 14px),
    var(--pe-bg);
  padding: 4.5rem 0;
}
.pe-business-card {
  border: 1px solid var(--pe-gold);
  padding: 1.5rem;
  background: rgba(8,19,15,0.92);
  position: relative;
  box-shadow: inset 0 0 0 5px rgba(8,19,15,0.9), inset 0 0 0 6px rgba(212,175,106,0.38);
}
.pe-business-card::before,
.pe-business-card::after {
  content: "";
  position: absolute;
  width: 8px; height: 8px;
  background: var(--pe-gold);
  transform: rotate(45deg);
}
.pe-business-card::before { top: -4px; left: -4px; }
.pe-business-card::after { bottom: -4px; right: -4px; }
.pe-business-card-crest {
  color: var(--pe-gold); font-size: 11px; letter-spacing: 0.22em;
  text-transform: uppercase; margin-bottom: 1.25rem;
}
.pe-business-card-grid { display: grid; gap: 1.75rem; }
@media (min-width: 900px) {
  .pe-business-card-grid { grid-template-columns: 1.1fr 1fr; gap: 2rem; }
  .pe-business-meta { border-left: 1px solid var(--pe-gold-line); padding-left: 2rem; }
}
.pe-logo-light { color: var(--pe-ivory); margin-bottom: 1rem; display: inline-flex; align-items: center; gap: 0.7rem; }
.pe-logo-light img { filter: invert(1); width: 40px; height: 40px; object-fit: contain; }
.pe-business-title { font-family: var(--pe-font-display); font-size: clamp(1.35rem, 2.4vw, 1.85rem); max-width: 18ch; margin: 0 0 0.75rem; color: var(--pe-ivory); }
.pe-business-tag { color: var(--pe-gold); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 1.25rem; }
.pe-business-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.pe-business-meta h3 {
  color: var(--pe-gold); font-size: 0.78rem; letter-spacing: 0.16em;
  text-transform: uppercase; margin: 0 0 0.75rem; font-family: var(--pe-font-body);
}
.pe-business-meta ul { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.pe-business-meta li { color: var(--pe-muted); font-size: 0.95rem; }
.pe-business-meta li + li { margin-top: 0.55rem; }
.pe-business-meta li span { display: block; font-size: 0.82rem; color: #9aa59e; margin-top: 0.15rem; }
.pe-business-meta a { color: var(--pe-ivory); }

.pe-footer {
  background: #06110d;
  border-top: 1px solid var(--pe-gold-line);
  padding: 3rem 0 2.25rem;
}
.pe-footer-bottom { text-align: center; }
.pe-footer-mark {
  display: inline-block;
  border: 1px solid var(--pe-gold-line);
  padding: 0.85rem 1.4rem;
  letter-spacing: 0.28em;
  font-weight: 600;
  margin-bottom: 1rem;
  box-shadow: inset 0 0 0 4px rgba(8,19,15,0.95), inset 0 0 0 5px rgba(212,175,106,0.32);
}
.pe-footer-bottom > p {
  color: var(--pe-gold); font-size: 11px; letter-spacing: 0.22em;
  text-transform: uppercase; margin: 0;
}
.pe-footer-menu {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 0.75rem 1.25rem; list-style: none; margin: 1.25rem 0 0; padding: 0;
}
.pe-footer-menu a { color: var(--pe-muted); font-size: 0.9rem; }
.pe-copy { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--pe-gold-line); color: var(--pe-muted); font-size: 0.85rem; }

/* Chat — base44 dock: teaser chip + FAB; panel above */
.pe-chat {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  z-index: 50;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  font-family: var(--pe-font-body);
}
@media (min-width: 640px) {
  .pe-chat {
    right: max(2rem, env(safe-area-inset-right, 0px));
    bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
  }
}
.pe-chat-dock {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}
.pe-chat-teaser {
  max-width: min(16rem, calc(100vw - 7.5rem));
  margin: 0;
  padding: 0.7rem 1rem;
  border: 1px solid hsl(39 28% 78%);
  border-radius: 0.5rem;
  background: var(--pe-cream);
  color: var(--pe-ink);
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}
.pe-chat-teaser:hover { border-color: hsl(var(--pe-accent)); }
.pe-chat.is-open .pe-chat-teaser { display: none; }
.pe-chat-fab {
  width: 4rem;
  height: 4rem;
  border: 1px solid var(--pe-primary);
  border-radius: 9999px;
  background: var(--pe-primary);
  color: var(--pe-ivory);
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: none;
  transition: transform 0.2s ease;
  padding: 0;
  flex-shrink: 0;
}
.pe-chat-fab svg { width: 2rem; height: 2rem; }
.pe-chat-fab:hover {
  background: var(--pe-primary);
  color: var(--pe-ivory);
  transform: scale(1.05);
}
.pe-chat-fab:active { transform: scale(0.95); }
.pe-chat-panel[hidden] { display: none !important; }
.pe-chat-panel {
  width: min(23.75rem, calc(100vw - 2rem));
  background: var(--pe-cream);
  color: var(--pe-ink);
  border: 1px solid hsl(39 28% 78%);
  border-radius: 0.5rem;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}
.pe-chat-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem 1.25rem;
  background: var(--pe-primary);
  color: var(--pe-ivory);
  border-bottom: 1px solid rgba(244, 239, 230, 0.2);
}
.pe-chat-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  border: 1px solid rgba(244, 239, 230, 0.5);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--pe-ivory);
  background: transparent;
}
.pe-chat-head strong {
  display: block;
  font-family: var(--pe-font-display);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--pe-ivory);
}
.pe-chat-head p { margin: 0.25rem 0 0; font-size: 0.75rem; color: rgba(244, 239, 230, 0.85); }
.pe-chat-close {
  margin-left: auto;
  border: 0;
  background: transparent;
  font-size: 1.35rem;
  cursor: pointer;
  line-height: 1;
  color: var(--pe-ivory);
}
.pe-chat-note {
  font-size: 0.75rem;
  color: #666;
  margin: 0;
  padding: 0.75rem 1.25rem;
  line-height: 1.55;
  border-bottom: 1px solid hsl(39 28% 78%);
}
.pe-chat-actions { display: grid; gap: 0.5rem; padding: 1rem 1.25rem 1.25rem; }
.pe-chat-actions .btn, .pe-chat-actions .pe-btn { width: 100%; }

/* Inner pages leftovers */
.pe-inner-hero { border-bottom: 1px solid var(--pe-gold-line); padding: 3.5rem 0 3rem; }
.pe-inner-hero-grid { display: grid; gap: 1.5rem; }
@media (min-width: 960px) {
  .pe-inner-hero-grid { grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: end; }
}
.pe-inner-eyebrow { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; color: var(--pe-gold); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }
.pe-inner-eyebrow::before { content: ""; width: 2.5rem; height: 1px; background: var(--pe-gold); flex-shrink: 0; }
.pe-inner-hero h1 {
  font-family: var(--pe-font-display); font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 1.1;
  letter-spacing: -0.02em; max-width: 18ch; margin: 0; color: var(--pe-ivory);
}
.pe-inner-intro { color: var(--pe-muted); font-size: 0.98rem; line-height: 1.7; margin: 0; max-width: 36rem; }
.pe-lead { color: var(--pe-ivory); font-size: 1.05rem; line-height: 1.7; max-width: 48rem; margin: 0 0 2rem; }
.pe-inner-h2 { font-family: var(--pe-font-display); font-size: clamp(1.35rem, 2.2vw, 1.85rem); margin: 0 0 1.25rem; color: var(--pe-ivory); }
.pe-service-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pe-gold-line); }
.pe-service-list li {
  display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem;
  padding: 1.15rem 0; border-bottom: 1px solid var(--pe-gold-line);
  color: var(--pe-muted); line-height: 1.55;
}
.pe-service-list strong { color: var(--pe-gold); font-size: 11px; letter-spacing: 0.14em; font-weight: 600; padding-top: 0.2rem; }
.pe-plain-list { list-style: none; margin: 0; padding: 0; }
.pe-plain-list li { color: var(--pe-muted); padding: 0.65rem 0; border-bottom: 1px solid var(--pe-gold-line); line-height: 1.55; }
.pe-plain-list a { color: var(--pe-gold-bright); }
.pe-consult-grid, .pe-contact-grid, .pe-about-grid { display: grid; gap: 2.5rem; }
@media (min-width: 900px) {
  .pe-consult-grid, .pe-contact-grid, .pe-about-grid { grid-template-columns: 1fr 1.05fr; gap: 3rem; }
}
.pe-about-aside { border: 1px solid var(--pe-gold-line); padding: 1.5rem 1.35rem; background: var(--pe-surface); }
.pe-sec { padding: 4.5rem 0; }
.pe-grid-4 { display: grid; gap: 1rem; }
@media (min-width: 700px) { .pe-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .pe-grid-4 { grid-template-columns: repeat(4, 1fr); } }
.pe-card {
  border: 1px solid var(--pe-gold-line); background: var(--pe-surface);
  padding: 1.35rem 1.25rem; height: 100%; display: block; color: inherit; text-decoration: none;
}
.pe-card[hidden] { display: none !important; }
.pe-card-num { color: var(--pe-gold); font-size: 12px; letter-spacing: 0.14em; margin-bottom: 0.75rem; }
.pe-card h3 { font-family: var(--pe-font-display); font-size: 1.2rem; margin: 0 0 0.65rem; color: var(--pe-ivory); }
.pe-card p { color: var(--pe-muted); font-size: 0.95rem; margin: 0; }
.pe-link { color: var(--pe-gold-bright); font-size: 0.95rem; border-bottom: 1px solid var(--pe-gold-line); text-decoration: none; }
.pe-team { display: grid; gap: 1.5rem; }
@media (min-width: 900px) { .pe-team { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .pe-team { grid-template-columns: repeat(3, 1fr); } }
.pe-person { border: 1px solid var(--pe-gold); background: var(--pe-bg); display: grid; grid-template-rows: auto 1fr; }
.pe-person-photo { aspect-ratio: 4/5; overflow: hidden; background: #0a1612; position: relative; }
.pe-person-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.pe-person-body { padding: 1.15rem 1.15rem 1.35rem; }
.pe-person-role { color: var(--pe-muted); font-size: 0.85rem; margin-bottom: 0.35rem; }
.pe-person h3 { font-family: var(--pe-font-display); font-size: 1.25rem; margin: 0 0 0.65rem; color: var(--pe-ivory); }
.pe-person-bio { color: var(--pe-muted); font-size: 0.92rem; margin-bottom: 0.85rem; }
.pe-person-phone a { color: var(--pe-gold-bright); font-weight: 600; }
.pe-offices { display: grid; gap: 1rem; }
.pe-office { border: 1px solid var(--pe-gold-line); padding: 1rem 1.1rem; background: var(--pe-surface); }
.pe-office h3 { font-size: 1rem; margin: 0 0 0.4rem; color: var(--pe-gold-bright); }
.pe-office p { color: var(--pe-muted); font-size: 0.92rem; margin: 0; }
.pe-eyebrow { color: var(--pe-gold); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 0.65rem; }

/* CF7 */
.pe-cf7-wrap {
  border: 1px solid var(--pe-gold);
  background: rgba(8, 19, 15, 0.92);
  padding: 1.5rem 1.35rem 1.75rem;
  box-shadow: inset 0 0 0 5px rgba(8,19,15,0.9), inset 0 0 0 6px rgba(212,175,106,0.28);
}
.pe-cf7-wrap .pe-inner-h2 { margin-bottom: 1.25rem; }
.pe-cf7-wrap .wpcf7 { margin: 0; }
.pe-cf7-wrap .wpcf7-form p { margin: 0 0 1rem; color: var(--pe-muted); font-size: 0.92rem; }
.pe-cf7-wrap label {
  display: block; color: var(--pe-gold); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 0.45rem;
}
.pe-cf7-wrap input[type="text"],
.pe-cf7-wrap input[type="email"],
.pe-cf7-wrap input[type="tel"],
.pe-cf7-wrap input[type="url"],
.pe-cf7-wrap input[type="date"],
.pe-cf7-wrap input[type="number"],
.pe-cf7-wrap select,
.pe-cf7-wrap textarea {
  width: 100%; background: #0a1612; border: 1px solid var(--pe-gold-line);
  color: var(--pe-ivory); padding: 0.85rem 1rem; font: inherit; border-radius: 0 !important;
}
.pe-cf7-wrap input:focus, .pe-cf7-wrap select:focus, .pe-cf7-wrap textarea:focus {
  outline: none; border-color: var(--pe-gold);
}
.pe-cf7-wrap textarea { min-height: 8rem; resize: vertical; }
.pe-cf7-wrap input[type="submit"],
.pe-cf7-wrap .wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; padding: 0.95rem 1.5rem;
  background: linear-gradient(135deg, #dfbd74 0%, #c69c52 100%);
  color: #08130f; border: 1px solid var(--pe-gold);
  font-size: 11px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  cursor: pointer; font-family: var(--pe-font-body); border-radius: 0 !important;
  box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 8px 24px rgba(0,0,0,0.35);
}
.pe-cf7-wrap .wpcf7-not-valid-tip { color: #e8a0a0; font-size: 0.85rem; }
.pe-cf7-wrap .wpcf7-response-output {
  margin: 1rem 0 0; border: 1px solid var(--pe-gold-line);
  padding: 0.75rem 1rem; color: var(--pe-ivory); background: var(--pe-surface);
}
.pe-cf7-wrap .wpcf7-spinner { display: none; }

.pe-desktop-only { }
@media (max-width: 1023px) {
  .pe-phone.pe-desktop-only,
  .pe-btn-nav.pe-desktop-only { display: none !important; }
}

.screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Ensure .pg font vars resolve when Home.css tokens missing */
.pg {
  --font-heading: "Lora", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  --font-display: "Lora", Georgia, "Times New Roman", serif;
}
