/* ABC Experts - legacy page reskin
   Loaded AFTER each page's own <style> block. Changes appearance only:
   type, palette, flat edges. No markup, no copy, no SEO content is touched. */

:root{
  --ivory:#F7F4EF; --ink:#211C17; --stone:#8B8178; --hairline:#E0D8CD;
  --accent:#B4551F; --paper:#FDFCFA;
  /* legacy names remapped to the new palette */
  --cream:#F7F4EF; --light-cream:#F1EDE6; --white:#FDFCFA;
  --black:#211C17; --charcoal:#3A332C; --warm-gray:#8B8178;
  --sand:#E0D8CD; --sage:#B4551F; --terracotta:#B4551F; --cta:#211C17;
  --green-trust:#5F7A52; --amber:#C9922F; --red-alert:#B23A2E;
}

/* ── TYPE ── */
body,input,select,textarea,button,
h1,h2,h3,h4,h5,h6,
.section-title,.section-tag,.section-subtitle,
.svc-card-name,.svc-card-german,.svc-card-price,
.testimonial-text,.testimonial-author,.faq-q,.faq-a,
.nav-links a,.btn-primary,.btn-ghost,.nav-cta,
.glossary-german,.glossary-english,.glossary-context,
.glossary-term-name,.glossary-term-type,.glossary-term-def{
  font-family:'Inter Tight',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-style:normal !important;
}
.mono,code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important}

body{background:var(--ivory);color:var(--ink);-webkit-font-smoothing:antialiased}

h1,.hero h1{font-weight:600 !important;letter-spacing:-.025em !important;line-height:1.06 !important}
h2,.section-title{font-weight:600 !important;letter-spacing:-.02em !important;line-height:1.12 !important}
h3,h4,.svc-card-name{font-weight:600 !important;letter-spacing:-.012em !important}
em,i:not(.fa):not([class*="icon"]){font-style:normal !important}

.section-tag{font-size:11px !important;letter-spacing:3.5px !important;text-transform:uppercase !important;
  font-weight:500 !important;color:var(--stone) !important}
.section-subtitle{color:var(--stone) !important}

