/* A warm invitation, animated refrain and two colourful market cards. */
body #find-us.market-locations{display:block;padding:86px 4vw 82px;background:#f7f2e8;overflow:hidden}
.market-locations>.section-tag{display:block;margin-bottom:28px}
.market-locations .market-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6vw;margin-bottom:54px}
.market-locations h2{font-size:clamp(64px,8vw,115px);line-height:1.01;letter-spacing:-.07em;margin:0}
.market-locations .market-intro-text{font:400 clamp(20px,1.75vw,26px)/1.5 'Playfair Display',serif;max-width:470px;margin:0}
.market-locations .market-aside{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 22px;width:fit-content;max-width:100%;margin:28px 0 0;padding:0;border:0;font:700 clamp(11px,1.05vw,16px)/1.7 'DM Sans',sans-serif;letter-spacing:0}
.market-locations .market-aside .happy-word:nth-child(n){display:block;align-self:auto;white-space:nowrap;margin:0;padding:0;background:transparent;box-shadow:none;transform:none}
/* A tiny optical correction keeps the yellow phrase evenly spaced by eye. */
.market-locations .market-aside .happy-word:last-child{position:relative;inset-inline-start:3px;padding:0 .3em;background:#f3d368;transform:rotate(-3deg)}
.market-locations.is-in-view .market-aside .happy-word>span{animation:market-letter-ripple 9s ease-in-out var(--letter-delay) infinite}
@keyframes market-letter-ripple{0%,8%,25%,100%{transform:translateY(0)}16%{transform:translateY(-3px) rotate(-2deg)}}
.market-locations .market-venues{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.market-locations .market-venue{display:flex;flex-direction:column;align-items:start;min-width:0;padding:32px;background:#d8e2cc;border:1px solid #29453728}
.market-locations .market-venue.guest{background:#e4d8e9}
.market-venue .venue-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:24px}
.market-venue .venue-kind,.market-venue .market-next-badge{font:600 10px/1.4 'DM Sans',sans-serif;letter-spacing:.12em}
.market-venue .venue-kind{padding:6px 9px;background:#f7f2e8b3}
.market-venue .market-next-badge{padding:5px 8px;background:#294537;color:#fffaf0}
.market-venue h3{font:400 clamp(30px,3vw,42px)/1.13 'Playfair Display',serif;letter-spacing:-.035em;margin:20px 0 10px;overflow-wrap:anywhere}
.market-venue .venue-area{font:500 13px/1.6 'DM Sans',sans-serif;margin:0 0 18px}
.market-venue .venue-description{font:400 15px/1.75 'DM Sans',sans-serif;margin:0 0 27px;max-width:470px}
.market-venue .venue-visit{width:100%;margin-top:auto;padding-top:20px;border-top:1px solid #29453728}
.market-venue .venue-date-label{display:block;font:600 10px/1.5 'DM Sans',sans-serif;letter-spacing:.1em;margin-bottom:9px}
.market-venue .market-date-empty{font:400 24px/1.35 'Playfair Display',serif;margin:0 0 27px}
.market-venue .market-dates{width:100%;list-style:none;margin:0 0 18px;padding:0}
.market-venue .market-dates:empty{display:none}
.market-venue .market-dates li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #29453728;font:400 22px/1.4 'Playfair Display',serif}
.market-venue .market-dates li>span{font:400 13px/1.8 'DM Sans',sans-serif}
.market-venue .market-date-note{flex-basis:100%;font:400 15px/1.7 'DM Sans',sans-serif;margin:0 0 5px}
.market-venue address{font:400 14px/1.65 'DM Sans',sans-serif;margin-top:0;font-style:normal}
.market-venue .venue-links{display:flex;flex-wrap:wrap;gap:15px 27px;margin-top:15px}
.market-venue .venue-links a{font:600 10px/1.6 'DM Sans',sans-serif;letter-spacing:.07em;border-bottom:1px solid currentColor;padding:8px 0;min-height:35px}
.market-locations>.text-link{margin-top:29px}
.company-details{margin-top:46px;padding-top:20px;border-top:1px solid #29453735;scroll-margin-top:110px}
.company-details dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:13px 24px;font:400 15px/1.65 'DM Sans',sans-serif}
.company-details dt{font-weight:600}.company-details dd{margin:0;overflow-wrap:anywhere}
.company-details .company-address-note{font-size:13px;max-width:600px}
.merchant-description{white-space:normal;line-height:1.7}
.merchant-description p{margin:0 0 1em}.merchant-description p:empty{display:none}
.merchant-description li{margin-bottom:.4em}
.merchant-description h2,.merchant-description h3,.merchant-description h4{font:500 21px/1.4 'Playfair Display',serif;margin:1em 0 .4em}
.withdrawal-form{margin:25px 0 30px;padding:26px;border:1px solid #29453745;background:#f0f1e8}
.withdrawal-form fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}
.withdrawal-form legend{padding:0;font:500 24px/1.3 'Playfair Display',serif;margin-bottom:21px}
.withdrawal-form label{display:block;font:500 14px/1.5 'DM Sans',sans-serif;margin-bottom:18px}
.withdrawal-form input:not([type=hidden]),.withdrawal-form textarea{display:block;width:100%;border:1px solid #7c8976;background:#fffdf7;color:#294537;border-radius:0;padding:12px;font:400 16px/1.5 'DM Sans',sans-serif;margin-top:7px}
.withdrawal-form textarea{min-height:85px;resize:vertical}
.withdrawal-form .form-note{font-size:12px;line-height:1.65;margin:18px 0}
.withdrawal-form .withdrawal-review h3{font:400 28px/1.3 'Playfair Display',serif;margin:0 0 20px}
.withdrawal-review dl{display:grid;grid-template-columns:100px 1fr;gap:12px;font:400 14px/1.6 'DM Sans',sans-serif}
.withdrawal-review dt{font-weight:600}.withdrawal-review dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.withdrawal-form .withdrawal-edit{background:transparent;border:0;border-bottom:1px solid currentColor;padding:8px 0;min-height:44px;font-size:12px}
.withdrawal-form .withdrawal-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
@media(max-width:700px){
 body #find-us.market-locations{padding:55px 20px 60px}
 .market-locations .market-intro-grid{grid-template-columns:1fr;gap:29px;margin-bottom:34px}
 .market-locations h2{font-size:clamp(58px,16.5vw,90px)}
 .market-locations .market-aside{gap:8px 14px;font-size:clamp(10px,2.8vw,14px);margin-top:25px}
 .market-locations .market-intro-text{font-size:20px;line-height:1.5}
 .market-locations .market-venues{grid-template-columns:1fr;gap:20px}
 .market-locations .market-venue{padding:25px 20px}
 .market-venue h3{font-size:clamp(26px,7.5vw,34px)}
 .market-venue .market-date-empty{font-size:23px}
 .market-venue .market-dates li{font-size:19px;flex-wrap:wrap}
 .company-details dl{grid-template-columns:1fr;gap:4px}
 .company-details dd{margin-bottom:13px}
 .withdrawal-form{padding:23px 18px}
 .withdrawal-review dl{grid-template-columns:1fr;gap:4px}
 .withdrawal-review dd{margin-bottom:10px}
 .withdrawal-form .button{font-size:10px;width:100%;gap:15px}
}
@media(prefers-reduced-motion:reduce){.market-locations.is-in-view .market-aside .happy-word>span{animation:none}}

/* Market greeting: keep the highlight in normal title flow with room to move. */
.market-locations h2 .market-hello{
 display:inline-block;
 position:relative;
 padding:0 .16em .08em .10em;
 margin-top:.14em;
 background:var(--yellow);
 line-height:1.12;
 letter-spacing:inherit;
 transform-origin:45% 65%;
 animation:gea-hello-sway 7s ease-in-out infinite;
}
@keyframes gea-hello-sway{
 0%,100%{transform:rotate(-1deg) translateY(0)}
 50%{transform:rotate(.7deg) translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){
 .market-locations h2 .market-hello{animation:none;transform:none}
}
