/* Homepage presentation. Loaded on the homepage only. */
@layer editorial {
  /* Shared homepage rhythm. The Today panel below keeps its own layout. */
  #main-content.home-page .home-section:not(.home-today) { padding-block:3.25rem!important; }
  #main-content.home-page .home-section:not(.home-today) .home-section-heading { display:block!important; max-width:none!important; margin:0 0 1.6rem!important; position:static!important; }
  #main-content.home-page .home-section:not(.home-today) .home-kicker { color:#627065!important; margin:0 0 .5rem!important; font-size:12px!important; font-weight:600!important; line-height:1.4!important; letter-spacing:.08em!important; text-transform:uppercase!important; }
  #main-content.home-page .home-section:not(.home-today) h2 { font-family:"Source Serif 4",Georgia,serif!important; font-size:34px!important; font-weight:600!important; line-height:1.15!important; letter-spacing:-.02em!important; max-width:none!important; margin:0!important; }
  #main-content.home-page .home-section:not(.home-today) .home-section-heading>p:last-child { margin:.7rem 0 0!important; max-width:58ch!important; color:#59665e!important; font-size:17px!important; line-height:1.55!important; }
  #main-content.home-page :is(a,button,input,select,summary):focus-visible { outline:3px solid #9b7728!important; outline-offset:4px!important; }

  #main-content.home-page .home-hero-grid { align-items:center!important; gap:2.5rem!important; }
  #main-content.home-page h1#home-title { max-width:20ch!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:clamp(34px,3.2vw,46px)!important; line-height:1.08!important; letter-spacing:-.025em!important; }
  #main-content.home-page .home-hero-intro { font-size:18px!important; line-height:1.55!important; margin:1rem 0!important; max-width:48ch!important; }
  #main-content.home-page .home-fact-check-promo { margin:0 0 1.1rem!important; }
  #main-content.home-page .home-fact-check-promo a { display:inline-flex!important; align-items:center!important; min-height:44px!important; padding:.35rem .7rem!important; background:#edf3ec!important; border:1px solid #d5e0d3!important; border-radius:5px!important; color:#294536!important; font-size:14px!important; font-weight:600!important; text-decoration:none!important; }
  #main-content.home-page .home-search { width:100%!important; margin:0 0 1rem!important; }
  #main-content.home-page .home-search label { display:block!important; margin-bottom:.35rem!important; font-size:14px!important; font-weight:600!important; color:#425147!important; }
  #main-content.home-page .home-search-control { border:1px solid #a7b8aa!important; border-radius:5px!important; }
  #main-content.home-page .home-search-control input { min-width:0!important; min-height:48px!important; padding:.65rem .75rem!important; }
  #main-content.home-page .home-search-control button { min-height:48px!important; flex:0 0 auto!important; white-space:nowrap!important; padding:.65rem .9rem!important; border-radius:0 4px 4px 0!important; }
  #main-content.home-page .home-actions { display:flex!important; flex-direction:row!important; flex-wrap:wrap!important; align-items:stretch!important; gap:.65rem!important; }
  #main-content.home-page .home-actions .home-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:46px!important; padding:.65rem .9rem!important; border-radius:5px!important; font-size:15px!important; line-height:1.4!important; }
  #main-content.home-page .home-hero-visual picture { display:block!important; overflow:hidden!important; border-radius:8px!important; }
  #main-content.home-page .home-hero-visual figcaption { color:#627065!important; font-size:12px!important; line-height:1.4!important; margin-top:.5rem!important; }

  #main-content.home-page .home-destination-tools { margin-bottom:1.25rem!important; }
  #main-content.home-page .home-place-filters button { border-radius:5px!important; font-size:15px!important; padding:.45rem .8rem!important; }
  #main-content.home-page .home-place-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:1.25rem!important; }
  #main-content.home-page .home-place-card { display:flex!important; flex-direction:column!important; min-width:0!important; overflow:hidden!important; padding:0!important; border:1px solid #dce3db!important; border-radius:8px!important; background:#fff!important; }
  #main-content.home-page .home-place-card[hidden] { display:none!important; }
  #main-content.home-page .home-place-card .editorial-photo-caption { margin:.65rem 1rem 0!important; min-height:0!important; color:#627065!important; font-size:12px!important; line-height:1.45!important; }
  #main-content.home-page .home-place-copy { flex:1!important; display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:.5rem!important; padding:.85rem 1rem .65rem!important; }
  #main-content.home-page .home-place-copy h3 { margin:0!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:25px!important; line-height:1.2!important; }
  #main-content.home-page .home-place-copy p { margin:0!important; font-size:16px!important; line-height:1.5!important; color:#59665e!important; }
  #main-content.home-page .home-place-actions { display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:0 1rem!important; margin-top:auto!important; padding-top:.35rem!important; }
  #main-content.home-page .home-card-link { display:inline-flex!important; align-items:center!important; gap:.5rem!important; min-height:44px!important; padding:0!important; margin:0!important; color:#294536!important; font-size:14px!important; font-weight:600!important; line-height:1.4!important; text-decoration:none!important; }
  #main-content.home-page .home-card-link::after { content:none; font-size:18px; font-weight:400; }
  #main-content.home-page :is(.home-place-actions a,.home-more-link a):hover { text-decoration:underline!important; text-underline-offset:4px!important; }

  #main-content.home-page .home-trip-grid,#main-content.home-page .home-guide-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:1rem 1.25rem!important; align-items:stretch!important; }
  #main-content.home-page :is(.home-trip-card,.home-guide-card) { display:grid!important; grid-template-columns:2rem minmax(0,1fr)!important; grid-template-rows:auto 1fr auto!important; align-content:start!important; align-items:start!important; min-height:0!important; min-width:0!important; gap:.45rem .85rem!important; padding:1.25rem!important; border:1px solid #dce3db!important; border-radius:8px!important; background:#fff!important; color:#233e30!important; }
  #main-content.home-page .home-trip-number { grid-column:1!important; grid-row:1 / 4!important; width:auto!important; height:auto!important; margin:0!important; padding:0!important; background:none!important; color:#78907b!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:24px!important; line-height:1.2!important; }
  #main-content.home-page .home-trip-card>:not(.home-trip-number) { grid-column:2!important; }
  #main-content.home-page .home-guide-card { grid-template-columns:minmax(0,1fr)!important; }
  #main-content.home-page :is(.home-trip-card,.home-guide-card) h3 { margin:0!important; color:#233e30!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:25px!important; line-height:1.2!important; }
  #main-content.home-page :is(.home-trip-card,.home-guide-card)>span:not(.home-trip-number,.home-card-link) { display:block!important; margin:0!important; color:#59665e!important; font-size:16px!important; line-height:1.5!important; }
  #main-content.home-page :is(.home-trip-card,.home-guide-card) .home-card-link { align-self:end!important; margin-top:.15rem!important; }
  #main-content.home-page :is(.home-trip-card,.home-guide-card):hover { background:#f7f9f5!important; border-color:#8da18f!important; }
  #main-content.home-page .home-secondary-links { gap:.3rem 1.25rem!important; border:0!important; padding-top:1rem!important; margin:0!important; font-size:15px!important; }
  #main-content.home-page .home-secondary-links a,#main-content.home-page .home-more-link a { min-height:44px!important; text-decoration:underline!important; text-underline-offset:4px!important; }
  #main-content.home-page .home-more-link { margin:1rem 0 0!important; font-size:15px!important; }

  #main-content.home-page .home-culture-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important; gap:2.5rem!important; align-items:start!important; }
  #main-content.home-page .home-culture-copy { min-width:0!important; }
  #main-content.home-page .home-topic-links { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:0!important; }
  #main-content.home-page .home-topic-links a { justify-content:space-between!important; gap:1rem!important; min-height:48px!important; padding:.6rem 0!important; font-size:17px!important; line-height:1.4!important; }
  #main-content.home-page .home-topic-links a::after { content:none; color:#597160; font-size:20px; }
  #main-content.home-page .home-cuisine-card { display:block!important; overflow:hidden!important; border:1px solid #dce3db!important; border-radius:8px!important; background:#fff!important; }
  #main-content.home-page .home-cuisine-card .editorial-photo-caption { margin:.6rem 1.25rem 0!important; color:#627065!important; font-size:12px!important; line-height:1.45!important; }
  #main-content.home-page .home-cuisine-copy { display:block!important; padding:1rem 1.25rem .8rem!important; }
  #main-content.home-page .home-cuisine-copy h3 { margin:0 0 .5rem!important; color:#233e30!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:26px!important; line-height:1.2!important; }
  #main-content.home-page .home-cuisine-copy>span:not(.home-card-link) { display:block!important; margin:0 0 .5rem!important; color:#59665e!important; font-size:16px!important; line-height:1.5!important; }

  #main-content.home-page .bp-home-search { width:min(calc(100% - 48px),1200px)!important; max-width:none!important; margin:0 auto!important; padding:0!important; }
  #main-content.home-page .bp-home-search .bw-widget { margin:0!important; padding:1.5rem!important; border:1px solid #dce3db!important; border-radius:8px!important; background:#f5f7f3!important; }
  #main-content.home-page .bp-home-search h2 { font-family:"Source Serif 4",Georgia,serif!important; font-size:25px!important; line-height:1.2!important; margin:0 0 1rem!important; }
  #main-content.home-page .bp-home-search form { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:1rem!important; }
  #main-content.home-page .bp-home-search form>label { display:flex!important; flex-direction:column!important; gap:.3rem!important; min-width:0!important; color:#425147!important; font-size:14px!important; }
  #main-content.home-page .bp-home-search .bw-wide { grid-column:span 2!important; }
  #main-content.home-page .bp-home-search .bw-date { grid-column:auto!important; }
  #main-content.home-page .bp-home-search :is(input:not([type=hidden]),select) { width:100%!important; min-width:0!important; min-height:44px!important; box-sizing:border-box!important; padding:.55rem .65rem!important; border:1px solid #a7b8aa!important; border-radius:5px!important; background:#fff!important; color:#233e30!important; font-family:"Source Sans 3",sans-serif!important; font-size:16px!important; }
  #main-content.home-page .bp-home-search button { grid-column:1 / -1!important; min-height:46px!important; padding:.7rem 1rem!important; border-radius:5px!important; font-size:16px!important; }
  #main-content.home-page .bp-home-search .bw-note { grid-column:1 / -1!important; margin:0!important; font-size:13px!important; line-height:1.5!important; color:#59665e!important; }
  #main-content.home-page .bp-home-search .bw-note:empty { display:none!important; }

  #main-content.home-page .home-booking-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr)!important; gap:2.5rem!important; align-items:start!important; }
  #main-content.home-page .home-booking-columns { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:1rem!important; }
  #main-content.home-page .home-booking-card { min-width:0!important; padding:1.25rem!important; background:#f6f8f3!important; border:1px solid #dce3db!important; border-radius:8px!important; }
  #main-content.home-page .home-booking-later { background:#fbf9f2!important; border-color:#e5dfca!important; }
  #main-content.home-page .home-booking-card h3 { font-family:"Source Serif 4",Georgia,serif!important; font-size:23px!important; line-height:1.25!important; margin:0 0 .9rem!important; }
  #main-content.home-page .home-booking-card ul { padding-left:1.1rem!important; gap:.65rem!important; }
  #main-content.home-page .home-booking-card li { font-size:16px!important; line-height:1.5!important; }
  #main-content.home-page .home-booking-note { padding:0!important; border:0!important; background:none!important; margin:1rem 0 0!important; color:#59665e!important; font-size:15px!important; line-height:1.6!important; }
  #main-content.home-page .home-trust { border:0!important; }
  #main-content.home-page .home-trust-layout { display:grid!important; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)!important; gap:2.5rem!important; padding:1.75rem!important; border:1px solid #d5e0d3!important; border-radius:8px!important; background:#f3f7f0!important; }
  #main-content.home-page .home-trust-copy>p { margin:0!important; color:#425147!important; font-size:16px!important; line-height:1.6!important; }
  #main-content.home-page .home-trust-copy .home-source-note { margin:.75rem 0 0!important; padding:0!important; border:0!important; background:none!important; font-size:16px!important; }
  #main-content.home-page .home-trust-links { margin:1rem 0 0!important; gap:.2rem 1.25rem!important; font-size:14px!important; }
  #main-content.home-page .home-trust-links a { min-height:44px!important; }
  #main-content.home-page .home-faq-layout { display:block!important; }
  #main-content.home-page .home-faq-list { border:0!important; }
  #main-content.home-page .home-faq-list details { margin:0 0 .6rem!important; border:1px solid #dce3db!important; border-radius:6px!important; background:#fff!important; }
  #main-content.home-page .home-faq-list details[open] { border-color:#8da18f!important; background:#f7f9f5!important; }
  #main-content.home-page .home-faq-list summary { min-height:64px!important; padding:1.1rem 3rem 1.1rem 1.15rem!important; color:#233e30!important; font-size:18px!important; line-height:1.4!important; }
  #main-content.home-page .home-faq-list summary::after { width:24px!important; height:24px!important; right:1rem!important; border:0!important; border-radius:0!important; background:none!important; color:#526d58!important; font-size:24px!important; line-height:24px!important; }
  #main-content.home-page .home-faq-list details p { margin:0!important; padding:0 1.15rem 1.2rem!important; max-width:85ch!important; font-size:17px!important; line-height:1.65!important; }
  body footer.site-footer .footer-compact-directory .footer-links>li>a { min-height:44px!important; font-size:15px!important; line-height:1.4!important; }

  /* Keep secondary footer actions usable on touch screens too. */
  body footer.site-footer :is(a,button,summary) { display:inline-flex!important; align-items:center!important; min-height:44px!important; max-width:100%!important; box-sizing:border-box!important; }
  body footer.site-footer .footer-bottom-link { line-height:1.5!important; }
  body footer.site-footer .footer-menu>summary { display:flex!important; align-items:center!important; width:100%!important; }
  body footer.site-footer :is(.footer-bottom-left,.footer-bottom-right,.footer-share) { min-width:0!important; max-width:100%!important; }
  body footer.site-footer .footer-share { flex-wrap:wrap!important; gap:.4rem!important; }
  body footer.site-footer :is(.footer-share a,.footer-copy-btn) { min-width:44px!important; }

  @media(max-width:1100px) {
    #main-content.home-page .home-place-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    #main-content.home-page .home-hero-grid { gap:1.5rem!important; }
    #main-content.home-page .home-culture-layout,#main-content.home-page .home-booking-layout { grid-template-columns:1fr!important; gap:1.5rem!important; }
    #main-content.home-page .home-topic-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; column-gap:1.5rem!important; }
    #main-content.home-page .home-cuisine-card { max-width:760px!important; width:100%!important; }
  }
  @media(max-width:800px) {
    #main-content.home-page .home-hero-grid { grid-template-columns:minmax(0,1fr)!important; }
    #main-content.home-page .home-trust-layout { grid-template-columns:minmax(0,1fr)!important; gap:1.1rem!important; }
    #main-content.home-page .home-trust-copy>p { max-width:none!important; }
  }
  @media(max-width:640px) {
    body footer.site-footer .footer-bottom { display:flex!important; flex-direction:column!important; align-items:stretch!important; }
    body footer.site-footer .footer-share>span { flex-basis:100%!important; }
    #main-content.home-page .home-section:not(.home-today) { padding-block:2.25rem!important; }
    #main-content.home-page .home-section:not(.home-today) h2 { font-size:30px!important; }
    #main-content.home-page .home-section:not(.home-today) .home-section-heading>p:last-child { font-size:16px!important; }
    #main-content.home-page .home-trip-grid,#main-content.home-page .home-guide-grid,#main-content.home-page .home-place-grid,#main-content.home-page .home-booking-columns { grid-template-columns:minmax(0,1fr)!important; }
    #main-content.home-page .home-topic-links { grid-template-columns:minmax(0,1fr)!important; }
    #main-content.home-page .home-hero-intro { font-size:17px!important; }
    #main-content.home-page .home-actions { display:grid!important; grid-template-columns:minmax(0,1fr)!important; }
    #main-content.home-page .home-hero-visual picture { aspect-ratio:3 / 2!important; }
    #main-content.home-page .home-place-grid { gap:1rem!important; }
    #main-content.home-page .home-place-copy { padding:1rem!important; }
    #main-content.home-page :is(.home-trip-card,.home-guide-card) { padding:1.1rem!important; }
    #main-content.home-page :is(.home-trip-card,.home-guide-card) h3 { font-size:24px!important; }
    #main-content.home-page .home-trust-layout { padding:1.25rem!important; }
    #main-content.home-page .home-faq-list summary { font-size:17px!important; padding-left:1rem!important; }
    #main-content.home-page .bp-home-search { width:calc(100% - 32px)!important; }
    #main-content.home-page .bp-home-search .bw-widget { padding:1.1rem!important; }
    #main-content.home-page .bp-home-search form { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:.8rem!important; }
  }
  @media(max-width:420px) {
    #main-content.home-page .bp-home-search .bw-date { grid-column:1 / -1!important; }
    #main-content.home-page .home-trust-links { gap:.2rem 1rem!important; }
  }

  /* Lithuania today: a compact clock, readable forecast and a distinct event panel. */
  #main-content.home-page .home-today .home-shell { border-top:1px solid #d9dfda!important; padding-top:2rem!important; }
  #main-content.home-page .home-today-top { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; gap:2rem!important; align-items:center!important; margin-bottom:1.65rem!important; }
  #main-content.home-page .home-today .home-section-heading { display:block!important; margin:0!important; }
  #main-content.home-page .home-today .home-kicker { color:#627065!important; font-size:12px!important; font-weight:600!important; letter-spacing:.09em!important; text-transform:uppercase!important; margin:0 0 .5rem!important; }
  #main-content.home-page .home-today .home-section-heading h2 { font-family:"Source Serif 4",Georgia,serif!important; font-size:38px!important; letter-spacing:-.025em!important; line-height:1.15!important; max-width:none!important; }
  #main-content.home-page .home-today .home-section-heading>p:last-child { color:#59665e!important; margin:.55rem 0 0!important; font-size:16px!important; line-height:1.5!important; }
  #main-content.home-page .home-today-card { min-width:0!important; min-height:0!important; box-shadow:none!important; border-radius:8px!important; }
  #main-content.home-page .home-today .home-time-card { display:grid!important; grid-template-columns:auto auto!important; gap:.15rem 1.1rem!important; padding:.3rem 0 .3rem 1.6rem!important; border:0!important; border-left:1px solid #d9dfda!important; background:transparent!important; border-radius:0!important; align-items:center!important; }
  #main-content.home-page .home-today .home-time-card h3 { grid-column:1!important; grid-row:1!important; margin:0!important; color:#59665e!important; font-family:"Source Sans 3",sans-serif!important; font-size:14px!important; font-weight:400!important; line-height:1.3!important; }
  #main-content.home-page .home-today .home-clock { grid-column:2!important; grid-row:1 / 3!important; color:#233e30!important; font-family:"Source Sans 3",sans-serif!important; font-size:42px!important; font-weight:600!important; font-variant-numeric:tabular-nums!important; letter-spacing:-.035em!important; line-height:1!important; margin:0!important; }
  #main-content.home-page .home-today .home-local-date { grid-column:1!important; grid-row:2!important; max-width:22ch!important; margin:0!important; color:#233e30!important; font-size:14px!important; line-height:1.4!important; }
  #main-content.home-page .home-today-grid { display:grid!important; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important; grid-template-rows:auto!important; gap:1.25rem!important; align-items:stretch!important; }
  #main-content.home-page .home-today .home-weather-card { display:flex!important; flex-direction:column!important; align-items:stretch!important; grid-row:auto!important; grid-column:auto!important; background:#f6f7f4!important; border:1px solid #e0e5df!important; padding:1.65rem!important; }
  #main-content.home-page .home-weather-heading { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:1rem!important; padding-bottom:1.3rem!important; border-bottom:1px solid #dce2db!important; }
  #main-content.home-page .home-today .home-weather-heading h3 { margin:0!important; color:#233e30!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:26px!important; font-weight:600!important; line-height:1.2!important; }
  #main-content.home-page .home-city-field { min-width:0!important; width:46%!important; max-width:240px!important; }
  #main-content.home-page .home-today .home-forecast-label { display:block!important; margin:0 0 .25rem!important; color:#59665e!important; font-size:12px!important; line-height:1.3!important; }
  #main-content.home-page .home-today #home-forecast-city { width:100%!important; padding:.4rem .65rem!important; min-height:44px!important; border:1px solid #b5c2b7!important; border-radius:5px!important; background:#fff!important; color:#233e30!important; font-size:16px!important; font-weight:600!important; cursor:pointer!important; }
  #main-content.home-page .home-forecast-days { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; width:100%!important; margin:1.35rem 0 1.4rem!important; }
  #main-content.home-page .home-forecast-day { display:flex!important; flex-direction:column!important; gap:1rem!important; align-items:stretch!important; width:auto!important; min-width:0!important; border:0!important; border-left:1px solid #dce2db!important; padding:0 1.15rem!important; }
  #main-content.home-page .home-forecast-day:first-child { padding-left:0!important; border-left:0!important; }
  #main-content.home-page .home-forecast-day:last-child { padding-right:0!important; }
  #main-content.home-page .home-forecast-day>div { display:grid!important; grid-template-columns:1fr!important; align-content:start!important; gap:.6rem!important; }
  #main-content.home-page .home-forecast-day time { color:#314b3b!important; font-size:14px!important; font-weight:600!important; line-height:1.4!important; min-height:0!important; }
  #main-content.home-page .home-forecast-icon { display:block!important; width:58px!important; height:58px!important; margin:.1rem 0!important; object-fit:contain!important; }
  #main-content.home-page .home-forecast-condition { display:block!important; color:#59665e!important; font-size:14px!important; line-height:1.4!important; min-height:2.8em!important; margin:0!important; }
  #main-content.home-page .home-forecast-day .home-temperatures { display:flex!important; gap:.6rem!important; justify-content:space-between!important; align-items:end!important; margin-top:auto!important; color:#233e30!important; }
  #main-content.home-page .home-forecast-day .home-temperatures>span { display:flex!important; flex-direction:column-reverse!important; gap:.25rem!important; min-width:0!important; text-align:left!important; }
  #main-content.home-page .home-forecast-day .home-temperatures b { color:#233e30!important; font-family:"Source Sans 3",sans-serif!important; font-size:30px!important; font-weight:600!important; letter-spacing:-.035em!important; line-height:1.1!important; white-space:nowrap!important; }
  #main-content.home-page .home-forecast-day .home-temperatures>span:last-child b { color:#687a70!important; font-size:24px!important; font-weight:400!important; }
  #main-content.home-page .home-forecast-day .home-temperatures>span>span { color:#68756b!important; font-size:12px!important; line-height:1.4!important; }
  #main-content.home-page .home-forecast-status:empty { display:none!important; }
  #main-content.home-page .home-weather-footer { display:flex!important; flex-wrap:wrap!important; align-items:center!important; justify-content:space-between!important; gap:.5rem 1rem!important; border-top:1px solid #dce2db!important; padding-top:.9rem!important; margin-top:auto!important; }
  #main-content.home-page .home-weather-footer .home-data-meta { margin:0!important; padding:0!important; flex:1 1 200px!important; color:#627065!important; font-size:12px!important; line-height:1.5!important; }
  #main-content.home-page .home-today .home-panel-link { display:inline-flex!important; align-items:center!important; gap:.6rem!important; min-height:44px!important; margin:0!important; padding:0!important; font-family:"Source Sans 3",sans-serif!important; color:#294536!important; font-size:14px!important; line-height:1.4!important; font-weight:600!important; text-decoration:none!important; border-bottom:0!important; }
  #main-content.home-page .home-today .home-panel-link::after { content:none; font-size:20px; font-weight:400; }
  #main-content.home-page .home-today .home-panel-link:hover { text-decoration:underline!important; text-underline-offset:4px!important; }
  #main-content.home-page .home-today .home-event-card { display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:0!important; padding:1.65rem!important; border:1px solid #233e30!important; background:#233e30!important; color:#fff!important; }
  #main-content.home-page .home-event-card>[data-event-status] { display:inline-block!important; margin:0 0 .9rem!important; padding:.3rem .6rem!important; border:1px solid #6e8674!important; border-radius:4px!important; color:#e1e9df!important; font-size:12px!important; font-weight:600!important; line-height:1.4!important; }
  #main-content.home-page .home-today .home-event-card h3 { margin:0 0 .7rem!important; color:#fff!important; font-family:"Source Serif 4",Georgia,serif!important; font-size:28px!important; font-weight:600!important; line-height:1.2!important; letter-spacing:-.015em!important; }
  #main-content.home-page .home-today .home-event-meta { display:flex!important; flex-wrap:wrap!important; gap:.15rem .75rem!important; margin:0!important; color:#d7e2d9!important; font-size:14px!important; line-height:1.5!important; }
  #main-content.home-page .home-today .home-event-meta strong { color:#fff!important; font-weight:600!important; }
  #main-content.home-page .home-today .home-event-meta>span { color:#d7e2d9!important; }
  #main-content.home-page .home-today .home-next-activity { width:100%!important; margin:1.2rem 0!important; padding:1.1rem 0 0!important; background:transparent!important; border:0!important; border-top:1px solid #647b6a!important; }
  #main-content.home-page .home-today .home-next-activity[hidden] { display:none!important; }
  #main-content.home-page .home-next-activity .home-panel-kicker { color:#c5d5c8!important; font-size:12px!important; line-height:1.4!important; margin:0 0 .5rem!important; }
  #main-content.home-page .home-today .home-next-activity strong { color:#fff!important; font-family:"Source Sans 3",sans-serif!important; font-size:20px!important; font-weight:600!important; line-height:1.3!important; }
  #main-content.home-page .home-today .home-next-activity time { display:block!important; color:#f0dc9e!important; font-size:15px!important; line-height:1.4!important; font-weight:600!important; margin:.7rem 0 .3rem!important; }
  #main-content.home-page .home-today .home-next-activity>span { color:#d7e2d9!important; font-size:14px!important; line-height:1.5!important; }
  #main-content.home-page .home-today .home-event-card .home-panel-link { color:#fff!important; margin-top:auto!important; padding-top:.75rem!important; }
  #main-content.home-page .home-today .home-event-card .home-data-fallback { color:#d7e2d9!important; font-size:15px!important; line-height:1.5!important; }
  #main-content.home-page .home-today :is(a,select):focus-visible { outline:3px solid #b18b2e!important; outline-offset:4px!important; }
  @media(max-width:1050px) {
    #main-content.home-page .home-today-top { grid-template-columns:1fr!important; gap:1.2rem!important; }
    #main-content.home-page .home-today .home-time-card { display:grid!important; grid-template-columns:auto minmax(0,1fr)!important; width:fit-content!important; max-width:100%!important; gap:.1rem .8rem!important; border:0!important; padding:0!important; }
    #main-content.home-page .home-today .home-time-card h3 { grid-column:2!important; grid-row:1!important; }
    #main-content.home-page .home-today .home-local-date { grid-column:2!important; grid-row:2!important; max-width:none!important; }
    #main-content.home-page .home-today .home-clock { grid-column:1!important; grid-row:1 / 3!important; font-size:32px!important; }
    #main-content.home-page .home-today-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important; }
    #main-content.home-page .home-today :is(.home-weather-card,.home-event-card) { padding:1.25rem!important; }
    #main-content.home-page .home-forecast-day { padding:0 .7rem!important; }
    #main-content.home-page .home-forecast-day .home-temperatures b { font-size:26px!important; }
    #main-content.home-page .home-forecast-day .home-temperatures>span:last-child b { font-size:22px!important; }
  }
  @media(max-width:1000px) {
    #main-content.home-page .home-today-grid { grid-template-columns:1fr!important; }
    #main-content.home-page .home-today .home-section-heading h2 { font-size:32px!important; }
    #main-content.home-page .home-today .home-event-card { padding:1.5rem!important; }
    #main-content.home-page .home-today .home-event-card .home-panel-link { margin-top:.5rem!important; }
    #main-content.home-page .home-today .home-local-date { font-size:13px!important; }
    #main-content.home-page .home-weather-footer { align-items:flex-start!important; gap:.35rem!important; }
    #main-content.home-page .home-weather-footer .home-data-meta { flex-basis:100%!important; }
  }
  @media(max-width:540px) {
    #main-content.home-page .home-today .home-weather-card { padding:1rem!important; }
    #main-content.home-page .home-city-field { width:54%!important; }
    #main-content.home-page .home-today .home-weather-heading h3 { font-size:23px!important; }
    #main-content.home-page .home-forecast-days { grid-template-columns:1fr!important; margin:.65rem 0 .8rem!important; }
    #main-content.home-page .home-forecast-day { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; align-items:center!important; gap:.6rem!important; border-left:0!important; border-top:1px solid #dce2db!important; padding:.85rem 0!important; }
    #main-content.home-page .home-forecast-day:first-child { border-top:0!important; }
    #main-content.home-page .home-forecast-day>div { grid-template-columns:36px minmax(0,1fr)!important; gap:.15rem .6rem!important; align-items:center!important; }
    #main-content.home-page .home-forecast-day time { grid-column:2!important; grid-row:1!important; font-size:14px!important; }
    #main-content.home-page .home-forecast-icon { grid-column:1!important; grid-row:1 / 3!important; width:36px!important; height:36px!important; margin:0!important; }
    #main-content.home-page .home-forecast-condition { grid-column:2!important; grid-row:2!important; min-height:0!important; font-size:13px!important; }
    #main-content.home-page .home-forecast-day .home-temperatures { flex-direction:row!important; align-items:end!important; gap:.7rem!important; margin:0!important; }
    #main-content.home-page .home-forecast-day .home-temperatures>span { flex-direction:column-reverse!important; gap:.15rem!important; }
    #main-content.home-page .home-forecast-day .home-temperatures b { font-size:25px!important; }
    #main-content.home-page .home-forecast-day .home-temperatures>span:last-child b { font-size:22px!important; }
    #main-content.home-page .home-forecast-day .home-temperatures>span>span { font-size:11px!important; }
  }

}