/* ── FLAT EDGES, NO CANDY ── */
.section,.section-inner,.svc-card,.testimonial,.faq-item,.footer,.nav,
.btn-primary,.btn-ghost,.nav-cta,.trust-badge,.credential-banner,
.glossary-term,.mobile-menu,.float-contact-tooltip,.service-option,
input,select,textarea,.form-group input,.form-group select,.form-group textarea{
  border-radius:0 !important;
}
.svc-card,.testimonial,.faq-item,.glossary-term,.credential-banner,.service-option{
  box-shadow:none !important;border:1px solid var(--hairline) !important;background:var(--paper) !important;
}
.section-alt{background:#F1EDE6 !important}

/* ── BUTTONS ── */
.btn-primary,.nav-cta,button[type=submit],.mobile-nav-book,.mobile-book-bar a,
.nav-links a.nav-cta,.nav-links a.btn-primary,.mobile-menu a.nav-cta{
  background:#211C17 !important;color:#F7F4EF !important;border:1px solid #211C17 !important;
  font-size:12.5px !important;letter-spacing:2.5px !important;text-transform:uppercase !important;font-weight:500 !important;
}
.nav-links a.nav-cta:hover,.mobile-menu a.nav-cta:hover{background:#B4551F !important;border-color:#B4551F !important;color:#F7F4EF !important}
.btn-primary:hover,.nav-cta:hover,button[type=submit]:hover{background:var(--accent) !important;border-color:var(--accent) !important}
.btn-ghost{background:transparent !important;color:var(--ink) !important;border:1px solid var(--ink) !important;
  font-size:12.5px !important;letter-spacing:2.5px !important;text-transform:uppercase !important}
.btn-ghost:hover{background:var(--ink) !important;color:var(--ivory) !important}

/* ── NAV ── */
.nav{background:rgba(247,244,239,.94) !important;backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline) !important;box-shadow:none !important}
.nav-links a:not(.nav-cta):not(.btn-primary){font-size:12.5px !important;letter-spacing:1.5px !important;text-transform:uppercase !important;color:var(--ink) !important}
.nav-links a:not(.nav-cta):not(.btn-primary):hover{color:var(--accent) !important}
.nav-dropdown-menu{border:1px solid var(--hairline) !important;box-shadow:0 14px 42px rgba(33,28,23,.10) !important;background:var(--paper) !important}

/* ── IMAGERY: no soft-focus masks, keep proportions sane ── */
img{-webkit-mask-image:none !important;mask-image:none !important;border-radius:0 !important}
img[src*="/images/city-"]{width:100%;height:auto;object-fit:cover;filter:none}

/* ── TABLES & FAQ ── */
table{border-collapse:collapse}
.faq-q{font-weight:600 !important;letter-spacing:-.01em !important}
.faq-a{color:var(--stone) !important}
.glossary-german,.glossary-term-name{color:var(--ink) !important;font-weight:600 !important}
.glossary-context,.glossary-term-def{color:var(--stone) !important}

/* ── FOOTER ── */
.footer{background:var(--ink) !important;color:rgba(247,244,239,.72) !important}
.footer a{color:rgba(247,244,239,.72) !important}
.footer a:hover{color:var(--ivory) !important}

/* ── FLOATING CONTACT ── */
.float-contact{box-shadow:0 10px 30px rgba(33,28,23,.18) !important}

/* ══════════════════════════════════════════════════════════════════
   LONG-FORM LAYER  ·  added 2026-11-03
   Opt-in only: nothing applies unless a wrapper carries .prose.
   Gives editorial pages vertical rhythm and a small set of blocks
   built from the same tokens as the rest of the site.
   ══════════════════════════════════════════════════════════════ */

.prose{max-width:760px;margin:0 auto;color:var(--ink)}
.prose>*:first-child{margin-top:0 !important}

.prose h2{
  font-size:clamp(1.7rem,3.3vw,2.3rem) !important;
  margin:76px 0 20px !important;padding-top:26px;
  border-top:1px solid var(--hairline);color:var(--ink) !important;
}
.prose h2:first-of-type{margin-top:8px !important}
.prose h3{font-size:clamp(1.14rem,2.1vw,1.32rem) !important;margin:40px 0 11px !important;color:var(--ink) !important}
.prose h4{font-size:1rem !important;margin:28px 0 8px !important}

.prose p{margin:0 0 19px;line-height:1.8;font-size:1.09rem;color:#3A332C}
.prose p.lede{font-size:1.3rem;line-height:1.58;color:var(--ink);margin-bottom:30px;font-weight:400}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px}
.prose li{margin-bottom:13px;line-height:1.78;font-size:1.06rem;color:#3A332C}
.prose li>b,.prose li>strong{color:var(--ink)}
.prose strong,.prose b{font-weight:600}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--hairline);margin:52px 0}

/* eyebrow above a heading */
.prose .eyebrow{
  display:block;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;
  font-weight:500;color:var(--stone);margin:76px 0 -4px;padding-top:26px;
  border-top:1px solid var(--hairline);
}
.prose .eyebrow+h2{margin-top:14px !important;padding-top:0;border-top:0}
.prose .eyebrow:first-child{margin-top:0;padding-top:0;border-top:0}

/* price rail */
.prose .pricerail{
  display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--hairline);
  background:var(--paper);margin:30px 0 8px;
}
.prose .pricerail>div{flex:1 1 170px;padding:20px 22px;border-right:1px solid var(--hairline)}
.prose .pricerail>div:last-child{border-right:0}
.prose .pricerail .pr-k{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--stone);margin-bottom:9px}
.prose .pricerail .pr-v{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.prose .pricerail .pr-n{font-size:.86rem;color:var(--stone);margin-top:7px;line-height:1.5}

/* two-column tick list */
.prose .ticks{display:grid;grid-template-columns:1fr 1fr;gap:11px 30px;margin:26px 0 8px;padding:0;list-style:none}
.prose .ticks li{margin:0;padding-left:26px;position:relative;font-size:1.03rem;line-height:1.6}
.prose .ticks li::before{content:"";position:absolute;left:0;top:.52em;width:12px;height:6px;
  border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}

/* numbered grid (the 12 points) */
.prose .numgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));
  border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);margin:30px 0 8px}
