:root {
  --forest: #3f5746;
  --forest-deep: #2f4236;
  --forest-dark: #233229;
  --sage: #a8b6a0;
  --sage-pale: #e8eee5;
  --cream: #f6f2e9;
  --warm-white: #fcfbf8;
  --quick-white: #f7f4ed;
  --white: #ffffff;
  --charcoal: #2f3432;
  --muted: #657069;
  --gold: #c7a86d;
  --border: #e3ded3;
  --danger: #9b3d35;
  --shadow-sm: 0 10px 30px rgba(36, 50, 41, .07);
  --shadow-md: 0 22px 60px rgba(36, 50, 41, .12);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --container: 1180px;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--sans); color: var(--charcoal); background: var(--warm-white); line-height: 1.65; }
body.menu-open { overflow: hidden; }
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow { max-width: 760px; }
.center { text-align: center; margin-inline: auto; }
.section { padding: clamp(76px, 9vw, 124px) 0; }
.section-soft { background: var(--cream); }
.section-dark { background: var(--forest-dark); color: var(--white); }
.section-green { background: var(--forest); color: var(--white); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; background: var(--white); padding: 12px 18px; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.eyebrow { margin: 0 0 12px; color: var(--forest); font-weight: 700; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.light { color: #d9e2d5; }
h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3,h4 { font-family: var(--serif); line-height: 1.04; font-weight: 600; }
h1 { font-size: clamp(3.3rem, 7vw, 6.4rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.5rem, 4.5vw, 4.2rem); letter-spacing: -.03em; }
h3 { font-size: 1.75rem; }
.lead { color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.22rem); }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(252,251,248,.9); border-bottom: 1px solid rgba(227,222,211,.75); backdrop-filter: blur(18px); transition: box-shadow .25s ease, padding .25s ease; }
.site-header.scrolled { box-shadow: var(--shadow-sm); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { width: 50px; height: 50px; border: 1px solid var(--forest); border-radius: 50%; display: grid; place-items: center; position: relative; font-family: var(--serif); color: var(--forest); font-size: 1.35rem; }
.brand-c { margin-left: -4px; }
.brand-name { display: flex; flex-direction: column; line-height: 1.05; }
.brand-name strong { font-family: var(--serif); font-size: 1.34rem; }
.brand-name small { margin-top: 5px; color: var(--muted); font-size: .61rem; letter-spacing: .09em; text-transform: uppercase; }
.primary-nav { display:flex; align-items:center; gap: 26px; }
.primary-nav a { text-decoration:none; font-size:.9rem; font-weight:600; }
.primary-nav a:hover { color: var(--forest); }
.nav-cta { background: var(--forest); color: white !important; padding: 12px 18px; border-radius: 999px; }
.menu-toggle { display:none; background:none; border:0; padding:8px; }
.menu-toggle span:not(.sr-only) { display:block; width:25px; height:2px; background:var(--charcoal); margin:5px; }
.hero { padding: clamp(60px, 8vw, 112px) 0 70px; background: linear-gradient(135deg, #fbfaf6 0%, #f3eee3 100%); overflow:hidden; }
.hero-layout { display:grid; grid-template-columns: 1.02fr .98fr; align-items:center; gap: clamp(42px, 7vw, 92px); }
.hero-content { max-width: 650px; }
.hero h1 { margin-bottom: 20px; color: var(--forest-dark); }
.hero-copy { font-family: var(--serif); font-size: clamp(1.65rem, 3vw, 2.25rem); line-height:1.2; color:#4d5952; margin-bottom:18px; }
.brand-promise { font-weight:700; color:var(--forest); letter-spacing:.03em; margin-bottom:32px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:25px; }
.hero-local { color:var(--muted); font-size:.9rem; max-width:540px; }
.hero-visual { min-height: 570px; position:relative; border-radius: var(--radius-lg); background: linear-gradient(145deg, #80927f, #3e5847); padding: 22px; box-shadow: var(--shadow-md); transform: rotate(1deg); }
.hero-photo-placeholder { height:100%; min-height:526px; border:1px solid rgba(255,255,255,.35); border-radius:22px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:white; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.14), transparent 38%); text-align:center; padding:40px; }
.hero-monogram { font-family:var(--serif); font-size:7rem; line-height:1; opacity:.9; }
.hero-photo-placeholder p { max-width:250px; opacity:.82; font-size:.9rem; }
.floating-note { position:absolute; left:-28px; bottom:38px; background:var(--white); color:var(--charcoal); padding:18px 22px; border-radius:16px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; transform:rotate(-1deg); }
.floating-note strong { font-family:var(--serif); font-size:2rem; color:var(--forest); }
.floating-note span { font-size:.78rem; color:var(--muted); }
.button { min-height: 54px; display:inline-flex; align-items:center; justify-content:center; padding: 14px 24px; border-radius: 14px; border:1px solid transparent; text-decoration:none; font-weight:700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.button-primary { background:var(--forest); color:white; }
.button-primary:hover { background:var(--forest-deep); }
.button-outline { border-color:var(--forest); color:var(--forest); background:transparent; }
.button-outline:hover { background:var(--forest); color:white; }
.button-dark { background:var(--forest-dark); color:white; }
.button-ghost { border-color:rgba(255,255,255,.5); color:white; }
.trust-strip { padding: 26px 0; background:var(--white); border-bottom:1px solid var(--border); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid article { display:flex; gap:14px; align-items:center; padding:14px 24px; border-right:1px solid var(--border); }
.trust-grid article:last-child { border-right:0; }
.trust-icon { min-width:50px; width:50px; height:50px; border-radius:16px; background:var(--sage-pale); color:var(--forest); display:grid; place-items:center; }
.trust-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.trust-grid h2 { font-family:var(--sans); font-size:.89rem; letter-spacing:0; margin-bottom:2px; }
.trust-grid p { font-size:.72rem; line-height:1.35; color:var(--muted); margin:0; }
.section-heading { margin-bottom:46px; }
.section-heading.split { display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:end; }
.section-heading.split > p { color:var(--muted); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { background:var(--warm-white); padding:34px; border:1px solid var(--border); border-radius:var(--radius); transition:transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-sm); }
.service-card.featured { background:var(--forest); color:white; }
.service-icon { width:54px; height:54px; border-radius:17px; display:grid; place-items:center; margin-bottom:24px; background:var(--sage-pale); color:var(--forest); transition:transform .25s ease, background .25s ease; }
.service-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-card.featured .service-icon { background:rgba(255,255,255,.13); color:var(--gold); }
.service-card:hover .service-icon { transform:translateY(-2px) scale(1.03); }
.service-card p { color:var(--muted); }
.service-card.featured p { color:#e1e8df; }
.service-card a { color:var(--forest); font-weight:700; text-decoration:none; }
.service-card.featured a { color:white; }
.standard-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.standard-image { min-height:560px; border-radius:var(--radius-lg); background:linear-gradient(155deg, #d9e1d5, #789078); position:relative; overflow:hidden; }
.standard-image:after { content:"TC"; position:absolute; inset:0; display:grid; place-items:center; font-family:var(--serif); font-size:10rem; color:rgba(255,255,255,.65); }
.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin-top:30px; }
.check-grid div { position:relative; padding-left:30px; }
.check-grid div:before { content:""; position:absolute; left:0; top:.18em; width:17px; height:17px; border:1.5px solid var(--sage); border-radius:50%; background:radial-gradient(circle at center, var(--forest) 0 3px, transparent 3.5px); }
.about-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:center; }
.about-copy p { color:#d9e1dc; }
.signature { font-family:var(--serif); font-size:3rem; font-style:italic; color:var(--gold); }
.founder-title { color:#bcc8c0; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; }
.about-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:40px; border-radius:var(--radius); }
.quote { font-family:var(--serif); font-size:2rem; line-height:1.2; }
.about-stat { margin-top:40px; display:flex; flex-direction:column; }
.about-stat strong { font-family:var(--serif); font-size:4rem; color:var(--gold); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch; }
.price-card { position:relative; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:38px; display:flex; flex-direction:column; }
.price-card.recommended { border-color:var(--forest); box-shadow:var(--shadow-md); transform:translateY(-10px); }
.recommend-label { position:absolute; top:0; right:24px; transform:translateY(-50%); background:var(--gold); color:var(--forest-dark); padding:6px 12px; border-radius:999px; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.duration { color:var(--forest); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; }
.price { font-family:var(--serif); font-size:3.2rem; color:var(--forest); }
.price span { font-family:var(--sans); font-size:.72rem; color:var(--muted); }
.price-card ul { padding-left:20px; color:var(--muted); flex:1; }
.pricing-note { margin-top:28px; text-align:center; color:var(--muted); font-size:.82rem; }
.service-area-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.text-link { color:var(--forest); font-weight:700; text-decoration:none; }
.area-list { display:flex; flex-wrap:wrap; gap:12px; }
.area-list span { background:var(--white); border:1px solid var(--border); border-radius:999px; padding:12px 18px; }
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; }
.accordion details { border-top:1px solid var(--border); padding:22px 0; }
.accordion details:last-child { border-bottom:1px solid var(--border); }
.accordion summary { list-style:none; font-family:var(--serif); font-size:1.45rem; cursor:pointer; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary:after { content:"+"; float:right; color:var(--forest); }
.accordion details[open] summary:after { content:"−"; }
.accordion p { color:var(--muted); padding-right:30px; }
.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:60px; align-items:start; }
.contact-copy { position:sticky; top:120px; }
.contact-copy p { color:#e3e9e5; }
.contact-details { display:flex; flex-direction:column; gap:8px; margin-top:30px; }
.contact-details a { color:white; }
.contact-form { background:var(--warm-white); color:var(--charcoal); border-radius:var(--radius-lg); padding:clamp(24px,4vw,46px); box-shadow:var(--shadow-md); }
.form-intro { margin-bottom:24px; }
.form-intro h3 { font-size:2.25rem; margin-bottom:8px; }
.form-kicker { color:var(--forest); font-weight:800; font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; }
.form-choice-stack { display:grid; gap:16px; }
.form-choice-shell { border:1px solid var(--border); border-radius:18px; overflow:hidden; background:var(--white); transition:border-color .25s, box-shadow .25s; }
.form-choice-shell.quick-shell { background:var(--quick-white); }
.form-choice-shell.is-open { border-color:var(--forest); box-shadow:var(--shadow-sm); }
.form-choice-shell.featured-shell { background:var(--forest-dark); border-color:var(--forest-dark); }
.form-choice-card { width:100%; border:0; background:transparent; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:22px; text-align:left; color:inherit; }
.featured-choice { color:white; }
.choice-icon { width:50px; height:50px; border-radius:16px; display:grid; place-items:center; background:var(--sage-pale); color:var(--forest); }
.choice-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.featured-choice .choice-icon { background:rgba(255,255,255,.12); color:var(--gold); }
.choice-copy { display:flex; flex-direction:column; }
.choice-copy strong { font-family:var(--serif); font-size:1.5rem; }
.choice-copy small { color:var(--muted); line-height:1.4; }
.featured-choice small { color:#cfd8d2; }
.choice-arrow { font-size:1.4rem; transition:transform .25s; }
.form-choice-card[aria-expanded="true"] .choice-arrow { transform:rotate(180deg); }
.inline-card-form { height:0; overflow:hidden; transition:height .36s ease; }
.inline-card-form-inner { padding:0 24px 28px; }
.featured-shell .inline-card-form-inner { background:var(--warm-white); color:var(--charcoal); padding-top:26px; }
.embedded-form-heading h4 { font-size:2rem; margin-bottom:8px; }
.form-section { border:0; padding:0; margin:28px 0 0; }
.form-section legend { width:100%; font-family:var(--serif); font-size:1.4rem; font-weight:600; padding-bottom:10px; border-bottom:1px solid var(--border); margin-bottom:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.routed-contact-form label { display:block; margin-bottom:16px; }
.field-label { display:block; font-size:.8rem; font-weight:800; margin-bottom:7px; }
.required { color:var(--danger); }
.optional { color:var(--muted); font-weight:500; }
input, select, textarea { width:100%; border:1px solid #d6d2c9; background:var(--white); color:var(--charcoal); border-radius:12px; padding:13px 14px; outline:0; transition:border-color .2s, box-shadow .2s; }
input:focus, select:focus, textarea:focus { border-color:var(--forest); box-shadow:0 0 0 4px rgba(63,87,70,.11); }
textarea { resize:vertical; }
.consent-label, .form-status, .form-note { width:calc(100% - 0px); margin-left:0; }
.consent-label { display:grid !important; grid-template-columns:18px 1fr; gap:10px; align-items:start; font-size:.76rem; color:var(--muted); margin-top:22px; }
.consent-label input { width:18px; height:18px; margin:2px 0 0; }
.form-submit { width:100%; min-height:60px; margin-top:8px; border:0; }
.form-status { min-height:22px; margin-top:12px; font-size:.82rem; text-align:left; }
.form-status.error { color:var(--danger); }
.form-status.success { color:var(--forest); }
.form-note { font-size:.72rem; color:var(--muted); margin-top:12px; text-align:left; }
.hp-field { position:absolute !important; left:-9999px !important; }
.choice-contact-note { text-align:center; color:var(--muted); font-size:.8rem; margin:22px 0 0; }
.mobile-booking-bar { display:none; }
.site-footer { background:#18241d; color:white; padding:70px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:45px; }
.footer-grid > div { display:flex; flex-direction:column; gap:8px; }
.footer-grid h3 { font-family:var(--sans); font-size:.78rem; text-transform:uppercase; letter-spacing:.13em; color:var(--gold); }
.footer-grid a { color:#d7dfda; text-decoration:none; }
.footer-grid span, .footer-grid p { color:#9eaaa2; }
.footer-brand .brand-mark { border-color:#dce5df; color:white; }
.footer-brand .brand-name small { color:#9eaaa2; }
.footer-bottom { margin-top:55px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; color:#839087; font-size:.72rem; }
@media (max-width: 980px) {
  .primary-nav { position:fixed; inset:82px 0 auto; background:var(--warm-white); padding:28px 20px; flex-direction:column; align-items:stretch; transform:translateY(-140%); transition:transform .28s; box-shadow:var(--shadow-md); }
  .primary-nav.open { transform:translateY(0); }
  .menu-toggle { display:block; }
  .hero-layout, .standard-layout, .about-layout, .contact-layout { grid-template-columns:1fr; }
  .hero-visual { min-height:430px; }
  .hero-photo-placeholder { min-height:386px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid article:nth-child(2) { border-right:0; }
  .trust-grid article:nth-child(-n+2) { border-bottom:1px solid var(--border); }
  .service-grid { grid-template-columns:1fr 1fr; }
  .pricing-grid { grid-template-columns:1fr; max-width:650px; margin:auto; }
  .price-card.recommended { transform:none; }
  .faq-layout, .service-area-layout { grid-template-columns:1fr; gap:35px; }
  .contact-copy { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 650px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .nav-wrap { min-height:72px; }
  .brand-mark { width:43px; height:43px; }
  .brand-name strong { font-size:1.16rem; }
  .brand-name small { font-size:.52rem; }
  .primary-nav { inset:72px 0 auto; }
  .hero { padding-top:48px; }
  .hero-layout { gap:36px; }
  .hero h1 { font-size:3.5rem; }
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero-visual { min-height:340px; padding:14px; }
  .hero-photo-placeholder { min-height:310px; }
  .hero-monogram { font-size:5rem; }
  .floating-note { left:12px; bottom:18px; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-grid article { border-right:0; border-bottom:1px solid var(--border); }
  .trust-grid article:last-child { border-bottom:0; }
  .section-heading.split, .service-grid, .check-grid, .form-row { grid-template-columns:1fr; }
  .standard-image { min-height:380px; }
  .about-layout { gap:40px; }
  .contact-form { padding:20px 14px; border-radius:20px; }
  .form-choice-card { padding:18px 14px; gap:11px; }
  .inline-card-form-inner { padding:0 14px 24px; }
  .featured-shell .inline-card-form-inner { padding-top:22px; }
  .choice-copy strong { font-size:1.25rem; }
  .choice-copy small { font-size:.72rem; }
  .choice-icon { width:40px; height:40px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:8px; }
  .mobile-booking-bar { position:fixed; z-index:90; bottom:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; background:var(--forest-dark); color:white; padding:12px 16px; text-decoration:none; font-size:.72rem; }
  body { padding-bottom:58px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
.inline-card-form.is-open { height: auto; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }

.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }

/* Version 3.2 refinements */
.service-area-layout {
  grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);
  gap:clamp(42px,7vw,92px);
}
.service-area-copy { max-width:540px; }
.service-area-copy > p:not(.eyebrow) { color:var(--muted); }
.service-area-copy .area-list { margin:28px 0 24px; }
.service-map-card {
  margin:0;
  background:linear-gradient(145deg,#fdfcf9,#f2efe7);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  overflow:hidden;
}
.service-map { display:block; width:100%; height:auto; min-height:390px; }
.map-region { stroke:var(--forest); stroke-width:2.2; vector-effect:non-scaling-stroke; }
.map-fairfax { fill:#dfe7dc; }
.map-arlington { fill:#e9eee6; }
.map-alexandria { fill:#f3f1eb; stroke:#a9b2ab; }
.map-route { fill:none; stroke:var(--gold); stroke-width:4; stroke-linecap:round; stroke-dasharray:2 12; opacity:.72; }
.map-route.secondary { stroke-width:2.5; opacity:.45; }
.map-home circle { fill:var(--forest-dark); }
.map-home path { fill:none; stroke:white; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.map-ring { fill:none; stroke:var(--gold); stroke-width:2; stroke-dasharray:5 8; opacity:.85; }
.map-label { text-anchor:middle; pointer-events:none; }
.map-label-main { fill:var(--forest-dark); font-family:var(--serif); font-size:23px; font-weight:600; }
.map-label-sub { fill:var(--muted); font-family:var(--sans); font-size:11px; letter-spacing:.02em; }
.label-home .map-label-main { font-size:25px; }
.label-home .map-label-sub { fill:var(--forest); font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.map-context-label { fill:#89928c; font-family:var(--sans); font-size:12px; letter-spacing:.06em; text-anchor:middle; }
.service-map-card figcaption {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 20px;
  padding:15px 20px 18px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:.7rem;
}
.map-key { display:inline-flex; align-items:center; gap:7px; font-weight:700; color:var(--charcoal); }
.map-key-dot { width:10px; height:10px; border-radius:50%; display:inline-block; }
.map-key-dot.home { background:var(--forest-dark); box-shadow:0 0 0 3px rgba(199,168,109,.26); }
.map-key-dot.coverage { background:#dfe7dc; border:1px solid var(--forest); }
.map-note { margin-left:auto; }

.contact-layout {
  grid-template-columns:minmax(0,1fr);
  max-width:900px;
  gap:38px;
}
.contact-copy {
  position:static;
  max-width:720px;
  text-align:center;
  margin-inline:auto;
}
.contact-copy .contact-details {
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 22px;
}
.contact-form { width:100%; }

@media (max-width:980px) {
  .service-area-layout { grid-template-columns:1fr; }
  .service-area-copy { max-width:680px; }
  .service-map-card { max-width:760px; width:100%; }
}
@media (max-width:650px) {
  .service-map { min-height:0; }
  .map-label-main { font-size:18px; }
  .map-label-sub { font-size:9px; }
  .label-home .map-label-main { font-size:20px; }
  .service-map-card figcaption { align-items:flex-start; }
  .map-note { width:100%; margin-left:0; }
  .contact-layout { gap:28px; }
  .contact-copy { text-align:left; }
  .contact-copy .contact-details { justify-content:flex-start; flex-direction:column; gap:7px; }
}

/* Version 3.3 map refinement */
.service-map-card--street {
  background:#ecebe7;
  border-color:#d9d8d2;
  box-shadow:0 24px 70px rgba(32,47,38,.16);
}
.street-map { background:#ecebe7; }
.street-map .map-park { fill:#dce7d8; opacity:.92; }
.street-map .map-park.small { fill:#e2eadf; }
.street-map .map-water { fill:#cfdfe3; }
.street-map .map-stream { fill:none; stroke:#c4d9de; stroke-width:15; stroke-linecap:round; opacity:.9; }
.street-map .road-casings path { fill:none; stroke:#d5d5d0; stroke-width:13; stroke-linecap:round; }
.street-map .major-roads path { fill:none; stroke:#fffdf8; stroke-width:8; stroke-linecap:round; }
.street-map .secondary-roads path { fill:none; stroke:#fff; stroke-width:4.2; stroke-linecap:round; opacity:.92; }
.street-map .coverage-shape { fill:url(#coverage-fill); }
.street-map .coverage-outline { fill:none; stroke:#3f5746; stroke-width:2.5; stroke-dasharray:8 8; opacity:.75; }
.street-map .city-labels text { fill:#3f4742; font:700 17px var(--sans); paint-order:stroke; stroke:#f2f1ed; stroke-width:5; stroke-linejoin:round; }
.street-map .road-labels text { fill:#8c918d; font:800 10px var(--sans); letter-spacing:.08em; paint-order:stroke; stroke:#f7f6f2; stroke-width:4; }
.street-map .map-pin > path:first-child { fill:var(--gold); }
.street-map .map-pin circle { fill:#fff; }
.street-map .map-pin .pin-heart { fill:var(--forest-dark); }
.street-map .home-label rect { fill:rgba(255,255,255,.96); stroke:rgba(63,87,70,.2); }
.street-map .home-label text { fill:var(--forest-dark); font:800 15px var(--sans); }
.street-map .map-overlay-label rect { fill:rgba(255,255,255,.93); stroke:rgba(63,87,70,.16); }
.street-map .map-overlay-label circle { fill:var(--forest); opacity:.72; }
.street-map .map-overlay-label text { fill:var(--forest-dark); font:800 13px var(--sans); }
.service-map-card--street .map-key-dot.coverage { background:rgba(63,87,70,.28); border-color:var(--forest); }
@media (max-width:650px) {
  .street-map .city-labels text { font-size:14px; }
  .street-map .map-overlay-label { transform:translate(690px,72px) scale(.84); transform-origin:center; }
}

/* Version 3.4 map simplification */
.service-map-card--street {
  padding:0;
}
.service-map-card--street .service-map {
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
}
.street-map .coverage-shape,
.street-map .coverage-outline,
.street-map .map-overlay-label,
.service-map-card--street figcaption {
  display:none;
}
.street-map .falls-church-location .location-ring {
  fill:rgba(199,168,109,.24);
  stroke:var(--gold);
  stroke-width:2;
}
.street-map .falls-church-location .location-dot {
  fill:var(--forest-dark);
}
.street-map .falls-church-location text {
  fill:var(--forest-dark);
  font:800 16px var(--sans);
  paint-order:stroke;
  stroke:#f2f1ed;
  stroke-width:5;
  stroke-linejoin:round;
}
@media (max-width:650px) {
  .street-map .falls-church-location text { font-size:14px; }
}


/* Version 4.0 — breathing room, photography, and map polish */
.hero-visual {
  padding: 0;
  overflow: visible;
  background: var(--forest);
}
.hero-photo {
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.services {
  padding-top: clamp(104px, 11vw, 156px);
  padding-bottom: clamp(112px, 12vw, 168px);
}
.services .section-heading {
  margin-bottom: clamp(64px, 7vw, 92px);
}
.services .section-heading .eyebrow {
  margin-bottom: 20px;
}
.services .section-heading h2 {
  margin-bottom: 0;
}
.services .section-heading.split > p {
  margin-bottom: 4px;
  line-height: 1.85;
}
.service-grid {
  gap: 28px;
  row-gap: 34px;
}
.service-card {
  min-height: 330px;
  padding: 44px 38px 40px;
  display: flex;
  flex-direction: column;
}
.service-card .service-icon {
  margin-bottom: 30px;
}
.service-card h3 {
  margin-bottom: 20px;
}
.service-card p {
  margin-bottom: 34px;
  line-height: 1.78;
}
.service-card a {
  margin-top: auto;
  padding-top: 4px;
}

.service-map-card--street {
  border: 0;
  border-radius: 30px;
  overflow: hidden;
}
.street-map {
  display: block;
  width: 100%;
  min-height: 440px;
}
.falls-church-location text {
  fill: var(--forest-dark);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .01em;
  text-anchor: middle;
  paint-order: stroke;
  stroke: rgba(255,255,255,.94);
  stroke-width: 6px;
  stroke-linejoin: round;
}
.location-ring,
.location-dot {
  display: none;
}

@media (max-width: 980px) {
  .hero-photo { min-height: 430px; }
  .services .section-heading { margin-bottom: 58px; }
  .service-card { min-height: 310px; }
}
@media (max-width: 650px) {
  .hero-photo { min-height: 340px; border-radius: 22px; }
  .services {
    padding-top: 88px;
    padding-bottom: 104px;
  }
  .services .section-heading { margin-bottom: 48px; }
  .services .section-heading .eyebrow { margin-bottom: 16px; }
  .service-grid { gap: 24px; }
  .service-card {
    min-height: 0;
    padding: 36px 28px 32px;
  }
  .service-card .service-icon { margin-bottom: 24px; }
  .service-card h3 { margin-bottom: 16px; }
  .service-card p { margin-bottom: 28px; }
  .street-map { min-height: 350px; }
}


/* Version 4.1 — editorial polish and daily visit report */
:root {
  --warm-canvas:#f7f5ef;
  --ink-soft:#27322c;
}
body { background:var(--warm-canvas); }
.site-header { backdrop-filter:blur(16px); }
.hero { padding-top:clamp(84px,10vw,140px); padding-bottom:clamp(88px,10vw,140px); }
.hero-layout { align-items:center; gap:clamp(46px,7vw,104px); }
.hero-content { max-width:650px; }
.hero h1 { max-width:12ch; font-size:clamp(4rem,7.4vw,7.3rem); line-height:.88; letter-spacing:-.048em; }
.hero-copy { max-width:610px; font-size:clamp(1.03rem,1.45vw,1.22rem); line-height:1.85; }
.brand-promise { letter-spacing:.08em; text-transform:uppercase; font-size:.72rem; }
.hero-visual { position:relative; transform:rotate(.35deg); }
.hero-photo { min-height:640px; filter:saturate(.88) contrast(.98); }
.floating-note { border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(12px); }
.button { transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease; }
.button:hover { transform:translateY(-3px); }
.service-card { transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.service-card:hover { transform:translateY(-6px); box-shadow:0 26px 60px rgba(37,52,43,.12); }
.service-card a span,.text-link span { display:inline-block; transition:transform .25s ease; }
.service-card a:hover span,.text-link:hover span { transform:translateX(5px); }

.visit-report { background:#ebece5; overflow:hidden; }
.visit-report-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:clamp(54px,8vw,120px); align-items:center; }
.visit-report-copy h2 { max-width:12ch; }
.visit-report-copy .lead { max-width:650px; }
.report-benefits { list-style:none; padding:0; margin:34px 0 36px; display:grid; gap:14px; }
.report-benefits li { position:relative; padding-left:30px; color:var(--charcoal); }
.report-benefits li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--forest); font-weight:900; }
.text-link { display:inline-flex; gap:10px; align-items:center; color:var(--forest-dark); font-weight:800; text-decoration:none; }
.report-card { position:relative; padding:34px; border-radius:30px; background:rgba(255,255,255,.92); border:1px solid rgba(52,72,59,.12); box-shadow:0 36px 90px rgba(37,52,43,.17); transform:rotate(1deg); }
.report-card::before { content:''; position:absolute; inset:14px -18px -18px 18px; z-index:-1; border-radius:30px; background:rgba(65,82,67,.12); transform:rotate(-2deg); }
.report-card-header { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding-bottom:24px; border-bottom:1px solid var(--border); }
.report-card-header h3 { margin:2px 0 0; font-size:2rem; }
.report-card-header time { color:var(--muted); font-weight:800; font-size:.8rem; }
.report-pet-avatar { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--forest-dark); color:white; font-family:var(--serif); font-size:1.7rem; }
.report-kicker { margin:0; color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }
.report-status { display:inline-flex; margin:24px 0 20px; padding:8px 12px; border-radius:99px; color:var(--forest-dark); background:#e3eadf; font-weight:800; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.report-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.report-checks span { position:relative; padding:13px 14px 13px 36px; border-radius:13px; background:#f5f5f0; font-size:.78rem; font-weight:700; }
.report-checks span::before { content:'✓'; position:absolute; left:14px; color:var(--forest); }
.report-card blockquote { margin:24px 0; padding:22px 24px; border-left:3px solid var(--gold); background:#faf8f2; color:var(--charcoal); font-family:var(--serif); font-size:1.28rem; line-height:1.45; }
.report-photos { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.report-photos div { aspect-ratio:1.35; border-radius:12px; background:linear-gradient(145deg,#d9d7ca,#aab4a5); }
.report-photos div:nth-child(2) { background:linear-gradient(145deg,#c9d1c6,#7f9182); }
.report-photos .photo-count { display:grid; place-items:center; color:white; background:linear-gradient(145deg,#5b705e,#2e4134); font-size:.78rem; font-weight:800; }
.report-card footer { margin-top:20px; color:var(--muted); font-size:.68rem; text-align:center; letter-spacing:.05em; }
.reveal { transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { transform:none; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
@media (max-width:980px) {
  .hero h1 { max-width:14ch; }
  .hero-photo { min-height:500px; }
  .visit-report-layout { grid-template-columns:1fr; }
  .visit-report-copy h2 { max-width:16ch; }
  .report-card { max-width:680px; width:100%; margin-inline:auto; }
}
@media (max-width:650px) {
  .hero { padding-top:68px; }
  .hero h1 { font-size:clamp(3.35rem,15vw,5rem); max-width:10ch; }
  .hero-photo { min-height:390px; }
  .report-card { padding:24px 20px; transform:none; }
  .report-card::before { display:none; }
  .report-card-header { grid-template-columns:auto 1fr; }
  .report-card-header time { grid-column:2; }
  .report-checks { grid-template-columns:1fr; }
  .report-card blockquote { font-size:1.12rem; padding:18px; }
}

/* Version 4.1.1 — premium daily visit report */
.report-preview-shell {
  position: relative;
  border-radius: 34px;
  background: #24342b;
  padding: 10px;
  box-shadow: 0 42px 100px rgba(31, 47, 38, .24);
  transform: rotate(.35deg);
}
.report-preview-shell::before {
  content: '';
  position: absolute;
  inset: 18px -20px -22px 20px;
  z-index: -1;
  border-radius: 34px;
  background: rgba(65, 82, 67, .14);
  transform: rotate(-1.5deg);
}
.report-preview-topbar {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 14px;
  color: rgba(255,255,255,.72);
  font-size: .67rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.report-preview-topbar > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
}
.report-preview-topbar strong {
  margin-left: 8px;
  font-weight: 700;
}
.report-card {
  transform: none;
  border: 0;
  border-radius: 26px;
  background: #fffefb;
  padding: 30px;
  box-shadow: none;
}
.report-card::before { display: none; }
.report-card-header {
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 17px;
  padding-bottom: 22px;
  border-bottom: 1px solid #e7e8e1;
}
.report-pet-avatar {
  width: 62px;
  height: 62px;
  background: linear-gradient(145deg, #536b59, #2c4033);
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.12);
}
.report-pet-heading h3 {
  margin: 3px 0 3px;
  font-size: clamp(1.55rem, 2.1vw, 2.05rem);
  line-height: 1.05;
}
.report-subline {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 650;
}
.report-status {
  margin: 0;
  gap: 7px;
  align-items: center;
  background: #e5efe4;
  border: 1px solid #d2e2d0;
  color: #2d5339;
  white-space: nowrap;
}
.report-status span {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #3f6a4a;
  color: #fff;
  font-size: .6rem;
}
.report-summary-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 22px 0 24px;
  border: 1px solid #e5e7df;
  border-radius: 18px;
  background: #f7f7f2;
  overflow: hidden;
}
.report-summary-strip div {
  display: grid;
  gap: 2px;
  padding: 15px 12px;
  text-align: center;
}
.report-summary-strip div + div { border-left: 1px solid #e0e3da; }
.report-summary-strip strong {
  color: var(--forest-dark);
  font-family: var(--serif);
  font-size: 1.55rem;
  line-height: 1;
}
.report-summary-strip span {
  color: var(--muted);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.report-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 12px;
}
.report-section-heading > span {
  color: var(--charcoal);
  font-weight: 850;
  font-size: .82rem;
}
.report-section-heading small {
  color: var(--muted);
  font-size: .66rem;
}
.report-checks { gap: 9px; }
.report-checks span {
  padding: 12px 12px 12px 35px;
  border: 1px solid #e6e8e0;
  background: #fbfbf7;
  font-size: .73rem;
}
.report-checks span::before {
  width: 16px;
  height: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dfeadd;
  color: #3f6848;
  font-size: .58rem;
}
.report-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  margin: 22px 0;
  padding: 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f6f0df, #fbf8ef);
  border: 1px solid #eadfbe;
}
.report-note-mark {
  color: #aa8b48;
  font-family: var(--serif);
  font-size: 3.4rem;
  line-height: .8;
}
.report-section-label {
  margin: 0 0 5px;
  color: #806b3d;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.report-card blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 1.04rem;
  line-height: 1.55;
}
.photo-heading { margin-top: 2px; }
.report-photos {
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 9px;
}
.report-photo {
  position: relative;
  min-height: 112px;
  aspect-ratio: 1.25;
  overflow: hidden;
  border-radius: 14px;
  background-image: linear-gradient(rgba(30,45,36,.04), rgba(30,45,36,.12)), url('hero-cats.jpg');
  background-size: cover;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
.report-photo-one { background-position: 18% 44%; }
.report-photo-two { background-position: 62% 46%; }
.report-photo-three { background-position: 86% 52%; }
.report-photo-three::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(31, 50, 39, .54);
}
.report-photo-three span {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  color: #fff;
  font-family: var(--serif);
  font-size: 1.8rem;
}
.report-card footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  padding-top: 17px;
  border-top: 1px solid #ecece5;
  color: #758078;
}
.report-heart { color: #a58a56; font-size: .75rem; }
@media (max-width: 650px) {
  .report-preview-shell { transform: none; padding: 7px; border-radius: 26px; }
  .report-preview-shell::before { display: none; }
  .report-preview-topbar strong { font-size: .56rem; }
  .report-card { padding: 22px 17px; border-radius: 21px; }
  .report-card-header { grid-template-columns: auto 1fr; }
  .report-status { grid-column: 1 / -1; width: max-content; }
  .report-summary-strip strong { font-size: 1.3rem; }
  .report-section-heading { align-items: flex-start; flex-direction: column; gap: 3px; }
  .report-note { padding: 17px 15px; }
  .report-photos { grid-template-columns: repeat(3, 1fr); }
  .report-photo { min-height: 82px; }
}


.process-section{padding:5rem 0;background:#f8f8f6}
.process-section h2{text-align:center;font-size:2rem;margin-bottom:2rem}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.process-grid>div{background:#fff;padding:2rem;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.06);text-align:center}
.process-grid span{display:inline-flex;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;background:#1f4f46;color:#fff;font-weight:700;margin-bottom:1rem}

/* v5.0 — simplified trust-first homepage */
html { scroll-behavior: smooth; }
.hero { padding-block: clamp(5.5rem, 9vw, 8.5rem); }
.hero-layout { align-items: center; }
.hero-content { max-width: 650px; }
.hero-content h1 { max-width: 11ch; font-size: clamp(3.25rem, 7vw, 6.3rem); line-height: .94; letter-spacing: -.055em; }
.hero-copy { max-width: 30ch; font-size: clamp(1.05rem, 1.5vw, 1.22rem); }
.brand-promise { margin-top: 1.25rem; font-weight: 750; color: var(--green-dark, #24483f); }
.hero-actions { margin-top: 2rem; }
.hero-photo { min-height: 500px; object-fit: cover; }
.floating-note { min-width: 190px; }
.trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.services .section-heading.split { align-items: end; }
.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-card { min-height: 100%; padding: clamp(2rem, 3vw, 2.75rem); }
.service-card p { max-width: 34ch; }
.visit-report { scroll-margin-top: 90px; }
.visit-report-copy .lead { max-width: 30ch; }
.testimonial-section { background: #fff; text-align: center; }
.testimonial-compact { max-width: 920px; }
.testimonial-compact blockquote { margin: 1rem auto 1.3rem; max-width: 24ch; color: var(--green-dark, #24483f); font-family: var(--serif); font-size: clamp(2rem, 4.5vw, 4rem); line-height: 1.08; letter-spacing: -.035em; }
.testimonial-compact cite { color: var(--muted); font-style: normal; font-weight: 700; }
.contact-copy h2 { max-width: 10ch; }
.process-section { display: none !important; }
@media (max-width: 900px) {
  .trust-grid, .service-grid { grid-template-columns: 1fr; }
  .hero-photo { min-height: 390px; }
  .services .section-heading.split { align-items: start; }
}
@media (max-width: 650px) {
  .hero { padding-top: 4.5rem; }
  .hero-content h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .hero-actions .button { width: 100%; justify-content: center; }
  .floating-note { right: 10px; bottom: 10px; }
}

/* v5.0.1 — pricing restored and Meet & Greet heading corrected */
.contact-copy {
  text-align: center;
}
.contact-copy h2 {
  max-width: none;
  margin-inline: auto;
}
.contact-copy > p:not(.eyebrow) {
  max-width: 34ch;
  margin-inline: auto;
}
.contact-copy .contact-details {
  align-items: center;
}
@media (min-width: 1100px) {
  .contact-copy h2 {
    white-space: nowrap;
    font-size: clamp(2.65rem, 3.5vw, 4rem);
  }
}
@media (max-width: 900px) {
  .contact-copy {
    text-align: center;
  }
  .contact-copy .contact-details {
    align-items: center;
  }
}

/* Version 6.0 boutique redesign */
:root{
  --forest:#6d8a73;
  --forest-dark:#31463a;
  --sage-pale:#e7eee8;
  --warm-white:#faf9f7;
  --quick-white:#fff;
  --charcoal:#2f3437;
  --muted:#6b7280;
  --gold:#b9955b;
  --border:#dedfd9;
  --shadow-sm:0 12px 35px rgba(47,52,55,.07);
  --shadow-md:0 24px 70px rgba(47,52,55,.11);
  --radius-lg:28px;
}
html{scroll-behavior:smooth}
body{background:var(--warm-white);color:var(--charcoal)}
.site-header{background:rgba(250,249,247,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(222,223,217,.7)}
.nav-wrap{min-height:88px}.primary-nav{gap:30px}.primary-nav a{font-size:.78rem;letter-spacing:.04em}.nav-cta{border-radius:999px!important;padding:13px 20px!important}
.hero{padding:86px 0 98px;background:linear-gradient(180deg,#faf9f7 0%,#f4f6f2 100%)}
.hero-layout{grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:clamp(54px,7vw,110px);align-items:center}
.hero-content{max-width:620px}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(4rem,6.2vw,6.8rem);line-height:.92;letter-spacing:-.045em;margin-bottom:28px}.hero-copy{font-size:1.18rem;max-width:510px;line-height:1.75}.brand-promise{margin-top:18px;font-weight:700;color:var(--forest-dark)}
.button{border-radius:999px;min-height:56px;padding:0 28px;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(49,70,58,.15)}
.hero-visual{border-radius:36px;padding:16px;background:#fff;box-shadow:var(--shadow-md)}.hero-photo{border-radius:26px;min-height:560px;object-fit:cover}.floating-note{border-radius:18px;padding:14px 18px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm)}
.trust-strip{background:#fff;border-block:1px solid var(--border)}.trust-grid article{padding:34px 28px}.trust-grid h2{font-size:1.35rem}.trust-grid p{font-size:.82rem}
.section{padding:112px 0}.section-soft{background:#f2f4f0}.section-heading{margin-bottom:54px}.section-heading h2,.visit-report h2,.included h2,.service-area h2{font-size:clamp(2.8rem,4.6vw,4.7rem);line-height:1.02;letter-spacing:-.035em}.section-heading.center.narrow{max-width:820px;margin-left:auto;margin-right:auto;text-align:center}
.service-grid{gap:22px}.service-card{padding:38px;border:1px solid rgba(109,138,115,.18);border-radius:24px;background:rgba(255,255,255,.82);box-shadow:none}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}.service-card.featured{background:var(--forest-dark);color:#fff}.service-card.featured p{color:#dbe4dd}.service-card h3{font-size:1.65rem}.service-icon{border-radius:17px}
.pricing{background:#fff}.pricing-grid{gap:24px;align-items:stretch}.price-card{border-radius:26px;padding:40px 34px;border:1px solid var(--border);box-shadow:none;display:flex;flex-direction:column}.price-card.recommended{transform:translateY(-12px);background:var(--forest-dark);color:#fff;border-color:var(--forest-dark);box-shadow:var(--shadow-md)}.price-card.recommended .duration,.price-card.recommended .price-summary{color:#dbe4dd}.price-card h3{font-size:2.05rem}.price{font-size:2.85rem;margin:16px 0 22px}.price span{display:block;font-family:var(--sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.recommended .price span{color:#c8d3cb}.price-summary{color:var(--muted);line-height:1.75;margin-bottom:30px;min-height:120px}.price-card .button{margin-top:auto}.recommend-label{border-radius:999px;letter-spacing:.12em}
.visit-report{background:var(--warm-white)}.visit-report-layout{gap:clamp(52px,8vw,110px)}.visit-report-copy{max-width:560px}.report-card{border-radius:32px;box-shadow:var(--shadow-md);border:12px solid #fff;overflow:hidden}
.testimonial-section{background:var(--forest-dark);color:#fff}.testimonial-compact{max-width:920px;text-align:center}.testimonial-compact blockquote{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4rem);line-height:1.15;margin:26px auto}.testimonial-compact cite{color:#cbd6ce}
.service-area-simple{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.service-area-simple>div:first-child>p:last-child{color:var(--muted);font-size:1.05rem}.area-chips{display:flex;flex-wrap:wrap;gap:12px}.area-chips span{padding:13px 18px;border:1px solid var(--border);border-radius:999px;background:#fff;font-weight:700;font-size:.8rem}
.included{padding-top:30px}.included-panel{background:var(--forest-dark);color:#fff;border-radius:32px;padding:clamp(42px,6vw,76px);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.included-panel .eyebrow{color:#d7bd8d}.included-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;list-style:none;padding:0;margin:0}.included-list li{position:relative;padding-left:27px;font-weight:700}.included-list li:before{content:'✓';position:absolute;left:0;color:#d7bd8d}
.contact.section-green{background:#e8eee9;color:var(--charcoal)}.contact-layout{max-width:980px}.contact-copy{text-align:center;max-width:900px;margin:0 auto}.contact-copy h2{font-size:clamp(3rem,5.4vw,5.4rem);white-space:nowrap}.contact-copy>p{max-width:650px;margin-inline:auto}.contact-form{box-shadow:var(--shadow-md);border:1px solid rgba(109,138,115,.18)}
.site-footer{background:#18241d}
@media(max-width:980px){.hero-layout{grid-template-columns:1fr}.hero-content{max-width:760px}.hero-photo{min-height:480px}.service-area-simple,.included-panel{grid-template-columns:1fr}.contact-copy h2{white-space:normal}.price-card.recommended{transform:none}}
@media(max-width:650px){.hero{padding:58px 0 68px}.hero h1{font-size:3.65rem}.hero-photo{min-height:360px}.section{padding:78px 0}.section-heading h2,.visit-report h2,.included h2,.service-area h2{font-size:2.75rem}.service-card,.price-card{padding:28px 24px}.price-summary{min-height:0}.included-list{grid-template-columns:1fr}.included-panel{padding:34px 24px}.contact-copy h2{font-size:3rem}.site-header .brand-name small{display:none}}

/* Official True Companion brand assets */
.brand-logo-link { display:inline-flex; align-items:center; flex:0 1 auto; min-width:0; }
.site-logo { display:block; width:clamp(280px, 34vw, 470px); height:auto; object-fit:contain; }
.footer-brand { width:max-content; max-width:100%; padding:12px 16px; border-radius:14px; background:#f8f7f2; }
.footer-logo { width:min(360px, 72vw); }
@media (max-width: 900px) {
  .site-logo { width:clamp(235px, 48vw, 360px); }
}
@media (max-width: 650px) {
  .site-logo { width:min(265px, 70vw); }
  .nav-wrap { gap:12px; }
  .footer-logo { width:min(290px, 72vw); }
}
@media (max-width: 390px) {
  .site-logo { width:220px; }
}

/* =========================================================
   TRUE COMPANION PET CARE — VERSION 7
   Brand promise: Professional Care. Personal Attention.
   ========================================================= */
:root {
  --v7-forest: #35483c;
  --v7-sage: #728775;
  --v7-sage-soft: #e8eee7;
  --v7-cream: #fbf8f2;
  --v7-ink: #28322d;
  --v7-line: rgba(53,72,60,.16);
  --v7-shadow: 0 24px 70px rgba(42,58,48,.13);
}
body { background: var(--v7-cream); color: var(--v7-ink); }
.site-header { background: rgba(251,248,242,.93); backdrop-filter: blur(18px); border-bottom: 1px solid var(--v7-line); }
.nav-wrap { min-height: 88px; }
.site-logo { width: min(360px, 42vw); height: auto; }
.primary-nav a:not(.nav-cta) { font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.nav-cta { border-radius: 999px; padding-inline: 1.2rem !important; }
.hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 9vw, 8rem) 0; background: radial-gradient(circle at 12% 15%, #eef3eb 0, transparent 34%), linear-gradient(135deg,#fbf8f2 0%,#f4f0e8 100%); }
.hero:after { content:""; position:absolute; right:-10rem; bottom:-12rem; width:34rem; height:34rem; border:1px solid rgba(114,135,117,.2); border-radius:50%; box-shadow:0 0 0 70px rgba(114,135,117,.04),0 0 0 140px rgba(114,135,117,.025); }
.hero-layout { position:relative; z-index:1; align-items:center; gap:clamp(2.5rem,6vw,6rem); }
.hero-content { max-width: 670px; }
.hero h1 { max-width: 12ch; font-size: clamp(3.4rem,7vw,6.7rem); line-height:.91; letter-spacing:-.045em; }
.hero-copy { max-width: 610px; font-size: clamp(1.08rem,1.6vw,1.3rem); line-height:1.7; }
.brand-promise { display:inline-flex; align-items:center; gap:.65rem; margin-top:1.1rem; padding:.55rem .85rem; background:rgba(255,255,255,.72); border:1px solid rgba(114,135,117,.22); border-radius:999px; color:var(--v7-forest); letter-spacing:.035em; font-weight:700; }
.brand-promise:before { content:""; width:.48rem; height:.48rem; border-radius:50%; background:var(--v7-sage); box-shadow:0 0 0 5px rgba(114,135,117,.13); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.8rem; }
.button-secondary { display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(53,72,60,.28); color:var(--v7-forest); background:transparent; }
.button-secondary:hover { background:#fff; transform:translateY(-2px); }
.hero-visual { border-radius: 44% 44% 18% 18% / 25% 25% 14% 14%; box-shadow:var(--v7-shadow); transform:rotate(1.2deg); }
.hero-photo { min-height:520px; object-fit:cover; }
.floating-note { left:-1.1rem; right:auto; bottom:1.4rem; border-radius:18px; box-shadow:0 18px 45px rgba(34,47,39,.18); }
.trust-strip { background:var(--v7-forest); color:#fff; }
.trust-grid article { border-color:rgba(255,255,255,.12); }
.trust-grid h2,.trust-grid p { color:#fff; }
.trust-icon { background:rgba(255,255,255,.09); color:#dfe8dc; }
.section-heading h2,.brand-story h2 { font-size:clamp(2.5rem,5vw,4.6rem); line-height:.98; letter-spacing:-.035em; }
.brand-story { background:#fff; }
.brand-story-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr); gap:clamp(2rem,5vw,5rem); align-items:stretch; }
.brand-story-card { padding:clamp(2rem,5vw,4.5rem); border:1px solid var(--v7-line); border-radius:34px; background:linear-gradient(145deg,#fff 0%,#f7f4ed 100%); box-shadow:0 18px 55px rgba(42,58,48,.08); }
.brand-story-card .lead { max-width:760px; font-size:1.14rem; line-height:1.8; }
.brand-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.brand-values div { padding:1.25rem; border-top:2px solid var(--v7-sage); background:rgba(232,238,231,.5); border-radius:0 0 18px 18px; }
.brand-values strong,.brand-values span { display:block; }
.brand-values strong { margin-bottom:.45rem; font-family:"Cormorant Garamond",serif; font-size:1.45rem; color:var(--v7-forest); }
.brand-values span { font-size:.92rem; line-height:1.55; color:#58645d; }
.brand-story-quote { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,4vw,3.5rem); border-radius:34px; background:var(--v7-forest); color:#fff; position:relative; overflow:hidden; }
.brand-story-quote:after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.14); border-radius:50%; right:-55px; bottom:-55px; }
.quote-mark { font-family:Georgia,serif; font-size:5rem; line-height:.65; color:#b9c9b7; }
.brand-story-quote blockquote { margin:1rem 0 1.4rem; font-family:"Cormorant Garamond",serif; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.12; }
.brand-story-quote p { color:#dfe8dc; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.service-card,.price-card { border-radius:26px; border:1px solid var(--v7-line); box-shadow:0 14px 38px rgba(42,58,48,.07); transition:transform .25s ease,box-shadow .25s ease; }
.service-card:hover,.price-card:hover { transform:translateY(-7px); box-shadow:0 24px 60px rgba(42,58,48,.13); }
.price-card.recommended { transform:translateY(-12px); border:2px solid var(--v7-sage); }
.price-card.recommended:hover { transform:translateY(-18px); }
.visit-report { background:linear-gradient(180deg,#f5f1e9,#eef3eb); }
.report-preview-shell { box-shadow:var(--v7-shadow); border-radius:28px; }
.testimonial-compact blockquote { max-width:900px; font-size:clamp(2rem,4vw,3.6rem); line-height:1.12; }
.included-panel { border-radius:32px; background:var(--v7-forest); box-shadow:var(--v7-shadow); }
.section-green { background:linear-gradient(145deg,#314238,#42594a); }
.contact-form { border-radius:28px; box-shadow:0 26px 75px rgba(24,34,27,.28); }
@media (max-width: 850px) {
  .brand-story-layout { grid-template-columns:1fr; }
  .brand-values { grid-template-columns:1fr; }
  .hero h1 { max-width:14ch; }
  .hero-visual { transform:none; border-radius:28px; }
  .hero-photo { min-height:380px; }
  .site-logo { width:min(310px,68vw); }
}
@media (max-width: 560px) {
  .hero { padding-top:3.3rem; }
  .hero h1 { font-size:clamp(3rem,15vw,4.3rem); }
  .brand-promise { border-radius:16px; }
  .button-secondary,.hero-actions .button { width:100%; }
  .price-card.recommended,.price-card.recommended:hover { transform:none; }
}

/* Version 7.1 contrast and footer alignment corrections */
.testimonial-section .testimonial-compact .eyebrow {
  color: #d7bd8d;
}
.testimonial-section .testimonial-compact blockquote {
  color: #ffffff;
}
.testimonial-section .testimonial-compact cite {
  color: #dce6df;
}

.contact.section-green .contact-copy,
.contact.section-green .contact-copy h2 {
  color: #ffffff;
}
.contact.section-green .contact-copy > p:not(.eyebrow) {
  color: #e5ede7;
}
.contact.section-green .contact-copy .eyebrow {
  color: #f0d7a8;
}
.contact.section-green .contact-details a,
.contact.section-green .contact-details span {
  color: #ffffff;
}
.contact.section-green .contact-details a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.contact.section-green .contact-details a:hover,
.contact.section-green .contact-details a:focus-visible {
  color: #f3ddb5;
}

.footer-grid > div:first-child {
  align-items: center;
  text-align: center;
}
.footer-grid > div:first-child > p {
  width: 100%;
  margin: 0.65rem 0 0;
  text-align: center;
}
.footer-brand {
  margin-inline: auto;
}

/* Version 7.2 contact contrast and service-area redesign */
.contact.section-green .contact-copy > p:not(.eyebrow) {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.08);
}

.service-area {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(166,185,158,.22), transparent 34%),
    radial-gradient(circle at 90% 80%, rgba(211,185,139,.18), transparent 32%),
    linear-gradient(135deg,#f7f5ef 0%,#edf3ec 100%);
}
.service-area::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(66,80,62,.09) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(to right,transparent,black 18%,black 82%,transparent);
  pointer-events:none;
}
.service-area-showcase {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:72px;
  align-items:center;
}
.service-area-copy-v7 h2 { margin-bottom:20px; }
.service-area-copy-v7 > p:not(.eyebrow):not(.service-area-note) {
  max-width:600px;
  color:#59655d;
  font-size:1.08rem;
  line-height:1.8;
}
.area-chips-v7 { margin-top:30px; }
.area-chips-v7 span {
  background:rgba(255,255,255,.88);
  border:1px solid rgba(83,105,88,.18);
  box-shadow:0 8px 24px rgba(42,58,48,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.area-chips-v7 span:hover {
  transform:translateY(-3px);
  box-shadow:0 13px 28px rgba(42,58,48,.12);
  border-color:rgba(83,105,88,.34);
}
.service-area-note {
  margin-top:25px;
  padding-left:17px;
  border-left:3px solid #82957d;
  color:#445248;
  font-size:.92rem;
  font-weight:600;
}
.coverage-visual {
  position:relative;
  min-height:510px;
  border-radius:38px;
  overflow:hidden;
  background:
    linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.18)),
    radial-gradient(circle at center,#6f8871 0 3%,#dfe8dc 3.5% 21%,#cbd9c8 21.5% 37%,#b7c9b3 37.5% 53%,#9eb39b 53.5% 70%,#80987f 70.5% 100%);
  border:1px solid rgba(66,80,62,.13);
  box-shadow:0 30px 75px rgba(42,58,48,.18);
  isolation:isolate;
}
.coverage-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.34),transparent 42%,rgba(49,66,56,.12));
  z-index:-1;
}
.coverage-orbit {
  position:absolute;
  left:50%; top:50%;
  border:1px dashed rgba(45,65,52,.32);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.orbit-one{width:34%;aspect-ratio:1}.orbit-two{width:58%;aspect-ratio:1}.orbit-three{width:82%;aspect-ratio:1}
.coverage-center {
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:155px;height:155px;
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  background:#fffdf8;
  border:7px solid rgba(255,255,255,.48);
  box-shadow:0 20px 45px rgba(40,56,45,.24);
  color:#34483b;
}
.coverage-pin { color:#a77a48; font-size:1.2rem; line-height:1; margin-bottom:5px; }
.coverage-center small { text-transform:uppercase; letter-spacing:.13em; font-size:.63rem; font-weight:800; color:#748078; }
.coverage-center strong { font-family:var(--serif); font-size:1.45rem; }
.map-label {
  position:absolute;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,253,248,.92);
  color:#35483c;
  font-size:.76rem;
  font-weight:800;
  box-shadow:0 8px 22px rgba(42,58,48,.16);
}
.label-arlington{right:8%;top:27%}.label-mclean{left:16%;top:18%}.label-vienna{left:8%;bottom:28%}.label-annandale{right:10%;bottom:24%}.label-fairfax{left:31%;bottom:10%}
.coverage-badge {
  position:absolute;
  left:28px;right:28px;bottom:24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:17px 20px;
  border-radius:18px;
  background:rgba(36,56,44,.9);
  color:#fff;
  backdrop-filter:blur(8px);
  box-shadow:0 14px 30px rgba(30,45,35,.2);
}
.coverage-badge strong { font-family:var(--serif); font-size:1.25rem; }
.coverage-badge span { max-width:220px; color:#dce7df; font-size:.76rem; text-align:right; }
@media(max-width:980px){
  .service-area-showcase{grid-template-columns:1fr;gap:46px}
  .coverage-visual{min-height:470px}
}
@media(max-width:620px){
  .coverage-visual{min-height:420px;border-radius:28px}
  .coverage-center{width:130px;height:130px}
  .map-label{font-size:.68rem;padding:7px 10px}
  .coverage-badge{left:16px;right:16px;bottom:16px;display:block;text-align:center}
  .coverage-badge span{display:block;max-width:none;margin-top:4px;text-align:center}
}

/* Version 8 Phase 1: multi-page foundation */
.primary-nav a.active:not(.nav-cta){color:var(--forest);font-weight:800;position:relative}.primary-nav a.active:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--gold);border-radius:2px}
.page-hero{padding:clamp(110px,14vw,170px) 0 clamp(70px,9vw,110px);background:linear-gradient(135deg,var(--forest-dark),var(--forest));color:#fff;position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-100px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025)}.page-hero-inner{position:relative;z-index:1;max-width:780px}.page-hero h1{font-size:clamp(3rem,7vw,5.7rem);color:#fff}.page-hero p:not(.eyebrow){font-size:clamp(1rem,2vw,1.22rem);color:#e3e9e5;max-width:680px}.page-hero.compact{padding-bottom:70px}.foundation-panel{max-width:850px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:clamp(32px,6vw,70px);box-shadow:var(--shadow-sm)}.foundation-panel p:not(.eyebrow){color:var(--muted);max-width:700px}.foundation-panel .button{margin-top:14px}.legal-copy{max-width:760px}.footer-identity{text-align:center}.footer-identity .footer-brand{display:flex;justify-content:center}.footer-identity p{text-align:center;margin-left:auto;margin-right:auto}.site-footer a{color:inherit}.site-footer a:hover{color:var(--gold)}
@media(max-width:1050px){.primary-nav{gap:18px}.primary-nav a{font-size:.78rem}}@media(max-width:860px){.primary-nav a.active:not(.nav-cta)::after{display:none}.page-hero{padding-top:110px}.footer-identity{text-align:left}.footer-identity .footer-brand{justify-content:flex-start}.footer-identity p{text-align:left}}


/* Version 8 Phase 2 preview: streamlined navigation, report scale, consistent page heroes */
@media (min-width:861px){
  .primary-nav{gap:clamp(14px,1.6vw,25px)}
}
.report-preview-shell{
  width:min(100%,560px);
  margin-inline:auto;
  padding:clamp(18px,3vw,34px);
  box-sizing:border-box;
}
.report-card{max-width:470px;margin-inline:auto}

.page-hero-designed{
  min-height:610px;
  display:flex;
  align-items:center;
  padding:clamp(120px,13vw,165px) 0 clamp(78px,9vw,115px);
  background:
    radial-gradient(circle at 78% 25%,rgba(211,185,139,.18),transparent 24%),
    linear-gradient(135deg,#203a2e 0%,#315342 58%,#426551 100%);
}
.page-hero-designed::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.11) 1px,transparent 1px);
  background-size:27px 27px;
  mask-image:linear-gradient(90deg,transparent,black 45%,black);
  pointer-events:none;
}
.page-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(48px,8vw,110px);align-items:center;width:100%}
.page-hero-designed .page-hero-inner{max-width:790px}
.breadcrumbs{display:flex;align-items:center;gap:10px;margin-bottom:clamp(24px,4vw,42px);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#dbe6df}
.breadcrumbs a{color:#fff;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs span[aria-hidden]{color:#d3b98b}
.page-hero-designed h1{max-width:830px;letter-spacing:-.035em;line-height:.96}
.page-hero-designed .page-hero-inner>p:not(.eyebrow){max-width:690px;margin-top:26px;line-height:1.78}
.page-hero-visual{position:relative;min-height:360px;border-radius:38px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.23);box-shadow:0 35px 85px rgba(10,27,19,.3);backdrop-filter:blur(8px);isolation:isolate}
.page-hero-visual::before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-38px;top:-58px;background:radial-gradient(circle at 35% 35%,#e8d6b7,#b99a6a);opacity:.9;z-index:-1}
.page-hero-visual::after{content:"";position:absolute;inset:auto -20% -45% 15%;height:78%;border-radius:50% 50% 0 0;background:rgba(18,48,35,.42);transform:rotate(-8deg);z-index:-1}
.hero-visual-kicker{font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;font-weight:900;color:#f2dfbd;margin-bottom:10px}
.page-hero-visual>strong{font-family:var(--serif);font-size:clamp(1.9rem,3.1vw,3.15rem);line-height:1.04;color:#fff;max-width:390px;font-weight:600}
.hero-visual-stat{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);color:#fff}.hero-visual-stat b{font-family:var(--serif);font-size:1.8rem}.hero-visual-stat span{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#dce8e0;font-weight:800}
.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;z-index:-1}.orbit-a{width:190px;height:190px;right:4%;top:2%}.orbit-b{width:285px;height:285px;right:-12%;top:-12%}.hero-paw{position:absolute;right:24%;top:22%;width:18px;height:18px;border-radius:50%;background:#fff;color:transparent;box-shadow:-16px -12px 0 -3px #fff,0 -20px 0 -4px #fff,16px -12px 0 -3px #fff;transform:rotate(18deg);opacity:.85}
.hero-services .page-hero-visual::before{background:radial-gradient(circle at 35% 35%,#d5e0ce,#809b7c)}
.hero-about .page-hero-visual::before{background:radial-gradient(circle at 35% 35%,#ecd9bf,#bc9062)}
.hero-reports .page-hero-visual::before{background:radial-gradient(circle at 35% 35%,#d9e5df,#729080)}
.hero-faq .page-hero-visual::before{background:radial-gradient(circle at 35% 35%,#eadfc8,#b6a174)}
.hero-area .page-hero-visual::before{background:radial-gradient(circle at 35% 35%,#d5e0ce,#789477)}
.hero-contact .page-hero-visual::before{background:radial-gradient(circle at 35% 35%,#f0ddc1,#be8d57)}
.page-hero-designed.compact{min-height:430px}.legal-visual{min-height:235px}.legal-visual .hero-orbit{right:-10%;top:-30%}
@media(max-width:980px){.page-hero-grid{grid-template-columns:1fr;gap:48px}.page-hero-designed{min-height:auto}.page-hero-visual{min-height:300px;max-width:650px}.page-hero-designed::before{mask-image:none;opacity:.45}}
@media(max-width:620px){.page-hero-designed{padding-top:105px}.page-hero-visual{min-height:270px;padding:30px;border-radius:28px}.page-hero-visual>strong{font-size:2rem}.breadcrumbs{margin-bottom:26px}.report-preview-shell{padding:14px}}
