.florida-guide { font-size: 16px; }
.florida-guide :is(a,summary):focus-visible,.origin-guide a:focus-visible { outline: 3px solid var(--clay); outline-offset: 5px; }
.florida-guide .dark a:focus-visible { outline-color: var(--peach); }
.florida-guide .guide-nav { font-size: .875rem; letter-spacing: .05em; }
.florida-guide .wordmark span { font-size: .75rem; letter-spacing: .08em; }
.florida-guide .button { font-size: .875rem; letter-spacing: .06em; padding: .85rem 1.5rem; }
.florida-guide .eyebrow,.florida-guide .resource-kicker { font-size: .875rem; letter-spacing: .1em; }
.florida-guide .florida-hero { min-height: 0; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.florida-guide .hero-copy { padding-block: clamp(2.5rem,5vw,5rem); }
.fl-breadcrumb { width: fit-content; font-size: .875rem; color: #fbf8f1b8; margin-bottom: 2.5rem; text-underline-offset: 5px; }
.fl-breadcrumb:hover { text-decoration: underline; }
.florida-guide .guide-hero h1 { max-width: 13ch; font-size: clamp(3rem,5.2vw,5.5rem); line-height: 1.02; letter-spacing: -.045em; }
.florida-guide .guide-hero h1 em { display: block; }
.florida-guide .hero-copy>p:not(.eyebrow):not(.byline) { font-size: 1.0625rem; line-height: 1.7; max-width: 48ch; }
.florida-guide .hero-copy .byline { font-size: .8125rem; text-transform: none; letter-spacing: .01em; }
.florida-guide .hero-image { min-height: 0; margin: 0; }
.florida-guide .hero-image img { display: block; }
.florida-guide .hero-image figcaption { font-size: .8125rem; text-transform: none; letter-spacing: .02em; }
.fl-contents { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; padding: 1.1rem var(--pad); background: var(--forest); color: var(--cream); }
.fl-contents a { font-size: .875rem; padding: .65rem 0; border-bottom: 1px solid #fbf8f140; }
.florida-guide section[id] { scroll-margin-top: 1.25rem; }
.florida-guide .content-section { padding-block: clamp(3.5rem,6vw,6rem); }
.florida-guide .content-heading { align-items: start; }
.florida-guide .content-heading h2 { max-width: 15ch; font-size: clamp(2.3rem,4vw,4.2rem); line-height: 1.06; }
.florida-guide .content-heading>p { font-size: 1.0625rem; }
.fl-rows { margin-top: 3rem; }
.fl-row { border-top: 1px solid var(--line-dark); display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(1.5rem,5vw,6rem); padding: 2.5rem 0; }
.fl-row h3 { font-size: clamp(1.8rem,2.6vw,2.8rem); line-height: 1.1; margin-top: .8rem; max-width: 19ch; }
.fl-row p { color: #48514b; line-height: 1.75; max-width: 64ch; }
.fl-row p+p { margin-top: 1rem; }
.fl-row p a,.fl-source-links a { text-decoration: underline; text-underline-offset: 4px; }
.fl-source-links { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; font-size: .875rem; line-height: 1.65; margin-top: 1.2rem; }
.fl-budget { background: #e8e2d5; border-left: 3px solid var(--clay); padding: 1.8rem 2rem; }
.fl-budget h3 { font-size: 1.75rem; line-height: 1.2; }
.fl-budget p { max-width: 90ch; margin-top: 1rem; line-height: 1.9; color: #48514b; }
.florida-guide .official-link { font-size: .875rem; line-height: 1.6; }
.fl-days { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3.5rem; margin-top: 3rem; }
.fl-days article { border-top: 1px solid var(--line-light); padding-top: 1.5rem; }
.fl-days .resource-kicker { color: var(--peach); }
.fl-days h3 { font-size: 2rem; margin: 1rem 0; line-height: 1.15; }
.fl-days p { color: #fbf8f1c7; line-height: 1.75; max-width: 55ch; }
.fl-town-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin-top: 3rem; }
.fl-town-links a { border: 1px solid var(--line-light); padding: 1.25rem; }
.fl-town-links a:hover { background: #ffffff0c; border-color: var(--peach); }
.fl-town-links span { font-family: var(--serif); font-size: 1.5rem; }
.fl-town-links small { display: block; margin-top: .65rem; font-size: .9375rem; color: #fbf8f1c7; line-height: 1.6; }
.fl-steps { margin: 3rem 0 0; padding: 0; list-style: none; counter-reset: move; }
.fl-steps li { counter-increment: move; display: grid; grid-template-columns: 3rem minmax(0,.8fr) minmax(0,1.2fr); gap: .6rem 2rem; padding: 1.8rem 0; border-top: 1px solid var(--line-dark); }
.fl-steps li:before { content: "0" counter(move); font-family: var(--serif); color: var(--clay); font-size: 1.5rem; }
.fl-steps h3 { font-size: 1.8rem; line-height: 1.15; }
.fl-steps p { line-height: 1.75; color: #48514b; }
.fl-steps a { grid-column: 3; justify-self: start; margin-top: 0; }
.florida-guide .faq-list summary { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; line-height: 1.35; }
.florida-guide .faq-list summary:after { float: none; flex-shrink: 0; }
.florida-guide .source-note { font-size: .875rem; }
.fl-cta .section-label { color: var(--cream); position: static; font-size: .875rem; }
.florida-guide .fl-cta h2 { max-width: 15ch; font-size: clamp(2.8rem,5.2vw,5rem); line-height: 1.05; margin-top: 1rem; }
.florida-guide .legal { font-size: .75rem; letter-spacing: .02em; }
.florida-guide .photo-credit { font-size: .8125rem; }
.origin-guide { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem 5vw; align-items: center; border-block: 1px solid var(--line-dark); }
.origin-guide .section-label { position: static; font-size: .875rem; }
.origin-guide h2 { font-size: clamp(2.3rem,3.4vw,3.5rem); line-height: 1.1; margin: 1rem 0; }
.origin-guide p:not(.section-label) { max-width: 48ch; line-height: 1.75; }
.origin-guide-link { display: flex; flex-direction: column; gap: 1rem; border: 1px solid var(--line-dark); padding: 2rem; transition: background .15s; }
.origin-guide-link:hover { background: #e8e2d5; }
.origin-guide-link .resource-kicker { font-size: .875rem; }
.origin-guide-link strong { font-family: var(--serif); font-size: 2rem; line-height: 1.2; font-weight: 450; }
.origin-guide-link>span:last-child { line-height: 1.7; }
@media(max-width: 1000px) { .florida-guide .guide-nav a:not(.nav-cta) { display: none; } }
@media(max-width: 860px) {
  .florida-guide .florida-hero,.fl-row,.origin-guide { grid-template-columns: 1fr; }
  .florida-guide .hero-image { order: 0; height: 270px; }
  .florida-guide .hero-copy { padding-block: 1.75rem 2.5rem; }
  .florida-guide .guide-hero h1 { font-size: clamp(2.8rem,10.7vw,5rem); max-width: 16ch; }
  .fl-breadcrumb { margin-bottom: 1.8rem; }
  .florida-guide .hero-actions { align-items: flex-start; }
  .florida-guide .hero-actions .button { width: auto; }
  .fl-contents { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem 1rem; }
  .fl-days { grid-template-columns: 1fr; gap: 2.2rem; }
  .fl-town-links { grid-template-columns: 1fr; gap: .85rem; }
  .fl-row { gap: 1.25rem; padding-block: 2rem; }
  .fl-row h3 { max-width: 23ch; }
  .fl-budget { padding: 1.5rem; }
  .fl-steps li { grid-template-columns: 2rem minmax(0,1fr); gap: .75rem 1rem; }
  .fl-steps p,.fl-steps a { grid-column: 2; }
  .florida-guide .guide-header { gap: .7rem; }
  .florida-guide .wordmark span { max-width: 19ch; line-height: 1.4; }
  .florida-guide .guide-nav .nav-cta { padding-inline: .85rem; white-space: nowrap; }
  .origin-guide-link { padding: 1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .origin-guide-link { transition: none; } }

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