.prose .numgrid>div{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:22px 22px 24px;background:var(--paper)}
.prose .numgrid .ng-n{font-size:11px;letter-spacing:2.5px;color:var(--accent);font-weight:600;display:block;margin-bottom:11px}
.prose .numgrid h3{margin:0 0 7px !important;font-size:1rem !important}
.prose .numgrid p{margin:0;font-size:.98rem;line-height:1.65;color:var(--stone)}

/* comparison cards */
.prose .cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(236px,1fr));gap:0;
  border:1px solid var(--hairline);margin:30px 0 8px;background:var(--paper)}
.prose .cmp>div{padding:26px 24px;border-right:1px solid var(--hairline)}
.prose .cmp>div:last-child{border-right:0}
.prose .cmp>div.is-pick{background:#F1EDE6}
.prose .cmp .c-k{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--stone);margin-bottom:10px}
.prose .cmp .c-t{font-size:1.1rem;font-weight:600;color:var(--ink);margin-bottom:5px;letter-spacing:-.015em}
.prose .cmp .c-p{font-size:.95rem;color:var(--accent);font-weight:600;margin-bottom:12px}
.prose .cmp p{margin:0;font-size:1rem;line-height:1.68;color:var(--stone)}

/* numbered process */
.prose .flow{counter-reset:fl;margin:30px 0 8px;padding:0;list-style:none}
.prose .flow li{counter-increment:fl;position:relative;padding:0 0 22px 56px;margin:0;
  border-left:1px solid var(--hairline);margin-left:13px}
.prose .flow li:last-child{border-left-color:transparent;padding-bottom:0}
.prose .flow li::before{content:counter(fl,decimal-leading-zero);position:absolute;left:-13px;top:-2px;
  width:26px;height:26px;background:var(--ink);color:var(--ivory);font-size:11px;font-weight:600;
  display:flex;align-items:center;justify-content:center;letter-spacing:.5px}
.prose .flow b{display:block;color:var(--ink);margin-bottom:4px}

