/* Model-3 reference refinement. Existing tokens and behavior remain authoritative. */
.tap5-home .public-header { background:#090908; border-bottom-color:#ae824336; }
.tap5-home .public-nav { gap:clamp(.7rem,1.4vw,1.5rem); min-height:68px; }
.tap5-home .public-links { flex:0 1 auto; gap:clamp(.7rem,1.25vw,1.4rem); }
.tap5-home .header-location-search { display:flex; align-items:center; flex:1 1 210px; min-width:160px; max-width:320px; height:36px; margin:0 auto; border:1px solid #bd9a6280; border-radius:30px; background:linear-gradient(#242320,#111110); box-shadow:inset 0 1px #fff2; }
.tap5-home .header-location-search input { min-width:0; width:100%; padding:0 .8rem 0 1rem; border:0; outline:none; background:transparent; color:#fff6e4; font-size:.72rem; }
.tap5-home .header-location-search input::placeholder { color:#d0c7b6; }
.tap5-home .header-location-search button { flex:none; width:36px; height:34px; border:0; border-radius:50%; background:none; color:#e9c47c; font-size:1.3rem; cursor:pointer; }
.tap5-home .header-location-search:focus-within { outline:2px solid #e7c277; outline-offset:2px; }
.tap5-home .public-actions { gap:.7rem; margin-left:0; }
.tap5-home .header-cart { display:grid; place-items:center; width:44px; height:44px; color:#e8c277; font-size:1.6rem; }
.tap5-home .header-account { background:linear-gradient(145deg,#ffe2a0,#bb8c3c); border-color:#f6d899; color:#21160a!important; box-shadow:0 4px 20px #d1a35129; }
.tap5-home .header-account:hover { background:#ffe7b3; }
.tap5-home .hero-wrap { padding-top:0; }
.tap5-home .home-hero { min-height: max(710px,calc(100svh - 68px)); border-radius:0 0 1rem 1rem; }
.tap5-home .hero-photo { object-position:54% center; }
.tap5-home .hero-vignette { background:linear-gradient(90deg,#070706e8 0%,#080807b8 32%,#08080722 65%,#08080714 100%),linear-gradient(0deg,#080807 0%,transparent 28%,transparent 80%,#08080738 100%); }
.tap5-home .hero-grid { display:block; min-height:inherit; padding:clamp(2rem,4vw,4rem) clamp(2rem,5vw,5.5rem) 2rem; }
.tap5-home .hero-copy { max-width:46rem; }
.tap5-home .hero-copy h1 { max-width:9ch; margin:.85rem 0 .7rem; font-size:clamp(3.5rem,5.6vw,5.8rem); line-height:.95; }
.tap5-home .hero-description { max-width:28rem; font-size:1rem; line-height:1.5; }
.tap5-home .location-finder { max-width:39rem; margin-top:1.3rem; }
.tap5-home .location-finder label { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.tap5-home .location-search-row { min-height:52px; border-radius:2rem; padding-left:1.2rem; }
.tap5-home .location-search-row button { min-width:46px; width:46px; min-height:46px; border-radius:50%; font-size:0; }
.tap5-home .location-current { margin-top:0; font-size:.72rem; }
.tap5-home .location-message { max-width:30rem; }
.tap5-home .hero-categories { position:absolute; left:clamp(2rem,5vw,5.5rem); right:clamp(2rem,5vw,5.5rem); bottom:4.25rem; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.7rem; margin:0; }
.tap5-home .hero-categories a { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.24rem; min-height:108px; padding:1rem; border-color:#c5a26e52; border-radius:.8rem; background:linear-gradient(135deg,#282620a8,#080808bc); backdrop-filter:blur(12px); box-shadow:inset 0 1px #fff2; }
.tap5-home .hero-categories a span { font-size:1.85rem; line-height:1; }
.tap5-home .hero-categories a strong { color:#fff; font-size:.86rem; }
.tap5-home .hero-categories a small { color:#d6cabb; font-size:.68rem; font-weight:400; }
.tap5-home .hero-bottom { bottom:1.7rem; }
.tap5-home .hero-bottom a { color:#e9c47c; }
.tap5-home .mobile-promo { display:none; }
.tap5-home .public-links a:focus-visible,.tap5-home .header-cart:focus-visible,.tap5-home .header-account:focus-visible { outline:2px solid #e9c47c; outline-offset:3px; }

/* Sign-in, signup and OTP use the same cinematic language, without changing auth APIs. */
.tap5-auth { background:#070706 url('/static/images/tap5/model3-night-delivery-hero.webp') center / cover fixed no-repeat; }
.tap5-auth::before { content:''; position:fixed; inset:0; background:linear-gradient(90deg,#080807ba,#0808074d 48%,#080807c4),linear-gradient(0deg,#080807a8,transparent 50%); pointer-events:none; }
.tap5-auth .auth-header,.tap5-auth .auth-layout,.tap5-auth .verify-layout { position:relative; z-index:1; }
.tap5-auth .auth-layout { display:grid; grid-template-columns:1fr; place-items:center; min-height:calc(100dvh - 76px); padding-bottom:2rem; }
.tap5-auth .auth-story { display:none; }
.tap5-auth .auth-panel { max-width:455px; padding:clamp(1.4rem,3vw,2.4rem); border:1px solid #c4a16a6b; border-radius:1.1rem; background:linear-gradient(150deg,#20201ddf,#070706ed); backdrop-filter:blur(16px); box-shadow:0 25px 70px #000c,inset 0 1px #fff2; }
.tap5-auth .auth-panel-top { text-align:center; }
.tap5-auth .auth-panel h2 { font-size:clamp(1.9rem,3vw,2.6rem); }
.tap5-auth .auth-subtitle { margin-bottom:1.2rem; }
.tap5-auth .auth-google { background:#fff; color:#111; border-color:#fff; }
.tap5-auth .auth-google:hover:not(:disabled) { background:#f3e8d2; }
.tap5-auth .auth-submit { justify-content:center; background:linear-gradient(145deg,#ffe1a3,#c4984b); color:#180f05; }
.tap5-auth .auth-tabs { background:#0d0c0a; }
.tap5-auth .auth-form .tap5-input,.tap5-auth .auth-phone-field,.tap5-auth .auth-password-field { background:#1c1b18cf; }
.tap5-auth .verify-panel { border:1px solid #c4a16a6b; background:#141310e8; backdrop-filter:blur(16px); }
.tap5-auth .verify-panel h1 { color:#fff; font-size:clamp(2rem,4vw,3rem); }
.tap5-phone-verify .verify-layout { display:grid; grid-template-columns:1fr; place-items:center; }
.tap5-phone-verify .verify-panel { max-width:455px; text-align:center; }
.tap5-phone-verify .verify-aside { display:none; }
.tap5-phone-verify .verify-form .tap5-otp { justify-content:center; }

@media(max-width:1050px) {
  .tap5-home .header-location-search { max-width:230px; }
  .tap5-home .public-links { gap:.65rem; }
  .tap5-home .hero-copy h1 { font-size:clamp(3.2rem,5.5vw,4.7rem); }
}
@media(max-width:899px) {
  .tap5-home .public-actions .header-install { display:none; }
  .tap5-home .public-nav { display:grid; grid-template-columns:44px 1fr 44px; gap:.25rem; min-height:64px; }
  .tap5-home .nav-toggle { display:grid!important; grid-column:1; grid-row:1; order:0; border:0; background:none; }
  .tap5-home .wordmark { grid-column:2; grid-row:1; justify-self:center; }
  .tap5-home .public-actions { grid-column:3; grid-row:1; }
  .tap5-home .header-cart { width:44px; height:44px; }
  .tap5-home .header-account,.tap5-home .header-signout,.tap5-home .header-location-search { display:none; }
  .tap5-home .public-links { grid-column:1 / -1; }
  .tap5-home .tap5-nav[data-open='true'] .public-links { left:auto; right:0; top:64px; width:min(84vw,20rem); padding:1.2rem; border-color:#bc95555e; border-radius:0 0 0 1rem; background:linear-gradient(155deg,#1b1a17f8,#070706fc); box-shadow:-20px 22px 50px #000b; }
  .tap5-home .tap5-nav[data-open='true'] .public-links a { display:flex; align-items:center; gap:.7rem; border-bottom:1px solid #ffffff19; }
  .tap5-home .tap5-nav[data-open='true'] .public-links a::before { display:inline-grid; place-items:center; width:1.5rem; color:#e8c277; font-size:1.15rem; }
  .tap5-home .home-hero { min-height:590px; border-radius:0; }
  .tap5-home .hero-photo { height:425px; object-position:79% center; }
  .tap5-home .hero-vignette { background:linear-gradient(90deg,#070706c9 0%,#0707064d 55%,#0707061c),linear-gradient(0deg,#080807 12%,transparent 42%,#08080736 100%); }
  .tap5-home .hero-grid { min-height:590px; padding:3rem 1rem 2rem; }
  .tap5-home .hero-copy { min-height:0; }
  .tap5-home .hero-copy h1 { max-width:8ch; margin:.65rem 0 .6rem; font-size:clamp(2.65rem,10vw,4rem); }
  .tap5-home .hero-description { max-width:19rem; font-size:.85rem; }
  .tap5-home .location-finder { margin-top:2.4rem; }
  .tap5-home .hero-categories { position:relative; left:auto; right:auto; bottom:auto; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.25rem; margin-top:2rem; }
  .tap5-home .hero-categories a { min-height:74px; align-items:center; justify-content:center; gap:.15rem; padding:.35rem .1rem; border-color:#b392534a; background:#141310d9; text-align:center; }
  .tap5-home .hero-categories a span { font-size:1.45rem; }
  .tap5-home .hero-categories a strong { font-size:.61rem; }
  .tap5-home .hero-categories a small { display:none; }
  .tap5-home .hero-bottom { display:none; }
  .tap5-home .mobile-promo { position:relative; display:block; height:170px; overflow:hidden; margin:0 1rem; border:1px solid #c5a26e7d; border-radius:.85rem; color:#fff; background:#17130c; }
  .tap5-home .mobile-promo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:63% center; }
  .tap5-home .mobile-promo::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#070706ea,#07070682 55%,transparent); }
  .tap5-home .mobile-promo-copy { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.7rem; height:100%; padding:1rem; }
  .tap5-home .mobile-promo-copy strong { max-width:12rem; color:#fff; font-size:1.1rem; line-height:1.2; }
  .tap5-home .mobile-promo-copy span { padding:.4rem .7rem; border-radius:2rem; background:linear-gradient(145deg,#ffe1a3,#c4984b); color:#171009; font-size:.7rem; font-weight:800; }
  .tap5-home .discovery-section { padding-top:2rem; }
  .tap5-auth { background-attachment:scroll; }
  .tap5-auth .auth-layout { min-height:calc(100dvh - 64px); padding:1rem; }
  .tap5-auth .auth-panel { max-width:480px; margin:auto; border-radius:1rem; }
}
@media(max-width:390px) {
  .tap5-home .hero-copy > .eyebrow {
    padding-right:76px;
    white-space:normal;
    line-height:1.6;
  }
  .tap5-home .hero-copy h1 { font-size:2.6rem; }
  .tap5-home .hero-description { max-width:17rem; }
  .tap5-home .location-finder { margin-top:2rem; }
  .tap5-home .hero-categories a strong { font-size:.56rem; }
}
@media(prefers-reduced-motion:reduce) { .tap5-home *, .tap5-auth * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Current platform homepage: one search, clear commerce-to-delivery story. */
.tap5-home .header-location-search { justify-content:space-between; gap:.6rem; min-height:44px; padding:0 .65rem 0 1rem; color:#d8d0c0; text-align:left; cursor:pointer; }
.tap5-home .header-location-search span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; }
.tap5-home .header-location-search .ui-icon { flex:none; color:#e9c47c; }
.tap5-home .home-hero { min-height:max(790px,calc(100svh - 68px)); }
.tap5-home .hero-copy { max-width:49rem; }
.tap5-home .hero-copy h1 { max-width:12ch; font-size:clamp(3.45rem,5.3vw,6rem); line-height:1.01; }
.tap5-home .hero-copy h1 em { white-space:nowrap; }
.tap5-home .hero-description { max-width:37rem; font-size:clamp(1rem,1.2vw,1.1rem); line-height:1.58; }
.tap5-home .hero-journey { display:flex; flex-wrap:wrap; gap:.5rem; max-width:42rem; margin:.8rem 0 0; color:#f3e8d1; font-size:.74rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.tap5-home .hero-journey span { color:#d4a95c; }
.tap5-home .location-finder { margin-top:1.05rem; }
.tap5-home .location-current { display:inline-flex; align-items:center; gap:.3rem; }
.tap5-home .hero-categories { bottom:3.4rem; }
.tap5-home .hero-categories a strong { font-size:.82rem; line-height:1.2; }
.tap5-home .platform-section { padding-block:clamp(4rem,7vw,7rem); }
.tap5-home .platform-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:1.6rem 0 2rem; counter-reset:step; }
.tap5-home .platform-flow span { position:relative; min-height:54px; padding:.9rem 1rem .9rem 2.65rem; border:1px solid #c7a35b55; border-radius:.7rem; background:linear-gradient(125deg,#25231d,#11110f); color:#f2e8d6; font-size:.78rem; font-weight:650; }
.tap5-home .platform-flow span::before { counter-increment:step; content:counter(step,decimal-leading-zero); position:absolute; left:.8rem; color:#e7be75; font-size:.65rem; }
.tap5-home .platform-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tap5-home .platform-grid article { display:flex; flex-direction:column; align-items:flex-start; min-height:230px; padding:1.5rem; border:1px solid #c7a35b4a; border-radius:1rem; background:linear-gradient(155deg,#242119,#11110e 72%); box-shadow:inset 0 1px #fff1; }
.tap5-home .platform-grid .ui-icon { width:1.65rem; height:1.65rem; margin-bottom:1.35rem; color:#e9c47c; }
.tap5-home .platform-grid h3 { margin:0 0 .45rem; color:#fff7e8; font-size:1.08rem; letter-spacing:-.02em; }
.tap5-home .platform-grid p { margin:0 0 1rem; color:#cfc7b8; font-size:.83rem; line-height:1.6; }
.tap5-home .platform-grid a,.tap5-home .platform-grid button { margin-top:auto; padding:.3rem 0; border:0; background:none; color:#ebc781; font:inherit; font-size:.8rem; font-weight:750; text-decoration:underline; text-underline-offset:.25em; cursor:pointer; }
.tap5-home .platform-install { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin:1.2rem 0 0; color:#bdb3a4; font-size:.78rem; }
.tap5-home .platform-install button { min-height:44px; padding:.55rem .85rem; border:1px solid #d0aa64; border-radius:.5rem; background:#282115; color:#f4d08b; cursor:pointer; }
.tap5-home .platform-grid :is(a,button):focus-visible,.tap5-home .header-location-search:focus-visible { outline:2px solid #f0ca81; outline-offset:3px; }
.tap5-home .mobile-nav-action { width:100%; min-height:44px; padding:.8rem 1rem; border:0; border-bottom:1px solid #ffffff19; background:none; color:#f1e6d2; font-size:.91rem; text-align:left; cursor:pointer; }
html[data-tap5-theme="light"] .tap5-home .platform-section { color:#211d16; }
html[data-tap5-theme="light"] .tap5-home .section-heading .eyebrow { color:#76521b; }
html[data-tap5-theme="light"] .tap5-home .platform-section .section-heading>p { color:#524b40; }
html[data-tap5-theme="light"] .tap5-home .platform-grid article,html[data-tap5-theme="light"] .tap5-home .platform-flow span { box-shadow:0 10px 30px #0002; }
/* Dark/gold homepage bands keep their deliberate dark surface in light theme. */
html[data-tap5-theme="light"] .tap5-home .story-section,
html[data-tap5-theme="light"] .tap5-home .closing-panel { color:#f5efe2; }
html[data-tap5-theme="light"] .tap5-home .story-section .story-list h3,
html[data-tap5-theme="light"] .tap5-home .closing-panel h2 { color:#fffaf0; }
html[data-tap5-theme="light"] .tap5-home .story-section .story-list p,
html[data-tap5-theme="light"] .tap5-home .closing-panel p:last-child { color:#d2c9b9; }
@media(max-width:1050px) { .tap5-home .platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:899px) {
  .tap5-home .home-hero { min-height:680px; }
  .tap5-home .hero-grid { min-height:680px; }
  .tap5-home .hero-copy h1 { max-width:11ch; font-size:clamp(2.7rem,8.8vw,4rem); }
  .tap5-home .hero-copy h1 em { white-space:normal; }
  .tap5-home .hero-description { max-width:23rem; font-size:.88rem; }
  .tap5-home .hero-journey { max-width:23rem; font-size:.6rem; }
  .tap5-home .location-finder { margin-top:1.2rem; }
  .tap5-home .hero-categories { bottom:auto; margin-top:1.5rem; }
  .tap5-home .platform-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .tap5-home .platform-grid { grid-template-columns:1fr; }
  .tap5-home .platform-grid article { min-height:0; }
  .tap5-home .platform-flow span { font-size:.7rem; }
  .tap5-home .hero-categories a strong { font-size:.58rem; }
}
@media(max-width:360px) { .tap5-home .hero-copy h1 { font-size:2.55rem; } .tap5-home .hero-journey { gap:.3rem; font-size:.55rem; } }


/* Premium 3D glass visual language for the public TAP5 experience. */
.tap5-home .glass-icon-shell,
.tap5-home .flow-icon,
.tap5-home .hero-ai-orb {
  position:relative;
  display:grid;
  place-items:center;
  flex:none;
  isolation:isolate;
  overflow:hidden;
  border:1px solid #f0c67578;
  background:
    radial-gradient(circle at 28% 18%,#fff8 0 4%,transparent 24%),
    linear-gradient(145deg,#e8bd6747 0%,#6d4a172e 34%,#0e0d0be8 72%);
  box-shadow:
    inset 0 1px 0 #fff7,
    inset 0 -8px 18px #0009,
    0 10px 24px #0008,
    0 0 0 1px #8f672d28;
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
}
.tap5-home .glass-icon-shell::before,
.tap5-home .flow-icon::before,
.tap5-home .hero-ai-orb::before {
  content:'';
  position:absolute;
  inset:7% 11% auto 11%;
  height:34%;
  border-radius:999px;
  background:linear-gradient(180deg,#fff6,transparent);
  filter:blur(.5px);
  pointer-events:none;
}
.tap5-home .glass-icon-shell::after,
.tap5-home .flow-icon::after,
.tap5-home .hero-ai-orb::after {
  content:'';
  position:absolute;
  inset:auto 13% 9% 13%;
  height:18%;
  border-radius:50%;
  background:#d9a94b42;
  filter:blur(7px);
  pointer-events:none;
}
.tap5-home .glass-icon-shell {
  width:3.25rem;
  height:3.25rem;
  border-radius:1rem;
  transform:perspective(500px) rotateX(7deg) rotateY(-6deg);
}
.tap5-home .glass-icon-shell .ui-icon {
  position:relative;
  z-index:1;
  width:1.85rem;
  height:1.85rem;
  color:#f2c86f;
  filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 7px #dca84655);
}
.tap5-home .hero-categories a {
  overflow:hidden;
  position:relative;
  transform:translateZ(0);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.tap5-home .hero-categories a::after {
  content:'';
  position:absolute;
  inset:-45% auto auto -20%;
  width:55%;
  height:180%;
  background:linear-gradient(90deg,transparent,#fff2,transparent);
  transform:rotate(18deg);
  transition:translate .42s ease;
  pointer-events:none;
}
.tap5-home .hero-categories a:hover,
.tap5-home .hero-categories a:focus-visible {
  transform:translateY(-4px);
  border-color:#f0c875a8;
  background:linear-gradient(145deg,#332b1db8,#0b0a09e8);
  box-shadow:inset 0 1px #fff3,0 16px 34px #0009,0 0 24px #c7973a1f;
}
.tap5-home .hero-categories a:hover::after { translate:240% 0; }

.tap5-home .hero-ai-glass {
  display:flex;
  align-items:center;
  gap:.8rem;
  width:min(100%,31rem);
  min-height:64px;
  margin-top:.85rem;
  padding:.55rem .7rem;
  border:1px solid #e9bf726e;
  border-radius:1.15rem;
  background:
    radial-gradient(circle at 18% 0%,#eac26b24,transparent 42%),
    linear-gradient(135deg,#252117c9,#0b0a09dd);
  color:#fff5e1;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 1px #fff4,0 18px 42px #0008,0 0 34px #b7852d14;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tap5-home .hero-ai-glass:hover,
.tap5-home .hero-ai-glass:focus-visible {
  transform:translateY(-2px);
  border-color:#f6d58ea8;
  box-shadow:inset 0 1px #fff5,0 22px 48px #000a,0 0 32px #d6a04425;
}
.tap5-home .hero-ai-orb {
  width:3rem;
  height:3rem;
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 24%,#fff9 0 5%,transparent 22%),
    radial-gradient(circle at 52% 62%,#d19c3e8a,transparent 58%),
    linear-gradient(145deg,#efd27b78,#25180bbf);
  box-shadow:inset 0 2px 4px #fff7,inset 0 -10px 18px #0008,0 0 0 1px #f3cb7866,0 0 24px #e3aa4052;
}
.tap5-home .hero-ai-orb .ui-icon {
  position:relative;
  z-index:1;
  width:1.65rem;
  height:1.65rem;
  color:#ffe39a;
  filter:drop-shadow(0 0 7px #ffc85f99);
}
.tap5-home .hero-ai-glass > span:nth-child(2) { display:grid; gap:.15rem; min-width:0; flex:1; }
.tap5-home .hero-ai-glass small { color:#d9ae60; font-size:.62rem; font-weight:850; letter-spacing:.18em; }
.tap5-home .hero-ai-glass strong { overflow:hidden; color:#fff7e8; font-size:.82rem; line-height:1.25; text-overflow:ellipsis; }
.tap5-home .hero-ai-arrow { width:1.15rem; height:1.15rem; color:#e7bc6c; }

.tap5-home .platform-flow span {
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:.7rem;
  min-height:78px;
  padding:.72rem .9rem .72rem 2.75rem;
  background:
    radial-gradient(circle at 12% 0%,#e5b75b17,transparent 42%),
    linear-gradient(135deg,#27241dcf,#0e0d0bdc);
  box-shadow:inset 0 1px #fff2,0 12px 26px #0005;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.tap5-home .platform-flow span::before {
  top:.65rem;
  left:.7rem;
  width:1.55rem;
  height:1.55rem;
  display:grid;
  place-items:center;
  border:1px solid #d9ae635e;
  border-radius:50%;
  background:#17130da8;
  box-shadow:inset 0 1px #fff2;
}
.tap5-home .flow-icon {
  width:2.5rem;
  height:2.5rem;
  border-radius:.8rem;
}
.tap5-home .flow-icon .ui-icon {
  position:relative;
  z-index:1;
  width:1.35rem;
  height:1.35rem;
  color:#efc675;
  filter:drop-shadow(0 0 6px #c9923554);
}

.tap5-home .platform-grid article {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%,#dfb45918,transparent 38%),
    linear-gradient(155deg,#262219db,#0d0c0ae8 72%);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px #fff2,0 18px 38px #0005;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tap5-home .platform-grid article::after {
  content:'';
  position:absolute;
  top:-45%;
  right:-28%;
  width:60%;
  height:120%;
  border-radius:50%;
  background:#d5a1490b;
  filter:blur(10px);
  pointer-events:none;
}
.tap5-home .platform-grid article:hover {
  transform:translateY(-4px);
  border-color:#deb86b7d;
  box-shadow:inset 0 1px #fff3,0 22px 46px #0008;
}
.tap5-home .platform-grid article > .ui-icon {
  box-sizing:content-box;
  padding:.62rem;
  border:1px solid #e0b56362;
  border-radius:.8rem;
  background:linear-gradient(145deg,#c6923d31,#0b0a09d9);
  box-shadow:inset 0 1px #fff3,0 8px 18px #0006;
  filter:drop-shadow(0 0 6px #d5a04432);
}

@media(max-width:899px) {
  .tap5-home .tap5-nav[data-open='true'] .public-links {
    border:1px solid #efc77957;
    background:
      radial-gradient(circle at 20% 0%,#d7a7461f,transparent 35%),
      linear-gradient(155deg,#1d1a16e8,#070706f4);
    backdrop-filter:blur(22px) saturate(135%);
    -webkit-backdrop-filter:blur(22px) saturate(135%);
    box-shadow:-24px 28px 60px #000c,inset 0 1px #fff2;
  }
  .tap5-home .tap5-nav[data-open='true'] .public-links a {
    min-height:56px;
    border-bottom-color:#d7b87324;
  }
  .tap5-home .tap5-nav[data-open='true'] .public-links a .ui-icon {
    box-sizing:content-box;
    width:1.2rem;
    height:1.2rem;
    padding:.42rem;
    border:1px solid #ddae5f4f;
    border-radius:.65rem;
    background:linear-gradient(145deg,#d4a34b2b,#0b0a09b8);
    color:#efc773;
    box-shadow:inset 0 1px #fff3,0 7px 14px #0005;
  }
  .tap5-home .mobile-nav-action {
    min-height:50px;
    margin-top:.4rem;
    border:1px solid #d8ad5f43;
    border-radius:.7rem;
    background:linear-gradient(145deg,#2b2316a6,#0d0c0ac9);
    color:#f2d493;
    box-shadow:inset 0 1px #fff2;
  }
  .tap5-home .hero-ai-glass { width:100%; min-height:60px; margin-top:.75rem; }
  .tap5-home .hero-ai-orb { width:2.7rem; height:2.7rem; }
  .tap5-home .glass-icon-shell { width:2.8rem; height:2.8rem; border-radius:.85rem; }
  .tap5-home .glass-icon-shell .ui-icon { width:1.55rem; height:1.55rem; }
  .tap5-home .hero-categories a { min-height:92px; }
  .tap5-home .platform-flow span { min-height:82px; padding-left:2.65rem; }
}

/* TAP5 AI remains discoverable on the public mobile homepage. */
@media(max-width:899px) {
  .tap5-home:not(.is-after-auth) .concierge-fab {
    opacity:1;
    pointer-events:auto;
  }
}

@media(prefers-reduced-motion:reduce) {
  .tap5-home .hero-categories a,
  .tap5-home .hero-ai-glass,
  .tap5-home .platform-grid article { transition:none!important; transform:none!important; }
}


/* Final visual refinement: symbols replace step numbers; TAP5 AI stays compact and above the fold. */
.tap5-home .home-hero { position:relative; }

.tap5-home .hero-ai-badge {
  position:absolute;
  z-index:6;
  top:1.25rem;
  right:1.25rem;
  width:94px;
  height:94px;
  display:grid;
  grid-template-rows:1fr auto;
  place-items:center;
  gap:.15rem;
  padding:.62rem;
  overflow:hidden;
  border:1px solid #f0c87878;
  border-radius:1.35rem;
  background:
    radial-gradient(circle at 28% 18%,#fff9 0 4%,transparent 23%),
    radial-gradient(circle at 50% 100%,#d79f3847,transparent 48%),
    linear-gradient(145deg,#3b2c1691,#0b0a09e8 68%);
  color:#ffe4a0;
  cursor:pointer;
  box-shadow:
    inset 0 1px #fff7,
    inset 0 -14px 26px #0008,
    0 18px 42px #0009,
    0 0 0 1px #9f77362e,
    0 0 28px #d29b3740;
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  transform:perspective(650px) rotateX(4deg) rotateY(-5deg);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.tap5-home .hero-ai-badge:hover,
.tap5-home .hero-ai-badge:focus-visible {
  transform:perspective(650px) rotateX(0) rotateY(0) translateY(-2px);
  border-color:#ffdd96ba;
  box-shadow:inset 0 1px #fff8,inset 0 -14px 26px #0008,0 22px 48px #000a,0 0 34px #e2aa4355;
}
.tap5-home .hero-ai-badge__mark {
  position:relative;
  z-index:2;
  width:58px;
  height:39px;
  overflow:hidden;
  border-radius:.7rem;
  box-shadow:0 7px 15px #0008,inset 0 1px #fff4;
}
.tap5-home .hero-ai-badge__mark img {
  width:100%;
  height:100%;
  max-width:58px;
  max-height:39px;
  object-fit:cover;
  object-position:center 43%;
  filter:saturate(1.04) contrast(1.04);
}
.tap5-home .hero-ai-badge__label {
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:.12rem;
  line-height:1;
  text-shadow:0 2px 8px #000;
}
.tap5-home .hero-ai-badge__label strong {
  font-size:1.18rem;
  letter-spacing:.11em;
  background:linear-gradient(180deg,#fff3bd,#e3b252 54%,#9d6b23);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.tap5-home .hero-ai-badge__label sup {
  margin-top:-.12rem;
  color:#ffe8ae;
  font-size:.46rem;
  font-weight:800;
}
.tap5-home .hero-ai-badge__glow {
  position:absolute;
  inset:auto 12% 2% 12%;
  height:24%;
  border-radius:50%;
  background:#d8a13e55;
  filter:blur(11px);
}

/* Keep the existing card grid/layout; only replace numeric badges with realistic symbols. */
.tap5-home .platform-flow span {
  display:block;
  min-height:78px;
  padding:.78rem .9rem .78rem 4.05rem;
}
.tap5-home .platform-flow span::before {
  display:none;
  content:none;
}
.tap5-home .platform-flow .flow-icon {
  position:absolute;
  left:.72rem;
  top:50%;
  width:2.75rem;
  height:2.75rem;
  margin:0;
  transform:translateY(-50%) perspective(520px) rotateX(7deg) rotateY(-7deg);
  border-radius:.9rem;
}
.tap5-home .platform-flow .flow-icon .ui-icon {
  width:1.48rem;
  height:1.48rem;
}
.tap5-home .platform-flow span:nth-child(1) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#e7b85945,#402b123a,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(2) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#f1c77142,#53371838,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(3) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#dca64e44,#4931143a,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(4) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#f0c06a46,#4a30133b,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(5) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#d9a34f43,#3f2a123b,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(6) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#e8b85c46,#5135153a,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(7) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#efc56c49,#4c33153a,#0e0d0be8); }
.tap5-home .platform-flow span:nth-child(8) .flow-icon { background:radial-gradient(circle at 30% 18%,#fff8 0 5%,transparent 24%),linear-gradient(145deg,#e1ad5446,#442d133b,#0e0d0be8); }

@media(max-width:899px) {
  .tap5-home .hero-ai-badge {
    top:.85rem;
    right:.85rem;
    width:76px;
    height:76px;
    padding:.48rem;
    border-radius:1.05rem;
  }
  .tap5-home .hero-ai-badge__mark { width:46px; height:31px; border-radius:.55rem; }
  .tap5-home .hero-ai-badge__label strong { font-size:.95rem; }
  .tap5-home .platform-flow span {
    min-height:82px;
    padding:.72rem .65rem .72rem 3.75rem;
  }
  .tap5-home .platform-flow .flow-icon {
    left:.58rem;
    width:2.55rem;
    height:2.55rem;
  }
}

@media(max-width:390px) {
  .tap5-home .hero-ai-badge {
    top:.65rem;
    right:.65rem;
    width:70px;
    height:70px;
  }
  .tap5-home .hero-ai-badge__mark { width:42px; height:28px; }
}

@media(prefers-reduced-motion:reduce) {
  .tap5-home .hero-ai-badge,
  .tap5-home .platform-flow .flow-icon {
    transition:none!important;
    transform:translateY(-50%)!important;
  }
  .tap5-home .hero-ai-badge { transform:none!important; }
}

.tap5-home .hero-ai-glass{display:none!important}

/* iOS Home Screen apps draw behind the status bar when the meta status bar is
   black-translucent. Keep this correction out of Safari tabs, Android and desktop. */
@supports (-webkit-touch-callout: none) {
  @media (display-mode: standalone) {
    .tap5-home .public-header {
      padding-top: env(safe-area-inset-top, 0px);
    }

    @media (max-width: 899px) {
      .tap5-home .tap5-nav[data-open='true'] .public-links {
        top: calc(64px + env(safe-area-inset-top, 0px));
        bottom: env(safe-area-inset-bottom, 0px);
        max-height: calc(100dvh - 64px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
      }
    }

    @media (orientation: landscape) {
      .tap5-home .public-header > .public-nav {
        width: calc(100% - 2rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
      }
    }
  }
}
