/* guide-contact-20260925-r2.css */
/* Guide contact and trust, round 2 batch 3. */
.guide-header .header-call{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.guide-cta{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:center}
.guide-contact-copy{min-width:0}.guide-contact-proof{max-width:28rem;margin:0;min-width:0}
.guide-contact-proof picture{display:block;max-width:220px;margin-bottom:1rem}
.guide-contact-proof img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:2px}
.guide-contact-proof blockquote{margin:1rem 0 .6rem;font:1.2rem/1.45 var(--serif);color:inherit}
.guide-contact-proof figcaption,.guide-contact-identity{font: .875rem/1.5 var(--sans)}
.guide-contact-proof .google-reviews{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:.2em}
.veteran-intro-portrait{display:flex;gap:1rem;align-items:flex-start}.veteran-intro-portrait img{width:72px;height:72px;object-fit:cover;border-radius:50%;flex:none}
.textbar{position:fixed;z-index:40;right:.8rem;bottom:calc(.8rem + env(safe-area-inset-bottom,0px));display:none;visibility:hidden;transform:translateY(160%);transition:transform .25s ease,visibility .25s}
.textbar.on{transform:none;visibility:visible}.textbar a{display:flex;min-height:48px;align-items:center;padding:.8rem 1.1rem;border-radius:999px;background:var(--ink,#142019);color:#fff;font:700 14px/1.2 var(--sans);text-decoration:none;box-shadow:0 4px 20px #0003}
.textbar a:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
@media(max-width:860px){.guide-cta{grid-template-columns:1fr;gap:1.5rem}.guide-contact-proof picture{width:72px;margin:0 0 .75rem}.guide-contact-proof img{aspect-ratio:1;border-radius:50%}.guide-contact-proof blockquote{font-size:1.1rem}.guide-header .header-call{display:none}.textbar{display:block}}
@media(prefers-reduced-motion:reduce){.textbar{transition:none}}

/* round2-layout-accessibility-20260925.css */
/* Round 2 batch 5: shared layout, accessibility, responsive, and print rules. */
:root {
  --clay: #ad452b;
  --pad: max(clamp(1.15rem, 4vw, 4.5rem), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
}

body.home-page {
  --pad: max(clamp(1.15rem, 3.4vw, 4rem), env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
}

h1,
h2,
h3,
.related-links strong {
  text-wrap: balance;
}

.btn,
.button,
.textbar a {
  font-size: .875rem;
  font-weight: 700;
}

.eyebrow,
.section-label,
.resource-kicker,
.related-label,
.related-links span,
.kicker,
.guide-card span,
.family-figure figcaption,
.work-band figcaption,
.hero-image figcaption {
  font-size: .75rem;
}

.wordmark .wordmark-tagline {
  display: block;
  margin-top: .24rem;
  font-size: .6875rem;
  line-height: 1.2;
  letter-spacing: .1em;
  white-space: nowrap;
}

.wordmark .wordmark-prefix {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.text-link,
.form-fallback,
.early-reviews-heading a,
.guide-cta .form-fallback {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-block: .45rem;
}

.prose > .pull-quote {
  color: var(--ink);
  line-height: 1.2;
  margin-top: 2rem;
  text-wrap: balance;
}

.guide-hero h1 { line-height: .9; }
.prose h2,
.content-heading h2 { line-height: 1; }
.guide-cta h2 { line-height: .95; }

.content-heading > .section-label {
  grid-column: 1 / -1;
  position: static;
  color: var(--clay);
  margin: 0 0 -.5rem;
}

.info-card > h3:first-child { margin-top: 0; }

.town-shortlist .shortlist-title {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(1.65rem, 2.4vw, 2.5rem);
  font-weight: 450;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-wrap: balance;
}

.official-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.4rem;
  margin-top: 1.15rem;
}
.official-links .official-link { margin: 0; }
.inline-source {
  display: inline;
  padding: 0;
  border: 0;
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .18em;
}

.guide-nav a[aria-current="location"],
.guide-nav a[aria-current="page"] {
  border-color: var(--peach);
}

.relocation-download .section-label { color: var(--peach); }

.home-nav {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  font-family: var(--serif);
  font-size: .92rem;
}
.home-nav > a { padding-block: .5rem; }

#copy-geoff-number {
  font: inherit;
  font-family: var(--serif);
  font-size: .95rem;
}

.site-footer {
  padding: clamp(2.8rem, 4.5vw, 4.5rem) var(--pad) clamp(3rem, 5vw, 4.5rem);
  background: var(--paper);
  color: var(--ink);
}
.site-footer .socials { margin-top: 0; }
.legal {
  justify-content: flex-start;
  column-gap: 2rem;
}

.nowrap { white-space: nowrap; }
.eyebrow { align-items: flex-start; }
.fl-contents a:last-child:nth-child(odd) { grid-column: 1 / -1; }
.related-links strong { text-wrap: balance; }

.fl-number-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem 1.6rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.fl-number-list li {
  padding-top: .6rem;
  border-top: 1px solid currentColor;
}

.batch5-alt-cream { background: var(--cream); }

.worksheet-print-header { display: none; }
.print-worksheet {
  min-height: 44px;
  margin-top: 1.25rem;
  padding: .7rem 1rem;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.worksheet {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.worksheet li {
  position: relative;
  margin: .55rem 0;
  padding-left: 1.7em;
  line-height: 1.45;
}
.worksheet li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .2em;
  width: .9em;
  height: .9em;
  border: 1.5px solid currentColor;
}

.parcel-diagram .parcel-caption {
  margin-top: .55rem;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.35;
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (min-width: 861px) {
  .content-heading h2 { max-width: 15ch; }
}

@media (max-width: 860px) {
  .guide-hero h1 { line-height: 1; }
  .guide-header {
    position: relative;
    flex-wrap: wrap;
    align-items: center;
  }
  .guide-nav {
    width: 100%;
    order: 3;
    justify-content: flex-start;
    gap: 0 1.4rem;
  }
  .guide-nav a:not(.nav-cta) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: .875rem;
    letter-spacing: .05em;
  }
  .guide-nav a.header-call { display: none; }
  .guide-nav .nav-cta {
    position: absolute;
    top: 1rem;
    right: var(--pad);
  }
  .home-nav { display: none; }
  .guide-expansion .official-link + .official-link {
    margin-left: 0;
    margin-top: .75rem;
  }
  .hero-actions .call-link { align-self: flex-start; }
  .guide-card-wide strong { margin-top: .2rem; }
  .guide-card-wide small { margin-top: .8rem; }
  .hero h1 { line-height: .9; }
  .thing h3 { font-size: clamp(2.6rem, 13vw, 4.6rem); }
  .parcel-diagram img {
    width: 100%;
    max-height: 280px;
    object-fit: contain;
  }
}

@media (max-width: 480px) {
  .wordmark .wordmark-prefix { display: none; }
  .wordmark .wordmark-tagline {
    max-width: none;
    white-space: nowrap;
  }
}

@media (orientation: landscape) and (max-height: 500px) {
  .home-page .hero { min-height: auto; }
  .home-page .hero-copy {
    padding-top: 4.5rem;
    padding-bottom: 1.2rem;
  }
  .home-page .hero h1 {
    font-size: clamp(2.4rem, 11vh, 3.4rem);
    line-height: .82;
  }
  .home-page .hero-bottom {
    flex-direction: row;
    align-items: center;
  }
  .home-page .hero-actions { flex-direction: row; }
  .home-page .btn { width: auto; }
  .home-page .header-call { display: inline-flex; }
}

@page { margin: .55in; }

@media print {
  html,
  body {
    background: #fff !important;
    color: #111 !important;
  }
  .skip-link,
  .site-header,
  .guide-header,
  .guide-footer,
  .site-footer,
  .textbar,
  .sticky-cta,
  .print-worksheet,
  .hero-image,
  .ph-bg,
  .ph-tint,
  .shade,
  .scene-tag,
  .work-band {
    display: none !important;
  }
  .js .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
  .scene,
  .hero,
  .guide-hero,
  .dark,
  .quote-slab,
  .things,
  .guide-cta,
  .ask {
    min-height: 0 !important;
    background: #fff !important;
    color: #111 !important;
  }
  .hero,
  .guide-hero,
  .hero-copy,
  .hero-bottom {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
  }
  .hero h1,
  .guide-hero h1 {
    max-width: none !important;
    font-size: 28pt !important;
    line-height: 1.05 !important;
  }
  .hero-copy,
  .guide-body,
  .content-section,
  .related-guides,
  .guide-cta,
  .ask,
  .things,
  .quote-slab,
  .work,
  .local-guide,
  .family-section,
  .letters {
    padding: .25in 0 !important;
  }
  .hero h1,
  .guide-hero h1,
  .guide-cta h2,
  .dark h2,
  .dark h3,
  .dark p,
  .scene p,
  .scene h1,
  .quote-slab blockquote {
    color: #111 !important;
  }
  .card-grid,
  .area-grid,
  .resource-list,
  .related-links,
  .guide-intro,
  .content-heading {
    break-inside: auto;
  }
  article,
  details,
  figure,
  .info-card,
  .resource-item,
  .area {
    break-inside: avoid;
  }
  a { text-decoration: underline; }

  body.lot-worksheet-page .guide-hero,
  body.lot-worksheet-page main > :not(#lot-worksheet),
  body.lot-worksheet-page .textbar {
    display: none !important;
  }
  body.lot-worksheet-page main,
  body.lot-worksheet-page #lot-worksheet {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  body.lot-worksheet-page .worksheet-print-header {
    display: block;
    margin: 0 0 .25in;
    padding-bottom: .12in;
    border-bottom: 1px solid #111;
    font-size: 10pt;
    line-height: 1.3;
  }
  body.lot-worksheet-page #lot-worksheet .content-heading {
    display: block;
  }
  body.lot-worksheet-page #lot-worksheet .area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .18in;
  }
  body.lot-worksheet-page #lot-worksheet .area {
    padding: .14in;
  }
  body.lot-worksheet-page #lot-worksheet h2 { font-size: 24pt; }
  body.lot-worksheet-page #lot-worksheet h3 { font-size: 15pt; }
  body.lot-worksheet-page .worksheet li {
    margin: .08in 0;
    font-size: 10.5pt;
    line-height: 1.25;
  }
}

/* guide-discovery-20260925-r2.css */
/* Round 2 navigation and byline additions. */
.guide-back{display:inline-flex;min-height:44px;align-items:center;color:inherit;font: .875rem/1.5 var(--sans);text-decoration:underline;text-underline-offset:.2em;margin-bottom:1rem}
main>.guide-byline{padding:1rem var(--pad,1.15rem);margin:0;font: .8rem/1.5 var(--sans);color:var(--ink,#142019);background:var(--paper,#fbf8f1)}
.origin-starts .related-links,.town-starts .related-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.official-links{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem;margin-top:1.15rem}.official-links .official-link{margin:0}
@media print{.guide-back,.origin-starts,.town-starts{display:none!important}}

/* batch8-layout-accessibility-20260925.css */
/* Final review batch 8: additive layout, readability, and print repairs. */
/* Inline sources must read as links in both light and dark sections. */
main :is(p, li) a:not([class]) {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

/* Keep nested nowrap text from inheriting related-card eyebrow styling. */
.related-links a > span {
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--clay);
  font-size: .75rem;
  font-weight: 700;
}
.related-links strong span {
  display: inline;
  margin: 0;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: none;
}

:focus-visible {
  outline: 3px solid #ad452b;
  outline-offset: 4px;
}
:is(.site-header, .hero, .things, .guide-header, .guide-hero, .guide-cta, .dark) :focus-visible {
  outline-color: var(--peach, #e09b7c);
}

.button { text-align: center; }
.textbar a {
  border: 1px solid rgba(251, 248, 241, .45);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.prose > .pull-quote { text-wrap: pretty; }
.town-shortlist-detail { text-wrap: pretty; }
.guide-grid .go { font-size: .75rem; }
.origins-layout + .origins-everywhere,
.origins-everywhere + .origins-everywhere { border-top: 0; }

main > .guide-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .35em;
}
main > .guide-byline > .byline-part { white-space: nowrap; }

.content-section.paper.batch5-alt-cream { background: var(--cream); }
.content-section.dark.batch7-alt-cream {
  background: #eee8dc;
  color: var(--ink);
}
.content-section.dark.batch7-alt-cream .content-heading > p,
.content-section.dark.batch7-alt-cream .fl-days p,
.content-section.dark.batch7-alt-cream .fl-town-links small { color: #48514b; }
.content-section.dark.batch7-alt-cream .fl-days article,
.content-section.dark.batch7-alt-cream .fl-town-links a { border-color: var(--line-dark); }
.content-section.dark.batch7-alt-cream .resource-kicker { color: var(--clay); }

@media (min-width: 861px) {
  .home-page .work-band { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-page .work-band .ph { aspect-ratio: 1 / 1; }
  .home-page .hero-bottom { align-items: flex-start; }

  .batch7-greenville-page .area-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }

  .batch7-greer-page .resource-list > article:last-child:nth-child(odd) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    grid-template-rows: auto 1fr auto;
    column-gap: 3rem;
  }
  .batch7-greer-page .resource-list > article:last-child:nth-child(odd) .resource-kicker {
    grid-column: 1;
    grid-row: 1;
  }
  .batch7-greer-page .resource-list > article:last-child:nth-child(odd) h3 {
    grid-column: 1;
    grid-row: 2 / 4;
  }
  .batch7-greer-page .resource-list > article:last-child:nth-child(odd) p {
    grid-column: 2;
    grid-row: 1 / 3;
    margin-top: 0;
  }
  .batch7-greer-page .resource-list > article:last-child:nth-child(odd) .official-link {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
  }

  .veterans-guide #care .fl-days > article:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: .75rem 3rem;
  }
  .veterans-guide #care .fl-days > article:last-child:nth-child(odd) :is(.resource-kicker, h3) {
    grid-column: 1;
  }
  .veterans-guide #care .fl-days > article:last-child:nth-child(odd) p {
    grid-column: 2;
    max-width: 70ch;
    margin: 0;
  }
}

@media (max-width: 860px) {
  .guide-nav {
    flex-wrap: wrap;
    row-gap: 0;
  }
  .guide-hero .hero-image:not(.parcel-diagram) {
    width: 100%;
    min-width: 0;
    height: 32svh;
    min-height: 180px;
    max-height: 280px;
  }
  .parcel-diagram {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .parcel-diagram img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }
  .parcel-diagram .parcel-caption {
    position: static;
    max-width: none;
    margin: 0;
    padding: .65rem var(--pad);
    background: var(--cream);
    color: var(--ink);
    font-size: .75rem;
    line-height: 1.4;
    letter-spacing: .03em;
    text-align: center;
    text-wrap: balance;
  }
  .guide-contact-proof:has(> picture) {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: .75rem 1rem;
    max-width: none;
  }
  .guide-contact-proof:has(> picture) picture {
    grid-column: 1;
    margin: 0;
  }
  .guide-contact-proof:has(> picture) .guide-contact-identity { grid-column: 2; }
  .guide-contact-proof:has(> picture) :is(blockquote, figcaption, .google-reviews) { grid-column: 1 / -1; }
  .origin-state-guide .eyebrow { text-wrap: balance; }
}

@media (max-width: 360px) {
  .guide-header .wordmark-tagline { display: none; }
}

@media print {
  :is(.hero, .guide-hero, .guide-cta, .things, .dark, .scene, .quote-slab, .ask)
  :is(p, a, span, small, strong, em, li, .eyebrow, .section-label, .kicker):not(.btn):not(.button) {
    color: #111 !important;
  }
  .btn,
  .button {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #111 !important;
  }
}

/* Batch 8: dark-card citations and utility-page keyboard bypass. */
.content-section.dark .official-link { color: var(--peach, #e09b7c); }
.skip-link { position:fixed; z-index:100; top:.75rem; left:.75rem; padding:.75rem 1rem; border-radius:999px; background:#fbf8f1; color:#111613; font-weight:700; transform:translateY(-180%); }
.skip-link:focus { transform:none; }


/* Extended Fraunces subsets */
@font-face{font-family:"Fraunces Site R3";src:url("/assets/fraunces-site-r3-var-d0a5846fa0e6.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0020-007E,U+00A0,U+00A7,U+00AE,U+00B0,U+00B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2212}
@font-face{font-family:"Fraunces Site R3";src:url("/assets/fraunces-site-r3-italic-var-0fdf1a0feb67.woff2") format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+0020-007E,U+00A0,U+00A7,U+00AE,U+00B0,U+00B7,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2212}
:root{--serif:"Fraunces Site R3","Fraunces Site","Fraunces","Iowan Old Style",Palatino,Georgia,serif}

/* Keep image intrinsic dimensions from stretching the guide grid row. */
.hero-image{position:relative}
.hero-image:not(.parcel-diagram) img{position:absolute;inset:0}
@media(min-width:901px){.hero-image img[src*="fountain-inn"]{object-position:50% 28%}}
