/* Reference-led public layout. Forms keep their generous controls and focus states. */
:root { --font: "Segoe UI", Arial, system-ui, sans-serif; --radius: .8rem; --radius-lg: 1.4rem; }
.section { padding-block: 2rem; }
.page-hero { padding-block: 2.75rem; }
.wizard-shell { padding-block: 2.25rem; }
.site-header, .header-inner { min-height: 5rem; }
.header-inner { gap: .85rem; }
.primary-nav { gap: 1.1rem; }
.primary-nav a { font-size: .875rem; }
.brand-copy small { font-size: .75rem; }
.homepage h2 { font-size: clamp(1.6rem, 2.7vw, 2rem); letter-spacing: -.035em; }
.homepage .hero { padding: 0; background: #f4fafc; }
.homepage .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 1.4rem; }
.homepage .hero-copy { align-self: center; padding: 3rem 0 2.75rem 1.5rem; }
.homepage .hero-copy h1 { max-width: 14ch; font-size: clamp(2.5rem, 4.7vw, 3.65rem); line-height: 1.02; margin-bottom: .65rem; }
.homepage .hero-copy .lead { font-size: 1.125rem; line-height: 1.4; margin-bottom: .75rem; }
.homepage .hero-actions { gap: .75rem; margin: 1.15rem 0 .75rem; }
.homepage .hero-actions .button { padding-inline: 1rem; font-size: 1rem; }
.homepage .privacy-note { margin-bottom: 0; font-size: .875rem; }
.homepage .hero-media { min-height: 25rem; }
.homepage .hero-media img { position: absolute; inset: 0; height: 100%; width: 100%; border-radius: 4.5rem 0 5.5rem 0; box-shadow: none; object-position: 43% center; }
.homepage .hero-media::before { display: none; }
.homepage .hero-quote { top: 2rem; right: 2rem; width: 12.5rem; padding: 1rem; box-shadow: none; border-radius: 2.5rem 1.3rem 2rem 1rem; }
.homepage .hero-quote span { font-style: italic; font-size: 1rem; line-height: 1.45; }
.homepage .hero-quote small { font-size: .75rem; }
.homepage .hero-badge { right: 1.5rem; bottom: 1.5rem; border-radius: 1.8rem; padding: 1rem 1.25rem; box-shadow: none; }
.homepage .guide-section { padding: 1rem 0 0; background: white; }
.homepage .guide-panel { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1.5rem; padding: 1.5rem 1.75rem; border: 0; background: #eaf7f8; }
.homepage .guide-main { padding: 0 1.5rem 0 0; border-right: 1px solid #b8dae2; border-bottom: 0; }
.homepage .guide-main h2 { margin-bottom: .5rem; font-size: 1.75rem; }
.homepage .guide-main > p { color: var(--ink); font-size: 1rem; line-height: 1.45; margin-bottom: 1rem; }
.homepage .steps { max-width: 30rem; margin: 1.4rem 0; }
.homepage .steps strong { font-size: .9375rem; }
.homepage .guide-topics h3 { font-size: 1rem; margin-bottom: .65rem; }
.homepage .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: column; grid-template-rows: repeat(5, auto); gap: .4rem; }
.homepage .topic-chip { min-height: 3.125rem; height: 100%; padding: .4rem .5rem; font-size: .875rem; font-weight: 500; gap: .4rem; box-shadow: none; background: #f8fcff; }
.homepage .topic-icon { width: 1.9rem; height: 1.9rem; }
.homepage .activities-section { padding: 1.75rem 0 1.5rem; }
.homepage .section-heading { margin-bottom: .65rem; }
.homepage .section-heading h2 { margin-bottom: .35rem; }
.homepage .section-heading p { margin-bottom: .2rem; font-size: 1.0625rem; }
.homepage .split-heading { gap: 1rem; align-items: center; }
.homepage .split-heading > .text-link { flex-shrink: 0; font-size: .875rem; }
.homepage .filter-row { margin-bottom: .7rem; padding-bottom: .25rem; }
.homepage .filter-pill { font-size: .875rem; padding-block: .4rem; }
.metadata { font-size: .875rem; }
.price, .places { font-size: .8125rem; }
.places { display: inline-flex; }
.homepage .knowledge-section { padding: .75rem 0 1rem; }
.homepage .knowledge-panel { padding: 1.35rem 1.75rem; border-radius: 1.2rem; background: #fff8ed; }
.homepage .knowledge-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; margin-top: 1rem; }
.homepage .knowledge-categories { gap: .65rem; }
.homepage .knowledge-categories a { min-height: 5.5rem; gap: .4rem; padding: .6rem; font-size: .875rem; font-weight: 500; border: 0; }
.homepage .knowledge-categories .topic-icon { width: 2rem; height: 2rem; }
.homepage .knowledge-categories .icon { width: 1.75rem; height: 1.75rem; }
.homepage .popular-articles h3 { font-size: 1.05rem; margin-bottom: .2rem; }
.homepage .popular-articles li { padding: .6rem 0; }
.homepage .popular-articles a { font-size: .9375rem; }
.homepage .closing-section { padding: 0 0 1rem; }
.homepage .closing-panel { display: grid; grid-template-columns: 11rem minmax(0, 1fr) auto; gap: 1.5rem; padding: 0 1.75rem 0 0; overflow: hidden; border-radius: 1.25rem; background: #e7f5f1; color: var(--ink); }
.closing-photo { align-self: stretch; width: 100%; height: 100%; min-height: 9rem; object-fit: cover; object-position: 23% center; border-radius: 0 50% 0 0; }
.homepage .closing-panel h2 { font-size: 1.75rem; margin-bottom: .35rem; color: var(--navy); }
.homepage .closing-panel p { color: var(--ink); font-size: 1rem; line-height: 1.4; }
.homepage .closing-copy { padding-block: 1.25rem; }
.privacy-details { margin: .6rem auto 0; font-size: .875rem; }
.privacy-details summary { width: fit-content; min-height: 2.75rem; padding-block: .65rem; cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }
.privacy-details p { max-width: 45rem; }
@media (min-width: 53rem) { .homepage .activity-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 68rem) and (min-width: 53rem) {
    .homepage .hero-copy { padding-left: .5rem; }
    .homepage .hero-actions { gap: .5rem; }
    .homepage .hero-actions .button { font-size: .875rem; padding-inline: .75rem; }
    .homepage .guide-panel { padding: 1.25rem; gap: 1rem; }
    .homepage .guide-main { padding-right: 1rem; }
    .homepage .guide-main h2 { font-size: 1.5rem; }
    .homepage .topic-chip { font-size: .875rem; }
}
@media (max-width: 52rem) {
    .header-inner { gap: .5rem; }
    .header-inner .brand { margin-right: auto; }
    .homepage .hero-grid { grid-template-columns: 1fr; gap: 0; }
    .homepage .hero-copy { padding: 2rem .75rem; }
    .homepage .hero-copy h1 { max-width: 16ch; }
    .homepage .hero-media { min-height: 16rem; }
    .homepage .hero-media img { border-radius: 2.5rem 0 2.5rem 0; }
    .homepage .guide-panel { grid-template-columns: 1fr; padding: 1.25rem; }
    .homepage .guide-main { border-right: 0; border-bottom: 1px solid #b8dae2; padding: 0 0 1.25rem; }
    .homepage .knowledge-grid { grid-template-columns: 1fr; gap: 1rem; }
    .homepage .knowledge-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .homepage .closing-panel { grid-template-columns: 7rem minmax(0, 1fr); padding-right: 1rem; gap: 1rem; }
    .closing-photo { grid-row: span 2; }
    .homepage .closing-panel .button { grid-column: 2; margin-bottom: 1rem; justify-self: start; }
    .homepage .closing-copy { padding-bottom: 0; }
}
@media (max-width: 36rem) {
    .homepage .topic-grid { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
    .homepage .knowledge-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .homepage .knowledge-panel { padding: 1.25rem; }
    .homepage .closing-panel { grid-template-columns: 1fr; padding: 1.25rem; gap: .5rem; }
    .closing-photo { display: none; }
    .homepage .closing-panel .button { grid-column: 1; margin-bottom: 0; }
    .homepage .closing-copy { padding: 0; }
}
