/* W25 includes the selected W24 premium visual design, replacing the old W24 file. */

/* W24 — exact phone-first premium home selected by user */
@media (max-width:760px){
  html,body{overscroll-behavior:none}
  body.ab-home-active{height:100svh!important;max-height:100svh!important;overflow:hidden!important;background:#050a0c!important}
  body.ab-home-active main#top{height:calc(100svh - 72px)!important;max-height:calc(100svh - 72px)!important;overflow:hidden!important}
  body.ab-home-active main#top>section:not(#home-dashboard){display:none!important}
  body.ab-home-active #home-dashboard{
    display:block!important;height:calc(100svh - 72px)!important;max-height:calc(100svh - 72px)!important;
    min-height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;background:#050a0c!important
  }
  body.ab-home-active #home-dashboard>.home-v117-overlay,
  body.ab-home-active #home-dashboard .home-v117-brand-logo,
  body.ab-home-active #home-dashboard .home-v117-kicker,
  body.ab-home-active #home-dashboard .home-v117-intro,
  body.ab-home-active #home-dashboard .home-v117-invitation,
  body.ab-home-active #home-dashboard .home-start-exploring,
  body.ab-home-active #home-dashboard #home-main-actions,
  body.ab-home-active #ab-mobile-dashboard{display:none!important}
  body.ab-home-active #home-dashboard>.home-v117-content{
    display:block!important;height:100%!important;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden!important
  }

  .ab-premium-home{
    --orange:#ff8618;--line:#405057;--panel:rgba(7,14,17,.94);
    display:grid!important;grid-template-rows:2.55fr 1.13fr .98fr .82fr 1.16fr;
    gap:clamp(5px,1vh,9px);height:100%;padding:clamp(6px,1.1vh,10px) clamp(7px,2vw,12px) clamp(5px,1vh,9px);
    color:#fff;background:linear-gradient(#050b0d,#020607);overflow:hidden
  }
  .ab-ph-hero{position:relative;overflow:hidden;border-radius:clamp(15px,4vw,24px);border:1px solid #26363d;background:
    linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.08)),
    url("images/adventure-builder-hero-road-community.png") center 53%/cover no-repeat;
    box-shadow:0 10px 30px rgba(0,0,0,.35)
  }
  .ab-ph-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,9,.72) 0%,rgba(2,7,9,.08) 38%,rgba(2,7,9,.5) 100%);pointer-events:none}
  .ab-ph-topline{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto auto;gap:clamp(4px,1vw,8px);align-items:center;padding:clamp(5px,1vh,9px)}
  .ab-ph-logo{width:clamp(48px,14vw,76px);height:clamp(48px,14vw,76px);object-fit:contain;filter:drop-shadow(0 4px 9px #000)}
  .ab-ph-wordmark{min-width:0;display:grid;align-content:center}.ab-ph-wordmark strong{font-size:clamp(.78rem,3.1vw,1.18rem);font-style:italic;letter-spacing:.01em;white-space:nowrap;text-shadow:0 2px 5px #000}.ab-ph-wordmark strong em{font-style:italic;color:var(--orange)}.ab-ph-wordmark small{font-size:clamp(.42rem,1.6vw,.63rem);letter-spacing:.2em;color:#eee;white-space:nowrap}
  .ab-ph-bell,.ab-ph-profile{width:clamp(31px,8.3vw,43px);height:clamp(31px,8.3vw,43px);border-radius:50%;border:1px solid #75441c;background:rgba(5,10,12,.8);color:#fff;position:relative;padding:0}.ab-ph-bell{font-size:clamp(.9rem,3.3vw,1.2rem)}.ab-ph-bell i{position:absolute;top:-3px;right:-2px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--orange);color:#111;font:800 10px system-ui}.ab-ph-profile{background:url("coastal-road-hero.webp") center/cover no-repeat}
  .ab-ph-greeting{position:absolute;z-index:2;left:clamp(10px,3vw,18px);right:clamp(10px,3vw,18px);bottom:clamp(7px,1.4vh,13px);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
  .ab-ph-greeting>div{display:grid;text-shadow:0 2px 6px #000}.ab-ph-greeting>div>span{font-size:clamp(.88rem,3.4vw,1.22rem);font-weight:900;color:var(--orange);font-style:italic}.ab-ph-greeting>div>strong{font-size:clamp(1.65rem,7.6vw,3rem);line-height:.94}.ab-ph-greeting>div>small{font-size:clamp(.64rem,2.35vw,.94rem);max-width:26ch;line-height:1.15;margin-top:3px}
  .ab-ph-weather{display:grid;grid-template-columns:auto 1fr;gap:5px;align-items:center;min-width:clamp(105px,31vw,160px);padding:clamp(6px,1.3vh,10px);border:1px solid #4f5153;border-radius:clamp(12px,3.2vw,19px);background:rgba(7,12,15,.9);color:#fff;text-align:left;box-shadow:0 6px 15px rgba(0,0,0,.3)}.ab-ph-weather>span{font-size:clamp(1.15rem,5vw,2rem);color:var(--orange)}.ab-ph-weather div{display:grid}.ab-ph-weather strong{font-size:clamp(.9rem,4vw,1.45rem)}.ab-ph-weather small{font-size:clamp(.55rem,2vw,.72rem)}.ab-ph-weather em{font-size:clamp(.45rem,1.65vw,.6rem);font-style:normal;color:#aeb8bc}

  .ab-ph-go{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) 40% auto;align-items:center;gap:clamp(5px,1.5vw,10px);min-height:0;padding:clamp(6px,1vh,10px);border-radius:clamp(14px,4vw,22px);border:1px solid #58656a;background:#081014;color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.3)}
  .ab-ph-go-round{z-index:2;display:grid;place-items:center;width:clamp(42px,13vw,64px);aspect-ratio:1;border-radius:50%;border:2px solid #8a4d1b;background:radial-gradient(circle,#231a12,#0c1114);color:var(--orange);font-size:clamp(1.45rem,6vw,2.4rem);box-shadow:0 0 12px rgba(255,134,24,.35)}
  .ab-ph-go-copy{z-index:2;display:grid;min-width:0}.ab-ph-go-copy strong{font-size:clamp(1.45rem,6.3vw,2.6rem);line-height:.9;font-style:italic}.ab-ph-go-copy b{font-size:clamp(.68rem,2.8vw,1rem);color:var(--orange)}.ab-ph-go-copy small{font-size:clamp(.48rem,1.9vw,.72rem);color:#e2e6e7;white-space:nowrap}
  .ab-ph-go-road{position:absolute;right:0;top:0;bottom:0;width:53%;background:linear-gradient(90deg,#08101400,#08101435),url("coastal-road-hero.webp") center/cover no-repeat;opacity:.85}.ab-ph-go-next{z-index:2;display:grid;place-items:center;width:clamp(31px,8.5vw,42px);aspect-ratio:1;border-radius:50%;background:var(--orange);color:#fff;font-size:clamp(1.5rem,5vw,2rem);font-weight:900}

  .ab-ph-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(4px,1vw,7px);min-height:0}.ab-ph-stats button{min-width:0;padding:clamp(3px,.7vh,6px) 2px;border:1px solid #3b4c52;border-radius:clamp(10px,2.7vw,16px);background:linear-gradient(180deg,#10191c,#091012);color:#fff;text-align:center;display:grid;place-items:center;align-content:center;gap:0}.ab-ph-stats span{font-size:clamp(.85rem,3.7vw,1.35rem)}.ab-ph-stats small{font-size:clamp(.43rem,1.65vw,.62rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ab-ph-stats strong{font-size:clamp(.9rem,4vw,1.55rem);line-height:1.05;margin-top:1px}.ab-ph-stats em{font-size:clamp(.36rem,1.4vw,.53rem);font-style:normal;color:#37dc7b}.ab-ph-stats button:nth-child(2) em{color:#c565ff}.ab-ph-stats button:nth-child(3) em{color:var(--orange)}.ab-ph-stats button:nth-child(4) em{color:#19c9ff}

  .ab-ph-continue{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto repeat(3,clamp(27px,8vw,42px));gap:clamp(4px,1vw,7px);align-items:center;min-width:0;padding:clamp(5px,.9vh,8px);border:1px solid #3b4b51;border-radius:clamp(11px,3vw,17px);background:#081014;color:#fff;text-align:left}.ab-ph-edit-thumb,.ab-ph-mini{display:block;border-radius:7px;background-size:cover;background-position:center}.ab-ph-edit-thumb{width:clamp(40px,11vw,55px);aspect-ratio:1;background-image:url("images/hero-background.jpg")}.ab-ph-continue>span:nth-child(2){display:grid;min-width:0}.ab-ph-continue small{font-size:clamp(.48rem,1.8vw,.64rem);color:var(--orange)}.ab-ph-continue strong{font-size:clamp(.72rem,2.8vw,1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab-ph-continue em{font-size:clamp(.42rem,1.6vw,.58rem);font-style:normal;color:#aeb9bc}.ab-ph-continue>b{padding:5px 7px;border:1px solid #814a1a;border-radius:8px;color:var(--orange);font-size:clamp(.5rem,1.8vw,.68rem)}.ab-ph-mini{width:clamp(27px,8vw,42px);aspect-ratio:1}.ab-ph-mini.one{background-image:url("images/adventure-builder-hero-road-community.png")}.ab-ph-mini.two{background-image:url("coastal-road-hero.webp")}.ab-ph-mini.three{background-image:url("icons/auth-welcome-banner.png")}

  .ab-ph-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(4px,1vw,7px);min-height:0}.ab-ph-categories button{min-width:0;border:1px solid #3d4b51;border-radius:clamp(10px,2.8vw,17px);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(3px,.8vh,6px) 2px;overflow:hidden}.ab-ph-categories button.adventure{background:linear-gradient(180deg,#0d3524,#07120f)}.ab-ph-categories button.vanlife{background:linear-gradient(180deg,#0b2e40,#081117)}.ab-ph-categories button.create{background:linear-gradient(180deg,#3a174b,#120918)}.ab-ph-categories button.community{background:linear-gradient(180deg,#4a2c0e,#160c05)}.ab-ph-categories button.tools{background:linear-gradient(180deg,#501416,#170607)}.ab-ph-categories span{font-size:clamp(1.05rem,4.6vw,1.75rem)}.ab-ph-categories strong{font-size:clamp(.55rem,2.25vw,.83rem);line-height:1.1}.ab-ph-categories small{font-size:clamp(.38rem,1.45vw,.55rem);line-height:1.08;color:#f1f1f1;text-align:center;margin-top:2px}

  body.ab-home-active .mobile-nav.build137-mobile-nav{
    display:grid!important;grid-template-columns:1fr 1fr 74px 1fr 1fr!important;
    height:72px!important;min-height:72px!important;max-height:72px!important;
    padding:4px 4px calc(4px + env(safe-area-inset-bottom))!important;
    background:#050a0c!important;border-top:1px solid #34434a!important;z-index:9999
  }
  body.ab-home-active .mobile-nav .ab-mobile-add{background:linear-gradient(#ff9b29,#ee7200)!important;border:4px solid #4b2b12!important;box-shadow:0 0 15px rgba(255,134,24,.5)!important}
  body.ab-home-active .mobile-nav .ab-mobile-notify{display:flex!important}

  @media(max-height:740px){
    .ab-premium-home{grid-template-rows:2.35fr 1.05fr .86fr .72fr 1.05fr;gap:4px;padding-top:4px;padding-bottom:4px}
    .ab-ph-wordmark small{display:none}.ab-ph-mini.three{display:none}.ab-ph-continue{grid-template-columns:auto minmax(0,1fr) auto repeat(2,29px)}
  }
}


/* W25 adaptive architecture overrides */

/* Adventure Builder W25 — APP ONLY adaptive mobile shell
   Standards used: dynamic/small viewport units, env(safe-area-*), CSS clamp/min/max.
   Goal: one active app screen at a time; auto-density for different phone sizes. */

@media (max-width: 760px) {
  :root {
    --ab-vh: 100dvh;
    --ab-vw: 100dvw;
    --ab-safe-top: env(safe-area-inset-top, 0px);
    --ab-safe-right: env(safe-area-inset-right, 0px);
    --ab-safe-bottom: env(safe-area-inset-bottom, 0px);
    --ab-safe-left: env(safe-area-inset-left, 0px);
    --ab-nav-h: clamp(62px, 8.6dvh, 76px);
    --ab-gap: clamp(4px, 0.85dvh, 9px);
    --ab-pad-x: clamp(7px, 2.1dvw, 13px);
    --ab-pad-y: clamp(5px, 0.9dvh, 10px);
    --ab-radius: clamp(12px, 3.4dvw, 22px);
    --ab-touch: clamp(42px, 5.7dvh, 50px);
    --ab-body-font: clamp(12px, 3.25dvw, 16px);
    --ab-small-font: clamp(9px, 2.35dvw, 12px);
    --ab-title-font: clamp(18px, 5.4dvw, 30px);
    --ab-density: 1;
  }

  html {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background: #050a0c;
  }

  body.app-mode {
    width: 100%;
    max-width: 100%;
    min-height: 100svh;
    margin: 0;
    overflow-x: hidden !important;
    font-size: var(--ab-body-font);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overscroll-behavior: none;
    touch-action: manipulation;
  }

  body.app-mode *,
  body.app-mode *::before,
  body.app-mode *::after { box-sizing: border-box; }

  body.app-mode img,
  body.app-mode video,
  body.app-mode canvas,
  body.app-mode svg {
    max-width: 100%;
  }

  /* One app screen at a time. This prevents scrolling into the next app page. */
  body.ab-mobile-shell-active main#top {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--ab-safe-top) !important;
    bottom: calc(var(--ab-nav-h) + var(--ab-safe-bottom)) !important;
    width: 100dvw !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #050a0c !important;
  }

  body.ab-mobile-shell-active main#top > section {
    display: none !important;
  }

  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    background: #071012;
  }

  /* Home is a dashboard: no page scroll at all. */
  body.ab-mobile-shell-active main#top > #home-dashboard.ab-mobile-screen-active {
    overflow: hidden !important;
  }

  /* Studio is one-screen too; its own trays/timeline handle the interaction. */
  body.ab-mobile-shell-active main#top > #photo-studio.ab-mobile-screen-active,
  body.ab-mobile-shell-active main#top > #adventure-video-studio.ab-mobile-screen-active {
    overflow: hidden !important;
  }

  /* Feature pages get a compact, phone-sized internal page instead of stacking pages. */
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active:not(#home-dashboard):not(#photo-studio):not(#adventure-video-studio) {
    padding:
      clamp(7px, 1.15dvh, 12px)
      max(var(--ab-pad-x), var(--ab-safe-right))
      clamp(12px, 2dvh, 20px)
      max(var(--ab-pad-x), var(--ab-safe-left)) !important;
  }

  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active h1,
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active h2 {
    font-size: var(--ab-title-font) !important;
    line-height: 1.08 !important;
  }

  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active h3 {
    font-size: clamp(15px, 4.1dvw, 21px) !important;
    line-height: 1.12 !important;
  }

  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active p,
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active label,
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active input,
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active select,
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active textarea {
    max-width: 100% !important;
  }

  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active button,
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active a[role="button"],
  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active .btn {
    min-height: min(var(--ab-touch), 48px);
  }

  /* Responsive spacing pass across existing feature cards. */
  body.ab-mobile-shell-active .card,
  body.ab-mobile-shell-active [class*="-card"],
  body.ab-mobile-shell-active [class*="-panel"] {
    max-width: 100%;
  }

  body.ab-mobile-shell-active main#top > section.ab-mobile-screen-active > * {
    scroll-margin-top: 8px;
  }

  /* Bottom navigation respects Android/iOS safe areas and always fits. */
  body.ab-mobile-shell-active .mobile-nav.build137-mobile-nav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100dvw !important;
    height: calc(var(--ab-nav-h) + var(--ab-safe-bottom)) !important;
    min-height: calc(var(--ab-nav-h) + var(--ab-safe-bottom)) !important;
    max-height: calc(var(--ab-nav-h) + var(--ab-safe-bottom)) !important;
    padding:
      4px max(4px, var(--ab-safe-right))
      max(4px, var(--ab-safe-bottom))
      max(4px, var(--ab-safe-left)) !important;
    overflow: visible !important;
    z-index: 100000 !important;
  }

  /* W25 replaces W24's fixed viewport assumptions with adaptive variables. */
  .ab-premium-home {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: var(--ab-pad-y) var(--ab-pad-x) !important;
    gap: var(--ab-gap) !important;
    grid-template-rows:
      minmax(0, 2.55fr)
      minmax(0, 1.12fr)
      minmax(0, .92fr)
      minmax(0, .78fr)
      minmax(0, 1.08fr) !important;
  }

  .ab-ph-hero { border-radius: var(--ab-radius) !important; min-height: 0 !important; }
  .ab-ph-logo {
    width: clamp(42px, 13.4dvw, 76px) !important;
    height: clamp(42px, 13.4dvw, 76px) !important;
  }
  .ab-ph-wordmark strong { font-size: clamp(12px, 3.7dvw, 22px) !important; }
  .ab-ph-wordmark small { font-size: clamp(6px, 1.6dvw, 10px) !important; }
  .ab-ph-bell, .ab-ph-profile {
    width: clamp(30px, 8.4dvw, 44px) !important;
    height: clamp(30px, 8.4dvw, 44px) !important;
  }
  .ab-ph-greeting > div > span { font-size: clamp(13px, 3.8dvw, 22px) !important; }
  .ab-ph-greeting > div > strong { font-size: clamp(25px, 8.1dvw, 48px) !important; }
  .ab-ph-greeting > div > small { font-size: clamp(9px, 2.55dvw, 15px) !important; }
  .ab-ph-weather {
    min-width: clamp(100px, 30.5dvw, 164px) !important;
    border-radius: clamp(11px, 3.1dvw, 19px) !important;
  }
  .ab-ph-weather strong { font-size: clamp(14px, 4.25dvw, 25px) !important; }

  .ab-ph-go {
    min-height: 0 !important;
    border-radius: var(--ab-radius) !important;
    padding: clamp(5px, 0.9dvh, 10px) !important;
  }
  .ab-ph-go-round {
    width: clamp(40px, 12.2dvw, 66px) !important;
  }
  .ab-ph-go-copy strong { font-size: clamp(22px, 6.4dvw, 40px) !important; }
  .ab-ph-go-copy b { font-size: clamp(10px, 2.8dvw, 17px) !important; }
  .ab-ph-go-copy small { font-size: clamp(7px, 1.9dvw, 12px) !important; }

  .ab-ph-stats { gap: clamp(3px, 1dvw, 7px) !important; }
  .ab-ph-stats button { border-radius: clamp(9px, 2.7dvw, 16px) !important; min-height: 0 !important; }
  .ab-ph-stats small { font-size: clamp(6px, 1.7dvw, 10px) !important; }
  .ab-ph-stats strong { font-size: clamp(14px, 4.1dvw, 25px) !important; }
  .ab-ph-stats em { font-size: clamp(5px, 1.4dvw, 9px) !important; }

  .ab-ph-continue {
    min-height: 0 !important;
    border-radius: clamp(10px, 3dvw, 17px) !important;
    grid-template-columns: auto minmax(0,1fr) auto repeat(3, clamp(24px, 7.6dvw, 42px)) !important;
  }

  .ab-ph-categories { gap: clamp(3px, 1dvw, 7px) !important; min-height: 0 !important; }
  .ab-ph-categories button { min-height: 0 !important; border-radius: clamp(9px, 2.8dvw, 17px) !important; }
  .ab-ph-categories span { font-size: clamp(15px, 4.7dvw, 29px) !important; }
  .ab-ph-categories strong { font-size: clamp(8px, 2.3dvw, 14px) !important; }
  .ab-ph-categories small { font-size: clamp(6px, 1.48dvw, 9px) !important; }

  /* Compact phone profile: short displays prioritise core actions over decoration. */
  body[data-ab-height="short"] {
    --ab-nav-h: clamp(58px, 8.5dvh, 66px);
    --ab-gap: clamp(3px, 0.58dvh, 5px);
    --ab-pad-y: 4px;
    --ab-touch: 42px;
  }
  body[data-ab-height="short"] .ab-premium-home {
    grid-template-rows: 2.15fr 1fr .78fr .62fr .92fr !important;
  }
  body[data-ab-height="short"] .ab-ph-wordmark small,
  body[data-ab-height="short"] .ab-ph-weather em,
  body[data-ab-height="short"] .ab-ph-mini.three,
  body[data-ab-height="short"] .ab-ph-stats em {
    display: none !important;
  }
  body[data-ab-height="short"] .ab-ph-greeting > div > small {
    max-width: 22ch;
  }
  body[data-ab-height="short"] .ab-ph-continue {
    grid-template-columns: auto minmax(0,1fr) auto repeat(2, 25px) !important;
  }

  /* Narrow phone profile: prevent five category tiles becoming unreadable. */
  body[data-ab-width="narrow"] .ab-ph-wordmark small { display: none !important; }
  body[data-ab-width="narrow"] .ab-ph-wordmark strong { font-size: clamp(11px, 3.35dvw, 16px) !important; }
  body[data-ab-width="narrow"] .ab-ph-categories small { font-size: 5.5px !important; }
  body[data-ab-width="narrow"] .ab-ph-stats small { font-size: 5.8px !important; }
  body[data-ab-width="narrow"] .ab-ph-mini.two,
  body[data-ab-width="narrow"] .ab-ph-mini.three { display: none !important; }
  body[data-ab-width="narrow"] .ab-ph-continue {
    grid-template-columns: auto minmax(0,1fr) auto 26px !important;
  }

  /* Tall phones use the extra room instead of stretching controls awkwardly. */
  body[data-ab-height="tall"] .ab-premium-home {
    max-width: 540px;
    margin-inline: auto;
  }

  /* Landscape phones: still one screen, with denser header and horizontal space. */
  @media (orientation: landscape) and (max-height: 520px) {
    :root { --ab-nav-h: 56px; --ab-gap: 3px; --ab-pad-y: 3px; }
    .ab-premium-home {
      grid-template-columns: 1.25fr 1fr;
      grid-template-rows: 1.45fr .9fr .75fr;
      grid-template-areas:
        "hero go"
        "hero stats"
        "continue cats";
    }
    .ab-ph-hero { grid-area: hero; }
    .ab-ph-go { grid-area: go; }
    .ab-ph-stats { grid-area: stats; }
    .ab-ph-continue { grid-area: continue; }
    .ab-ph-categories { grid-area: cats; }
    .ab-ph-greeting > div > small,
    .ab-ph-mini,
    .ab-ph-stats em { display: none !important; }
  }
}
