/* Two photographic state stickers, one clear choice each. */
.location-welcome { background:#e5f5f2; }
.welcome-header { position:relative; min-height:72px; padding:14px 5vw; justify-content:center; border-bottom:1px solid #123d4b20; }
.welcome-header .welcome-about { position:absolute; right:5vw; font-size:.875rem; padding:12px 0; text-decoration:underline; text-underline-offset:5px; }
.welcome-main { width:min(1080px,90vw); margin:0 auto; padding:24px 0 34px; display:flex; flex-direction:column; justify-content:center; }
.location-choices { width:100%; margin:0; padding:0; gap:32px; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.location-choice,.location-choice+.location-choice { display:flex; align-items:stretch; min-width:0; padding:0; border:2px solid var(--ink); border-radius:24px; background:#bdebe7; box-shadow:5px 6px 0 var(--ink); transform:none; }
.location-choice+.location-choice { background:#f6dfb9; }
.choice-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 22px 0; font-size:.875rem; font-weight:600; }
.choice-state-code { padding:4px 9px; border:1.5px solid var(--ink); border-radius:7px; font-weight:700; letter-spacing:.07em; background:#ffffff60; box-shadow:2px 2px 0 #123d4b25; }
.choice-visual { display:flex; align-items:center; justify-content:center; height:clamp(300px,46svh,440px); min-width:0; padding:8px 30px 16px; }
.location-welcome .location-choice .state-photo { display:block; width:100%; height:100%; max-width:320px; min-width:0; min-height:0; filter:drop-shadow(4px 5px 0 #123d4b30); transition:transform 180ms ease; }
.location-welcome .location-choice--augusta .state-photo { width:85%; height:85%; max-width:320px; }
.state-sticker-edge { fill:none; stroke:#fffdf5; stroke-width:8; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.location-choice .state-border { stroke-width:1.5; }
.choice-details { display:flex; flex-direction:column; flex:1; min-width:0; padding:20px 26px 22px; border-top:2px solid var(--ink); border-radius:0 0 21px 21px; background:#fffdf5; }
.location-choice .choice-caption { width:100%; margin:0; gap:16px; padding:0; }
.choice-caption>span { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; }
.location-choice .choice-caption strong { font-family:"Manrope",var(--body); font-weight:800; font-size:clamp(1.8rem,2.6vw,2.5rem); letter-spacing:-.035em; line-height:1.2; }
.location-choice .choice-city { font-size:1.0625rem; color:var(--muted); margin:0; }
.location-choice .choice-action { width:100%; max-width:none; display:flex; justify-content:space-between; align-items:center; gap:12px; margin:16px 0 0; border:0; border-top:1px dashed #123d4b66; border-radius:0; padding:13px 0 0; min-height:48px; font-size:1rem; font-weight:650; color:var(--ink); background:transparent; }
.location-choice .choice-action>span { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; border:1.5px solid var(--ink); border-radius:50%; background:var(--sunshine); box-shadow:2px 2px 0 var(--ink); font-size:1.2rem; line-height:1; }
.location-choice:hover .choice-action,.location-choice:focus-visible .choice-action { text-decoration:none; }
.location-choice:hover .choice-action>span,.location-choice:focus-visible .choice-action>span { background:var(--sea); color:var(--paper); }
.location-choice:hover,.location-choice:focus-visible { box-shadow:7px 8px 0 var(--ink); }
.location-welcome .location-choice:hover .state-photo,.location-welcome .location-choice:focus-visible .state-photo { transform:translateY(-3px); }
.welcome-footer { margin-top:0; padding:14px max(5vw,calc((100vw - 1080px)/2)); background:#f2e5cf; font-size:.8125rem; border-top:1px solid var(--ink); }
@media(min-width:1600px) { .welcome-main { flex:0 1 auto; padding-top:34px; padding-bottom:40px; } .welcome-footer { margin-top:auto; } }
@media(max-width:760px) {
  .welcome-header { min-height:68px; padding:12px 5vw; justify-content:space-between; }
  .welcome-header .welcome-about { position:static; }
  .welcome-header .brand-lockup__name { font-size:1.6rem; }
  .welcome-main { width:92vw; padding:28px 0 32px; }
  .location-choices { gap:16px; margin-top:0; }
  .location-choice,.location-choice+.location-choice { border-radius:19px; box-shadow:3px 4px 0 var(--ink); }
  .choice-meta { gap:8px; padding:13px 12px 0; font-size:.8125rem; }
  .choice-state-code { padding:3px 6px; font-size:.8125rem; border-radius:5px; }
  .choice-visual { height:clamp(220px,32svh,300px); padding:14px 14px 20px; }
  .location-welcome .location-choice .state-photo,.location-welcome .location-choice--augusta .state-photo { width:100%; height:100%; max-width:none; }
  .state-sticker-edge { stroke-width:6; }
  .choice-details { padding:16px 14px; border-radius:0 0 16px 16px; }
  .choice-caption>span { display:block; }
  .location-choice .choice-caption strong { font-size:clamp(1.25rem,5vw,2rem); }
  .location-choice .choice-city { font-size:1rem; margin-top:7px; min-height:3.1rem; line-height:1.55; }
  .location-choice .choice-action { margin-top:auto; padding-top:12px; font-size:.875rem; gap:8px; line-height:1.4; }
  .location-choice .choice-action>span { height:28px; width:28px; font-size:1.05rem; }
  .welcome-footer { padding:14px 5vw; gap:12px; font-size:.8125rem; }
}
@media(max-width:380px) {
  .location-choices { gap:12px; }
  .choice-meta { padding-left:10px; padding-right:10px; gap:5px; }
  .choice-visual { padding-left:12px; padding-right:12px; }
  .choice-details { padding-left:10px; padding-right:10px; }
  .location-choice .choice-caption strong { font-size:1.25rem; }
  .location-choice .choice-action { white-space:nowrap; }
  .location-choice .choice-action>span { width:26px; height:26px; }
}
@media(prefers-reduced-motion:reduce) { .location-welcome .location-choice .state-photo { transition:none; } .location-welcome .location-choice:hover .state-photo,.location-welcome .location-choice:focus-visible .state-photo { transform:none; } }

.welcome-heading-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.welcome-header .brand-lockup__crab { width:78px; height:55px; }
.welcome-footer { justify-content:center; }
@media(max-width:760px) {
  .welcome-header { justify-content:space-between; gap:16px; }
  .welcome-header .welcome-about { position:static; flex-shrink:0; }
  .welcome-header .brand-lockup { gap:8px; }
  .welcome-header .brand-lockup__name { font-size:1.45rem; white-space:nowrap; }
  .welcome-header .brand-lockup__crab { width:52px; height:37px; flex-shrink:0; }
}
