:root{
    --bg:#f4f1ea;            /* warm cream */
    --card:#fdfcf8;          /* near-white warm surface */
    --card-2:#faf8f2;
    --line:#e7e3d8;
    --line-soft:#efece3;
    --ink:#20201d;
    --text:#34332e;
    --muted:#6f6c63;
    --muted-2:#9a968b;
    --accent:#1f9a4e;        /* Vibe green */
    --accent-ink:#136336;
    --accent-weak:#e7f4ec;
    --pill:#eceada;
    --pill-ink:#5f5c50;
    --link:#2563c9;
    --ring:rgba(31,154,78,.16);
    --radius:16px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{background:var(--bg);color:var(--text);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
  a{color:inherit;text-decoration:none}
  [hidden]{display:none !important}
  .serif{font-family:"Fraunces",Georgia,"Times New Roman",serif}
  .container{max-width:1180px;margin:0 auto;padding:0 28px}

  /* ---------- top bar ---------- */
  header.topbar{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.85);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line-soft)}
  .topbar-in{max-width:1180px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:20px}
  .brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
  .brand .mk{height:32px;width:32px;border-radius:8px;flex:none}
  .brand .wm{font-weight:700;font-size:18px;letter-spacing:-.02em}
  .brand .wm b{color:var(--accent)}
  nav.links{display:flex;gap:26px;margin:0 auto;color:var(--ink);font-size:15px;font-weight:500}
  nav.links a{position:relative;opacity:.82;transition:opacity .15s}
  nav.links a:hover,nav.links a.on{opacity:1}
  .top-right{display:flex;align-items:center;gap:18px}
  .login{font-size:15px;font-weight:500;color:var(--ink);opacity:.82;cursor:pointer}
  .login:hover{opacity:1}
  .apply-pill{background:var(--ink);color:#fff;font-family:"Fraunces",serif;font-style:italic;font-weight:500;font-size:16px;padding:10px 24px;border-radius:999px;transition:transform .15s,background .15s}
  .apply-pill:hover{transform:translateY(-1px);background:#000}
  @media(max-width:860px){nav.links{display:none}}

  /* ---------- hero ---------- */
  .hero{text-align:center;padding:60px 28px 26px;max-width:820px;margin:0 auto}
  .hero h1{font-weight:600;font-size:clamp(40px,6vw,74px);letter-spacing:-.02em;line-height:1.02;color:var(--ink);margin:0}
  .hero h1 em{font-style:italic;color:var(--accent)}
  .hero p{margin:22px auto 0;color:var(--muted);font-size:18px;line-height:1.6;max-width:620px}
  .hero p a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}

  .toolbar{max-width:1180px;margin:14px auto 0;padding:0 28px;display:flex;justify-content:flex-end;align-items:center;gap:12px}
  .toolbar label{color:var(--muted);font-size:14px}
  .sortsel{font-family:inherit;font-size:14px;font-weight:500;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px 13px;cursor:pointer}

  /* ---------- layout ---------- */
  .layout{max-width:1180px;margin:18px auto 0;padding:0 28px 90px;display:grid;grid-template-columns:288px 1fr;gap:26px;align-items:start}
  @media(max-width:900px){.layout{grid-template-columns:1fr}.filters{position:static !important}}

  /* ---------- filter card ---------- */
  .filters{position:sticky;top:92px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:8px 6px}
  .fg{padding:14px 16px}
  .fg + .fg{border-top:1px solid var(--line-soft)}
  .fg-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-bottom:12px}
  .fg-head h4{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
  .fg-head .car{color:var(--muted-2);font-size:18px;line-height:1;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;transition:background .15s}
  .fg-head:hover .car{background:var(--pill)}
  .opt{display:flex;align-items:center;gap:10px;padding:7px 4px;border-radius:8px;cursor:pointer;font-size:14.5px;color:var(--text);transition:background .12s}
  .opt:hover{background:var(--card-2)}
  .opt .box{width:18px;height:18px;border-radius:5px;border:1.6px solid #cbc7ba;background:var(--card);flex:none;position:relative;transition:.12s}
  .opt input{position:absolute;opacity:0;width:0;height:0}
  .opt input:checked + .box{background:var(--accent);border-color:var(--accent)}
  .opt input:checked + .box::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
  .opt .lb{flex:1;display:flex;align-items:center;gap:7px}
  .opt .ct{font-size:12px;font-weight:600;color:var(--muted);background:var(--pill);border-radius:6px;padding:1px 7px;min-width:22px;text-align:center}
  .fg .more{display:inline-block;margin:8px 4px 0;color:var(--link);font-size:13.5px;font-weight:600;cursor:pointer}
  .fg .more:hover{text-decoration:underline}
  .reset-all{width:100%;margin:6px 0 4px;background:none;border:none;color:var(--accent);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;padding:8px}
  .reset-all:hover{text-decoration:underline}

  /* ---------- results ---------- */
  .searchbar{display:flex;align-items:center;gap:12px;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:15px 18px;transition:.15s;margin-bottom:14px}
  .searchbar:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}
  .searchbar svg{flex:none;color:var(--muted-2)}
  .searchbar input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:16px;color:var(--ink)}
  .searchbar input::placeholder{color:var(--muted-2)}
  .showing{color:var(--muted);font-size:14.5px;margin:2px 2px 10px}
  .showing b{color:var(--ink)}
  .active-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
  .active-chips:empty{display:none}
  .ac{display:inline-flex;align-items:center;gap:6px;background:var(--accent-weak);border:1px solid #cbe8d5;color:var(--accent-ink);padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer}
  .ac .x{opacity:.55;font-size:14px}
  .ac:hover .x{opacity:1}

  .rows{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .co-row{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background .12s}
  .co-row:last-child{border-bottom:none}
  .co-row:hover{background:var(--card-2)}
  .co-logo{width:64px;height:64px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:22px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06)}
  .co-logo img{width:66%;height:66%;object-fit:contain}
  .haslogo{background:#fff !important;border:1px solid var(--line)}
  .co-logo.haslogo img,.ch-logo.haslogo img,.rl.haslogo img{width:68%;height:68%}
  .big-logo.haslogo{padding:18px}.big-logo.haslogo img{width:auto;max-width:62%;height:auto;max-height:72px}
  .cov .cov-t{color:var(--ink);font-size:16px;font-weight:600}
  .lg-wrap{position:relative;width:64px;height:64px}
  .vbadge{position:absolute;right:-5px;bottom:-5px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:9px;box-shadow:0 2px 6px rgba(0,0,0,.28);border:2px solid var(--card);padding-left:1px}
  .short-player{margin-bottom:0}
  .media-toggle{display:flex;gap:3px;background:var(--card-2);border:1px solid var(--line);border-radius:999px;padding:4px;margin-bottom:14px}
  .media-toggle .mt{flex:1;border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:9px 8px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.15s}
  .media-toggle .mt.on{background:var(--accent);color:#fff;box-shadow:0 2px 8px -3px rgba(31,154,78,.6)}
  .media-toggle .mt:not(.on):hover{color:var(--ink)}
  .media-panel{animation:mpfade .25s ease}
  @keyframes mpfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
  .short-frame{position:relative;width:100%;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#0c120e;box-shadow:0 18px 44px -18px rgba(0,0,0,.5),0 0 0 1px var(--line);cursor:pointer}
  .short-frame video{width:100%;height:100%;object-fit:cover;display:block}
  .short-frame iframe{width:100%;height:100%;border:0;display:block}
  .short-frame video:fullscreen,.short-frame video:-webkit-full-screen{object-fit:contain;background:#000}
  .short-badge{position:absolute;top:12px;left:12px;z-index:3;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px}
  .short-ov{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding-bottom:22px;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 42%);transition:opacity .25s;pointer-events:none}
  .short-frame.sound .short-ov{opacity:0}
  .short-ov .pbtn{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.75);display:grid;place-items:center;font-size:18px;color:#fff;backdrop-filter:blur(4px)}
  .short-ov .ptxt{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.55)}
  .short-frame:hover{box-shadow:0 22px 54px -18px rgba(0,0,0,.6),0 0 0 1px var(--accent)}
  .short-cap{margin-top:10px;text-align:center;font-size:12.5px;color:var(--muted)}
  .short-cap b{color:var(--accent-ink);font-weight:700}
  .home-guides{max-width:1180px;margin:6px auto 0;padding:0 28px 74px}
  .home-guides h2{font-family:"Fraunces",serif;font-weight:600;font-size:28px;color:var(--ink);margin:0 0 4px}
  .home-guides .sub{color:var(--muted);font-size:15px;margin:0 0 20px}
  .guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  @media(max-width:900px){.guide-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.guide-grid{grid-template-columns:1fr}}
  .gcard{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;cursor:pointer;transition:.15s;min-height:160px}
  .gcard:hover{border-color:#d9d4c6;transform:translateY(-2px);box-shadow:0 14px 32px -22px rgba(0,0,0,.4)}
  .gcard .gk{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-weak);align-self:flex-start;padding:3px 9px;border-radius:6px}
  .gcard h3{font-family:"Fraunces",serif;font-weight:600;font-size:19px;color:var(--ink);margin:2px 0 0;line-height:1.2}
  .gcard p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
  .gcard .read{color:var(--accent);font-weight:700;font-size:13.5px;margin-top:auto}
  .guides-hero{text-align:center;max-width:720px;margin:0 auto;padding:52px 28px 6px}
  .guides-hero h1{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(34px,5vw,54px);color:var(--ink);margin:0}
  .guides-hero p{color:var(--muted);font-size:17px;margin:16px auto 0;max-width:560px}
  .guides-wrap{max-width:1180px;margin:26px auto 0;padding:0 28px 84px}
  .guide-page{max-width:760px;margin:0 auto;padding:26px 28px 90px}
  .back-guides{display:inline-block;color:var(--muted);font-weight:700;font-size:14px;margin-bottom:20px;cursor:pointer}
  .back-guides:hover{color:var(--ink)}
  .guide-article .gk{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-weak);padding:4px 11px;border-radius:6px}
  .guide-article h1{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(30px,4vw,44px);letter-spacing:-.01em;color:var(--ink);margin:16px 0 8px;line-height:1.08}
  .guide-article .dek{color:var(--muted);font-size:18px;line-height:1.5;margin:0 0 6px}
  .guide-article .byline{color:var(--muted-2);font-size:13px;margin-bottom:24px;font-family:"Space Mono",monospace}
  .guide-article p{font-size:17px;line-height:1.75;color:var(--text);margin:0 0 18px}
  .guide-article h2{font-family:"Fraunces",serif;font-weight:600;font-size:25px;color:var(--ink);margin:32px 0 12px}
  .guide-article a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:2px}
  .guide-article ul{margin:0 0 18px;padding-left:22px}
  .guide-article li{font-size:17px;line-height:1.7;color:var(--text);margin-bottom:8px}
  .guide-cta{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-top:30px;display:flex;flex-direction:column;gap:10px}
  .guide-cta b{font-family:"Fraunces",serif;font-size:20px;color:var(--ink)}
  .guide-cta .apply-pill{align-self:flex-start;text-decoration:none}
  .guide-more{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}
  .guide-more h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
  .guide-more a{display:block;color:var(--link);font-weight:600;margin-bottom:8px;text-decoration:none}
  .guide-more a:hover{text-decoration:underline}
  .cov-guides{display:flex;flex-direction:column;gap:8px;margin-top:4px}
  .cov-guides .gl{color:var(--link);font-weight:600;font-size:15px;text-decoration:none}
  .cov-guides .gl:hover{text-decoration:underline}
  .co-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  .co-name{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
  .co-loc{font-size:14px;color:var(--muted)}
  .co-tag{margin:4px 0 11px;color:var(--text);font-size:15px;line-height:1.45;max-width:66ch}
  .pills{display:flex;flex-wrap:wrap;gap:7px}
  .pill{font-size:11px;letter-spacing:.045em;text-transform:uppercase;font-weight:600;padding:4px 9px;border-radius:6px;background:var(--pill);color:var(--pill-ink);white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
  .pill.accent{background:var(--accent-weak);color:var(--accent-ink)}
  .pill.accent .yv{width:15px;height:15px;border-radius:4px;background:var(--accent);color:#fff;display:inline-grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:0}
  .pill.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
  .pill.gold{background:#f7efd6;color:#8a6a12}

  .empty{padding:70px 24px;text-align:center;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
  .empty b{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}
  .empty .apply-pill{margin-top:18px;display:inline-block}

  /* ---------- company page ---------- */
  .page{max-width:1180px;margin:0 auto;padding:26px 28px 90px}
  .crumb{font-size:14px;color:var(--muted);margin-bottom:22px}
  .crumb a{color:var(--link)}
  .crumb a:hover{text-decoration:underline}
  .crumb .sep{margin:0 8px;color:var(--muted-2)}
  .co-grid{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start}
  @media(max-width:860px){.co-grid{grid-template-columns:1fr}}
  .ch-head{display:flex;gap:20px;align-items:flex-start}
  .ch-logo{width:88px;height:88px;border-radius:18px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:30px;flex:none;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .ch-logo img{width:66%;height:66%;object-fit:contain}
  .ch-main h1{margin:0;font-size:34px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
  .ch-main .sub{margin:6px 0 0;color:var(--text);font-size:18px}
  .ch-main .pills{margin-top:14px}
  .tabs{display:flex;align-items:center;gap:28px;margin:26px 0 0;border-bottom:1px solid var(--line);padding-bottom:0}
  .tab{padding:0 0 14px;font-size:16px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
  .tab.on{color:var(--ink);border-color:var(--ink)}
  .tab .b{font-size:12px;background:var(--pill);color:var(--pill-ink);border-radius:6px;padding:1px 7px;margin-left:6px;font-weight:700}
  .tabs .weblink{margin-left:auto;color:var(--link);font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:7px;padding-bottom:14px}
  .tabs .weblink:hover{text-decoration:underline}
  .prose{padding-top:26px}
  .prose p{font-size:16.5px;line-height:1.7;color:var(--text);margin:0 0 18px;max-width:64ch}
  .sec-h{font-family:"Fraunces",serif;font-weight:600;font-size:26px;color:var(--ink);margin:32px 0 16px;letter-spacing:-.01em}
  .checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
  .checks li{position:relative;padding-left:28px;font-size:16px;color:var(--text);line-height:1.5}
  .checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
  .coverage{display:flex;flex-direction:column;gap:2px;margin-top:4px}
  .cov{display:flex;align-items:baseline;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line-soft)}
  .cov a{color:var(--link);font-size:16px;font-weight:600}
  .cov a:hover{text-decoration:underline}
  .cov .dt{color:var(--muted-2);font-size:13px;white-space:nowrap;margin-left:auto}

  /* info card */
  .info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
  .info-card .big-logo{width:100%;height:120px;border-radius:12px;display:grid;place-items:center;margin-bottom:20px;color:#fff;font-weight:700;font-size:44px;overflow:hidden}
  .info-card .big-logo img{width:44%;height:52%;object-fit:contain}
  .info-card .cn{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:18px}
  .info-card dl{margin:0;display:flex;flex-direction:column;gap:14px}
  .info-card dl > div{display:flex;justify-content:space-between;gap:16px;font-size:15px}
  .info-card dt{color:var(--muted)}
  .info-card dd{margin:0;font-weight:600;color:var(--ink);text-align:right;display:flex;align-items:center;gap:7px}
  .info-card dd .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
  .socials{display:flex;gap:10px;margin-top:22px}
  .socials a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);transition:.15s;background:var(--card-2)}
  .socials a:hover{color:var(--accent);border-color:var(--accent)}
  .socials svg{width:18px;height:18px}
  .founders-h{font-family:"Fraunces",serif;font-weight:600;font-size:24px;color:var(--ink);margin:30px 0 14px}
  .fcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px;margin-bottom:12px}
  .favatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px;flex:none}
  .fcard .fn{font-size:16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:7px}
  .fcard .fr{font-size:13.5px;color:var(--muted)}
  .fcard .in{color:var(--link);display:inline-flex}
  .favatar{overflow:hidden}
  .favatar img{width:100%;height:100%;object-fit:cover;display:block}
  .rel-h{font-family:"Fraunces",serif;font-weight:600;font-size:24px;color:var(--ink);margin:34px 0 14px}
  .rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media(max-width:640px){.rel-grid{grid-template-columns:1fr}}
  .rel{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 16px;cursor:pointer;transition:.15s}
  .rel:hover{border-color:#d9d4c6;background:var(--card-2)}
  .rel .rl{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;flex:none;overflow:hidden}
  .rel .rl img{width:66%;height:66%;object-fit:contain}
  .rel b{font-size:15px;color:var(--ink)}
  .rel span{font-size:13px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34ch}

  /* ---------- apply ---------- */
  .apply-wrap{max-width:1080px;margin:0 auto;padding:26px 28px 90px;display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
  @media(max-width:860px){.apply-wrap{grid-template-columns:1fr;gap:28px}}
  .apply-intro h1{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(34px,4.4vw,52px);letter-spacing:-.02em;line-height:1.03;color:var(--ink);margin:0 0 16px}
  .apply-intro h1 em{font-style:italic;color:var(--accent)}
  .apply-intro > p{color:var(--muted);font-size:17px;max-width:44ch;margin:0}
  .perks{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
  .perks li{position:relative;padding-left:28px;font-size:15.5px;color:var(--text);line-height:1.5}
  .perks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
  .perks b{color:var(--ink)}
  .review-note{margin-top:24px;font-size:14px;color:var(--muted-2)}
  form.apply{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 8px 34px -22px rgba(0,0,0,.25)}
  .field{margin-bottom:18px}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:520px){.row2{grid-template-columns:1fr}}
  .field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:7px}
  .field label i{color:var(--accent);font-style:normal}
  .field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:var(--card-2);outline:none;transition:.15s}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring);background:var(--card)}
  .field textarea{resize:vertical}
  .field .hint{font-size:12px;color:var(--muted-2);margin-top:6px}
  .tag-picker{display:flex;flex-wrap:wrap;gap:7px}
  .tp{font-size:12.5px;font-weight:500;color:var(--muted);background:var(--card-2);border:1px solid var(--line);padding:7px 13px;border-radius:999px;cursor:pointer;user-select:none;transition:.12s}
  .tp.on{color:#fff;background:var(--accent);border-color:var(--accent)}
  .tp input{display:none}
  .consent{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text);margin:4px 0 18px;line-height:1.45}
  .consent input{width:17px;height:17px;margin-top:2px;accent-color:var(--accent);flex:none}
  .btn-primary{width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:.15s}
  .btn-primary:hover{background:#188544}
  .form-note{margin-top:12px;font-size:13px;padding:11px 13px;border-radius:10px}
  .form-note.error{color:#a3272b;background:#fdecec;border:1px solid #f6d4d4}
  .apply-success{grid-column:1/-1;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:56px 32px;display:flex;flex-direction:column;align-items:center;gap:15px}
  .sc-check{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;font-size:30px;display:grid;place-items:center}
  .apply-success h2{font-family:"Fraunces",serif;font-weight:600;font-size:32px;color:var(--ink);margin:0}
  .apply-success p{color:var(--muted);font-size:16px;max-width:48ch;margin:0}

  footer{border-top:1px solid var(--line-soft);margin-top:10px}
  .foot-in{max-width:1180px;margin:0 auto;padding:30px 28px;color:var(--muted-2);font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
  .foot-in b{color:var(--muted)}
  .foot-in a{color:var(--accent);font-weight:600}
a.co-row{text-decoration:none;color:inherit}
.co-row[hidden]{display:none!important}

/*#patch responsive — auto-generated from partials/vibe-index/responsive-patch.css; edit there, then `npm run css-patches`*/
/* Mobile fixes on top of the Desktop-source CSS: shrinkable company-page grids. */
@media(max-width:860px){
  .co-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .tabs{flex-wrap:wrap;row-gap:10px}
  .ch-head{flex-wrap:wrap}
  .rel-grid{grid-template-columns:minmax(0,1fr)}
  .rel > *{min-width:0}
}
/* Guide cards show their OG card as a thumbnail (repo-only; the Desktop source
   still has the older text-only card). Keep in sync with the guides-hub markup
   written by scripts/apply-vibe-index-extras.mjs. */
.gcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:.15s;padding:0;min-height:0;gap:0}
.gcard .gc-thumb{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block;background:#0e3a1e}
.gcard .gc-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
/*#/patch responsive*/