@layer editorial {
/* Three events from the complete calendar, with readable localized summaries. */
#main-content.home-page .home-today .home-event-card { gap:0!important; }
#main-content.home-page .home-today .home-event-card>h3 { margin:0 0 1.1rem!important; font-size:25px!important; }
#main-content.home-page .home-today .home-event-list { list-style:none!important; margin:0!important; padding:0!important; width:100%; }
#main-content.home-page .home-today .home-event-item { margin:0!important; padding:1.05rem 0!important; border-top:1px solid rgba(255,255,255,.22); }
#main-content.home-page .home-today .home-event-item:first-child { padding-top:0!important; border-top:0; }
#main-content.home-page .home-today .home-event-item h4 { font-size:21px!important; line-height:1.3!important; margin:0 0 .35rem!important; }
#main-content.home-page .home-today .home-event-item h4 a { color:#fff!important; display:block; padding:6px 0; min-height:44px; box-sizing:border-box; text-decoration:none!important; overflow-wrap:anywhere; }
#main-content.home-page .home-today .home-event-item h4 a:hover { text-decoration:underline!important; text-underline-offset:4px; }
#main-content.home-page .home-today .home-event-item h4 a:focus-visible { outline:2px solid #e4ca89; outline-offset:3px; }
#main-content.home-page .home-today .home-event-item h4 span { color:#e4ca89!important; white-space:nowrap; }
#main-content.home-page .home-today .home-event-item p { margin:.25rem 0!important; font-size:14px!important; line-height:1.5!important; }
#main-content.home-page .home-today .home-event-item .home-event-dates { color:#f0dba8!important; font-weight:600; }
#main-content.home-page .home-today .home-event-item .home-event-place { color:#fff!important; }
#main-content.home-page .home-today .home-event-item .home-event-description { color:#e1e8e1!important; margin-top:.45rem!important; }
#main-content.home-page .home-today .home-event-item .home-event-ongoing { color:#f0dba8!important; font-weight:600; font-size:12px!important; }
#main-content.home-page .home-today .home-event-card>.home-panel-link { margin-top:.5rem!important; align-self:flex-start; }
@media(max-width:600px) {
  #main-content.home-page .home-today .home-event-card { padding:1.15rem!important; }
  #main-content.home-page .home-today .home-event-item h4 { font-size:20px!important; }
}

}
