/* Cross-surface visual and accessibility refinements. Loaded after page styles. */
:root{--focus:#6f46ff;--shadow-soft:0 24px 70px rgba(20,24,18,.12)}
html{scroll-padding-top:96px}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
::selection{background:var(--lime,#d9ff63);color:#151613}

/* The former grouped rule changed positioned labels and arrows back into flex items,
   causing the overlaps visible in the supplied screenshot. Keep only the stacking fix. */
.route-card>b,.route-card>p,.route-card>span,.route-card>i{z-index:2}
.route-card>span,.route-card>i{position:absolute}
.route-card>b,.route-card>p{position:relative}
.route-card{isolation:isolate;min-width:0}
.route-card>b{max-width:100%;overflow-wrap:normal;text-wrap:balance}
.route-card>p{text-wrap:pretty}
.route-card:after{z-index:0;pointer-events:none}
.platform-route:after{top:42px;right:-42px;width:160px;height:160px;box-shadow:-40px 48px 0 #eee8dc}
.platform-route>b{max-width:100%}
.platform-route>p{max-width:calc(100% - 52px)}
.platform-route>i{width:36px;height:36px;right:20px;bottom:20px;display:grid;place-items:center;border-radius:50%;background:rgba(244,243,238,.96);box-shadow:0 6px 18px rgba(0,0,0,.12);color:#151613}

.header{background:rgba(244,243,238,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.mobile-menu-toggle{display:none;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:20px;cursor:pointer}
.mobile-drawer{display:none}

.conversion-story{max-width:1440px;margin:0 auto 120px;padding:0 max(5vw,50px);display:grid;grid-template-columns:minmax(0,1.13fr) minmax(360px,.87fr);min-height:590px}
.conversion-media{position:relative;overflow:hidden;background:#d8d8cf;min-height:590px}
.conversion-media img{width:100%;height:100%;object-fit:cover;object-position:62% center;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.conversion-story:hover .conversion-media img{transform:scale(1.025)}
.conversion-media span{position:absolute;left:22px;bottom:22px;padding:9px 12px;background:rgba(244,243,238,.9);font:9px var(--mono);letter-spacing:.12em}
.conversion-copy{background:#203b36;color:#f7f6f1;padding:clamp(44px,6vw,84px);display:flex;flex-direction:column;justify-content:center}
.conversion-copy .eyebrow{color:#d9ded8}
.conversion-copy .eyebrow>span{background:var(--lime)}
.conversion-copy h2{font-size:clamp(42px,5vw,70px);text-wrap:balance}
.conversion-copy>p:not(.eyebrow){margin:28px 0;color:#c9d2ce;font-size:14px;line-height:1.8;max-width:520px}
.value-points{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:4px 0 32px;background:#51645c;border:1px solid #51645c}
.value-points span{background:#203b36;padding:15px;font-size:11px;line-height:1.45}
.value-points b{display:block;color:var(--lime);font:9px var(--mono);letter-spacing:.1em;margin-bottom:6px}
.conversion-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.conversion-actions .text-action{color:#fff}

.home-faq{max-width:1440px;margin:auto;padding:115px max(5vw,50px);display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;border-top:1px solid var(--line)}
.home-faq h2{font-size:clamp(42px,5vw,66px);text-wrap:balance}
.home-faq-list details{border-top:1px solid var(--line);padding:20px 0}
.home-faq-list details:last-child{border-bottom:1px solid var(--line)}
.home-faq-list summary{cursor:pointer;font-size:17px;font-weight:750;display:flex;justify-content:space-between;gap:20px;list-style:none}
.home-faq-list summary::-webkit-details-marker{display:none}
.home-faq-list summary:after{content:'+';font:24px/1 Georgia,serif}
.home-faq-list details[open] summary:after{content:'−'}
.home-faq-list p{max-width:720px;margin:16px 0 2px;color:#5f615b;font-size:14px;line-height:1.75}

.post-card-visual{height:220px;margin:-2rem -2rem 2rem;overflow:hidden;background:#d8ddd7}
.post-card-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.post-card:hover .post-card-visual img{transform:scale(1.04)}
.article-cover{margin:0 max(5vw,28px);height:min(54vw,650px);min-height:330px;overflow:hidden;background:#ddd}
.article-cover img{width:100%;height:100%;object-fit:cover;display:block}
.article-cover figcaption{position:absolute;left:-9999px}

/* Member, store and platform admin: improve scanability and control states. */
.member-stats article,.store-card,.store-panel,.admin-card,.admin-metric{box-shadow:0 1px 0 rgba(16,25,19,.03);transition:border-color .2s,box-shadow .2s,transform .2s}
.member-stats article:hover,.store-card:hover,.admin-metric:hover{border-color:#bfc8bd;box-shadow:0 12px 34px rgba(24,40,30,.07);transform:translateY(-2px)}
.admin-nav a,.store-nav a{min-height:42px}
.admin-table td,.admin-table th{font-size:max(10px,.72rem)}
.admin-status{font-size:max(8px,.62rem)}
.store-form input,.store-form select,.store-form textarea,.admin-form input,.admin-form select{min-height:44px}
.submit-button,.store-button,.admin-button{min-height:44px}
.admin-body{background:radial-gradient(circle at 82% 8%,rgba(217,255,99,.18),transparent 24%),var(--admin-paper)}
.admin-gate{position:relative;overflow:hidden;border-radius:18px;box-shadow:var(--shadow-soft);border-color:#d5ddd3}
.admin-gate:after{content:'MI';position:absolute;right:-16px;top:-45px;color:rgba(27,70,58,.06);font:190px/1 Georgia,serif;pointer-events:none}
.admin-gate>*{position:relative;z-index:1}
.admin-topbar,.store-topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:rgba(255,255,255,.92)}
.admin-heading h1,.store-page-head h1{text-wrap:balance}

@media(max-width:1180px){
  .primary-routes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-card{min-height:330px}
  .conversion-story{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  html{scroll-padding-top:76px}
  .header{position:sticky;top:0;z-index:40}
  .header-actions{margin-left:auto}
  .header-actions .button{display:none}
  .mobile-menu-toggle{display:grid;margin-left:12px}
  .member-header .mobile-menu-toggle{color:#f5f5ed;border-color:#4d534d;margin-left:auto}
  .member-header+.mobile-drawer{top:68px}
  .mobile-drawer{position:fixed;inset:76px 0 auto 0;z-index:39;padding:18px 24px 26px;background:#f4f3ee;border-bottom:1px solid var(--line);box-shadow:0 22px 48px #0002}
  .mobile-drawer[hidden]{display:none!important}
  .mobile-drawer:not([hidden]){display:grid}
  .mobile-drawer a{display:flex;align-items:center;justify-content:space-between;min-height:50px;border-top:1px solid var(--line);font-size:16px;font-weight:750}
  .mobile-drawer a:after{content:'↗';font-weight:400}
  body.menu-open{overflow:hidden}
  .conversion-story{grid-template-columns:1fr;margin-bottom:82px;padding:0 26px}
  .conversion-media{min-height:420px}
  .conversion-copy{padding:48px 30px}
  .home-faq{grid-template-columns:1fr;padding:82px 26px;gap:42px}
  .primary-routes{grid-template-columns:1fr}
  .post-card-visual{height:240px}
}
@media(max-width:560px){
  .notice{padding-inline:16px;font-size:8px;text-align:center}
  .brand{font-size:18px}
  .conversion-media{min-height:310px}
  .conversion-media img{object-position:67% center}
  .value-points{grid-template-columns:1fr}
  .conversion-actions{align-items:flex-start;flex-direction:column}
  .route-card{min-height:300px}
  .platform-route:after{top:30px;right:-34px;width:150px;height:150px;box-shadow:-36px 44px 0 #eee8dc}
  .article-cover{margin-inline:0;height:340px}
  .article-cover img{object-position:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
