
    :root{
      /* Premium (Apple/Stripe-ish) tokens */
      --bg: #FAFAFA;
      --card: #FFFFFF;
      --text: #1A1A1A;
      --muted: #666666;
      --muted2: #999999;
      --line: #E5E5E5;
      --line2: #F5F5F5;

      --accent: #4F46E5;
      --accent_hover: #4338CA;
      --accent_bg: #EEF2FF;

      --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
      --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
      --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
      --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.06), 0 4px 6px -2px rgba(0, 0, 0, 0.03);

      --shadow: var(--shadow-sm);
      --radius: 16px;

      /* Layout */
      --container: 1280px;
      --article: 760px;
    }
    *{box-sizing:border-box;}
    body{
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
      margin: 0;
      padding: 0;
      line-height: 1.65;
      color: var(--text);
      background:
        radial-gradient(900px 420px at 18% 0%, rgba(79,70,229,.08), transparent 60%),
        radial-gradient(700px 340px at 85% 0%, rgba(79,70,229,.05), transparent 58%),
        var(--bg);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    .container{
      max-width: var(--container);
      margin: 0 auto;
      padding: 0 16px;
    }

    /* Header (match Figma Make) */
    header{
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255,255,255,.95);
      backdrop-filter: blur(8px);
      border-bottom: 1px solid var(--line);
      margin: 0;
      padding: 0;
      border-radius: 0;
      box-shadow: none;
    }
    .header-inner{max-width: 1280px; margin: 0 auto; padding: 0 16px;}
    @media (min-width: 640px){ .header-inner{padding: 0 24px;} }
    @media (min-width: 1024px){ .header-inner{padding: 0 32px;} }

    .topbar{display:flex; align-items:center; justify-content:space-between; gap:12px; height: 64px;}

    .brand a{color: var(--text); text-decoration:none;}
    .brand{min-width:0;}
    .brandmark{display:flex; align-items:center; gap:8px; min-width:0;}
    .logo{display:block;}

    /* (logo now comes from /assets/brand PNG) */
    .brand-title{font-size: 1.0rem; font-weight: 650; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;}
    @media (min-width: 640px){ .brand-title{font-size: 1.05rem;} }

    nav{display:flex; gap: 32px; align-items:center; margin: 0;}
    nav a{padding: 0; border-radius: 0; color: var(--muted); text-decoration: none; font-weight: 500; transition: color var(--transition-fast);}
    nav a:hover{color: var(--text);}
    nav a[aria-current="page"]{color: var(--text); font-weight: 600;}
    .site-search{display:flex; align-items:center; gap:8px;}
    .site-search input{border:1px solid var(--line); background:#fff; color:var(--text); border-radius:999px; padding:10px 12px; min-width:190px;}
    .site-search button{border:0; background:var(--accent); color:#fff; border-radius:999px; padding:10px 12px; font-weight:700; cursor:pointer;}
    .site-search-inline{justify-content:center; margin-top:16px;}
    .site-search-mobile{display:none; margin-top:12px;}

    /* Mobile nav */
    .hamburger{
      border: 1px solid rgba(0,0,0,0);
      background: transparent;
      border-radius: 12px;
      padding: 10px 12px;
      min-height: 44px;
      color: var(--text);
      line-height: 1;
      display:none;
      align-items:center;
      gap: 10px;
      font-weight: 600;
    }
    .hamburger-label{font-size: 1rem; color: rgba(17,24,39,.86);}
    .hamburger-icon{font-size: 26px; line-height: 1; display:block; margin-top:-2px;}
    .hamburger:hover{background: var(--line2);}

    .nav-mobile{display:none;}

    @media (max-width: 1100px){
      .nav-desktop{display:none;}
      .header-search{display:none;}
      .hamburger{display:inline-flex; align-items:center; justify-content:center;}
      .nav-mobile{display:none; width:100%; padding: 16px 0; border-top:1px solid var(--line);}
      header[data-open="true"] .nav-mobile{display:block;}
      .nav-mobile a{display:block; padding: 10px 0; color: var(--muted); font-weight:500;}
      .nav-mobile a:hover{color: var(--text);}
      .nav-mobile .site-search-mobile{display:flex;}
      .site-search-mobile input{min-width:0; flex:1 1 auto;}
    }

    main{padding: 14px 0 44px 0;}

    /* Premium type scale */
    h1{font-size: 3rem; line-height: 1.1; letter-spacing: -0.02em; margin: 14px 0 10px 0;}
    h2{font-size: 1.875rem; line-height: 1.2; letter-spacing: -0.01em; margin: 22px 0 10px 0;}
    h3{font-size: 1.5rem; line-height: 1.3; margin: 18px 0 10px 0;}
    h4{font-size: 1.25rem; line-height: 1.4; margin: 16px 0 8px 0;}
    p{margin: 0 0 12px 0; color: var(--muted);}

    a{color: var(--accent);}
    a:hover{color: var(--accent_hover);}

    @media (max-width: 640px){
      h1{font-size: 2.25rem;}
      h2{font-size: 1.5rem;}
      h3{font-size: 1.25rem;}
    }

    .hero{
      border:1px solid var(--line);
      border-radius: calc(var(--radius) + 2px);
      padding: 18px;
      /* Stripe-ish subtle gradient */
      background:
        radial-gradient(900px 420px at 18% 10%, rgba(37,99,235,.08), transparent 62%),
        radial-gradient(700px 340px at 85% 0%, rgba(6,182,212,.06), transparent 58%),
        rgba(255,255,255,.78);
      box-shadow: var(--shadow);
    }
    @media (max-width: 640px){ .hero{padding:14px;} }
    .hero-grid{display:grid; grid-template-columns: 1.25fr .75fr; gap:14px; align-items:stretch;}
    @media (max-width: 820px){ .hero-grid{grid-template-columns: 1fr;} }
    .hero-media{border:1px solid rgba(15,23,42,.10); border-radius: 14px; overflow:hidden; background: rgba(255,255,255,.6); box-shadow: 0 10px 22px rgba(2,6,23,.08);}
    .hero-media img{display:block; width:100%; height:100%; object-fit:cover; aspect-ratio: 4/3;}
    /* Diagram variant: never crop. */
    .hero-media.diagram{background:#0b1220;}
    .hero-media.diagram img{height:auto; object-fit:contain; aspect-ratio: 16/9; background:#0b1220;}
    /* Banner variant for wide hero shots (avoids letterboxing + weird crops) */
    .hero-media.banner img{aspect-ratio: 16/9; object-position: center 40%;}
    .hero-credit{font-size:.82rem; color: rgba(15,23,42,.70); padding:8px 10px; background: rgba(255,255,255,.82); border-top: 1px solid rgba(15,23,42,.08);}
    .hero-credit a{color: inherit;}
    .hero h1,.hero h2{margin-top:0;}
    .lede{font-size:1.05rem; color: rgba(15,23,42,.84); line-height:1.55;}
    .btn{display:inline-block; padding:11px 15px; border-radius: 14px; background: linear-gradient(180deg, rgba(99,102,241,1), rgba(79,70,229,1)); color:white; text-decoration:none; font-weight:800; box-shadow: 0 12px 24px rgba(79,70,229,.18), inset 0 1px 0 rgba(255,255,255,.18); transition: transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);}
    .btn:hover{transform: translateY(-1px); box-shadow: 0 16px 30px rgba(79,70,229,.22), inset 0 1px 0 rgba(255,255,255,.18);}
    .btn.secondary{background: rgba(255,255,255,.85); color: var(--accent); border:1px solid rgba(37,99,235,.18); box-shadow:none;}

    code{background:#f1f5f9; padding:2px 6px; border-radius:8px;}

    table{border-collapse: collapse; width:100%; margin: 12px 0; background: var(--card); border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow);}
    th,td{border-bottom:1px solid var(--line); padding:12px; text-align:left; vertical-align: top;}
    th{background:#f1f5f9;}
    tr:last-child td{border-bottom:none;}
    .quick-picks-table-wrap{display:block;}
    .table-aff-link{display:inline-block; margin-top:8px; font-weight:700; color: rgba(79,70,229,1); text-decoration:none;}
    .table-aff-link:hover{text-decoration:underline;}
    .quick-picks-mobile{display:none; margin:12px 0; gap:12px;}
    .quick-pick-mobile-card{border:1px solid rgba(99,102,241,.14); border-radius:18px; background:linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,255,1)); box-shadow:0 14px 28px rgba(15,23,42,.06); padding:16px;}
    .quick-pick-mobile-top{display:flex; flex-direction:column; gap:10px; margin-bottom:12px;}
    .quick-pick-mobile-top h4{margin:0; font-size:1.15rem; line-height:1.2; letter-spacing:-.02em;}
    .quick-pick-mobile-btn{width:100%; text-align:center;}
    .quick-pick-mobile-body{display:grid; gap:12px;}
    .quick-pick-label{margin:0 0 4px 0; font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; font-weight:800; color:rgba(79,70,229,1);}
    .quick-pick-mobile-body p:last-child{margin:0; color:rgba(51,65,85,.94); line-height:1.5;}

    .card{border:1px solid var(--line); border-radius: var(--radius); padding:14px; margin:10px 0; background: var(--card); box-shadow: var(--shadow);}
    .grid{display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:10px;}

    /* Card variants (subtle tint + cue) */
    .card.tip{background: linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,1)); border-color: rgba(37,99,235,.18);}
    .card.fix{background: linear-gradient(180deg, rgba(245,158,11,.08), rgba(255,255,255,1)); border-color: rgba(245,158,11,.22);}
    .card.buy{background: linear-gradient(180deg, rgba(16,185,129,.08), rgba(255,255,255,1)); border-color: rgba(16,185,129,.22);}

    /* Product/offer cards: keep to 1 col on mobile, 2-up on tablet/desktop to reduce scrolling */
    .product-grid{display:grid; grid-template-columns: 1fr; gap:10px;}
    /* When cards are placed in a grid, remove the default vertical margin to avoid a "nested cards" look */
    .product-grid .card{margin:0;}
    @media (min-width: 740px){
      .product-grid{grid-template-columns: 1fr 1fr;}
    }

    .product-offer-card{padding:18px; border-radius:20px; box-shadow: 0 14px 34px rgba(15,23,42,.07);}
    .product-offer-card.is-direct{background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,255,1)); border-color: rgba(99,102,241,.16);}
    .product-offer-card.is-search{background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,.92)); border-color: rgba(148,163,184,.20);}
    .product-offer-head{display:grid; gap:14px; align-items:start; margin-bottom:10px;}
    .product-offer-head.has-thumb{grid-template-columns:88px minmax(0,1fr);}
    .product-offer-head.no-thumb{grid-template-columns:minmax(0,1fr);}
    .product-offer-copy{min-width:0;}
    .product-offer-model{margin:0 0 6px 0; font-size:clamp(1.2rem, 2.6vw, 1.85rem); line-height:1.15; letter-spacing:-.02em; text-wrap:balance;}
    .product-offer-bestfor{margin:0 0 8px 0; color:rgba(15,23,42,.86);}
    .offer-thumb,.product-thumb{width:88px; height:88px; border-radius:14px; border:1px solid rgba(15,23,42,.10); background:linear-gradient(180deg, rgba(248,250,252,1), rgba(241,245,249,1)); display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 10px 24px rgba(15,23,42,.06);}
    .offer-thumb img,.product-thumb img{width:100%; height:100%; object-fit:contain; display:block;}
    .product-offer-title{margin:0 0 8px 0; color:var(--muted); font-size:.82rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
    .product-offer-card.is-search .product-offer-title{display:none;}
    .product-offer-meta{margin:12px 0 0 0; font-size:.88rem; color: rgba(71,85,105,.9);}
    .product-offer-card.is-search .btn{background: rgba(255,255,255,.92); color: rgba(79,70,229,1); border:1px solid rgba(99,102,241,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 6px 14px rgba(15,23,42,.05);}
    @media (max-width: 560px){
      .product-offer-card{padding:14px;}
      .product-offer-head.has-thumb{grid-template-columns:72px minmax(0,1fr); gap:12px;}
      .offer-thumb,.product-thumb{width:72px; height:72px; border-radius:12px;}
      .product-offer-model{font-size:1.05rem; line-height:1.18;}
      .product-offer-bestfor{font-size:.95rem; line-height:1.45;}
      .product-offer-title{font-size:.78rem;}
    }

    /* Tighten whitespace inside cards for list-heavy sections */
    .card h3{margin:0 0 8px 0;}
    .card h4{margin:0 0 6px 0;}
    .card p{margin:0 0 8px 0;}
    .card ul{margin:0 0 8px 18px; padding:0;}
    .card li{margin:0 0 6px 0;}
    .tag{display:inline-block; font-size:.8rem; padding:2px 10px; border-radius:999px; background: rgba(6,182,212,.12); color:#0f766e; border:1px solid rgba(6,182,212,.25); font-weight:700;}

    /* Minimal line icons */
    .icon-row{display:flex; gap:12px; flex-wrap:wrap; margin: 12px 0;}
    .icon-chip{display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid rgba(15,23,42,.10); background: rgba(255,255,255,.85); border-radius: 14px; box-shadow: 0 8px 22px rgba(2,6,23,.06);}
    .icon-chip .icon-glyph{width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(37,99,235,.10); color:rgba(29,78,216,.92); font-weight:900; font-size:.9rem; line-height:1;}
    .icon-chip span{font-weight:800; color: rgba(15,23,42,.86); font-size:.95rem;}

    footer{
      margin: 40px 0 0 0;
      padding: 24px 0 56px 0;
      border-top: 1px solid rgba(15,23,42,.10);
      font-size: 0.95em;
      color: #475569;
      text-align:center;
      background: rgba(255,255,255,.6);
    }
    .footer-inner{max-width: 1280px; margin: 0 auto; padding: 0 16px;}
    @media (min-width: 640px){ .footer-inner{padding: 0 24px;} }
    @media (min-width: 1024px){ .footer-inner{padding: 0 32px;} }
    footer a{color: inherit;}
    .footer-line{margin:0; display:flex; gap:8px; justify-content:center; align-items:center; flex-wrap:wrap;}
    .footer-logo{display:inline-flex; align-items:center;}
    footer .logo{display:block;}
    .disclosure{max-width: 720px; margin: 10px auto 0 auto; font-size: .92em; color: var(--muted);}

    /* --- Premium components (from Figma Make screenshots) --- */

    /* Guide/article header (Figma-like) */
    .article-header{padding: 28px 0; background: rgba(255,255,255,.9); border-bottom: 1px solid var(--line);}
    .article-header-inner{max-width: 1280px; margin: 0 auto; padding: 0 16px;}
    @media (min-width: 640px){ .article-header-inner{padding: 0 24px;} }
    @media (min-width: 1024px){ .article-header-inner{padding: 0 32px;} }
    .breadcrumb{font-size: .92rem; color: var(--muted); display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
    .breadcrumb a{color: inherit; text-decoration:none;}
    .breadcrumb a:hover{color: var(--text);}
    .breadcrumb .sep{opacity:.55;}
    .breadcrumb .current{color: rgba(17,24,39,.86); font-weight: 600;}
    .article-title{margin: 10px 0 6px 0; font-size: 2.2rem; letter-spacing:-.02em;}
    .article-meta{display:flex; gap:10px; align-items:center; flex-wrap:wrap; color: var(--muted); font-size: .92rem;}
    .article-meta .dot{opacity:.75;}
    .article-hero-header{position:relative; overflow:hidden; min-height:clamp(220px, 32vw, 340px); margin:16px 0 18px 0; border:1px solid var(--line); border-radius:calc(var(--radius) + 6px); background:#0b1220; box-shadow:var(--shadow);}
    .article-hero-header img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;}
    .article-hero-header::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,10,20,.20) 0%, rgba(5,10,20,.34) 35%, rgba(5,10,20,.78) 100%);}
    .article-hero-header .article-hero-overlay{position:relative; z-index:1; display:flex; align-items:flex-end; min-height:inherit; padding:18px;}
    .article-hero-header .article-hero-content{max-width:min(820px, 100%); color:#fff;}
    .article-hero-header .breadcrumb{color:rgba(255,255,255,.84);}
    .article-hero-header .breadcrumb a:hover{color:#fff;}
    .article-hero-header .breadcrumb .current{color:#fff;}
    .article-hero-title{margin:10px 0 8px 0; color:#fff; font-size:clamp(2rem, 3.6vw, 3.1rem); line-height:1.04; letter-spacing:-.03em;}
    .article-hero-subtitle{margin:0; max-width:62ch; color:rgba(255,255,255,.90); font-size:1rem; line-height:1.5;}
    .article-hero-header .article-meta{margin-top:10px; color:rgba(255,255,255,.82);}
    @media (max-width: 640px){ .article-hero-header{min-height:220px;} .article-hero-header .article-hero-overlay{padding:14px;} .article-hero-subtitle{font-size:.96rem;} }

    .section{padding: 44px 0;}
    .section.tight{padding: 28px 0;}
    /* When a section is also a hero, we want real in-box padding (not 0 side padding). */
    .section.hero{padding: 18px;}
    @media (max-width: 640px){ .section.hero{padding: 14px;} }
    .center{text-align:center;}
    .subhead{max-width: 760px; margin: 0 auto; color: var(--muted);}

    /* Hero ambient background (premium, keeps text readable) */
    .hero-ambient{position:relative; overflow:hidden; border-radius: calc(var(--radius) + 10px);}
    .section.hero-ambient{padding-left:16px; padding-right:16px;}
    .hero-ambient::before{content:""; position:absolute; inset:0; background: var(--hero-bg, url('/assets/img/ndz/home/hero-ambient-ai.jpg')) no-repeat 0% 50% / cover;}
    .hero-ambient::after{content:""; position:absolute; inset:0; background: radial-gradient(900px 340px at 55% 35%, rgba(250,250,250,.96), rgba(250,250,250,.78) 55%, rgba(250,250,250,.55) 100%);}
    .hero-ambient > .inner{position:relative; z-index: 1;}
    .hero-ambient .inner > p[style*="display:flex"]{max-width:100%;}
    .hero-ambient .inner > p[style*="display:flex"] .btn{max-width:100%; min-width:0; white-space:normal; text-align:center;}
    @media (max-width: 520px){
      .topbar{gap:8px;}
      .hamburger{padding:10px; flex:0 0 auto;}
      .hamburger-label{display:none;}
      .hero-ambient > .inner{max-width:calc(100vw - 64px); margin-left:auto; margin-right:auto;}
      .hero-ambient h1{font-size:2.05rem; overflow-wrap:break-word;}
      .hero-ambient .subhead{max-width:100%;}
      .hero-ambient .inner > p[style*="display:flex"] .btn{flex:1 1 100%;}
    }

    .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 16px; border-radius: 14px; background: var(--accent); color:white; text-decoration:none; font-weight:800; border: 1px solid rgba(0,0,0,0); box-shadow: 0 10px 24px rgba(79,70,229,.20); transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);}
    .btn:hover{background: #1E1B4B; transform: translateY(-1px); box-shadow: 0 16px 34px rgba(30,27,75,.28);}
    .btn:active{transform: translateY(0px); box-shadow: 0 10px 24px rgba(30,27,75,.22);}
    .btn.secondary{background: transparent; color: var(--text); border:1px solid rgba(0,0,0,.14); box-shadow: none;}
    .btn.secondary:hover{background: rgba(0,0,0,.04); border-color: rgba(0,0,0,.22);}

    .card{border:1px solid var(--line); border-radius: var(--radius); padding:18px; margin:10px 0; background: var(--card); box-shadow: var(--shadow);}
    .card.flat{box-shadow:none;}
    .faq-block{border:1px solid var(--line); border-radius: var(--radius); padding:18px; margin:18px 0 10px 0; background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,1)); box-shadow: var(--shadow);}
    .faq-item + .faq-item{margin-top:16px; padding-top:16px; border-top:1px solid var(--line);}
    .faq-item h3{margin:0 0 8px 0;}
    .faq-item p{margin:0; color: var(--muted);}
    .grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px;}
    .grid2{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px;}
    @media (max-width: 900px){ .grid3{grid-template-columns: 1fr;} .grid2{grid-template-columns: 1fr;} }
    @media (max-width: 720px){
      .quick-picks-table-wrap{display:none;}
      .quick-picks-mobile{display:grid;}
    }

    .iconbox{width:40px; height:40px; border-radius: 12px; background: rgba(79,70,229,.08); border: 1px solid rgba(79,70,229,.14); display:flex; align-items:center; justify-content:center; margin-bottom: 12px;}
    .iconbox .icon-glyph{width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; color: rgba(79,70,229,.92); font-weight:900; font-size:1rem; line-height:1;}

    .pill{display:inline-flex; align-items:center; gap:8px; padding:5px 10px; border-radius:999px; font-size:.74rem; letter-spacing:.02em; text-transform:uppercase; font-weight:800; border:1px solid rgba(0,0,0,.08); background: rgba(255,255,255,.82); color: rgba(51,65,85,.82); box-shadow: inset 0 1px 0 rgba(255,255,255,.55);}
    .pill.mint{background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.24); color: rgba(5, 120, 87, 1);}
    .pill.indigo{background: rgba(79,70,229,.10); border-color: rgba(79,70,229,.20); color: rgba(55,48,163,1);}

    .metric{width:56px; height:56px; border-radius: 999px; display:flex; align-items:center; justify-content:center; margin: 0 auto 12px auto; font-weight:900;}
    .metric.mint{background: rgba(16,185,129,.12); color: rgba(5,120,87,1);}

    .cta-band{border-radius: calc(var(--radius) + 6px); background: var(--accent); color: #fff; padding: 34px 18px; box-shadow: var(--shadow-md); border: 1px solid rgba(0,0,0,.05);}
    .cta-band h2{color:#fff; margin:0;}
    .cta-band p{color: rgba(255,255,255,.86); margin: 10px 0 18px 0;}
    .cta-band .btn{background:#fff; color: rgba(17,24,39,1);}
    .cta-band .btn:hover{transform: translateY(-1px);}

    .stepper{position: relative; margin-top: 18px;}
    .stepper::before{content:""; position:absolute; left: 8%; right: 8%; top: 28px; height:2px; background: rgba(0,0,0,.10); z-index: 0;}
    .steps{display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start;}
    @media (max-width: 900px){ .stepper::before{display:none;} .steps{grid-template-columns: 1fr;} }
    .step{text-align:center; padding-top: 4px;}
    .step .num{width:44px; height:44px; border-radius:999px; background: var(--accent); color:#fff; font-weight:900; display:inline-flex; align-items:center; justify-content:center; position:relative; z-index: 2; margin: 0 auto 12px auto;}
    .step h3{margin: 0 0 8px 0; font-size: 1.15rem;}
    .step p{margin:0; color: var(--muted);}

    /* Premium product cards (match Figma Make ProductCard) */
    .product-card{position:relative; background: rgba(255,255,255,1); border: 1px solid var(--line); border-radius: 22px; padding: 24px; transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); box-shadow: 0 16px 36px rgba(15,23,42,.08);}
    .product-card:hover{transform: translateY(-1px); box-shadow: 0 18px 42px rgba(15,23,42,.10);}
    .product-card.is-direct{background: linear-gradient(180deg, rgba(255,255,255,1), rgba(247,248,255,1)); border-color: rgba(99,102,241,.18);}
    .product-card.is-search{background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,.95)); border-color: rgba(148,163,184,.20);}

    .rank{position:absolute; top:-12px; left:-12px; width:40px; height:40px; border-radius:999px; background: var(--accent); color:#fff; font-weight:900; display:inline-flex; align-items:center; justify-content:center; box-shadow: var(--shadow-sm);}

    .product-card .kicker{display:flex; align-items:center; justify-content:flex-start; gap:8px; margin-bottom: 14px; flex-wrap:wrap;}
    .product-card .product-card-top{display:grid; gap:14px; align-items:start; margin-bottom:10px;}
    .product-card .product-card-top.has-thumb{grid-template-columns:88px minmax(0,1fr);}
    .product-card .product-card-top.no-thumb{grid-template-columns:minmax(0,1fr);}
    .product-card .product-copy{min-width:0;}
    .product-card .model{margin:0 0 8px 0; font-size: clamp(1.15rem, 2.4vw, 1.5rem); font-weight: 800; line-height:1.15; letter-spacing:-.02em; color: rgba(17,24,39,1); text-wrap:balance;}
    .product-card .verified-title{margin:0 0 8px 0; color: var(--muted); font-size:.82rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
    .product-card .bestfor{display:flex; align-items:center; gap:8px; margin:0 0 14px 0; font-size: .95rem; font-weight: 700; color: rgba(79,70,229,1);}
    .product-card.is-search .verified-title{display:none;}
    .product-card .bestfor .star{color: rgba(245,158,11,1); font-weight: 900;}

    .product-card ul{margin: 0 0 18px 0; padding:0; list-style:none;}
    .product-card li{display:flex; gap:10px; align-items:flex-start; margin: 0 0 10px 0; color: var(--muted); font-size: .95rem; line-height: 1.45;}
    .product-card li::before{content:"•"; color: rgba(16,185,129,1); margin-top: 1px;}

    .product-card .cta{margin-top:auto; display:flex; flex-direction:column; gap:10px;}
    .product-card .cta .btn{width:100%; justify-content:center; border-radius: 14px; font-weight: 700;}
    .product-card.is-search .cta .btn{background: rgba(255,255,255,.92); color: rgba(79,70,229,1); border:1px solid rgba(99,102,241,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 6px 14px rgba(15,23,42,.05);}
    @media (max-width: 560px){
      .product-card{padding:18px;}
      .product-card .product-card-top.has-thumb{grid-template-columns:72px minmax(0,1fr); gap:12px;}
      .product-card .product-card-top.no-thumb{grid-template-columns:minmax(0,1fr);}
      .product-card .model{font-size:1rem;}
      .product-card .bestfor{font-size:.9rem; align-items:flex-start;}
    }

    .disclosure-bar{margin-top:12px; border-radius: 14px; border: 1px solid rgba(79,70,229,.20); background: rgba(79,70,229,.08); color: rgba(17,24,39,.86); padding: 12px 14px; font-size: .92rem;}

    /* Backhaul chooser (match Figma hierarchy) */
    .chooser-card{background: rgba(255,255,255,1); border:1px solid var(--line); border-radius: calc(var(--radius) + 6px); padding: 24px; box-shadow: var(--shadow); display:flex; flex-direction:column; gap: 12px;}
    .chooser-card:hover{box-shadow: var(--shadow-md);}
    .chooser-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
    .chooser-card h3{margin:0;}
    .chooser-card p{margin:0;}
    .checks{list-style:none; margin: 4px 0 0 0; padding:0; display:flex; flex-direction:column; gap:10px;}
    .checks li{display:flex; gap:10px; align-items:flex-start; color: var(--muted);}
    .checks li::before{content:"✓"; color: rgba(16,185,129,1); font-weight:900; margin-top: 1px;}
    .chooser-cta{margin-top: 4px;}
    .chooser-cta .btn{width:100%; justify-content:center;}

    /* Guide cards */
    .guide-card{display:block; text-decoration:none; color: inherit;}
    .guide-card:hover{transform: translateY(-1px);}
    .guide-card .title{font-weight: 900; color: rgba(17,24,39,1); margin: 0 0 6px 0;}
    .guide-card .desc{margin: 0; color: var(--muted);}
    .guide-card .meta{margin-top: 10px; display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
    .arrow{font-weight:900; color: rgba(55,48,163,1);}

    /* Accessibility */
    .skip{position:absolute; left:-999px; top:8px; background:#fff; border:1px solid var(--line); padding:10px 12px; border-radius:12px; box-shadow: var(--shadow-sm); z-index:999;}
    .skip:focus{left:16px;}
