/* Approved warm TOR A style shared by the three rebuilt pages only. */
body.tor-a-warm {
  --samson-ink: #343431;
  --samson-muted: #62625d;
  --samson-line: #e6e0d6;
  --samson-paper: #faf7f1;
  --samson-tint: #fbefdf;
  background: #fffefa;
  color: var(--samson-ink);
}
.tor-a-warm .container { width: min(1160px, calc(100% - 64px)); }
.tor-a-warm h1, .tor-a-warm h2, .tor-a-warm h3 { color: var(--samson-ink); }
.tor-a-warm h2 { font-size: clamp(26px, 2.3vw, 33px); line-height: 1.28; letter-spacing: -.026em; }
.tor-a-warm .site-header { background: #fffefa; border-bottom-color: #eee8de; }
.tor-a-warm .header-inner { min-height: 92px; grid-template-columns: 175px 1fr 172px; }
.tor-a-warm .header-phone { align-items: flex-end; min-height: 54px; border: 0; padding-inline: 0; }
.tor-a-warm .header-phone strong { font-size: 22px; line-height: 1.45; }
.tor-a-warm .header-phone span { color: #6d6b65; }
.tor-a-warm .site-nav a { font-size: 12px; }
.tor-a-warm .hero { position: relative; background: #faf7f1; border-bottom: 1px solid #eee6d9; }
.tor-a-warm .hero-inner {
  width: min(1160px, calc(100% - 64px));
  padding-block: 55px 48px;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .9fr);
  align-items: center;
  gap: 66px;
}
.tor-a-warm .hero-copy { padding: 0; }
.tor-a-warm .eyebrow { margin-bottom: 17px; color: #87694c; font-size: 10px; letter-spacing: .13em; }
.tor-a-warm .hero-copy h1 {
  max-width: 690px;
  margin-bottom: 24px;
  font-size: clamp(36px, 3.2vw, 45px);
  line-height: 1.16;
  letter-spacing: -.038em;
}
.tor-a-warm .hero-lead { max-width: 650px; margin-bottom: 27px; color: #61615b; font-size: 16px; line-height: 1.8; }
.tor-a-warm .hero-actions { gap: 13px 22px; align-items: center; }
.tor-a-warm .button { border-radius: 5px; }
.tor-a-warm .hero-actions .button-secondary {
  min-height: 44px;
  padding-inline: 2px;
  border-color: transparent;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: #d6b797;
}
.tor-a-warm .hero-actions .button-secondary:hover { color: var(--samson-orange-dark); text-decoration-color: currentColor; }
.tor-a-warm .hero-aside { display: flex; justify-content: center; min-width: 0; align-self: center; }
.tor-a-warm .hero-media {
  align-self: center;
  min-height: 0;
  height: auto;
  max-width: 408px;
  width: 100%;
  padding: 10px 10px 0;
  overflow: hidden;
  border: 1px solid #eae2d7;
  border-radius: 9px;
  background: #fffefa;
  box-shadow: 0 15px 35px rgba(78, 63, 43, .065);
}
.tor-a-warm .hero-media picture { height: auto; }
.tor-a-warm .hero-media img {
  position: static;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
}
.tor-a-warm .hero-media figcaption {
  position: static;
  max-width: none;
  padding: 12px 4px 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #6b655c;
  font-size: 12px;
  font-weight: 400;
}
.tor-a-warm .feature-strip { padding-block: 22px; background: #fffefa; border-bottom-color: #eee7dc; }
.tor-a-warm .feature-grid { gap: 16px; }
.tor-a-warm .feature-grid li {
  gap: 9px;
  min-height: 34px;
  padding: 0;
  border: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
}
.tor-a-warm .feature-marker { color: #b96115; font-size: 17px; }
.tor-a-warm .content-section { padding-block: 66px; }
.tor-a-warm .services-section { background: white; }
.tor-a-warm .services-section > .container {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr);
  gap: 22px 64px;
}
.tor-a-warm .services-section h2 { margin: 0; max-width: 390px; }
.tor-a-warm .services-section .section-intro { align-self: start; color: #62625d; }
.tor-a-warm .services-editorial {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 15px;
}
.tor-a-warm .service-row {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 22px;
  padding: 28px 0;
  border: 0;
  border-top: 1px solid #e7e1d8;
  border-radius: 0;
  background: transparent;
}
.tor-a-warm .service-row:last-child { padding-bottom: 0; }
.tor-a-warm .service-row .card-index {
  display: block;
  width: auto;
  height: auto;
  margin: 1px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #b96115;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.04em;
}
.tor-a-warm .service-copy { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.35fr); gap: 42px; }
.tor-a-warm .service-copy h3 { margin: 3px 0 0; font-size: 21px; line-height: 1.4; }
.tor-a-warm .service-copy p { margin: 0; color: var(--samson-muted); font-size: 15px; line-height: 1.8; }
.tor-a-warm .fleet-section { background: #f7f3eb; }
.tor-a-warm .fleet-layout { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 66px; }
.tor-a-warm .fleet-copy h2 { max-width: 650px; }
.tor-a-warm .fleet-copy p { line-height: 1.8; }
.tor-a-warm .fleet-media { width: 100%; max-width: 340px; border-radius: 6px; background: transparent; }
.tor-a-warm .fleet-media img { aspect-ratio: 3 / 2; border-radius: 6px; }
.tor-a-warm .fleet-media figcaption { padding: 12px 0 0; background: transparent; color: #736d63; font-size: 12px; }
.tor-a-warm .process-section { background: white; }
.tor-a-warm .process-section > .container { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 60px; }
.tor-a-warm .process-section h2 { max-width: 360px; }
.tor-a-warm .steps-grid { display: block; margin: 3px 0 0; }
.tor-a-warm .step-card { position: relative; padding: 0 0 26px 28px; border: 0; border-left: 1px solid #dfd3c1; }
.tor-a-warm .step-card::before { position: absolute; left: -4px; top: 7px; width: 7px; height: 7px; content: ""; border-radius: 50%; background: var(--samson-orange); }
.tor-a-warm .step-card:last-child { padding-bottom: 0; }
.tor-a-warm .step-card h3 { margin-bottom: 9px; font-size: 19px; }
.tor-a-warm .step-card p { font-size: 15px; line-height: 1.8; }
.tor-a-warm .quote-section { background: #faf7f1; border-block: 1px solid #eee6da; }
.tor-a-warm .quote-layout { grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); gap: 80px; }
.tor-a-warm .quote-contact { position: sticky; top: 26px; padding: 30px; border: 0; border-top: 3px solid var(--samson-orange); border-radius: 0 0 8px 8px; background: white; box-shadow: 0 10px 28px rgba(76, 58, 37, .045); }
.tor-a-warm .quote-contact .phone-link { font-size: 32px; }
.tor-a-warm .quote-contact p { margin-bottom: 5px; }
.tor-a-warm .area-section { background: #fffefa; }
.tor-a-warm .area-section h2 { max-width: 850px; }
.tor-a-warm .area-section p { max-width: 850px; line-height: 1.8; }
.tor-a-warm .area-links { margin-top: 32px; border-top: 1px solid #e6ddd0; }
.tor-a-warm .area-links a { min-height: 55px; color: #54544f; font-size: 14px; font-weight: 400; }
.tor-a-warm .faq-section { border-top: 1px solid #eee7dc; background: white; }
.tor-a-warm .faq-section > .container { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 64px; }
.tor-a-warm .faq-section h2 { max-width: 330px; }
.tor-a-warm .faq-list { margin-top: 0; }
.tor-a-warm .faq-item h3 { font-size: 16px; font-weight: 600; }
.tor-a-warm .faq-item summary { padding-block: 21px; }
.tor-a-warm .faq-answer { font-size: 15px; line-height: 1.8; }
.tor-a-warm .final-cta { padding-block: 52px; background: #f8ebdb; border-block-color: #ebd8bd; }
.tor-a-warm .cta-layout { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 72px; }
.tor-a-warm .cta-copy h2 { max-width: 670px; font-size: 32px; }
.tor-a-warm .cta-actions .phone-link { font-size: 34px; letter-spacing: -.025em; }
.tor-a-warm .site-footer { background: #fffefa; }
.tor-a-warm .footer-grid { grid-template-columns: 1fr 1.15fr .85fr; gap: 55px; }
.tor-a-warm .footer-contact address { line-height: 1.85; }
.tor-a-warm .footer-contact .phone-link { font-size: 25px; }
.tor-a-warm .footer-bottom { color: #7b776f; }

@media (max-width: 1100px) {
  .tor-a-warm .hero-inner { gap: 38px; grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); }
  .tor-a-warm .hero-copy h1 { font-size: 40px; }
  .tor-a-warm .hero-actions { gap: 12px; }
  .tor-a-warm .hero-actions .button { padding-inline: 16px; }
  .tor-a-warm .hero-actions .button-secondary { padding-inline: 0; }
  .tor-a-warm .services-section > .container { gap: 22px 40px; }
  .tor-a-warm .service-copy { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px; }
  .tor-a-warm .fleet-layout { gap: 40px; }
  .tor-a-warm .quote-layout { gap: 40px; }
  .tor-a-warm .process-section > .container, .tor-a-warm .faq-section > .container { gap: 40px; }
}
@media (max-width: 850px) {
  .tor-a-warm .container { width: calc(100% - 40px); }
  .tor-a-warm .header-inner { min-height: 76px; grid-template-columns: minmax(0, 1fr) auto 42px; }
  .tor-a-warm .site-header:not([data-menu-ready]) .header-inner { grid-template-columns: minmax(0, 1fr) auto; }
  .tor-a-warm .header-phone { min-height: 47px; }
  .tor-a-warm .header-phone strong { font-size: 18px; }
  .tor-a-warm .hero-inner { width: calc(100% - 40px); max-width: 680px; padding-block: 36px 34px; grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .tor-a-warm .hero-copy { padding: 0; }
  .tor-a-warm .hero-copy h1 { max-width: 650px; font-size: 39px; }
  .tor-a-warm .hero-media { justify-self: center; max-width: 360px; }
  .tor-a-warm .hero-media img { aspect-ratio: 3 / 2; }
  .tor-a-warm .feature-grid { column-gap: 28px; row-gap: 16px; }
  .tor-a-warm .feature-grid li { padding: 0; border: 0; }
  .tor-a-warm .content-section { padding-block: 46px; }
  .tor-a-warm .services-section > .container { display: block; }
  .tor-a-warm .services-section h2 { max-width: 650px; margin-bottom: 22px; }
  .tor-a-warm .services-editorial { margin-top: 28px; }
  .tor-a-warm .service-row { grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding-block: 25px; }
  .tor-a-warm .service-copy { display: block; }
  .tor-a-warm .service-copy h3 { margin: 0 0 12px; }
  .tor-a-warm .fleet-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .tor-a-warm .fleet-copy, .tor-a-warm .fleet-media { grid-row: auto; grid-column: auto; }
  .tor-a-warm .fleet-media { order: 0; max-width: 340px; }
  .tor-a-warm .process-section > .container, .tor-a-warm .faq-section > .container { display: block; }
  .tor-a-warm .process-section h2, .tor-a-warm .faq-section h2 { max-width: 650px; margin-bottom: 29px; }
  .tor-a-warm .quote-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .tor-a-warm .quote-contact { position: static; max-width: 440px; }
  .tor-a-warm .cta-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .tor-a-warm .cta-actions { flex-direction: row; align-items: center; gap: 20px; }
  .tor-a-warm .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
}
@media (max-width: 600px) {
  .tor-a-warm .header-phone strong { font-size: 16px; }
  .tor-a-warm .header-phone span { font-size: 8px; }
  .tor-a-warm .hero-inner { padding-block: 29px 27px; gap: 22px; }
  .tor-a-warm .hero-copy h1 { margin-bottom: 20px; font-size: 32px; line-height: 1.17; }
  .tor-a-warm .eyebrow { margin-bottom: 14px; font-size: 9px; letter-spacing: .11em; }
  .tor-a-warm .hero-lead { margin-bottom: 23px; font-size: 15px; line-height: 1.75; }
  .tor-a-warm .hero-actions { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
  .tor-a-warm .hero-actions .button { width: 100%; }
  .tor-a-warm .hero-actions .button-secondary { min-height: 40px; }
  .tor-a-warm .hero-media { max-width: 330px; padding: 8px 8px 0; }
  .tor-a-warm .hero-media figcaption { padding: 10px 3px 11px; font-size: 11px; }
  .tor-a-warm .feature-strip { padding-block: 19px; }
  .tor-a-warm .feature-grid { gap: 14px 22px; }
  .tor-a-warm .feature-grid li { gap: 7px; min-height: 42px; font-size: 12px; line-height: 1.5; }
  .tor-a-warm .feature-marker { font-size: 16px; }
  .tor-a-warm .content-section { padding-block: 37px; }
  .tor-a-warm h2 { font-size: 27px; line-height: 1.3; }
  .tor-a-warm .services-section h2 { margin-bottom: 20px; }
  .tor-a-warm .services-editorial { margin-top: 26px; }
  .tor-a-warm .service-row { grid-template-columns: 33px minmax(0, 1fr); gap: 14px; padding-block: 25px; }
  .tor-a-warm .service-row .card-index { font-size: 25px; }
  .tor-a-warm .service-copy h3 { font-size: 20px; }
  .tor-a-warm .service-copy p { font-size: 15px; line-height: 1.8; }
  .tor-a-warm .fleet-media { max-width: 300px; }
  .tor-a-warm .fleet-copy p { font-size: 15px; }
  .tor-a-warm .step-card { padding-left: 23px; padding-bottom: 24px; }
  .tor-a-warm .step-card h3 { font-size: 18px; }
  .tor-a-warm .quote-contact { padding: 25px; }
  .tor-a-warm .quote-contact .phone-link { font-size: 31px; }
  .tor-a-warm .area-links { margin-top: 25px; column-gap: 25px; }
  .tor-a-warm .area-links a { min-height: 51px; font-size: 12px; }
  .tor-a-warm .faq-item summary { padding-block: 20px; }
  .tor-a-warm .faq-item h3 { font-size: 16px; }
  .tor-a-warm .final-cta { padding-block: 37px; }
  .tor-a-warm .cta-copy h2 { font-size: 28px; }
  .tor-a-warm .cta-actions { flex-direction: column; align-items: stretch; gap: 17px; }
  .tor-a-warm .cta-actions .phone-link { font-size: 32px; }
  .tor-a-warm .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .tor-a-warm .footer-contact .phone-link { font-size: 25px; }
}
@media (max-width: 359px) {
  .tor-a-warm .container, .tor-a-warm .hero-inner { width: calc(100% - 32px); }
  .tor-a-warm .hero-copy h1 { font-size: 29px; }
  .tor-a-warm .header-phone strong { font-size: 15px; }
  .tor-a-warm .header-phone span { font-size: 7px; }
  .tor-a-warm .service-row { gap: 11px; grid-template-columns: 30px minmax(0, 1fr); }
}
@media print {
  .tor-a-warm .hero-inner { display: block; width: 100%; padding: 20px 0; }
  .tor-a-warm .hero-media { max-width: 300px; }
  .tor-a-warm .services-section > .container, .tor-a-warm .process-section > .container, .tor-a-warm .faq-section > .container { display: block; }
  .tor-a-warm .service-row { break-inside: avoid; }
  .tor-a-warm .quote-contact { position: static; }
}

/* Small decorative line icons; approved homepage composition is unchanged. */
.tor-a-warm .step-heading {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 9px;
}
.tor-a-warm .step-heading h3 { margin: 0; }
.tor-a-warm .step-icon {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 3px;
  color: var(--samson-orange-dark);
}

/* Unique inner-page sections use the same quiet warm surfaces. */
.tor-a-warm:not(.page-home) .breadcrumbs {
  background: #fffefa;
  border-bottom-color: #eee8de;
}
.tor-a-warm:not(.page-home) .story-section {
  background: #fffefa;
  border-block-color: #eee7dc;
}

/* Current B2C editorial expansion: shared, native disclosure navigation. */
.tor-a-warm .header-inner { grid-template-columns: 150px minmax(0, 1fr) 172px; gap: 20px; }
.tor-a-warm .site-nav { gap: 5px 17px; }
.nav-disclosure { position: relative; }
.nav-disclosure > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding-block: 10px; color: var(--samson-ink); font-size: 12px; font-weight: 700; cursor: pointer; list-style: none; }
.nav-disclosure > summary::-webkit-details-marker { display: none; }
.nav-disclosure > summary::after { width: 6px; height: 6px; margin-top: -3px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); content: ''; }
.nav-disclosure[open] > summary::after { transform: rotate(225deg); margin-top: 3px; }
.nav-panel { position: absolute; z-index: 45; top: calc(100% + 7px); left: -20px; width: 278px; margin: 0; padding: 10px; border: 1px solid var(--samson-line); border-radius: 7px; background: #fffefa; list-style: none; box-shadow: 0 12px 28px #46362114; }
.nav-panel li { margin: 0; }
.tor-a-warm .nav-panel a { display: block; padding: 10px 12px; border-radius: 4px; white-space: normal; font-size: 13px; }
.tor-a-warm .nav-panel a:hover { background: #fbefdf; }
.tor-a-warm .footer-grid { grid-template-columns: .85fr 1.2fr .9fr 1fr; gap: 32px; }
.tor-a-warm .service-description p + p { margin-top: 14px; }
.tor-a-warm .service-description ul { margin-top: 14px; color: var(--samson-muted); }
.tor-a-warm.page-home .hero-inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 46px; }
.tor-a-warm.page-home .hero-media { max-width: 500px; }
.tor-a-warm.page-home .area-section { background: #f7f3eb; border-block: 1px solid #eae1d4; }
.tor-a-warm.page-home .area-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 40px; }
.tor-a-warm.page-home .area-links a { min-height: 66px; font-size: 17px; font-weight: 600; }
.tor-a-warm .reasons-section { background: #fffefa; }
.tor-a-warm .reasons-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; margin-top: 32px; }
.reason-item { padding-top: 22px; border-top: 2px solid #d97419; }
.reason-item h3 { font-size: 19px; }
.reason-item p, .preparation-section p, .preparation-item li { color: var(--samson-muted); font-size: 15px; }
.preparation-section { background: white; }
.preparation-intro { max-width: 850px; }
.preparation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; margin-top: 30px; }
.preparation-item { padding-top: 22px; border-top: 1px solid var(--samson-line); }
.preparation-item h3 { font-size: 19px; }
.section-more { margin-top: 23px; font-size: 14px; font-weight: 700; }
@media (max-width: 1050px) and (min-width: 851px) {
  .tor-a-warm .header-inner { grid-template-columns: 130px minmax(0, 1fr) 162px; gap: 15px; }
  .tor-a-warm .site-nav { gap: 1px 14px; }
  .tor-a-warm .footer-grid { grid-template-columns: 1fr 1.3fr 1fr; }
  .footer-cities { grid-column: 1 / -1; }
  .footer-cities ul { columns: 3; }
}
@media (max-width: 850px) {
  .tor-a-warm .header-inner { grid-template-columns: minmax(0, 1fr) auto 42px; gap: 10px; }
  .tor-a-warm .site-nav { align-items: start; justify-content: start; gap: 0 20px; width: 100%; }
  .nav-disclosure { width: 100%; }
  .nav-disclosure > summary { padding: 12px 5px; border-top: 1px solid #efede8; font-size: 13px; }
  .nav-panel { position: static; width: 100%; border: 0; border-left: 2px solid #d97419; border-radius: 0; box-shadow: none; padding: 0 0 6px 6px; }
  .tor-a-warm .nav-panel a { padding: 10px 6px; border-top: 0; font-size: 13px; }
  .tor-a-warm.page-home .hero-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .tor-a-warm.page-home .hero-media { max-width: 360px; }
  .tor-a-warm .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .tor-a-warm .reasons-grid, .preparation-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
}
@media (max-width: 600px) {
  .tor-a-warm .header-inner { column-gap: 7px; }
  .tor-a-warm.page-home .hero-inner { gap: 22px; }
  .tor-a-warm.page-home .hero-media { max-width: 330px; }
  .tor-a-warm.page-home .area-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .tor-a-warm.page-home .area-links a { min-height: 58px; font-size: 14px; }
  .tor-a-warm .footer-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Full-service B2C composition: authentic photography and open editorial blocks. */
.tor-a-warm.page-home .hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 38px; }
.tor-a-warm.page-home .hero-media { max-width: 580px; padding: 0; background: white; border-radius: 7px; }
.tor-a-warm.page-home .hero-media img { aspect-ratio: 3 / 2; border-radius: 6px 6px 0 0; }
.tor-a-warm.page-home .hero-media figcaption { padding: 13px 16px; }
.tor-a-warm .fleet-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 52px; }
.tor-a-warm .fleet-media { max-width: 560px; }
.tor-a-warm .fleet-media img { aspect-ratio: 3 / 2; }
.brand-section { background: #f5f1e9; border-block: 1px solid #e9dfd1; }
.brand-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; }
.brand-layout h2 { max-width: 420px; }
.brand-layout p { color: var(--samson-muted); }
.about-photo-band { padding-block: 10px 45px; }
.about-photo-band figure { max-width: 960px; margin-inline: auto; }
.about-photo-band img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 7px; }
.about-photo-band figcaption { padding-top: 12px; color: var(--samson-muted); font-size: 13px; }
@media (max-width: 850px) {
 .tor-a-warm.page-home .hero-inner, .tor-a-warm .fleet-layout, .brand-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .tor-a-warm.page-home .hero-media { max-width: 620px; }
 .tor-a-warm .fleet-media { max-width: 620px; }
 .brand-layout h2 { max-width: 650px; margin-bottom: 0; }
}
@media (max-width: 600px) {
 .tor-a-warm.page-home .hero-media, .tor-a-warm .fleet-media { max-width: 100%; }
 .tor-a-warm.page-home .hero-media figcaption { padding: 10px 12px; }
 .brand-layout { gap: 23px; }
 .about-photo-band { padding-bottom: 30px; }
}

/* Direct-entry landings: genuine photography, experience and phone at the top. */
.landing-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 17px; margin: 0 0 18px; padding-left: 12px; border-left: 3px solid var(--samson-orange); font-size: 13px; line-height: 1.5; color: var(--samson-muted); }
.landing-trust strong { color: var(--samson-ink); }
.landing-title-main { display: block; }
.landing-title-detail { display: block; margin-top: 8px; font-size: .53em; font-weight: 400; line-height: 1.4; letter-spacing: -.012em; }
.tor-a-warm .landing-opening .hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 38px; padding-block: 38px; }
.tor-a-warm .landing-opening .hero-media { max-width: 580px; padding: 0; border-radius: 7px; background: white; }
.tor-a-warm .landing-opening .hero-media img { aspect-ratio: 3 / 2; border-radius: 6px 6px 0 0; }
.tor-a-warm .landing-opening .hero-media figcaption { padding: 12px 15px; }
.tor-a-warm .landing-opening .hero-copy h1 { margin-bottom: 18px; }
.tor-a-warm .landing-opening .hero-lead { margin-bottom: 22px; line-height: 1.7; }
.landing-source-intro { padding-block: 26px 12px; }
.landing-source-intro > p { max-width: 960px; color: var(--samson-muted); line-height: 1.85; }
.contact-proof-photo { margin: 0 0 22px; }
.contact-proof-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 5px; }
.contact-proof-photo figcaption { margin-top: 8px; color: var(--samson-muted); font-size: 12px; }
@media (max-width: 850px) {
 .tor-a-warm .landing-opening .hero-inner { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-block: 25px; }
 .tor-a-warm .landing-opening .hero-media { max-width: 620px; }
 .landing-trust { margin-bottom: 14px; font-size: 12px; }
}
@media (max-width: 600px) {
 .tor-a-warm .landing-opening .hero-inner { gap: 16px; padding-block: 20px; }
 .tor-a-warm .landing-opening .eyebrow { margin-bottom: 10px; }
 .tor-a-warm .landing-opening .hero-copy h1 { margin-bottom: 12px; font-size: 31px; line-height: 1.17; }
 .landing-title-detail { margin-top: 5px; font-size: 17px; line-height: 1.4; }
 .landing-trust { gap: 2px 12px; padding-left: 9px; margin-bottom: 12px; font-size: 11px; }
 .tor-a-warm .landing-opening .hero-lead { margin-bottom: 15px; font-size: 15px; line-height: 1.6; }
 .tor-a-warm .landing-opening .hero-media { max-width: 100%; }
 .tor-a-warm .landing-opening .hero-media figcaption { padding: 8px 11px; font-size: 11px; }
 .tor-a-warm .landing-opening .hero-actions { gap: 4px; }
 .tor-a-warm .landing-opening .hero-actions .button-secondary { min-height: 30px; padding-block: 3px; font-size: 12px; }
 .landing-source-intro { padding-block: 22px 6px; }
 .landing-source-intro > p { font-size: 15px; }
}

/* On phones the genuine vehicle appears immediately below identity and trust. */
@media (max-width: 600px) {
 .tor-a-warm .landing-opening .hero-inner { row-gap: 10px; }
 .tor-a-warm .landing-opening .hero-copy { display: contents; }
 .tor-a-warm .landing-opening .hero-copy > .eyebrow { order: 0; margin: 0; }
 .tor-a-warm .landing-opening .hero-copy > h1 { order: 1; margin: 0; }
 .tor-a-warm .landing-opening .hero-copy > .landing-trust { order: 2; margin: 0; }
 .tor-a-warm .landing-opening .hero-aside { order: 3; }
 .tor-a-warm .landing-opening .hero-copy > .hero-lead { order: 4; margin: 0; }
 .tor-a-warm .landing-opening .hero-copy > .hero-actions { order: 5; }
}


/* Visual storytelling — service scenes, clear openings and varied page rhythm. */
/* Private visual candidate: large service scenes and human-scale storytelling.
   Every image is local; illustrations are visibly identified as illustrations. */
.tor-a-warm .visual-opening {
  --visual-orange: #d97419;
  position: relative;
  overflow: clip;
  background: #f2eee5;
  border-bottom: 1px solid #e8e2d7;
}
.visual-opening-frame { position: relative; min-height: 645px; }
.visual-opening-photograph { position: absolute; inset: 0; overflow: hidden; background: #dcdcd2; }
.visual-opening-photograph::after {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(31, 40, 35, .09), transparent 60%);
  pointer-events: none; content: "";
}
.visual-opening-photograph picture, .visual-opening-photograph img { width: 100%; height: 100%; }
.visual-opening-photograph img { object-fit: cover; object-position: 65% top; }
.visual-illustration-label {
  position: absolute; z-index: 1; right: 20px; bottom: 16px;
  padding: 5px 9px; border: 1px solid #ffffff91; border-radius: 2px;
  background: #fffffff0; color: #535b55; font-size: 10px; font-weight: 500;
  line-height: 1.4; letter-spacing: .025em;
}
.visual-opening-position { position: relative; min-height: 645px; padding-block: 48px; }
.visual-opening-panel {
  position: relative; width: min(560px, 49%); padding: 32px 34px 34px;
  border-top: 3px solid var(--visual-orange); background: #fffefa;
  box-shadow: 0 12px 50px #1d2b2414;
}
.tor-a-warm .visual-opening-panel .eyebrow { margin-bottom: 18px; color: #9b5c27; font-size: 10px; letter-spacing: .12em; }
.tor-a-warm .visual-opening-panel h1 {
  margin: 0 0 24px; color: #2d3032; font-size: clamp(35px, 3.05vw, 45px);
  line-height: 1.11; letter-spacing: -.047em; text-wrap: balance;
}
.visual-opening-panel .landing-title-main, .visual-opening-panel .landing-title-detail { display: block; }
.tor-a-warm .visual-opening-panel .landing-title-detail { margin-top: 9px; font-size: .62em; line-height: 1.24; letter-spacing: -.025em; }
.visual-opening-proof { display: flex; align-items: center; gap: 24px; margin-bottom: 24px; }
.visual-experience { display: flex; flex-direction: column; padding-right: 22px; border-right: 1px solid #dddcd3; }
.visual-experience strong { color: #b75f18; font-size: 24px; font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.visual-experience > span { margin-top: 5px; color: #666c65; font-size: 11px; line-height: 1.35; }
.visual-opening-local { display: flex; align-items: center; gap: 10px; color: #676b65; font-size: 11px; line-height: 1.5; }
.visual-opening-local svg { flex: 0 0 auto; width: 23px; height: 23px; color: #a45a20; }
.visual-opening-local strong { color: #34383a; font-weight: 600; }
.visual-opening-pitch { max-width: 490px; margin: 0 0 23px; color: #5b5e61; font-size: 15px; line-height: 1.75; }
.visual-opening-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.visual-opening-actions .button { min-width: 0; max-width: 100%; }
.visual-opening-actions .button-secondary { min-height: 44px; padding: 7px 0; border: 0; background: transparent; color: #454d43; font-size: 12px; text-align: left; }
.visual-opening-note {
  position: absolute; right: 0; bottom: 42px; display: flex; align-items: center;
  gap: 16px; max-width: 335px; padding: 19px 24px;
  border-left: 3px solid #e78025; background: #fffffff5;
}
.visual-opening-note > span { color: #b85f1a; font-size: 36px; line-height: 1; }
.visual-opening-note p { margin: 0; color: #667064; font-size: 11px; line-height: 1.65; }
.visual-opening-note strong { color: #2c3032; font-size: 13px; }
.visual-benefits { padding-block: 20px; border-bottom: 1px solid #e7e3da; background: #fffefa; }
.visual-benefits ul { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; margin-block: 0; padding: 0; list-style: none; }
.visual-benefits li { display: flex; align-items: center; gap: 10px; margin: 0; color: #495246; font-size: 12px; font-weight: 600; line-height: 1.4; }
.visual-benefits li > span { color: #bc6b27; font-size: 20px; font-weight: 400; }
.tor-a-warm .visual-source-intro { max-width: 1000px; padding-block: 30px 12px; }
.visual-source-intro p { color: #5c645a; font-size: 15px; line-height: 1.9; }
.visual-opening--reverse .visual-opening-panel { margin-left: auto; }
.visual-opening--reverse .visual-opening-photograph img { object-position: 25% 25%; }
.visual-opening--reverse .visual-illustration-label { left: 20px; right: auto; }
.visual-opening--panorama .visual-opening-frame { min-height: 610px; }
.visual-opening--panorama .visual-opening-position { min-height: 610px; padding-block: 42px; }
.visual-opening--panorama .visual-opening-panel { width: min(550px, 49%); margin-block: 12px 0; }
.visual-opening--overlap .visual-opening-photograph { left: 25%; }
.visual-opening--overlap .visual-opening-photograph img { object-position: 67% center; }
.visual-opening--overlap .visual-opening-position { padding-block: 48px 50px; }
.visual-opening--overlap .visual-opening-panel { margin-top: 22px; }
.visual-opening--company .visual-opening-panel { width: min(575px, 51%); }
.visual-opening--company .visual-opening-photograph img { object-position: 69% top; }
.visual-people { background: #fffefa; }
.visual-people-layout { display: grid; grid-template-columns: 1.06fr 1fr; align-items: start; gap: 90px; }
.tor-a-warm .visual-people .eyebrow, .tor-a-warm .visual-services .eyebrow, .tor-a-warm .visual-group .eyebrow { color: #a25c24; }
.tor-a-warm .visual-people h2 { max-width: 500px; margin-bottom: 24px; font-size: clamp(29px,2.65vw,37px); line-height: 1.2; letter-spacing: -.04em; }
.visual-people-intro > p { color: #656b62; font-size: 15px; line-height: 1.85; }
.visual-plan { display: block; width: 100%; height: auto; margin-block: 24px 20px; }
.visual-text-link { display: inline-flex; align-items: center; gap: 25px; padding-block: 7px; color: #383d40; font-size: 13px; font-weight: 700; text-decoration: none; border-bottom: 1px solid #c3c7bb; }
.visual-text-link:hover { color: #a3561b; border-color: #bd6a27; }
.visual-text-link span { color: #b96527; font-size: 20px; font-weight: 400; }
.visual-people-points { margin: 10px 0 0; padding: 0; list-style: none; }
.visual-people-points li { display: grid; grid-template-columns: 55px 1fr; gap: 22px; margin: 0; padding-block: 31px; border-top: 1px solid #dedfd5; }
.visual-people-points li:first-child { border-top: 2px solid #d87d28; }
.visual-point-number { color: #bfc3b4; font-size: 39px; font-weight: 400; line-height: 1.1; letter-spacing: -.06em; }
.tor-a-warm .visual-people-points h3 { margin-bottom: 10px; font-size: 20px; line-height: 1.35; letter-spacing: -.025em; }
.visual-people-points p { color: #656d61; font-size: 14px; line-height: 1.8; }
.visual-services { background: #f5f2ea; }
.visual-services-heading { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 32px; }
.visual-services-heading h2 { max-width: 670px; margin-bottom: 16px; }
.visual-services-heading p { max-width: 740px; margin: 0; color: #606a5c; font-size: 14px; line-height: 1.8; }
.visual-services-heading .visual-text-link { flex: 0 0 auto; }
.visual-service-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 38px; }
.tor-a-warm .visual-service-choice {
  display: block; min-width: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; color: #303638; box-shadow: none; text-decoration: none;
}
.tor-a-warm .visual-service-choice:hover { transform: none; background: transparent; box-shadow: none; }
.tor-a-warm .visual-service-choice--home { display: grid; grid-template-columns: 1.13fr 1fr; gap: 40px; grid-column: span 2; }
.visual-service-choice-image { position: relative; overflow: hidden; background: #e9e9dd; }
.visual-service-choice-image img { width: 100%; height: 100%; aspect-ratio: 16/9; object-fit: cover; }
.visual-service-choice--home .visual-service-choice-image { align-self: stretch; min-height: 450px; }
.visual-service-choice--home .visual-service-choice-image picture, .visual-service-choice--home .visual-service-choice-image img { height: 100%; }
.visual-service-choice--home .visual-service-choice-image img { aspect-ratio: auto; object-position: 61% center; }
.visual-service-choice--office .visual-service-choice-image img { object-position: 55% center; }
.visual-service-choice-copy { padding: 20px 0 10px; }
.visual-service-choice--home .visual-service-choice-copy { align-self: center; padding-block: 12px; }
.tor-a-warm .visual-service-choice .eyebrow { margin-bottom: 8px; font-size: 10px; }
.tor-a-warm .visual-service-choice h3 { margin-bottom: 8px; font-size: 23px; line-height: 1.25; }
.visual-service-choice h3 a { display: flex; align-items: start; justify-content: space-between; gap: 12px; color: #303638; text-decoration: none; }
.visual-service-choice h3 a:hover { color: #a3561b; }
.visual-service-choice h3 a span { color: #b55f21; font-weight: 400; }
.visual-service-choice p { color: #656c61; font-size: 13px; line-height: 1.6; }
.tor-a-warm .visual-service-choice .situation-examples { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 22px; margin: 19px 0; padding: 0; list-style: none; }
.tor-a-warm .visual-service-choice .situation-examples li { position: relative; margin: 0; padding-left: 13px; color: #646e5f; font-size: 12px; line-height: 1.6; }
.tor-a-warm .visual-service-choice .situation-examples li::before { position: absolute; left: 0; top: .6em; width: 4px; height: 4px; background: #bd722c; content: ""; }
.tor-a-warm .visual-service-choice .situation-link-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 0 0; padding-top: 15px; border-top: 1px solid #d3d5c9; color: #363c3e; font-size: 12px; font-weight: 700; }
.tor-a-warm .visual-service-choice .situation-link-label > span { flex: 0 0 auto; color: #b76725; font-size: 22px; font-weight: 400; }
.visual-group { border-block: 1px solid #e1e1d7; background: #f0f0e8; }
.visual-group-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.visual-group-layout h2 { max-width: 530px; }
.visual-group-layout p { max-width: 540px; color: #646c60; font-size: 14px; line-height: 1.85; }
.visual-group-links { border-top: 1px solid #ced1c5; }
.visual-group-links > a { display: grid; grid-template-columns: 48px 1fr 20px; align-items: center; gap: 18px; padding-block: 25px; border-bottom: 1px solid #ced1c5; color: #343b3e; text-decoration: none; }
.visual-group-symbol { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #bac4b1; color: #6d8063; font-size: 24px; font-weight: 400; }
.visual-group-links a:last-child .visual-group-symbol { color: #aa6525; border-color: #c5b9a6; }
.visual-group-links strong { display: block; font-size: 17px; }
.visual-group-links small { display: block; margin-top: 5px; color: #747a6b; font-size: 12px; }
.visual-group-links > a > span:last-child { color: #a2602d; font-size: 22px; }
@media (min-width: 1650px) {
  .visual-opening-frame, .visual-opening-position { min-height: 720px; }
  .visual-opening-position { padding-block: 66px; }
  .visual-opening-photograph img { object-position: center top; }
}
@media (max-width: 1100px) {
  .visual-opening-panel { width: min(550px, 56%); padding: 28px; }
  .visual-opening--company .visual-opening-panel { width: 56%; }
  .visual-opening--panorama .visual-opening-panel { width: min(550px, 55%); }
  .tor-a-warm .visual-opening-panel h1 { font-size: clamp(32px, 3.7vw, 42px); }
  .visual-opening-proof { gap: 15px; }
  .visual-experience { padding-right: 14px; }
  .visual-opening-pitch { font-size: 14px; }
  .visual-opening-note { right: 0; bottom: 30px; max-width: 285px; padding: 16px; }
  .visual-people-layout, .visual-group-layout { gap: 45px; }
  .visual-people-points li { gap: 15px; }
  .visual-service-choices { gap: 35px 26px; }
  .tor-a-warm .visual-service-choice--home { gap: 28px; }
}
@media (max-width: 850px) {
  .visual-opening-frame, .visual-opening-position,
  .visual-opening--panorama .visual-opening-frame,
  .visual-opening--panorama .visual-opening-position { min-height: 0; }
  .visual-opening-position { padding-block: 30px 0; }
  .visual-opening-panel, .visual-opening--company .visual-opening-panel,
  .visual-opening--panorama .visual-opening-panel { width: 66%; }
  .visual-opening-photograph { inset: 0; }
  .visual-opening--overlap .visual-opening-photograph { left: 10%; }
  .visual-opening--overlap .visual-opening-position { padding-block: 25px 32px; }
  .visual-opening--overlap .visual-opening-panel { margin-top: 0; }
  .visual-opening--panorama .visual-opening-position { padding-block: 32px; }
  .visual-opening-note { display: none; }
  .visual-opening-panel { margin-bottom: 30px; }
  .visual-people-layout { gap: 35px; }
  .visual-people-points li { grid-template-columns: 38px 1fr; padding-block: 24px; }
  .visual-point-number { font-size: 31px; }
  .tor-a-warm .visual-people-points h3 { font-size: 18px; }
  .visual-services-heading { align-items: start; flex-direction: column; gap: 10px; }
  .visual-group-layout { gap: 40px; }
}
@media (max-width: 700px) {
  .tor-a-warm .visual-opening { background: #f8f5ed; }
  .visual-opening-frame { display: flex; flex-direction: column; }
  .visual-opening-position { order: 1; width: 100% !important; padding: 0 !important; }
  .visual-opening-panel, .visual-opening--company .visual-opening-panel,
  .visual-opening--panorama .visual-opening-panel {
    width: 100%; margin: 0; padding: 27px 22px 25px;
    border-top: 0; background: #fffefa; box-shadow: none;
  }
  .visual-opening--overlap .visual-opening-panel { margin: 0; }
  .visual-opening-photograph, .visual-opening--overlap .visual-opening-photograph {
    position: relative; inset: auto; order: 2; height: 255px;
  }
  .visual-opening-photograph img { object-position: 64% 47%; }
  .visual-opening--reverse .visual-opening-photograph img { object-position: 30% center; }
  .visual-opening--company .visual-opening-photograph img { object-position: 59% center; }
  .visual-opening--overlap .visual-opening-photograph img { object-position: 59% center; }
  .tor-a-warm .visual-opening-panel .eyebrow { margin-bottom: 13px; font-size: 9px; }
  .tor-a-warm .visual-opening-panel h1 { max-width: 490px; margin-bottom: 19px; font-size: 34px; line-height: 1.1; letter-spacing: -.045em; text-wrap: pretty; }
  .tor-a-warm .visual-opening-panel .landing-title-detail { margin-top: 8px; font-size: .62em; line-height: 1.3; }
  .visual-opening-proof { gap: 20px; margin-bottom: 18px; }
  .visual-experience { padding-right: 20px; }
  .visual-experience strong { font-size: 22px; }
  .visual-experience > span { font-size: 10px; }
  .visual-opening-local { gap: 7px; font-size: 10px; }
  .visual-opening-local svg { width: 20px; height: 20px; }
  .visual-opening-pitch { margin-bottom: 20px; font-size: 14px; line-height: 1.75; }
  .visual-opening-actions { gap: 10px 18px; }
  .visual-opening-actions .button-primary { flex: 1 1 100%; }
  .visual-opening-actions .button-secondary { min-height: 34px; font-size: 12px; }
  .visual-opening-actions .button-secondary span { font-size: 14px; }
  .visual-illustration-label { right: 12px; bottom: 10px; font-size: 9px; }
  .visual-benefits { padding-block: 18px; }
  .visual-benefits ul { grid-template-columns: 1fr 1fr; gap: 14px 16px; }
  .visual-benefits li { align-items: start; gap: 7px; font-size: 11px; }
  .visual-benefits li > span { font-size: 17px; line-height: 1.1; }
  .tor-a-warm .visual-source-intro { padding-block: 24px 5px; }
  .visual-source-intro p { font-size: 14px; }
  .visual-people-layout, .visual-group-layout { grid-template-columns: 1fr; gap: 30px; }
  .tor-a-warm .visual-people h2 { font-size: 29px; }
  .visual-people-intro > p { font-size: 14px; }
  .visual-plan { margin-block: 20px 12px; }
  .visual-people-points { margin-top: 0; }
  .visual-people-points li { grid-template-columns: 38px 1fr; gap: 15px; padding-block: 23px; }
  .visual-people-points p { font-size: 14px; }
  .visual-service-choices { grid-template-columns: 1fr; gap: 35px; }
  .tor-a-warm .visual-service-choice--home { display: block; grid-column: auto; }
  .visual-service-choice--home .visual-service-choice-image { min-height: 0; }
  .visual-service-choice--home .visual-service-choice-image picture, .visual-service-choice--home .visual-service-choice-image img { height: auto; }
  .visual-service-choice-image img, .visual-service-choice--home .visual-service-choice-image img { aspect-ratio: 1.35; object-position: 60% center; }
  .visual-service-choice-copy { padding-block: 16px 0; }
  .visual-service-choice--home .visual-service-choice-copy { padding-block: 16px 0; }
  .tor-a-warm .visual-service-choice h3 { font-size: 23px; }
  .visual-services-heading { margin-bottom: 26px; gap: 8px; }
  .visual-services-heading h2 { font-size: 29px; }
  .visual-group-links > a { grid-template-columns: 40px 1fr 18px; gap: 13px; padding-block: 22px; }
  .visual-group-symbol { width: 38px; height: 38px; font-size: 21px; }
  .visual-group-links strong { font-size: 16px; }
  .visual-group-links small { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .visual-opening, .visual-opening * { scroll-behavior: auto; }
}


/* Shared presentation — service content, contact panels and SAMSON brand links. */
body.tor-a-warm { background: #fffefa; --samson-ink: #2e3431; --samson-paper: #f6f4ef; --samson-line: #e0e2d9; }
body.tor-a-warm .content-section { padding-block: clamp(48px, 5.7vw, 82px); }
body.tor-a-warm .content-section h2 { max-width: 850px; font-size: clamp(29px, 3vw, 39px); line-height: 1.19; letter-spacing: -.035em; }
.tor-a-warm .services-section { background: #fffefa; }
.tor-a-warm .services-editorial { column-gap: 64px; }
.tor-a-warm .service-row { grid-template-columns: 43px minmax(0,1fr); border-top-color: #dadfd6; }
.tor-a-warm .service-row .card-index { color: #b7bfb1; font-size: 30px; }
.tor-a-warm .service-row h3 { font-size: 21px; line-height: 1.3; }
.tor-a-warm .service-row p { color: #5c655b; font-size: 15px; line-height: 1.85; }
.tor-a-warm .visual-brand-section { background: #f1f2eb; border-block: 1px solid #dfe3d8; }
.visual-brand-section .brand-layout { align-items: start; gap: 75px; }
.visual-brand-section .brand-layout > div:first-child { position: sticky; top: 35px; }
.visual-brand-section .brand-layout p { color: #60695c; font-size: 15px; line-height: 1.85; }
.samson-brand-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 38px; border-top: 1px solid #cdd5c6; }
.samson-brand-links a { position: relative; padding: 25px 38px 10px 0; color: #323c30; text-decoration: none; }
.samson-brand-links .brand-service-category { display: block; margin-bottom: 7px; color: #817467; font-size: 11px; }
.samson-brand-links strong { display: block; font-size: 22px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.samson-brand-links a > span:last-child { position: absolute; top: 29px; right: 0; color: #bc6d26; font-size: 27px; }
.samson-brand-links a:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.tor-a-warm .story-copy p { color: #5c655b; line-height: 1.9; }
.tor-a-warm .quote-contact { border-top: 2px solid #d97419; border-left: 0; border-radius: 0; background: #fff; }
.tor-a-warm .final-cta { background: #efede5; color: #2c352e; border-top: 1px solid #dbddd3; }
.tor-a-warm .final-cta h2, .tor-a-warm .final-cta .phone-link { color: #2c352e; }
.tor-a-warm .final-cta p { color: #596454; }
.tor-a-warm .quote-section { background: #f6f5ef; }
.tor-a-warm .customer-problems { background: #fffefa; }
.tor-a-warm .faq-section { background: #faf9f4; }
.tor-a-warm .faq-item { background: transparent; border-color: #dfe3d8; border-radius: 0; }
.tor-a-warm .faq-item h3 { font-size: 17px; }
.tor-a-warm .page-section-nav { border-bottom-color: #e0e3d9; }
@media (max-width: 1000px) {
.visual-brand-section .brand-layout { gap: 40px; }
}
@media (max-width: 850px) {
.visual-brand-section .brand-layout > div:first-child { position: static; }
.samson-brand-links { gap: 24px; }
}
@media (max-width: 600px) {
body.tor-a-warm .content-section { padding-block: 43px; }
body.tor-a-warm .content-section h2 { font-size: 28px; }
.tor-a-warm .service-row { grid-template-columns: 30px minmax(0,1fr); gap: 14px; }
.tor-a-warm .service-row .card-index { font-size: 25px; }
.tor-a-warm .service-row h3 { font-size: 20px; }
.samson-brand-links { grid-template-columns: 1fr; gap: 0; margin-top: 26px; }
.samson-brand-links a { padding-bottom: 24px; border-bottom: 1px solid #cdd5c6; }
.samson-brand-links strong { font-size: 22px; }
}


/* Shared navigation and contact — header, footer and visible phone CTA. */
/* October visual rebuild: shared identity, clear phone, native navigation. */
.tor-a .site-header.samson-chrome {
  --chrome-ink: #2d302f;
  --chrome-orange: #da801e;
  background: #fff;
  border-bottom: 1px solid #e8e8e3;
  position: relative;
  z-index: 40;
}
.samson-chrome .header-topline { background: #f4f4ef; border-bottom: 1px solid #e9e9e2; }
.samson-chrome .header-topline-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 33px; font-size: 11px; line-height: 1.4; color: #666963; }
.samson-chrome .header-base { display: flex; align-items: center; gap: 8px; }
.header-base-dot { width: 5px; height: 5px; border-radius: 50%; background: #da801e; flex: 0 0 auto; }
.samson-chrome .header-email { color: #555a54; text-decoration: none; }
.samson-chrome .header-email:hover { text-decoration: underline; }
.tor-a .samson-chrome .header-inner { grid-template-columns: 166px minmax(0, 1fr) 190px; grid-template-areas: "brand nav phone"; gap: 26px; min-height: 91px; padding-block: 15px; }
.tor-a .samson-chrome .brand img { width: 166px; }
.tor-a .samson-chrome .site-nav { display: flex; gap: 8px 22px; justify-content: center; flex-wrap: nowrap; align-items: center; padding: 0; }
.tor-a .samson-chrome .site-nav > a, .tor-a .samson-chrome .nav-disclosure > summary { min-height: 44px; padding: 10px 0; font-size: 12px; font-weight: 600; color: #343936; border: 0; line-height: 1.6; text-decoration: none; white-space: nowrap; }
.tor-a .samson-chrome .site-nav > a { display: flex; align-items: center; }
.tor-a .samson-chrome .site-nav > a:hover, .tor-a .samson-chrome .nav-disclosure > summary:hover, .tor-a .samson-chrome .site-nav a[aria-current="page"] { color: #a4510c; }
.tor-a .samson-chrome .nav-disclosure { width: auto; }
.tor-a .samson-chrome .nav-disclosure > summary { gap: 7px; }
.tor-a .samson-chrome .nav-panel { top: calc(100% + 9px); width: 285px; padding: 10px; background: #fff; border: 1px solid #e8e5dc; border-radius: 4px; box-shadow: 0 18px 44px #28352a18; }
.tor-a .samson-chrome .nav-panel a { font-size: 13px; line-height: 1.5; padding: 10px 12px; color: #3d423d; border: 0; text-decoration: none; }
.tor-a .samson-chrome .nav-panel a:hover { background: #faf2e8; color: #954a0a; }
.tor-a .samson-chrome .header-phone { display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 11px; min-height: 59px; padding: 9px 12px; color: #fff; background: #2d302f; border: 0; border-left: 3px solid #e28a22; border-radius: 4px; }
.tor-a .samson-chrome .header-phone-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.tor-a .samson-chrome .header-phone-copy > span { color: #d4d6cf; font-size: 10px; line-height: 1.4; }
.tor-a .samson-chrome .header-phone strong { color: #fff; font-size: 20px; line-height: 1.25; letter-spacing: .005em; white-space: nowrap; }
.tor-a .samson-chrome .header-phone .contact-phone-icon { color: #eea14d; flex: 0 0 auto; }
.tor-a .samson-chrome .header-phone:hover { background: #454941; }
.tor-a .button.button-call {
  display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 67px;
  padding: 12px 20px; border: 1px solid #2d302f; border-radius: 4px; background: #2d302f; color: #fff;
  text-decoration: none; box-shadow: none; text-align: left;
}
.tor-a .button.button-call:hover { background: #454941; border-color: #454941; color: #fff; }
.tor-a .button-call .contact-phone-icon { color: #eea14d; flex-shrink: 0; }
.tor-a .button-call .call-copy { display: flex; flex-direction: column; gap: 3px; }
.tor-a .button-call .call-copy > span { color: #e3e5de; font-size: 11px; line-height: 1.45; font-weight: 500; }
.tor-a .button-call .call-copy > strong { color: #fff; font-size: 21px; letter-spacing: .02em; line-height: 1.2; white-space: nowrap; }
.tor-a .button-call .call-arrow { margin-left: 6px; color: #e49a43; font-size: 23px; font-weight: 400; }
.tor-a .site-footer.samson-chrome { padding: 0; background: #f6f6f0; border-top: 1px solid #e3e5dc; color: #333934; }
.tor-a .samson-chrome .footer-intro { display: grid; grid-template-columns: 166px minmax(0, 1fr) auto; gap: 50px; align-items: center; padding-block: 42px; border-bottom: 1px solid #dfe3d8; }
.tor-a .samson-chrome .footer-brand { display: block; grid-column: auto; }
.tor-a .samson-chrome .footer-brand img { display: block; width: 166px; margin: 0; }
.tor-a .samson-chrome .footer-intro > p { margin: 0; color: #343b33; font-size: 15px; font-weight: 600; line-height: 1.65; }
.tor-a .samson-chrome .footer-intro > p > span { color: #6c7368; font-size: 12px; font-weight: 400; }
.tor-a .samson-chrome .footer-main-phone { display: grid; grid-template-columns: auto 25px; column-gap: 15px; color: #30372e; text-decoration: none; }
.tor-a .samson-chrome .footer-main-phone > span:first-child { grid-column: 1; font-size: 11px; color: #666f61; }
.tor-a .samson-chrome .footer-main-phone > strong { grid-column: 1; font-size: 31px; line-height: 1.4; letter-spacing: -.025em; }
.tor-a .samson-chrome .footer-phone-arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #c56f1c; font-size: 28px; }
.tor-a .samson-chrome .footer-grid { grid-template-columns: 1.3fr 1.1fr 1.1fr .8fr; gap: 35px; padding-block: 40px; }
.tor-a .samson-chrome .footer-contact .footer-heading, .tor-a .samson-chrome .footer-nav .footer-heading { color: #333b30; font-size: 13px; font-weight: 700; letter-spacing: .005em; }
.tor-a .samson-chrome .footer-contact address { margin-block: 17px; color: #616a5d; font-size: 13px; line-height: 1.9; font-style: normal; }
.tor-a .samson-chrome .footer-contact p { margin-block: 13px 0; font-size: 13px; }
.tor-a .samson-chrome .footer-contact .phone-link { font-size: 20px; color: #343c31; }
.tor-a .samson-chrome .footer-contact .phone-secondary { font-size: 14px; color: #616a5d; }
.tor-a .samson-chrome .footer-contact .footer-email { color: #616a5d; text-decoration: none; overflow-wrap: anywhere; }
.tor-a .samson-chrome .footer-nav ul { margin: 15px 0 0; padding: 0; list-style: none; }
.tor-a .samson-chrome .footer-nav li { margin-top: 8px; font-size: 13px; line-height: 1.65; }
.tor-a .samson-chrome .footer-nav a { color: #616a5d; font-size: 13px; line-height: 1.65; text-decoration: none; }
.tor-a .samson-chrome .footer-nav a:hover, .tor-a .samson-chrome .footer-contact a:hover { color: #97500e; text-decoration: underline; }
.tor-a .samson-chrome .footer-cities { grid-column: auto; }
.tor-a .samson-chrome .footer-cities ul { columns: auto; }
.tor-a .samson-chrome .footer-group { display: flex; gap: 24px; align-items: center; padding: 25px 0; border-block: 1px solid #dfe3d8; }
.tor-a .samson-chrome .footer-group > div { margin-right: auto; }
.tor-a .samson-chrome .footer-group-label { display: block; margin-bottom: 3px; color: #394133; font-size: 13px; font-weight: 700; }
.tor-a .samson-chrome .footer-group p { color: #747b6e; font-size: 12px; margin: 0; }
.tor-a .samson-chrome .footer-group > a { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 12px 0; color: #424c3c; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.tor-a .samson-chrome .footer-group > a > span { color: #c16a14; font-size: 20px; }
.tor-a .samson-chrome .footer-group > a:hover { color: #a4510c; }
.tor-a .samson-chrome .footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0 25px; margin: 0; border: 0; color: #7b8176; font-size: 11px; }
.tor-a .mobile-callbar { border-color: #dddfd7; background: #fffffffa; box-shadow: 0 -6px 25px #29352c0a; }
.tor-a .mobile-callbar > a { background: #2d302f; color: #fff; border-left: 3px solid #e58e2c; border-radius: 4px; }
.tor-a .mobile-callbar .contact-phone-icon { color: #eaa15a; width: 17px; height: 17px; }
.tor-a .mobile-callbar strong { color: #fff; }
@media (max-width: 1190px) and (min-width: 851px) {
  .tor-a .samson-chrome .header-inner { grid-template-columns: 147px minmax(0, 1fr) 178px; gap: 17px; }
  .tor-a .samson-chrome .brand img { width: 147px; }
  .tor-a .samson-chrome .site-nav { gap: 5px 15px; }
  .tor-a .samson-chrome .site-nav > a, .tor-a .samson-chrome .nav-disclosure > summary { font-size: 11px; }
  .tor-a .samson-chrome .header-phone { gap: 8px; padding-inline: 10px; }
  .tor-a .samson-chrome .header-phone strong { font-size: 18px; }
  .tor-a .samson-chrome .header-phone .contact-phone-icon { width: 18px; }
  .tor-a .samson-chrome .footer-intro { gap: 30px; }
}
@media (max-width: 850px) {
  .samson-chrome .header-topline-inner { min-height: 30px; font-size: 10px; }
  .samson-chrome .header-email { display: none; }
  .tor-a .samson-chrome .header-inner { grid-template-columns: minmax(0, 1fr) auto 40px; grid-template-areas: "brand phone toggle" "nav nav nav"; gap: 0 13px; min-height: 80px; padding-block: 12px; }
  .tor-a .samson-chrome .brand img { width: 147px; }
  .tor-a .samson-chrome .header-phone { min-height: 49px; padding: 7px 11px; gap: 8px; }
  .tor-a .samson-chrome .header-phone strong { font-size: 18px; }
  .tor-a .samson-chrome .header-phone-copy > span { font-size: 9px; }
  .tor-a .samson-chrome .header-phone .contact-phone-icon { width: 17px; height: 17px; }
  .tor-a .samson-chrome .menu-toggle { display: flex; width: 40px; height: 43px; color: #343b32; border-color: #dfE3d8; background: #fafbf7; }
  .tor-a .samson-chrome .site-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; align-items: start; padding-top: 15px; }
  .tor-a .samson-chrome .nav-disclosure { width: 100%; }
  .tor-a .samson-chrome .site-nav > a, .tor-a .samson-chrome .nav-disclosure > summary { min-height: 45px; padding: 12px 4px; border-top: 1px solid #eceee5; font-size: 13px; }
  .tor-a .samson-chrome .nav-panel { position: static; width: 100%; padding: 2px 0 10px 8px; border: 0; border-left: 2px solid #e28a22; border-radius: 0; box-shadow: none; }
  .tor-a .samson-chrome .nav-panel a { padding: 8px 6px; font-size: 12px; }
  .tor-a .site-header.samson-chrome[data-menu-ready] .site-nav:not([data-open]) { display: none; }
  .tor-a .site-header.samson-chrome:not([data-menu-ready]) .header-inner { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand phone" "nav nav"; }
  .tor-a .samson-chrome .footer-intro { grid-template-columns: 1fr 1.5fr; gap: 25px; padding-block: 35px; }
  .tor-a .samson-chrome .footer-main-phone { grid-column: 1 / -1; width: fit-content; margin-top: 0; }
  .tor-a .samson-chrome .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; padding-block: 32px; }
  .tor-a .samson-chrome .footer-group { flex-wrap: wrap; gap: 6px 30px; }
  .tor-a .samson-chrome .footer-group > div { flex: 0 0 100%; margin-bottom: 7px; }
}
@media (max-width: 600px) {
  .tor-a .samson-chrome .header-inner { column-gap: 10px; min-height: 77px; }
  .tor-a .samson-chrome .brand img { width: 128px; }
  .tor-a .samson-chrome .header-phone { min-height: 47px; padding: 7px 10px; border-left-width: 2px; border-radius: 3px; gap: 0; }
  .tor-a .samson-chrome .header-phone .contact-phone-icon { display: none; }
  .tor-a .samson-chrome .header-phone strong { font-size: 16px; line-height: 1.25; letter-spacing: 0; }
  .tor-a .samson-chrome .header-phone-copy > span { font-size: 8px; line-height: 1.45; }
  .tor-a .samson-chrome .menu-toggle { width: 38px; height: 40px; padding-inline: 8px; }
  .tor-a .button.button-call { min-height: 65px; padding: 11px 18px; gap: 13px; }
  .tor-a .button-call .call-copy > span { font-size: 11px; }
  .tor-a .button-call .call-copy > strong { font-size: 22px; }
  .tor-a .samson-chrome .footer-intro { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-block: 34px; }
  .tor-a .samson-chrome .footer-brand img { width: 155px; }
  .tor-a .samson-chrome .footer-intro > p { font-size: 14px; }
  .tor-a .samson-chrome .footer-main-phone > strong { font-size: 32px; }
  .tor-a .samson-chrome .footer-main-phone { grid-column: auto; }
  .tor-a .samson-chrome .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 22px; }
  .tor-a .samson-chrome .footer-contact { grid-column: 1 / -1; }
  .tor-a .samson-chrome .footer-contact address { margin-block: 12px; }
  .tor-a .samson-chrome .footer-contact p { margin-top: 10px; }
  .tor-a .samson-chrome .footer-cities { grid-column: 1 / -1; }
  .tor-a .samson-chrome .footer-cities ul { columns: 2; column-gap: 22px; }
  .tor-a .samson-chrome .footer-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .tor-a .samson-chrome .footer-group > a { width: 100%; padding-block: 10px; border-bottom: 1px solid #e6e9df; }
  .tor-a .samson-chrome .footer-group > a:last-child { border: 0; }
  .tor-a .samson-chrome .footer-bottom { flex-direction: column; gap: 5px; }
  .tor-a .mobile-callbar > a { gap: 3px 8px; min-height: 47px; padding: 8px 10px; }
  .tor-a .mobile-callbar > a > span { font-size: 11px; }
  .tor-a .mobile-callbar strong { font-size: 17px; }
}
@media (max-width: 360px) {
  .tor-a .samson-chrome .brand img { width: 107px; }
  .tor-a .samson-chrome .header-inner { column-gap: 7px; }
  .tor-a .samson-chrome .header-phone { padding-inline: 8px; }
  .tor-a .samson-chrome .header-phone strong { font-size: 15px; }
  .header-topline-detail { display: none; }
  .tor-a .button.button-call { gap: 10px; padding-inline: 12px; }
  .tor-a .button-call .call-arrow { margin-left: 0; }
  .tor-a .mobile-callbar .contact-phone-icon { display: none; }
}
@media print {
  .samson-chrome .header-topline, .tor-a .samson-chrome .site-nav, .samson-chrome .menu-toggle, .tor-a .mobile-callbar { display: none !important; }
  .tor-a .samson-chrome .header-inner { display: flex; justify-content: space-between; }
  .tor-a .samson-chrome .header-phone, .tor-a .button.button-call { background: #fff; color: #000; border: 1px solid #777; }
  .tor-a .samson-chrome .header-phone strong, .tor-a .samson-chrome .header-phone-copy > span, .tor-a .button-call .call-copy > span, .tor-a .button-call .call-copy > strong { color: #000; }
}


/* Owner photographs: clear editorial opening and an unobstructed scene. */
.tor-a-warm .visual-opening[data-owner-hero] { background: #fffefa; }
.visual-opening[data-owner-hero] .visual-opening-frame { display: flex; flex-direction: column; min-height: 0; }
.tor-a-warm .visual-opening[data-owner-hero] .visual-opening-position { order: 0; min-height: 0; padding-block: 34px 31px; }
.visual-opening[data-owner-hero] .visual-opening-panel {
  display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
  align-items: start; gap: 12px 65px; width: 100%; margin: 0; padding: 0;
  border: 0; background: transparent; box-shadow: none;
}
.visual-opening-identity, .visual-opening-conversation { min-width: 0; }
.visual-opening-conversation { align-self: center; }
.tor-a-warm .visual-opening[data-owner-hero] .visual-opening-panel .eyebrow { margin: 0 0 17px; }
.tor-a-warm .visual-opening[data-owner-hero] .visual-opening-panel h1 { max-width: 690px; margin: 0 0 24px; font-size: clamp(34px, 3.2vw, 44px); line-height: 1.11; }
.visual-opening[data-owner-hero] .visual-opening-proof { margin: 0; }
.visual-opening[data-owner-hero] .visual-opening-pitch { margin: 0 0 20px; font-size: 15px; line-height: 1.8; }
.visual-opening[data-owner-hero] .visual-opening-actions { align-self: start; }
.visual-opening[data-owner-hero] .visual-opening-note { position: static; display: flex; max-width: none; margin: 14px 0 0; padding: 0; border: 0; background: transparent; }
.visual-opening[data-owner-hero] .visual-opening-note > span { font-size: 22px; }
.visual-opening[data-owner-hero] .visual-opening-note p { font-size: 10px; }
.visual-opening[data-owner-hero] .visual-opening-note strong { font-size: 12px; }
.visual-opening[data-owner-hero] .visual-opening-photograph { order: 1; position: relative; inset: auto; width: 100%; height: clamp(500px, 48.5vw, 720px); }
.visual-opening[data-owner-hero] .visual-opening-photograph::after { display: none; }
.visual-opening[data-owner-hero] .visual-opening-photograph img { width: 100%; height: 100%; object-fit: cover; }
.visual-opening[data-owner-layout="overlap"] .visual-opening-photograph { width: min(1240px, calc(100% - 64px)); height: clamp(500px, 46vw, 680px); margin: 0 auto 28px; }
.visual-opening[data-owner-layout="reverse"] .visual-opening-position { padding-block: 40px 33px; }
.visual-opening[data-owner-layout="company"] .visual-opening-panel { grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr); }
@media (max-width: 1100px) and (min-width: 701px) {
  .visual-opening[data-owner-hero] .visual-opening-panel { gap: 15px 38px; }
  .visual-opening[data-owner-hero] .visual-opening-actions .button-secondary { min-height: 30px; }
}
@media (max-width: 850px) and (min-width: 701px) {
  .tor-a-warm .visual-opening[data-owner-hero] .visual-opening-panel h1 { font-size: 32px; }
  .visual-opening[data-owner-hero] .visual-opening-panel { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); column-gap: 30px; }
  .visual-opening[data-owner-hero] .visual-opening-proof { flex-wrap: wrap; gap: 14px; }
  .visual-opening[data-owner-hero] .visual-opening-photograph { height: 470px; }
  .visual-opening[data-owner-layout="overlap"] .visual-opening-photograph { width: calc(100% - 40px); margin-bottom: 20px; }
}
@media (max-width: 700px) {
  .tor-a-warm .visual-opening[data-owner-hero] .visual-opening-position { width: 100%; padding: 0; }
  .visual-opening[data-owner-hero] .visual-opening-panel { display: block; width: 100%; margin: 0; padding: 27px 22px 24px; }
  .tor-a-warm .visual-opening[data-owner-hero] .visual-opening-panel .eyebrow { margin-bottom: 13px; }
  .tor-a-warm .visual-opening[data-owner-hero] .visual-opening-panel h1 { margin-bottom: 19px; font-size: 34px; }
  .visual-opening[data-owner-hero] .visual-opening-proof { margin: 0 0 18px; }
  .visual-opening[data-owner-hero] .visual-opening-pitch { margin: 0 0 20px; font-size: 14px; line-height: 1.75; }
  .visual-opening[data-owner-hero] .visual-opening-note { display: none; }
  .visual-opening[data-owner-hero] .visual-opening-photograph { width: 100%; height: auto; margin: 0; }
  .visual-opening[data-owner-hero] .visual-opening-photograph picture { height: auto; }
  .visual-opening[data-owner-hero] .visual-opening-photograph img { height: auto; object-fit: contain; }
}


/* Local service benefits and a city chooser prepared for verified photographs. */
.visual-benefits a { color: inherit; text-decoration-color: #c79a6c; text-underline-offset: 4px; }
.visual-opening[data-owner-hero] .visual-opening-note.local-travel-benefit { display: flex; }
.local-travel-benefit a { color: #394632; text-decoration-color: #c18a52; text-underline-offset: 4px; }
.local-travel-benefit > span { color: #c26c20; }
.tor-a-warm .area-links.city-directory { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; border: 0; margin-top: 28px; }
.tor-a-warm .city-directory > li { margin: 0; }
.tor-a-warm .area-links.city-directory .city-card { position: relative; display: block; min-height: 134px; padding: 23px; border: 1px solid #dce1d5; border-radius: 5px; background: #fffefa; text-decoration: none; overflow: hidden; }
.tor-a-warm .area-links.city-directory .city-card::after { content: none; }
.city-card-label { display: block; margin-bottom: 11px; padding-right: 25px; color: #77806f; font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.city-card-name { display: block; max-width: 100%; color: #303a2c; font-size: 25px; line-height: 1.2; font-weight: 600; letter-spacing: -.035em; }
.city-card-arrow { position: absolute; top: 16px; right: 22px; color: #c5762d; font-size: 24px; font-weight: 400; }
.city-card-base { display: block; margin-top: 10px; color: #6c775f; font-size: 11px; font-weight: 400; line-height: 1.4; }
.tor-a-warm .area-links.city-directory .city-card:hover { border-color: #bd8d59; background: #fcf8ef; }
.city-card-photo { display: block; overflow: hidden; }
.city-card-photo img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.tor-a-warm .area-links.city-directory .city-card--photo { padding: 0; }
.city-card--photo .city-card-copy { display: block; padding: 20px 23px 23px; }
.city-card--photo .city-card-arrow { padding: 0 7px; background: #fffefa; border-radius: 3px; }
@media (max-width: 850px) {
  .tor-a-warm .area-links.city-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 700px) {
  .visual-opening[data-owner-hero] .visual-opening-note.local-travel-benefit { display: flex; margin-top: 14px; }
  .local-travel-benefit p { font-size: 12px; }
  .local-travel-benefit a strong { font-size: 12px; }
}
@media (max-width: 600px) {
  .tor-a-warm .area-links.city-directory { gap: 12px; margin-top: 24px; }
  .tor-a-warm .area-links.city-directory .city-card { min-height: 128px; padding: 17px 15px; }
  .city-card-label { margin-bottom: 11px; padding-right: 14px; font-size: 9px; letter-spacing: .04em; }
  .city-card-name { font-size: clamp(18px, 5.6vw, 23px); }
  .city-card-arrow { top: 10px; right: 13px; font-size: 21px; }
  .city-card-base { margin-top: 9px; font-size: 10px; }
  .tor-a-warm .area-links.city-directory .city-card--photo { padding: 0; }
  .city-card--photo .city-card-copy { padding: 17px 15px; }
}

/* Shared local sales pages: source-led scopes, inventory and practical details. */
.city-landing .visual-opening .landing-title-main { display: block; }
.city-landing .visual-opening .landing-title-detail { display: block; margin-top: 8px; font-size: .65em; font-weight: 400; letter-spacing: -.035em; }
.city-landing .visual-opening[data-owner-hero] .visual-opening-panel h1 { max-width: 800px; font-size: clamp(32px, 3.25vw, 47px); }
.city-landing .city-section-heading { max-width: 800px; margin-bottom: 30px; }
.city-landing .city-section-heading > p { max-width: 750px; }
.city-landing .city-help-section { background: #faf7f0; }
.city-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.city-help-card { min-width: 0; padding: 28px; background: #fffefa; border: 1px solid #e0dfd4; border-radius: 5px; }
.city-help-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; color: #bc712e; }
.city-help-top .step-icon { width: 30px; height: 30px; }
.city-help-top > span { font-size: 11px; letter-spacing: .09em; color: #8e9583; }
.city-help-card h3 { margin: 0 0 16px; font-size: 23px; line-height: 1.25; font-weight: 600; letter-spacing: -.025em; }
.city-help-card p { margin-bottom: 0; font-size: 14px; line-height: 1.8; }
.city-help-card a { text-underline-offset: 4px; text-decoration-color: #c59c6b; }
.city-help-card:focus-within { border-color: #b77435; }
.city-inventory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 50px; }
.city-inventory-item { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 12px; padding-top: 24px; border-top: 1px solid #dedfd4; }
.city-item-index { margin-top: 5px; color: #ba712f; font-size: 11px; letter-spacing: .04em; }
.city-inventory-item h3 { margin: 0 0 13px; font-size: 22px; line-height: 1.4; font-weight: 500; }
.city-inventory-item p { margin-bottom: 13px; font-size: 14px; line-height: 1.85; }
.city-inventory-item p:last-child { margin-bottom: 0; }
.city-steps-section { background: #f3f2e9; }
.city-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; margin: 30px 0 0; padding: 0; list-style: none; }
.city-steps > li { min-width: 0; margin: 0; padding-top: 19px; border-top: 1px solid #cdd1bf; }
.city-step-number { display: block; margin-bottom: 16px; color: #b77231; font-size: 31px; line-height: 1.2; }
.city-steps h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.4; font-weight: 500; }
.city-steps p { margin: 0; font-size: 14px; line-height: 1.8; }
.city-local-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; }
.city-local-heading { border-left: 3px solid #ce843b; padding-left: 27px; }
.city-local-focus { max-width: 340px; margin-top: 25px; font-size: 14px; line-height: 1.8; color: #707966; }
.city-local-copy p { margin-top: 0; font-size: 15px; line-height: 1.9; }
.city-local-copy p:last-child { margin-bottom: 0; }
.city-local--reverse .city-local-heading { order: 1; }
/* One natural-proportion context photo inside the existing local module. */
.city-local-layout--photo { row-gap: 26px; align-items: start; }
.city-local-layout--photo .city-local-heading { grid-column: 1; grid-row: 1; }
.city-local-layout--photo .city-local-copy { grid-column: 2; grid-row: 1 / span 2; }
.city-local-layout--photo .city-context-photo { grid-column: 1; grid-row: 2; }
.city-local--reverse .city-local-layout--photo .city-local-heading { grid-column: 2; order: 0; }
.city-local--reverse .city-local-layout--photo .city-local-copy { grid-column: 1; }
.city-local--reverse .city-local-layout--photo .city-context-photo { grid-column: 2; }
.city-context-photo { width: 100%; max-width: 640px; min-width: 0; margin: 0; }
.city-context-photo img {
  display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain;
  object-position: var(--city-photo-position, 50% 50%);
  border: 1px solid #dfe3d8; border-radius: 6px;
  filter: brightness(var(--city-photo-brightness, 1.035)) contrast(var(--city-photo-contrast, 1.045)) saturate(var(--city-photo-saturation, .95)) sepia(var(--city-photo-warmth, .025));
}
.city-context-photo figcaption { padding-top: 10px; color: #69705f; font-size: 11px; line-height: 1.65; }
.city-photo-title, .city-photo-credits { display: block; }
.city-photo-title { margin-bottom: 3px; color: #434d3e; font-size: 12px; }
.city-photo-credits a { color: inherit; text-decoration-color: #b4bba9; overflow-wrap: anywhere; }
.city-cost-section { background: #f8f4e9; }
.city-cost-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; }
.city-cost-copy > p { font-size: 15px; line-height: 1.9; }
.city-cost-copy ul { margin: 25px 0; padding-left: 22px; }
.city-cost-copy li { margin: 12px 0; padding-left: 5px; font-size: 14px; line-height: 1.75; }
.city-cost-copy li::marker { color: #bb742e; }
.city-landing .brand-backstage .backstage-copy > p { font-size: 15px; line-height: 1.9; }
@media (max-width: 1000px) {
  .city-help-grid { gap: 15px; }
  .city-help-card { padding: 22px; }
  .city-help-card h3 { font-size: 21px; }
  .city-local-layout, .city-cost-layout { gap: 38px; }
}
@media (max-width: 700px) {
  .tor-a-warm.city-landing .visual-opening[data-owner-hero] .visual-opening-panel h1 { font-size: 32px; }
  .city-landing .visual-opening .landing-title-detail { margin-top: 9px; font-size: .68em; line-height: 1.35; }
  .city-landing .visual-opening[data-owner-hero] .visual-opening-proof { gap: 13px; }
  .city-help-grid, .city-inventory-grid, .city-steps, .city-local-layout, .city-cost-layout { grid-template-columns: minmax(0, 1fr); }
  .city-landing .city-section-heading { margin-bottom: 25px; }
  .city-help-card { padding: 25px; }
  .city-help-top { margin-bottom: 15px; }
  .city-help-card h3 { font-size: 23px; }
  .city-help-card p, .city-inventory-item p, .city-steps p, .city-cost-copy li { font-size: 15px; }
  .city-inventory-grid { gap: 28px; }
  .city-inventory-item { grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding-top: 22px; }
  .city-steps { gap: 24px; }
  .city-steps > li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 15px; }
  .city-step-number { margin: 0; font-size: 28px; }
  .city-local-heading { padding-left: 20px; }
  .city-local--reverse .city-local-heading { order: 0; }
  .city-local-focus { max-width: none; margin: 18px 0 0; }
  .city-local-layout, .city-cost-layout { gap: 28px; }
  .city-local-layout--photo .city-local-heading,
  .city-local--reverse .city-local-layout--photo .city-local-heading { grid-column: 1; grid-row: 1; }
  .city-local-layout--photo .city-local-copy,
  .city-local--reverse .city-local-layout--photo .city-local-copy { grid-column: 1; grid-row: 2; }
  .city-local-layout--photo .city-context-photo,
  .city-local--reverse .city-local-layout--photo .city-context-photo { grid-column: 1; grid-row: 3; }
}
