/* The location is the choice: two photographic state outlines, one clear link 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:22px 0 32px; display:flex; flex-direction:column; justify-content:center; }
.welcome-copy { width:fit-content; position:relative; text-align:center; padding:0 122px; margin:0 auto; }
.welcome-copy h1 { font-family:"Manrope",var(--body); font-size:1.35rem; font-weight:800; line-height:1.2; letter-spacing:-.02em; }
.welcome-copy h1>span { display:block; font-size:clamp(2.7rem,4.1vw,3.75rem); white-space:nowrap; letter-spacing:-.045em; line-height:1.15; margin-top:5px; }
.welcome-copy p { font-size:1.0625rem; margin-top:13px; }
.welcome-mascot { position:absolute; top:6px; right:-3px; width:116px; height:116px; margin:0; transform:rotate(6deg); }
.location-choices { width:100%; margin:28px 0 0; padding:0; gap:32px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.location-choice,.location-choice+.location-choice { display:flex; align-items:stretch; min-width:0; padding:20px 30px 22px; border:2px solid var(--ink); border-radius:26px; background:#cef0ed; box-shadow:4px 5px 0 var(--ink); transform:none; }
.location-choice+.location-choice { background:#f9e5c6; }
.choice-visual { display:flex; align-items:center; justify-content:center; height:clamp(290px,42svh,410px); min-width:0; }
.location-welcome .location-choice .state-photo { display:block; width:100%; height:100%; max-width:330px; min-width:0; min-height:0; filter:drop-shadow(3px 5px 0 #084c6130); }
.location-welcome .location-choice--augusta .state-photo { width:85%; height:85%; max-width:330px; }
.location-choice .state-border { stroke-width:2; }
.location-choice .choice-caption { width:100%; margin:18px 0 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.125rem; color:var(--ink); margin:0; }
.location-choice .choice-action { width:100%; max-width:none; display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:17px; border:0; border-top:1px dashed #123d4b77; 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); 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:6px 7px 0 var(--ink); }
.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-header .brand-lockup__crab { width:38px; height:32px; }
  .welcome-header .brand-lockup { gap:7px; }
  .welcome-main { width:92vw; padding:24px 0 28px; }
  .welcome-copy { width:100%; padding:0; }
  .welcome-copy h1 { font-size:1.0625rem; letter-spacing:-.015em; }
  .welcome-copy h1>span { font-size:clamp(1.9rem,7.6vw,3.1rem); letter-spacing:-.04em; margin-top:7px; }
  .welcome-copy p { font-size:1rem; margin-top:12px; }
  .welcome-mascot { position:static; display:block; width:76px; height:76px; margin:10px auto -2px; }
  .location-choices { gap:16px; margin-top:20px; }
  .location-choice,.location-choice+.location-choice { padding:14px 14px 16px; border-radius:20px; box-shadow:3px 4px 0 var(--ink); }
  .choice-visual { height:clamp(200px,31svh,300px); }
  .location-welcome .location-choice .state-photo { width:100%; height:100%; max-width:none; }
  .location-welcome .location-choice--augusta .state-photo { width:100%; height:100%; max-width:none; }
  .location-choice .choice-caption { margin-top:9px; }
  .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:6px; }
  .location-choice .choice-action { margin-top:12px; padding-top:12px; font-size:.875rem; gap:8px; line-height:1.4; }
  .location-choice .choice-action>span { height:30px; width:30px; font-size:1.05rem; }
  .welcome-footer { padding:14px 5vw; gap:12px; font-size:.8125rem; }
}
@media(max-width:380px) {
  .location-choices { gap:12px; }
  .location-choice,.location-choice+.location-choice { padding-left:10px; padding-right:10px; }
  .choice-visual { height:220px; }
  .location-choice .choice-caption strong { font-size:1.25rem; }
  .location-choice .choice-action { justify-content:space-between; white-space:nowrap; }
  .location-choice .choice-action>span { width:28px; height:28px; }
}

@media(max-width:760px) { .location-choice .choice-city { min-height:2.9rem; } }
