    :root{
      --bg:#0b0c10;
      --panel:#12141a;
      --panel2:#171a22;
      --text:#f4f1ea;
      --muted:#9ea3ad;
      --line:#2a2f3a;
      --blue:#5b8cff;
      --gold:#c89c52;
      --max:1200px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:
        radial-gradient(circle at 85% 15%, rgba(91,140,255,.10), transparent 28%),
        radial-gradient(circle at 15% 80%, rgba(200,156,82,.06), transparent 26%),
        var(--bg);
      color:var(--text);
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height:1.55;
    }

    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .wrap{width:min(calc(100% - 36px),var(--max));margin:auto}

    header{
      position:sticky;top:0;z-index:20;
      background:rgba(11,12,16,.82);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(42,47,58,.75);
    }
    nav{
      min-height:68px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .brand{
      font-size:1rem;
      font-weight:900;
      letter-spacing:-.03em;
    }
    .navlinks{display:flex;gap:24px;color:var(--muted);font-size:.92rem}
    .navlinks a:hover{color:var(--text)}

    .hero{
      min-height:86vh;
      display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:60px;
      align-items:center;
      position:relative;
      padding:84px 0 70px;
      overflow:hidden;
    }

    .ghost{
      position:absolute;
      top:38px;left:-10px;
      font-size:clamp(6rem,18vw,16rem);
      font-weight:1000;
      letter-spacing:-.08em;
      line-height:.78;
      color:rgba(255,255,255,.018);
      pointer-events:none;
      user-select:none;
    }

    .eyebrow{
      color:var(--blue);
      font-size:.76rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.15em;
      margin-bottom:18px;
    }

    h1{
      margin:0;
      font-size:clamp(3.4rem,8vw,7.8rem);
      letter-spacing:-.075em;
      line-height:.88;
      max-width:900px;
    }

    .hero p{
      max-width:700px;
      color:var(--muted);
      font-size:clamp(1.08rem,2vw,1.35rem);
      margin:30px 0 0;
    }

    .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
    .btn{
      min-height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0 18px;
      border:1px solid var(--line);
      font-weight:800;
      font-size:.93rem;
      transition:.18s ease;
    }
    .btn.primary{background:var(--text);color:#111;border-color:var(--text)}
    .btn:hover{transform:translateY(-2px);border-color:#70798a}

    .hero-card{
      background:linear-gradient(180deg,var(--panel2),var(--panel));
      border:1px solid var(--line);
      padding:18px;
      transform:rotate(1.2deg);
      box-shadow:0 25px 60px rgba(0,0,0,.28);
    }
    .hero-card img{
      width:100%;
      aspect-ratio:4/5;
      object-fit:cover;
      object-position:center top;
      filter:saturate(.92) contrast(1.02);
    }
    .caption{
      display:flex;justify-content:space-between;gap:20px;
      color:var(--muted);font-size:.82rem;margin-top:12px
    }

    section{padding:88px 0}
    .section-title{
      display:flex;
      justify-content:space-between;
      gap:28px;
      align-items:end;
      margin-bottom:34px;
    }
    .section-title h2{
      margin:0;
      font-size:clamp(2.4rem,5vw,5rem);
      letter-spacing:-.06em;
      line-height:.9;
    }
    .section-title p{margin:0;color:var(--muted);max-width:500px}

    .feature{
      border:1px solid var(--line);
      background:linear-gradient(135deg,rgba(91,140,255,.09),rgba(255,255,255,.02));
      min-height:480px;
      padding:42px;
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:40px;
      align-items:end;
      position:relative;
      overflow:hidden;
    }
    .feature:before{
      content:"VIVIDO";
      position:absolute;
      right:-15px;top:-16px;
      font-size:clamp(5rem,14vw,12rem);
      font-weight:1000;
      letter-spacing:-.08em;
      color:rgba(255,255,255,.025);
    }
    .feature h3{
      font-size:clamp(3rem,6vw,6.4rem);
      margin:0;
      letter-spacing:-.07em;
      line-height:.9;
    }
    .feature p{color:var(--muted);max-width:650px;font-size:1.05rem}
    .tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
    .tag{border:1px solid var(--line);padding:7px 10px;font-size:.8rem;color:#c8ccd4}
    .feature-side{
      border-left:1px solid var(--line);
      padding-left:28px;
      color:var(--muted);
    }
    .feature-side strong{color:var(--text)}

    .lab-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .lab{
      min-height:280px;
      padding:26px;
      border:1px solid var(--line);
      background:var(--panel);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition:.2s ease;
    }
    .lab:hover{transform:translateY(-4px);border-color:#3b4352}
    .lab .num{color:var(--gold);font-size:.8rem;font-weight:900;letter-spacing:.14em}
    .lab h3{
      margin:50px 0 10px;
      font-size:2rem;
      letter-spacing:-.045em;
      line-height:1;
    }
    .lab p{color:var(--muted);margin:0}
    .lab small{color:#737985;margin-top:30px}

    .bench{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .bench-item{
      border-top:1px solid var(--line);
      padding:24px 0 16px;
    }
    .bench-item h3{font-size:1.5rem;margin:0 0 8px}
    .bench-item p{margin:0;color:var(--muted)}

    .about{
      display:grid;
      grid-template-columns:.8fr 1.2fr;
      gap:60px;
      align-items:center;
    }
    .about img{
      width:100%;
      aspect-ratio:4/5;
      object-fit:cover;
      object-position:center top;
      border:1px solid var(--line);
    }
    .about h2{
      font-size:clamp(3rem,6vw,6rem);
      letter-spacing:-.07em;
      line-height:.9;
      margin:0 0 28px;
    }
    .about p{color:var(--muted);font-size:1.05rem;max-width:680px}
    .about strong{color:var(--text)}

    .contact{
      background:#090a0d;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
    }
    .contact-inner{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:40px;
      padding:76px 0;
    }
    .contact h2{
      font-size:clamp(3rem,6vw,6.5rem);
      letter-spacing:-.07em;
      line-height:.9;
      margin:0;
      max-width:850px;
    }
    .contact p{color:var(--muted);max-width:520px}

    footer{padding:28px 0;color:#6f7480;font-size:.9rem}
    footer .wrap{display:flex;justify-content:space-between;gap:20px}


    /* VIVIDO FEATURE — deliberately more visual than the rest of the page */
    .vivido-stage{
      margin-top:22px;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:18px;
      min-height:590px;
    }
    .vivido-copy{
      position:relative;
      overflow:hidden;
      border:1px solid var(--line);
      background:
        radial-gradient(circle at 80% 10%, rgba(91,140,255,.18), transparent 32%),
        linear-gradient(145deg,#11141c,#0d0f14);
      padding:44px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .vivido-copy:after{
      content:"V";
      position:absolute;
      right:-30px;
      bottom:-115px;
      font-size:30rem;
      font-weight:1000;
      line-height:1;
      letter-spacing:-.12em;
      color:rgba(255,255,255,.022);
      pointer-events:none;
    }
    .vivido-word{
      font-size:clamp(4.5rem,10vw,9rem);
      font-weight:1000;
      line-height:.78;
      letter-spacing:-.085em;
      margin:12px 0 30px;
    }
    .vivido-word span{color:var(--blue)}
    .vivido-copy .lead{
      font-size:clamp(1.12rem,2vw,1.45rem);
      max-width:650px;
      color:#d4d7de;
      letter-spacing:-.015em;
    }
    .vivido-copy .sub{
      max-width:610px;
      color:var(--muted);
    }
    .vivido-meta{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1px;
      background:var(--line);
      border:1px solid var(--line);
      margin-top:34px;
      position:relative;
      z-index:2;
    }
    .vivido-meta div{
      background:#101218;
      padding:16px;
    }
    .vivido-meta b{
      display:block;
      color:var(--text);
      font-size:.78rem;
      text-transform:uppercase;
      letter-spacing:.1em;
      margin-bottom:5px;
    }
    .vivido-meta span{color:var(--muted);font-size:.85rem}

    .vivido-visual{
      display:grid;
      grid-template-rows:1.35fr .65fr;
      gap:18px;
    }
    .mock-browser{
      border:1px solid var(--line);
      background:#101218;
      min-height:390px;
      overflow:hidden;
      box-shadow:0 28px 70px rgba(0,0,0,.22);
    }
    .browser-top{
      height:46px;
      display:flex;
      align-items:center;
      gap:7px;
      padding:0 15px;
      border-bottom:1px solid var(--line);
    }
    .dot{width:8px;height:8px;border-radius:50%;background:#444b58}
    .browser-url{
      margin-left:8px;
      color:#6f7682;
      font-size:.74rem;
      border:1px solid #292e38;
      padding:5px 10px;
      flex:1;
    }
    .browser-art{
      min-height:344px;
      position:relative;
      padding:34px;
      background:
        radial-gradient(circle at 20% 25%, rgba(200,156,82,.24), transparent 20%),
        radial-gradient(circle at 78% 35%, rgba(91,140,255,.28), transparent 25%),
        radial-gradient(circle at 60% 85%, rgba(138,67,183,.22), transparent 22%),
        #0b0c10;
      overflow:hidden;
    }
    .browser-art .mini-brand{
      font-size:.72rem;
      font-weight:1000;
      letter-spacing:.22em;
      color:#fff;
    }
    .browser-art h4{
      margin:60px 0 12px;
      font-size:clamp(2.3rem,4vw,4.4rem);
      line-height:.88;
      letter-spacing:-.06em;
      max-width:470px;
    }
    .browser-art p{max-width:390px;color:#a8adb7;margin:0}
    .art-card{
      position:absolute;
      width:130px;
      aspect-ratio:4/5;
      border:1px solid rgba(255,255,255,.16);
      background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
      backdrop-filter:blur(8px);
      right:34px;
      bottom:28px;
      transform:rotate(7deg);
      box-shadow:0 20px 50px rgba(0,0,0,.28);
    }
    .art-card:before{
      content:"AI";
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      font-size:3.6rem;
      font-weight:1000;
      letter-spacing:-.08em;
      color:rgba(255,255,255,.55);
    }

    .vivido-bottom{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }
    .mini-panel{
      border:1px solid var(--line);
      background:var(--panel);
      padding:24px;
      min-height:165px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }
    .mini-panel .label{
      color:var(--gold);
      text-transform:uppercase;
      letter-spacing:.13em;
      font-size:.7rem;
      font-weight:900;
    }
    .mini-panel strong{
      font-size:1.35rem;
      line-height:1.05;
      letter-spacing:-.035em;
      max-width:230px;
    }
    .mini-panel small{color:var(--muted)}

    @media(max-width:900px){
      .vivido-stage{grid-template-columns:1fr}
      .vivido-copy{min-height:520px}
    }
    @media(max-width:560px){
      .vivido-copy{padding:26px;min-height:500px}
      .vivido-meta{grid-template-columns:1fr}
      .vivido-bottom{grid-template-columns:1fr}
      .browser-art{padding:24px}
      .art-card{width:90px;right:18px;bottom:18px}
    }

    @media(max-width:860px){
      .hero,.feature,.about{grid-template-columns:1fr}
      .hero{min-height:auto;padding-top:68px}
      .hero-card{max-width:540px;transform:none}
      .lab-grid{grid-template-columns:1fr}
      .bench{grid-template-columns:1fr}
      .feature-side{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
      .contact-inner{flex-direction:column;align-items:flex-start}
    }

    @media(max-width:560px){
      .wrap{width:min(calc(100% - 26px),var(--max))}
      .navlinks a:nth-child(2){display:none}
      section{padding:66px 0}
      .section-title{flex-direction:column;align-items:flex-start}
      .feature{padding:26px}
      footer .wrap{flex-direction:column}
    }
  
    /* ===== V3: make the page feel alive without turning it into a carnival ===== */

    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:-2;
      background:
        linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px);
      background-size:42px 42px;
      mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 82%);
    }

    .ambient{
      position:fixed;
      border-radius:50%;
      filter:blur(90px);
      opacity:.22;
      pointer-events:none;
      z-index:-1;
      animation:drift 18s ease-in-out infinite alternate;
    }
    .ambient.one{
      width:420px;height:420px;
      background:rgba(91,140,255,.34);
      top:8%;left:-140px;
    }
    .ambient.two{
      width:360px;height:360px;
      background:rgba(200,156,82,.22);
      right:-100px;top:48%;
      animation-duration:24s;
    }

    @keyframes drift{
      from{transform:translate3d(0,0,0) scale(1)}
      to{transform:translate3d(70px,45px,0) scale(1.12)}
    }

    .status{
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:#b9bec8;
      font-size:.8rem;
      margin-top:22px;
      border:1px solid var(--line);
      padding:8px 11px;
      background:rgba(16,18,24,.7);
      backdrop-filter:blur(8px);
    }
    .status-dot{
      width:8px;height:8px;border-radius:50%;
      background:#75e09f;
      box-shadow:0 0 0 0 rgba(117,224,159,.45);
      animation:pulseDot 2.2s infinite;
    }
    @keyframes pulseDot{
      0%{box-shadow:0 0 0 0 rgba(117,224,159,.45)}
      70%{box-shadow:0 0 0 8px rgba(117,224,159,0)}
      100%{box-shadow:0 0 0 0 rgba(117,224,159,0)}
    }

    .ticker{
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      overflow:hidden;
      white-space:nowrap;
      background:#0d0f14;
    }
    .ticker-track{
      display:inline-flex;
      gap:42px;
      padding:15px 0;
      min-width:max-content;
      animation:marquee 24s linear infinite;
      color:#777e89;
      font-weight:900;
      letter-spacing:.12em;
      font-size:.78rem;
      text-transform:uppercase;
    }
    .ticker-track b{color:var(--blue)}
    @keyframes marquee{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }

    .reveal{
      opacity:0;
      transform:translateY(24px);
      transition:opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1);
    }
    .reveal.is-visible{
      opacity:1;
      transform:none;
    }

    .hero-card{
      transition:transform .18s ease-out, box-shadow .25s ease;
      transform-style:preserve-3d;
      will-change:transform;
    }
    .hero-card:hover{
      box-shadow:0 35px 90px rgba(0,0,0,.38);
    }

    .vivido-word{
      position:relative;
      display:inline-block;
    }
    .vivido-word::after{
      content:"";
      position:absolute;
      left:0;
      bottom:-12px;
      height:3px;
      width:34%;
      background:linear-gradient(90deg,var(--blue),transparent);
      animation:scanline 3.8s ease-in-out infinite alternate;
    }
    @keyframes scanline{
      from{width:18%;opacity:.5}
      to{width:74%;opacity:1}
    }

    .mock-browser{
      transition:transform .35s ease, border-color .35s ease;
    }
    .mock-browser:hover{
      transform:translateY(-5px) rotate(-.25deg);
      border-color:#424a59;
    }

    .art-card{
      animation:floatCard 4s ease-in-out infinite;
    }
    @keyframes floatCard{
      0%,100%{transform:rotate(7deg) translateY(0)}
      50%{transform:rotate(4deg) translateY(-12px)}
    }

    .browser-art::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:1px;
      background:linear-gradient(90deg,transparent,var(--blue),transparent);
      box-shadow:0 0 18px rgba(91,140,255,.7);
      animation:sweep 5.5s linear infinite;
    }
    @keyframes sweep{
      0%{transform:translateY(-320px);opacity:0}
      15%{opacity:.9}
      85%{opacity:.9}
      100%{transform:translateY(0);opacity:0}
    }

    .lab{
      position:relative;
      overflow:hidden;
    }
    .lab::before{
      content:"";
      position:absolute;
      width:160px;height:160px;border-radius:50%;
      background:rgba(91,140,255,.10);
      right:-70px;top:-80px;
      filter:blur(20px);
      transition:transform .4s ease, opacity .4s ease;
      opacity:.4;
    }
    .lab:hover::before{
      transform:scale(1.6) translate(-20px,20px);
      opacity:.9;
    }

    .btn{
      position:relative;
      overflow:hidden;
    }
    .btn::after{
      content:"";
      position:absolute;
      inset:0;
      transform:translateX(-120%);
      background:linear-gradient(110deg,transparent,rgba(255,255,255,.13),transparent);
      transition:transform .55s ease;
    }
    .btn:hover::after{transform:translateX(120%)}

    .spotlight{
      position:fixed;
      width:360px;height:360px;
      border-radius:50%;
      pointer-events:none;
      z-index:1;
      background:radial-gradient(circle, rgba(91,140,255,.06), transparent 68%);
      transform:translate(-50%,-50%);
      opacity:0;
      transition:opacity .2s ease;
      mix-blend-mode:screen;
    }

    @media (hover:none), (max-width:760px){
      .spotlight{display:none}
    }

    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after{
        animation-duration:.001ms !important;
        animation-iteration-count:1 !important;
        scroll-behavior:auto !important;
        transition-duration:.001ms !important;
      }
      .reveal{opacity:1;transform:none}
    }

    .hero-card img,.about img{height:auto}
    .vivido-preview{display:block;background:#090b0c;height:390px;overflow:hidden}
    .vivido-preview img{width:100%;height:100%;object-fit:contain}
    .vivido-preview:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
    .vivido-visual{grid-template-rows:auto auto}
    .featured-art{margin:0;border:1px solid var(--line);background:var(--panel);overflow:hidden}
    .featured-art img{width:100%;height:auto}
    .featured-art a{display:block}
    .featured-art a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
    .featured-art figcaption{display:flex;justify-content:space-between;gap:16px;padding:16px 18px;color:var(--muted);font-size:.8rem}
    .featured-art figcaption strong{color:var(--gold);letter-spacing:.08em}
    .vivido-copy .mock-browser{margin-top:24px;min-height:0;flex-shrink:0}
    .vivido-preview{height:auto}
    .vivido-preview img{height:auto;object-fit:contain}
    .vivido-visual{display:block}
    section,main{scroll-margin-top:88px}
    .navlinks a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
    .install-guide{max-width:900px}
    .install-guide p,.install-guide li{color:var(--muted)}
    .install-guide li{margin:12px 0}
    .install-guide a{text-decoration:underline;text-underline-offset:3px;color:var(--text)}
    .install-guide strong{color:var(--text)}
    code,kbd{background:var(--panel2);border:1px solid var(--line);padding:2px 6px;border-radius:4px;overflow-wrap:anywhere}
    details{border:1px solid var(--line);padding:18px;margin-top:24px}
    summary{cursor:pointer;font-weight:700}
    .release-note{font-size:.9rem;border-left:3px solid var(--gold);padding-left:16px}
    .reveal{opacity:1;transform:none}
    .js-reveal .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}
    @media(max-width:560px){.navlinks{gap:12px;font-size:.8rem}.navlinks a:nth-child(2){display:inline}.brand{font-size:.9rem}nav{gap:10px}.vivido-word{font-size:clamp(3rem,17vw,5rem)}}
    @media(prefers-reduced-motion:reduce){.js-reveal .reveal:not(.is-visible){opacity:1;transform:none}}
    .android-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .android-help{margin-top:20px}.android-help p{color:var(--muted)}
    @media(max-width:860px){.android-grid{grid-template-columns:1fr}}
    /* Phone and tablet layout */
    .hero>*,.about>*,.vivido-stage>*,.android-grid>*,.lab-grid>*{min-width:0}
    .ticker{overflow:hidden;max-width:100%}
    @media(max-width:860px){
      .hero{gap:32px;padding:44px 0 40px}
      .about{gap:28px}
      .vivido-copy{min-height:0}
      .section-title{align-items:flex-start;flex-direction:column;gap:18px}
      .hero-card,.about img{max-width:480px;margin-inline:auto}
      .contact-inner{padding:44px 0}
    }
    @media(max-width:600px){
      .wrap{width:calc(100% - 32px)}
      nav{flex-wrap:wrap;gap:12px;padding:14px 0;min-height:0}
      .brand{font-size:1rem}
      .navlinks{width:100%;justify-content:space-between;gap:6px;font-size:.9rem}
      .navlinks a{display:inline-flex!important;min-height:40px;align-items:center;padding:4px 8px}
      section,main{scroll-margin-top:120px}
      h1{font-size:clamp(2.6rem,12.6vw,4.2rem);line-height:1;letter-spacing:-.06em}
      .hero p{font-size:1.05rem;margin-top:22px}
      .hero .status{font-size:.75rem;flex-wrap:wrap;max-width:100%}
      .ghost{font-size:6rem;left:0;top:25px}
      section{padding:44px 0}
      .section-title h2{font-size:clamp(2rem,9vw,3rem);line-height:1.05}
      .section-title p{font-size:.95rem}
      .actions{gap:10px;margin-top:22px}
      .actions .btn{flex:1 1 100%;min-height:48px;text-align:center;padding:10px 14px}
      .hero-card{padding:12px;width:100%;transform:none!important}
      .vivido-stage{gap:16px;min-height:0}
      .vivido-copy{padding:24px;min-height:0}
      .vivido-word{font-size:clamp(3rem,17vw,5rem);margin-bottom:24px}
      .vivido-meta{grid-template-columns:1fr}
      .vivido-copy .lead{font-size:1.15rem}
      .tags{gap:6px}.tag{font-size:.75rem}
      .browser-top{padding:0 10px}.browser-url{min-width:0}
      .featured-art figcaption{flex-wrap:wrap;padding:14px}
      .lab{min-height:0;padding:22px}.lab h3{margin:28px 0 14px;font-size:1.7rem;line-height:1.1}
      .lab small{margin-top:22px}
      .android-grid,.lab-grid{gap:16px}
      .about h2,.contact h2{font-size:clamp(2.3rem,10vw,3.5rem);line-height:1.05}
      .about p{font-size:1rem}
      .contact-inner>.btn{width:100%}
      details{padding:16px}summary{line-height:1.5}
      .install-guide ol{padding-left:22px}
      .install-guide code{font-size:.85em}
      .caption{gap:12px}
    }

/* Desklet gallery: follows the site's existing dark panels and blue accents. */
.desklet-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.desklet-card { position:relative; border:1px solid var(--line); border-radius:20px; background:var(--panel); }
.desklet-card:hover, .desklet-card:focus-within { z-index:5; }
.desklet-preview { position:relative; display:block; width:100%; padding:18px 18px 12px; border:0; border-radius:20px 20px 0 0; color:var(--muted); background:var(--panel2); cursor:zoom-in; font:inherit; }
.desklet-preview:focus-visible, .desklet-close:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.desklet-thumbnail { display:flex; align-items:flex-start; justify-content:center; height:230px; }
.desklet-thumbnail img { height:100%; width:auto; max-width:100%; object-fit:contain; border-radius:8px; }
.desklet-preview-hint { display:block; margin-top:12px; font-size:.8rem; }
.desklet-zoom { position:absolute; left:50%; top:12px; transform:translateX(-50%) translateY(8px); opacity:0; visibility:hidden; pointer-events:none; padding:10px; width:max-content; max-width:min(420px,85vw); background:var(--panel2); border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 60px rgba(0,0,0,.65); transition:opacity .15s,transform .15s; z-index:6; }
.desklet-zoom img { max-height:65vh; width:auto; max-width:100%; border-radius:10px; }
@media (hover:hover) and (pointer:fine) {
  .desklet-preview:hover .desklet-zoom, .desklet-preview:focus-visible .desklet-zoom { opacity:1; visibility:visible; transform:translateX(-50%); }
}
.desklet-copy { padding:24px; }
.desklet-copy h3 { margin:10px 0; font-size:1.35rem; }
.desklet-copy p { color:var(--muted); }
.desklet-copy small { color:var(--muted); line-height:1.7; display:block; }
.desklet-dialog { max-width:min(640px,calc(100vw - 32px)); max-height:90vh; padding:20px; border:1px solid var(--line); border-radius:20px; background:var(--panel); color:var(--text); }
.desklet-dialog::backdrop { background:rgba(0,0,0,.8); }
.desklet-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:16px; }
.desklet-dialog-header h2 { margin:0; font-size:1.2rem; }
.desklet-close { cursor:pointer; padding:2px 10px; border:0; border-radius:8px; background:var(--panel2); color:var(--text); font-size:28px; }
.desklet-dialog > img { max-height:72vh; max-width:100%; width:auto; margin:auto; border-radius:10px; }
@media(max-width:760px) { .desklet-grid { grid-template-columns:1fr; } .navlinks { gap:12px; flex-wrap:wrap; justify-content:flex-end; } }
@media(prefers-reduced-motion:reduce) { .desklet-zoom { transition:none; } }

/* Mint Voice Typing: compact product preview and a clear installation column. */
#voice-typing { scroll-margin-top:80px; }
.voice-layout { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:32px; margin-bottom:24px; align-items:start; }
.voice-overview,.voice-steps { background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:28px; min-width:0; }
.voice-intro { font-size:1.6rem; line-height:1.2; font-weight:800; color:var(--text); margin:14px 0; }
.voice-overview > p:not(.voice-intro), .voice-requirements { color:var(--muted); }
.voice-preview-card { max-width:320px; margin:24px 0; }
.voice-preview { padding:0; background:transparent; border-radius:14px; }
.voice-image-strip { display:block; width:100%; aspect-ratio:2170 / 370; overflow:hidden; border-radius:14px; }
.voice-image-strip img { display:block; width:100%; height:100%; object-fit:cover; max-width:none; }
.voice-preview .desklet-zoom { width:420px; max-width:min(440px,85vw); }
.voice-preview-card figcaption { margin-top:10px; color:var(--muted); font-size:.85rem; }
.voice-requirements { font-size:.85rem; border-top:1px solid var(--line); margin-top:24px; padding-top:20px; }
.voice-requirements strong { color:var(--text); }
.voice-steps h3 { margin:0 0 20px; font-size:1.4rem; }
.voice-steps ol { margin:0; padding-left:24px; }
.voice-steps li { padding:0 0 20px 8px; }
.voice-steps li:last-child { padding-bottom:0; }
.voice-steps li::marker { color:var(--blue); font-weight:800; }
@media(max-width:760px) { .voice-layout { grid-template-columns:1fr; gap:16px; } .voice-overview,.voice-steps { padding:22px; } }
