/* 408-LOCAL-1.1 — Local Perks Foundation */
.local-page{background:#fff;color:var(--ink)}
.local-header{position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}
.local-nav{display:flex;gap:26px;margin-left:auto;margin-right:28px;align-items:center}
.local-nav a,.local-insurance-link{text-decoration:none;color:var(--navy);font-size:.88rem;font-weight:850}
.local-insurance-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.local-insurance-link:hover,.local-nav a:hover{color:#d71920}
.local-kicker{margin:0;color:#d71920;font-size:.75rem;font-weight:950;text-transform:uppercase;letter-spacing:.17em}
.local-kicker--light{color:#9fe9bb}
.local-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 16%,rgba(73,208,127,.16),transparent 26%),radial-gradient(circle at 87% 18%,rgba(215,25,32,.08),transparent 24%),linear-gradient(135deg,#f9fcff 0%,#eef5fa 48%,#f9fbfc 100%);border-bottom:1px solid #dfe8f0}
.local-hero:after{content:"";position:absolute;right:-11vw;bottom:-32vw;width:58vw;height:58vw;border:1px solid rgba(8,40,90,.08);border-radius:50%;box-shadow:0 0 0 52px rgba(8,40,90,.025),0 0 0 104px rgba(8,40,90,.02);pointer-events:none}
.local-hero-inner{position:relative;z-index:1;width:min(1240px,calc(100% - 42px));min-height:690px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:clamp(50px,8vw,110px);align-items:center;padding:clamp(80px,10vw,130px) 0}
.local-hero-copy h1{max-width:800px;margin:16px 0 24px;color:var(--navy);font-size:clamp(4rem,8vw,8rem);line-height:.88;letter-spacing:-.072em}
.local-lead{max-width:720px;margin:0;color:#4d6077;font-size:clamp(1.08rem,1.65vw,1.36rem);line-height:1.7}
.local-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.local-primary,.local-secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:0 20px;border-radius:13px;text-decoration:none;font-weight:900}
.local-primary{background:#d71920;color:#fff;box-shadow:0 15px 36px rgba(215,25,32,.2)}
.local-primary:hover{transform:translateY(-2px);filter:brightness(.97)}
.local-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.local-trust{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.local-trust span{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(8,40,90,.1);color:#41536b;font-size:.78rem;font-weight:800}
.local-hero-card{align-self:center;padding:32px;border:1px solid rgba(8,40,90,.12);border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 28px 80px rgba(4,26,59,.14)}
.local-card-label{display:inline-flex;padding:8px 11px;border-radius:999px;background:#edf8f1;color:#0a5c2e;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.local-hero-card>strong{display:block;margin:22px 0 12px;color:var(--navy);font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.02;letter-spacing:-.045em}
.local-hero-card>p{margin:0;color:#607086;line-height:1.68}
.local-status-row{display:flex;gap:10px;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:#354861;font-size:.84rem;font-weight:800;line-height:1.45}
.local-status-dot{width:10px;height:10px;border-radius:50%;background:#49d07f;box-shadow:0 0 0 5px rgba(73,208,127,.15);flex:0 0 auto}
.local-section{width:min(1180px,calc(100% - 42px));margin-inline:auto;padding:clamp(78px,9vw,116px) 0}
.local-section-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:44px}
.local-section-heading--stacked{grid-template-columns:1.2fr .8fr}
.local-section-heading h2,.local-business-card h2,.local-boundary-card h2{margin:13px 0 0;color:var(--navy);font-size:clamp(2.75rem,5.7vw,5.7rem);line-height:.96;letter-spacing:-.06em}
.local-section-heading>p,.local-section-heading>div+*{margin:0;color:#586a80;line-height:1.78;font-size:1.04rem}
.local-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.local-steps article{min-height:280px;padding:28px;border:1px solid #e0e8f0;border-radius:21px;background:linear-gradient(145deg,#fff,#f8fafc)}
.local-step-number{color:#d71920;font-size:.75rem;font-weight:950;letter-spacing:.13em}
.local-steps h3{margin:44px 0 12px;color:var(--navy);font-size:1.5rem;line-height:1.12}
.local-steps p{margin:0;color:#607086;line-height:1.65}
.local-categories{border-top:1px solid var(--line)}
.local-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.local-category-card{position:relative;min-height:350px;padding:30px;border-radius:24px;border:1px solid #dfe8f0;background:linear-gradient(145deg,#fff,#f5f8fb);display:flex;flex-direction:column;overflow:hidden}
.local-category-card--featured{background:linear-gradient(145deg,#0c376f,#061f48);border-color:#0c376f;color:#fff}
.local-category-card--featured:after{content:"";position:absolute;width:280px;height:280px;right:-120px;top:-130px;border-radius:50%;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 44px rgba(255,255,255,.025),0 0 0 88px rgba(255,255,255,.02)}
.local-category-card--future{background:repeating-linear-gradient(135deg,#fbfcfd,#fbfcfd 18px,#f6f9fb 18px,#f6f9fb 36px)}
.local-category-icon{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#eaf3fb;color:var(--navy);font-size:1.35rem;font-weight:950}
.local-category-card--featured .local-category-icon{background:rgba(255,255,255,.12);color:#fff}
.local-category-label{position:relative;z-index:1;margin:28px 0 0;color:#a46a00;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.14em}
.local-category-card--featured .local-category-label{color:#9fe9bb}
.local-category-card h3{position:relative;z-index:1;margin:10px 0 12px;color:var(--navy);font-size:clamp(1.9rem,3.2vw,3.25rem);line-height:1;letter-spacing:-.05em}
.local-category-card--featured h3{color:#fff}
.local-category-card>p:not(.local-category-label){position:relative;z-index:1;margin:0;color:#607086;line-height:1.65;max-width:500px}
.local-category-card--featured>p:not(.local-category-label){color:rgba(255,255,255,.76)}
.local-coming{position:relative;z-index:1;margin-top:auto;padding-top:30px;color:var(--navy);font-size:.82rem;font-weight:900}
.local-category-card--featured .local-coming{color:#9fe9bb}
.local-boundary{width:min(1240px,calc(100% - 42px));padding-top:20px}
.local-boundary-card{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;padding:clamp(38px,6vw,68px);border-radius:30px;background:linear-gradient(135deg,#041a3b,#0a326d);box-shadow:0 28px 80px rgba(4,26,59,.16);color:#fff}
.local-boundary-card h2{color:#fff;font-size:clamp(2.8rem,5vw,5rem)}
.local-boundary-copy>p:last-child{color:rgba(255,255,255,.72);font-size:1.04rem;line-height:1.75;margin:22px 0 0}
.local-boundary-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.local-boundary-list li{padding:21px 22px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.055)}
.local-boundary-list strong,.local-boundary-list span{display:block}
.local-boundary-list strong{font-size:1.08rem;color:#fff}
.local-boundary-list span{margin-top:6px;color:rgba(255,255,255,.7);line-height:1.55;font-size:.92rem}
.local-business{padding-top:76px}
.local-business-card{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding:clamp(34px,5vw,58px);border:1px solid #dfe8f0;border-radius:26px;background:linear-gradient(145deg,#fff,#f6f9fb)}
.local-business-card h2{font-size:clamp(2.5rem,4.6vw,4.7rem)}
.local-business-card p{max-width:700px;color:#607086;line-height:1.7;margin:18px 0 0}
.local-business-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.local-business-actions .local-primary{width:100%}
.local-text-link{color:var(--navy);font-weight:900;text-decoration:none}
.local-separation-note{padding-top:0;padding-bottom:80px}
.local-separation-note p{margin:0;padding:20px 22px;border-left:4px solid #d71920;background:#f8fafc;color:#53647b;line-height:1.65}
.local-separation-note a{color:var(--navy);font-weight:900;text-decoration:none}
.local-footer{background:#061f48;color:#fff;padding:62px max(22px,calc((100vw - 1180px)/2)) 28px;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.local-footer-brand img{width:min(300px,100%)}
.local-footer-brand p{max-width:410px;color:rgba(255,255,255,.68);line-height:1.65}
.local-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.local-footer-links div{display:flex;flex-direction:column;gap:9px}
.local-footer-links strong{margin-bottom:6px;color:#9fe9bb;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}
.local-footer-links a{color:rgba(255,255,255,.82);text-decoration:none}
.local-footer-links a:hover{color:#fff}
.local-footer-legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:28px;padding-top:25px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.56);font-size:.79rem;line-height:1.55}
.local-footer-legal p{margin:0;max-width:620px}
@media(max-width:1000px){
  .local-nav{display:none}
  .local-hero-inner{grid-template-columns:1fr;min-height:auto;gap:38px;padding:80px 0}
  .local-hero-card{max-width:700px}
  .local-section-heading,.local-section-heading--stacked{grid-template-columns:1fr;gap:20px}
  .local-steps{grid-template-columns:1fr}
  .local-steps article{min-height:220px}
  .local-steps h3{margin-top:30px}
  .local-boundary-card,.local-business-card{grid-template-columns:1fr;gap:38px}
  .local-footer{grid-template-columns:1fr;gap:42px}
}
@media(max-width:720px){
  .local-header{position:relative}
  .local-insurance-link{font-size:.8rem;padding:0 10px}
  .local-insurance-link span{display:none}
  .local-hero-inner,.local-section,.local-boundary{width:min(100% - 34px,1240px)}
  .local-hero-inner{padding:62px 0}
  .local-hero-copy h1{font-size:clamp(3.45rem,17vw,5.4rem)}
  .local-hero-actions{align-items:stretch}
  .local-primary,.local-secondary{width:100%}
  .local-category-grid{grid-template-columns:1fr}
  .local-category-card{min-height:310px;padding:25px}
  .local-boundary-card{padding:28px 22px;border-radius:24px}
  .local-business-card{padding:28px 22px}
  .local-footer{padding-top:50px}
  .local-footer-links{grid-template-columns:1fr}
  .local-footer-legal{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.local-primary{transition:none}.local-primary:hover{transform:none}}

/* 408-LOCAL-1.3 — Merchant Discovery Directory */
.local-directory{padding-top:88px;padding-bottom:96px}
.local-directory-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:34px;padding-bottom:20px;border-bottom:1px solid #dfe6ef}
.local-filter-scroll{display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px;max-width:100%;-webkit-overflow-scrolling:touch}
.local-filter-scroll::-webkit-scrollbar{display:none}
.local-filter{min-height:44px;appearance:none;border:1px solid #ced8e5;background:#fff;color:#53647b;border-radius:999px;padding:10px 17px;font:inherit;font-size:.86rem;font-weight:900;white-space:nowrap;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}
.local-filter:hover{border-color:#8ca2bb;color:#061f48;transform:translateY(-1px)}
.local-filter:focus-visible{outline:3px solid rgba(25,101,255,.28);outline-offset:2px}
.local-filter.is-active,.local-filter[aria-pressed="true"]{border-color:#061f48;background:#061f48;color:#fff}
.local-directory-status{margin:0 0 7px;color:#607187;font-size:.84rem;font-weight:800;white-space:nowrap}
.local-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;min-height:250px}
.local-directory-loading{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;width:100%}
.local-directory-loading span{display:block;min-height:390px;border-radius:25px;background:linear-gradient(105deg,#f2f5f8 20%,#fafbfd 35%,#f2f5f8 50%);background-size:200% 100%;animation:local-directory-shimmer 1.3s linear infinite}
@keyframes local-directory-shimmer{to{background-position:-200% 0}}
.local-merchant-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;border:1px solid #dfe6ef;border-radius:25px;background:#fff;box-shadow:0 16px 42px rgba(6,31,72,.07)}
.local-merchant-card--featured{border-color:#a8c6b4;box-shadow:0 18px 48px rgba(6,31,72,.09)}
.local-merchant-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e9eef4}
.local-merchant-photo{width:100%;height:100%;object-fit:cover;display:block}
.local-merchant-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 75% 15%,rgba(151,230,182,.75),transparent 31%),linear-gradient(145deg,#061f48,#113a72);color:#fff}
.local-merchant-placeholder span{font-size:clamp(2.25rem,6vw,4rem);font-weight:950;letter-spacing:-.06em;opacity:.92}
.local-merchant-media-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px;background:linear-gradient(to bottom,rgba(2,19,44,.28),transparent 48%)}
.local-merchant-category{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#061f48;font-size:.69rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 5px 16px rgba(6,31,72,.12)}
.local-merchant-logo{max-width:94px;max-height:48px;width:auto;height:auto;object-fit:contain;padding:6px;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(6,31,72,.12)}
.local-merchant-body{display:flex;flex-direction:column;flex:1;padding:23px}
.local-merchant-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#66778d;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.local-featured-badge{color:#116633;background:#eaf7ef;border-radius:999px;padding:5px 8px;font-size:.64rem;font-weight:950;letter-spacing:.05em}
.local-merchant-body h3{margin:0;color:#061f48;font-size:1.45rem;line-height:1.13;letter-spacing:-.03em}
.local-merchant-short{margin:11px 0 18px;color:#5c6c81;line-height:1.55}
.local-perk-state{margin-top:auto;padding:16px;border-radius:18px;background:#f0f8f3;border:1px solid #d3ecdc}
.local-perk-state>span{display:block;margin-bottom:7px;color:#18723f;font-size:.66rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.local-perk-state strong{display:block;color:#061f48;line-height:1.25}
.local-perk-state p{margin:6px 0 0;color:#52677a;font-size:.85rem;line-height:1.45}
.local-perk-state--quiet{background:#f7f9fb;border-color:#e2e8ef}
.local-perk-state--quiet>span{color:#6f7f91}
.local-merchant-disclosure{margin-top:16px;border-top:1px solid #e6ebf1;padding-top:14px}
.local-merchant-disclosure summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:#061f48;font-size:.86rem;font-weight:900;cursor:pointer;list-style:none}
.local-merchant-disclosure summary::-webkit-details-marker{display:none}
.local-merchant-disclosure summary::after{content:'+';display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf2f7;font-size:1rem;transition:transform .16s ease}
.local-merchant-disclosure[open] summary::after{transform:rotate(45deg)}
.local-merchant-detail-panel{padding:6px 0 4px;color:#5c6c81;font-size:.88rem;line-height:1.55}
.local-merchant-detail-panel p{margin:8px 0}
.local-merchant-address strong{color:#263b56}
.local-merchant-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:13px}
.local-merchant-links a{color:#0c4d98;font-weight:900;text-decoration:none}
.local-merchant-links a:hover{text-decoration:underline}
.local-independent-offer{padding-top:12px;border-top:1px solid #e5ebf1;color:#778699;font-size:.75rem}
.local-directory-empty{grid-column:1/-1;display:grid;justify-items:start;align-content:center;min-height:280px;padding:36px;border:1px dashed #bdc9d8;border-radius:25px;background:#f8fafc;color:#5c6c81}
.local-directory-empty-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#061f48;color:#fff;font-weight:950;letter-spacing:-.04em}
.local-directory-empty h3{margin:18px 0 8px;color:#061f48;font-size:1.45rem;letter-spacing:-.025em}
.local-directory-empty p{margin:0;max-width:700px;line-height:1.58}
.local-directory-empty-note{margin-top:8px!important;color:#7b899a;font-size:.79rem}
.local-directory-empty--error{border-style:solid;border-color:#efc9ca;background:#fff8f8}
.local-directory-note{display:flex;gap:12px;align-items:flex-start;margin-top:20px;color:#64758a;font-size:.79rem;line-height:1.5}
.local-directory-note strong{color:#2e435e;white-space:nowrap}
@media(max-width:1000px){
  .local-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .local-directory-loading{grid-template-columns:repeat(2,1fr)}
  .local-directory-loading span:nth-child(3){display:none}
}
@media(max-width:720px){
  .local-directory{padding-top:64px;padding-bottom:72px}
  .local-directory-toolbar{display:block;margin-top:24px}
  .local-filter-scroll{margin-inline:-17px;padding-inline:17px;scroll-padding-inline:17px}
  .local-directory-status{margin:12px 2px 0;white-space:normal}
  .local-directory-grid{grid-template-columns:1fr;gap:17px;margin-top:22px}
  .local-directory-loading{grid-template-columns:1fr}
  .local-directory-loading span{min-height:360px}
  .local-directory-loading span:nth-child(n+2){display:none}
  .local-merchant-body{padding:20px}
  .local-directory-empty{padding:26px 22px;min-height:260px}
  .local-directory-note{display:block}
  .local-directory-note strong{display:block;margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.local-filter{transition:none}.local-filter:hover{transform:none}.local-directory-loading span{animation:none}}

/* 408-LOCAL-1.4 — Merchant Perk Detail + Redemption */
.local-merchant-open{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;margin-top:14px;padding:12px 14px;border-radius:14px;background:#061f48;color:#fff;text-decoration:none;font-size:.86rem;font-weight:950}
.local-merchant-open:hover{background:#0b356f}
.local-merchant-open:focus-visible{outline:3px solid rgba(25,101,255,.28);outline-offset:2px}
.local-detail-page main{background:linear-gradient(180deg,#f7fafc 0,#fff 42%)}
.local-detail-shell{width:min(1120px,calc(100% - 42px));margin-inline:auto;padding:clamp(56px,7vw,88px) 0 100px}
.local-detail-back{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-bottom:28px;color:#334961;font-weight:900;text-decoration:none}
.local-detail-back:hover{color:#d71920}
.local-detail-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(34px,6vw,72px);align-items:center}
.local-detail-media{position:relative;overflow:hidden;aspect-ratio:1.08/1;border-radius:30px;background:#e9eef4;box-shadow:0 25px 70px rgba(6,31,72,.13)}
.local-detail-photo{width:100%;height:100%;display:block;object-fit:cover}
.local-detail-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 78% 17%,rgba(151,230,182,.8),transparent 28%),radial-gradient(circle at 16% 80%,rgba(215,25,32,.18),transparent 27%),linear-gradient(145deg,#061f48,#113a72);color:#fff}
.local-detail-placeholder span{font-size:clamp(4rem,10vw,8rem);font-weight:950;letter-spacing:-.08em;opacity:.94}
.local-detail-logo{position:absolute;left:24px;bottom:24px;max-width:160px;max-height:76px;width:auto;height:auto;padding:10px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(6,31,72,.18)}
.local-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}
.local-detail-meta span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;background:#edf3f8;color:#40566e;font-size:.7rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.local-detail-copy h1{margin:0;color:#061f48;font-size:clamp(3.1rem,6.3vw,6.4rem);line-height:.91;letter-spacing:-.067em}
.local-detail-lead{margin:24px 0 0;color:#324b65;font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.63;font-weight:750}
.local-detail-description{margin:17px 0 0;color:#64758a;line-height:1.7}
.local-detail-address{display:flex;gap:18px;align-items:flex-start;margin:24px 0 0;padding-top:20px;border-top:1px solid #dfe6ef;color:#617287;line-height:1.45}
.local-detail-address strong{min-width:48px;color:#243b57}
.local-detail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.local-detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border:1px solid #d4deea;border-radius:12px;background:#fff;color:#0c4d98;text-decoration:none;font-size:.84rem;font-weight:900}
.local-detail-link:hover{border-color:#8da6c1}
.local-detail-perk{position:relative;overflow:hidden;margin-top:70px;padding:clamp(30px,5vw,54px);border:1px solid #cde8d7;border-radius:28px;background:radial-gradient(circle at 93% 5%,rgba(151,230,182,.62),transparent 24%),linear-gradient(145deg,#f8fcfa,#eef8f2);box-shadow:0 22px 60px rgba(6,31,72,.08)}
.local-detail-perk h2{max-width:860px;margin:11px 0 0;color:#061f48;font-size:clamp(2.5rem,5.4vw,5.2rem);line-height:.95;letter-spacing:-.058em}
.local-detail-perk-summary{max-width:800px;margin:20px 0 0;color:#486378;font-size:1.06rem;line-height:1.68}
.local-detail-perk-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}
.local-detail-perk-actions span{color:#60758a;font-size:.83rem;font-weight:800}
.local-use-perk{appearance:none;border:0;font:inherit;cursor:pointer;min-width:210px}
.local-detail-terms{margin-top:30px;padding-top:22px;border-top:1px solid #cfe2d5;color:#5d7183;line-height:1.58}
.local-detail-terms strong{display:block;color:#233e58;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}
.local-detail-terms p{margin:8px 0 0}
.local-independent-offer--detail{margin:18px 0 0;padding-top:16px;border-color:#cfe2d5;line-height:1.55}
.local-detail-perk--quiet{border-color:#dfe6ef;background:#f7f9fb;box-shadow:none}
.local-detail-perk--quiet h2{font-size:clamp(2.2rem,4.5vw,4.4rem)}
.local-detail-perk--quiet>p:last-child{max-width:760px;color:#607187;line-height:1.65}
.local-detail-boundary{margin-top:22px;padding:20px 22px;border-left:4px solid #d71920;background:#f7f9fb;color:#617287;line-height:1.58}
.local-detail-boundary strong{display:block;color:#263e59;margin-bottom:5px}
.local-detail-boundary p{margin:0}
.local-detail-loading{display:grid;grid-template-columns:.93fr 1.07fr;gap:60px;align-items:center;min-height:570px}
.local-detail-loading-media{aspect-ratio:1.08/1;border-radius:30px;background:linear-gradient(105deg,#e9eef3 20%,#f7f9fb 35%,#e9eef3 50%);background-size:200% 100%;animation:local-directory-shimmer 1.3s linear infinite}
.local-detail-loading-copy{display:grid;gap:18px}
.local-detail-loading-copy span{display:block;height:18px;border-radius:8px;background:#e9eef3}
.local-detail-loading-copy span:first-child{width:38%;height:28px}
.local-detail-loading-copy span:nth-child(2){width:92%;height:86px}
.local-detail-loading-copy span:nth-child(3){width:100%;height:58px}
.local-detail-loading-copy span:nth-child(4){width:70%;height:44px}
.local-detail-unavailable{max-width:760px;margin-inline:auto;padding:72px 0;text-align:center}
.local-detail-unavailable h1{margin:14px 0 18px;color:#061f48;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.95;letter-spacing:-.06em}
.local-detail-unavailable>p:not(.local-kicker){max-width:640px;margin:0 auto 28px;color:#607187;line-height:1.68}
.local-detail-unavailable .local-primary{display:inline-flex;width:auto}
.local-detail-unavailable--error .local-kicker{color:#b4171c}
.local-footer--detail{margin-top:0}
.local-redemption-dialog{width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:28px;background:transparent;color:#061f48;box-shadow:0 30px 100px rgba(0,0,0,.36);overflow:auto}
.local-redemption-dialog::backdrop{background:rgba(2,15,35,.74);backdrop-filter:blur(7px)}
.local-redemption-card{position:relative;padding:clamp(28px,5vw,48px);border-radius:28px;background:#fff;overflow:hidden}
.local-redemption-card:before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,#d71920 0 31%,#1965ff 31% 62%,#061f48 62%)}
.local-redemption-close{position:absolute;top:19px;right:19px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9e1e9;border-radius:50%;background:#fff;color:#304a64;font:inherit;font-size:1.6rem;line-height:1;cursor:pointer}
.local-redemption-close:hover{background:#f3f6f9}
.local-redemption-brand{display:flex;align-items:baseline;gap:7px;padding-right:56px;font-weight:950;letter-spacing:-.025em}
.local-redemption-brand span{color:#d71920;font-size:1.3rem}
.local-redemption-brand strong{color:#061f48;font-size:.8rem;letter-spacing:.08em}
.local-redemption-instruction{margin:34px 0 8px;color:#708096;font-size:.72rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.local-redemption-card h2{margin:0;color:#061f48;font-size:clamp(2.4rem,7vw,4.8rem);line-height:.94;letter-spacing:-.06em}
.local-redemption-offer{margin-top:26px;padding:24px;border:1px solid #cee8d7;border-radius:20px;background:#f0f9f3}
.local-redemption-headline{margin:0;color:#061f48;font-size:clamp(1.55rem,4vw,2.35rem);font-weight:950;line-height:1.08;letter-spacing:-.035em}
.local-redemption-summary{margin:10px 0 0;color:#4e6879;line-height:1.55}
.local-redemption-ready{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:9px 12px;border-radius:999px;background:#e9f8ee;color:#126e39;font-size:.8rem;font-weight:950}
.local-redemption-ready span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#187a42;color:#fff}
.local-redemption-terms{margin-top:26px;padding-top:20px;border-top:1px solid #e0e6ed;color:#5f7184;line-height:1.55}
.local-redemption-terms strong{color:#263e59;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.local-redemption-terms p{margin:8px 0 0}
.local-redemption-independent{margin:18px 0 0;color:#435970;font-size:.8rem;font-weight:850;line-height:1.5}
.local-redemption-note{margin:12px 0 0;color:#7b8999;font-size:.74rem;line-height:1.48}
.local-redemption-done{width:100%;margin-top:22px;appearance:none;font:inherit;cursor:pointer}
@media(max-width:840px){
  .local-detail-grid,.local-detail-loading{grid-template-columns:1fr;gap:32px}
  .local-detail-media{aspect-ratio:16/11}
  .local-detail-loading{min-height:0}
  .local-detail-loading-media{aspect-ratio:16/11}
}
@media(max-width:720px){
  .local-detail-shell{width:min(100% - 34px,1120px);padding:42px 0 72px}
  .local-detail-back{margin-bottom:20px}
  .local-detail-media{border-radius:22px}
  .local-detail-logo{left:16px;bottom:16px;max-width:130px;max-height:64px}
  .local-detail-copy h1{font-size:clamp(3rem,15vw,5.2rem)}
  .local-detail-perk{margin-top:42px;padding:28px 22px;border-radius:22px}
  .local-detail-perk-actions{align-items:stretch}
  .local-use-perk{width:100%;min-width:0}
  .local-detail-perk-actions span{width:100%;text-align:center}
  .local-detail-unavailable{padding:46px 0}
  .local-redemption-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:23px}
  .local-redemption-card{padding:30px 20px 24px;border-radius:23px}
  .local-redemption-close{top:14px;right:14px}
  .local-redemption-instruction{margin-top:40px}
}
@media(prefers-reduced-motion:reduce){.local-detail-loading-media{animation:none}}

/* 408-LOCAL-1.5 — Merchant Join Flow */
.local-join-page{background:#fff}
.local-join-hero{background:radial-gradient(circle at 90% 5%,rgba(151,230,182,.42),transparent 25%),radial-gradient(circle at 4% 78%,rgba(215,25,32,.07),transparent 25%),linear-gradient(140deg,#f8fbfd,#eef5fa);border-bottom:1px solid #dfe8f0}
.local-join-hero-inner{width:min(1180px,calc(100% - 42px));margin-inline:auto;min-height:620px;padding:clamp(72px,9vw,118px) 0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);gap:clamp(48px,8vw,96px);align-items:center}
.local-join-hero h1{max-width:820px;margin:15px 0 24px;color:#061f48;font-size:clamp(3.6rem,7vw,7rem);line-height:.9;letter-spacing:-.068em}
.local-join-lead{max-width:760px;margin:0;color:#4f6379;font-size:clamp(1.06rem,1.55vw,1.28rem);line-height:1.72}
.local-join-principles{padding:30px;border:1px solid rgba(6,31,72,.12);border-radius:25px;background:rgba(255,255,255,.92);box-shadow:0 24px 70px rgba(6,31,72,.12)}
.local-join-principles>strong{display:block;margin:20px 0 14px;color:#061f48;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.02;letter-spacing:-.045em}
.local-join-principles ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.local-join-principles li{position:relative;padding:14px 15px 14px 40px;border-radius:14px;background:#f5f8fb;color:#53697f;line-height:1.48}
.local-join-principles li:before{content:"✓";position:absolute;left:14px;top:14px;color:#15743d;font-weight:950}
.local-join-explainer{padding-bottom:70px}
.local-join-section{padding-top:42px}
.local-join-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(42px,7vw,82px);align-items:start}
.local-join-context{position:sticky;top:110px}
.local-join-context h2{margin:12px 0 20px;color:#061f48;font-size:clamp(2.9rem,5vw,5rem);line-height:.96;letter-spacing:-.057em}
.local-join-context>p:not(.local-kicker){margin:0;color:#5a6e83;line-height:1.7}
.local-join-boundary{margin-top:26px;padding:23px;border:1px solid #dfe7ef;border-radius:19px;background:#f8fafc}
.local-join-boundary strong{display:block;color:#243e5b;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.local-join-boundary ul{padding-left:19px;margin:14px 0 0;color:#607287;line-height:1.58}
.local-join-boundary li+li{margin-top:8px}
.local-join-form-card{padding:clamp(24px,4vw,42px);border:1px solid #dce5ed;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(6,31,72,.1)}
.local-form-section{margin:0;padding:0 0 30px;border:0}
.local-form-section+.local-form-section{padding-top:30px;border-top:1px solid #e1e8ef}
.local-form-section legend{display:block;width:100%;margin:0 0 20px;color:#061f48;font-size:1.3rem;font-weight:950;letter-spacing:-.025em}
.local-form-grid{display:grid;gap:18px}
.local-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.local-field--wide{grid-column:1/-1}
.local-field{display:flex;flex-direction:column;gap:8px}
.local-field label{color:#253f5a;font-size:.87rem;font-weight:900}
.local-field input,.local-field select,.local-field textarea{width:100%;min-height:50px;padding:12px 13px;border:1px solid #cfd9e3;border-radius:12px;background:#fff;color:#122f4e;font:inherit;font-size:1rem;line-height:1.35;box-sizing:border-box}
.local-field textarea{min-height:116px;resize:vertical}
.local-field input::placeholder,.local-field textarea::placeholder{color:#8998a8}
.local-field input:focus,.local-field select:focus,.local-field textarea:focus{outline:3px solid rgba(25,101,255,.16);outline-offset:1px;border-color:#5b83b1}
.local-field-help{margin:0;color:#718196;font-size:.78rem;line-height:1.48}
.local-form-section--ack{padding-bottom:22px}
.local-check-row{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid #dce5ed;border-radius:15px;background:#f9fbfc;color:#596d82;line-height:1.52;cursor:pointer}
.local-check-row+.local-check-row{margin-top:12px}
.local-check-row input{width:20px;height:20px;margin:1px 0 0;accent-color:#0a5c2e}
.local-check-row strong{color:#203b58}
.local-form-privacy,.local-form-footnote{color:#6b7d91;font-size:.78rem;line-height:1.55}
.local-form-privacy{margin:0 0 17px}
.local-form-privacy a{color:#0b4c94;font-weight:850}
.local-form-footnote{margin:12px 0 0;text-align:center}
.local-join-submit{width:100%;border:0;font:inherit;cursor:pointer;font-weight:950}
.local-join-submit:disabled{cursor:wait;opacity:.68;transform:none}
.local-form-status{min-height:24px;margin:0 0 10px;font-size:.83rem;font-weight:850;line-height:1.45}
.local-form-status[data-state="error"]{color:#a4151a}
.local-form-status[data-state="working"]{color:#365675}
.local-form-status[data-state="success"]{color:#126e39}
.local-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.local-join-thanks-main{min-height:68vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,rgba(151,230,182,.32),transparent 24%),linear-gradient(145deg,#f8fbfd,#eef5fa)}
.local-join-thanks{width:min(760px,calc(100% - 42px));margin:60px auto;padding:clamp(34px,6vw,64px);border:1px solid #dce5ed;border-radius:30px;background:#fff;text-align:center;box-shadow:0 24px 75px rgba(6,31,72,.12)}
.local-join-thanks-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 20px;border-radius:50%;background:#e8f7ed;color:#13713a;font-size:1.7rem;font-weight:950}
.local-join-thanks h1{margin:13px auto 20px;color:#061f48;font-size:clamp(3rem,6vw,5.7rem);line-height:.94;letter-spacing:-.06em}
.local-join-thanks>p:not(.local-kicker){max-width:650px;margin:0 auto;color:#5d7185;line-height:1.7}
.local-join-thanks-actions{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:30px}
@media(max-width:960px){
  .local-join-hero-inner,.local-join-layout{grid-template-columns:1fr}
  .local-join-principles{max-width:720px}
  .local-join-context{position:static}
}
@media(max-width:720px){
  .local-join-hero-inner{width:calc(100% - 34px);min-height:auto;padding:64px 0}
  .local-join-hero h1{font-size:clamp(3rem,15vw,4.5rem)}
  .local-join-section{padding-top:24px}
  .local-join-form-card{padding:22px 17px;border-radius:22px}
  .local-form-grid--two{grid-template-columns:1fr}
  .local-field--wide{grid-column:auto}
  .local-field input,.local-field select,.local-field textarea{font-size:16px}
  .local-check-row{grid-template-columns:24px 1fr;padding:15px 13px}
  .local-join-submit{min-height:56px}
  .local-join-thanks-actions{display:grid}
  .local-join-thanks-actions .local-primary,.local-join-thanks-actions .local-secondary{width:100%}
}
@media(prefers-reduced-motion:reduce){.local-join-submit,.local-join-page .local-primary{transition:none!important}}


/* 408-LOCAL-1.7 — optional insurance conversion bridge */
.local-insurance-bridge{max-width:1160px;margin:28px auto 0;padding:30px;border:1px solid rgba(6,31,72,.12);border-radius:24px;background:linear-gradient(135deg,#f7f9fd 0%,#fff 62%);box-shadow:0 18px 42px rgba(6,31,72,.08);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr);gap:30px;align-items:center}
.local-insurance-bridge h2{margin:5px 0 10px;color:#061f48;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.06;letter-spacing:-.035em}
.local-insurance-bridge-copy>p:not(.local-kicker):not(.local-insurance-bridge-boundary){margin:0;color:#40516c;line-height:1.65;max-width:720px}
.local-insurance-bridge-boundary{margin:16px 0 0;padding:13px 15px;border-left:3px solid #c9142d;background:#fff;border-radius:0 12px 12px 0;color:#42516a;line-height:1.55;font-size:.94rem}
.local-insurance-bridge-boundary strong{color:#061f48}
.local-insurance-bridge-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.local-insurance-bridge-actions .local-primary,.local-insurance-bridge-actions .local-secondary{min-height:48px;justify-content:center;text-align:center}
.local-insurance-bridge-actions>span{display:block;text-align:center;color:#68758a;font-size:.82rem;line-height:1.45;padding:0 6px}
.local-insurance-bridge-secondary{background:#fff}
@media (max-width:760px){.local-insurance-bridge{grid-template-columns:1fr;padding:24px;gap:22px;margin-top:22px}.local-insurance-bridge-actions .local-primary,.local-insurance-bridge-actions .local-secondary{width:100%;min-height:48px}}
@media (max-width:430px){.local-insurance-bridge{padding:20px;border-radius:20px}.local-insurance-bridge h2{font-size:1.75rem}}