/* callout */
/* accent boxes */
.prose .note{border-left:3px solid var(--accent);background:#FBF5F0;padding:22px 26px;margin:32px 0}
.prose .key{background:var(--accent);color:#FDFCFA;padding:28px 30px;margin:36px 0}
.prose .key .k-l{font-size:11px;letter-spacing:3.2px;text-transform:uppercase;font-weight:600;
  color:#FDFCFA;opacity:.72;margin-bottom:11px}
.prose .key p{color:#FDFCFA !important;font-size:1.16rem;line-height:1.62;margin:0 0 12px}
.prose .key p:last-child{margin-bottom:0}
.prose .key b,.prose .key strong{color:#FDFCFA}
.prose .key a{color:#FDFCFA;text-decoration-color:rgba(253,252,250,.55)}
.prose .pull{border-top:2px solid var(--accent);border-bottom:1px solid var(--hairline);
  padding:28px 0 26px;margin:40px 0;font-size:1.34rem;line-height:1.52;color:var(--ink);letter-spacing:-.012em}
.prose .pull p{font-size:inherit;line-height:inherit;color:inherit;margin:0}
.prose .pull .p-s{display:block;margin-top:14px;font-size:.92rem;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--stone)}
.prose .note p:last-child{margin-bottom:0}
.prose .note p{font-size:1.05rem}

/* data table */
.prose table{width:100%;border-collapse:collapse;margin:30px 0 8px;font-size:1.01rem;background:var(--paper)}
.prose th{text-align:left;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--stone);
  font-weight:500;padding:13px 16px;border-bottom:1px solid var(--hairline)}
.prose td{padding:15px 16px;border-bottom:1px solid var(--hairline);vertical-align:top;line-height:1.55}
.prose td b{display:block;color:var(--ink);margin-bottom:3px}
.prose td small{display:block;color:var(--stone);font-size:.86rem;line-height:1.5}
.prose td.num{white-space:nowrap;color:var(--ink);font-weight:600}

/* CTA row */
.prose .ctarow{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 0;padding-top:30px;border-top:1px solid var(--hairline)}
.prose .ctarow a{display:inline-block;padding:15px 26px;font-size:12.5px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:500;text-decoration:none;border:1px solid var(--ink)}
.prose .ctarow a.p{background:var(--ink);color:var(--ivory)}
.prose .ctarow a.p:hover{background:var(--accent);border-color:var(--accent)}
.prose .ctarow a.g{background:transparent;color:var(--ink)}
.prose .ctarow a.g:hover{background:var(--ink);color:var(--ivory)}

@media(max-width:720px){
  .prose h2{margin-top:56px !important;padding-top:22px}
  .prose .eyebrow{margin-top:56px;padding-top:22px}
  .prose .ticks{grid-template-columns:1fr}
  .prose .pricerail>div{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--hairline)}
  .prose .pricerail>div:last-child{border-bottom:0}
  .prose .cmp>div{border-right:0;border-bottom:1px solid var(--hairline)}
  .prose .cmp>div:last-child{border-bottom:0}
  .prose .ctarow a{flex:1 1 100%;text-align:center}
}

/* ── Floating contact bubble, self-contained fallback ──
   Only used by pages that did not already ship the inline version.
   Scoped to .fc-fallback so existing inline .float-contact rules are untouched. */
.fc-fallback{position:fixed;bottom:24px;right:24px;z-index:999;font-family:'Inter Tight',-apple-system,sans-serif}
.fc-fallback .fc-btn{width:58px;height:58px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(180,85,31,.4);transition:transform .25s,box-shadow .25s}
.fc-fallback .fc-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(180,85,31,.5)}
.fc-fallback .fc-btn svg{width:25px;height:25px;fill:none;stroke:#FDFCFA;stroke-width:1.7}
.fc-fallback .fc-card{position:absolute;bottom:72px;right:0;background:var(--paper);border:1px solid var(--hairline);
  min-width:242px;padding:16px 0 6px;box-shadow:0 14px 42px rgba(33,28,23,.14);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s ease}
.fc-fallback.open .fc-card{opacity:1;visibility:visible;transform:translateY(0)}
.fc-fallback .fc-card .fc-h{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--stone);padding:0 20px 12px}
.fc-fallback .fc-card a{display:block;padding:11px 20px;text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:500}
.fc-fallback .fc-card a small{display:block;font-size:.8rem;color:var(--stone);font-weight:400;margin-top:2px}
.fc-fallback .fc-card a:hover{background:#F1EDE6}
@media(max-width:640px){.fc-fallback{bottom:74px;right:16px}}

/* ══ SPEC CARD ══  the dark "what is included" shield, promoted out of the
   mobile hero so it can be used at any width, on any page. 2026-11-04 */
.speccard{background:var(--ink);color:var(--ivory);padding:30px 32px;margin:34px 0}
.speccard .sc-k{font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:#D98A5C;margin-bottom:7px}
.speccard .sc-t{font-size:1.35rem;font-weight:600;line-height:1.2;margin:0 0 22px;color:var(--ivory);letter-spacing:-.015em}
.speccard ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));gap:17px 34px}
.speccard li{position:relative;padding-left:17px;line-height:1.3}
.speccard li::before{content:"";position:absolute;left:0;top:.46em;width:7px;height:4px;border-left:1.5px solid #D98A5C;border-bottom:1.5px solid #D98A5C;transform:rotate(-45deg)}
.speccard li b{display:block;font-size:.95rem;font-weight:600;color:var(--ivory)}
.speccard li span{display:block;font-size:.84rem;color:#B9AFA3;margin-top:3px;line-height:1.45}
.speccard .sc-foot{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(247,244,239,.17);font-size:.9rem;color:#B9AFA3;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:baseline}
.speccard .sc-foot b{color:var(--ivory);font-weight:600}
.speccard .sc-foot a{color:var(--ivory);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(217,138,92,.8)}
@media(max-width:620px){.speccard{padding:24px 22px}.speccard ul{grid-template-columns:1fr;gap:14px}}
