:root{
    --navy:#2b261f;
    --navy-soft:#352f26;
    --bg:#faf7f2;
    --card:#fffdf9;
    --border:#e8e1d3;
    --ink:#3a3a3a;
    --muted:#7a7570;

    --ai:#70839e;
    --ai-soft:#edf0f3;
    --office:#6b7c5d;
    --office-soft:#eef1ea;
    --reviews:#c08457;
    --reviews-soft:#f6ede2;
    --travel:#b4836b;
    --travel-soft:#f5ece4;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    background-color:var(--bg);
    background-image:
      url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0.35  0 0 0 0 0.32  0 0 0 0 0.27  0 0 0 0.035 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    color:var(--ink);
    font-family:'Inter', Arial, sans-serif;
  }
  h1,h2,h3,.brand-mark{font-family:'Sora', Arial, sans-serif;}

  /* HEADER */
  header.site{
    position:relative;
    background:var(--navy);
    color:#f5f1ea;
    padding:26px 44px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
    overflow:hidden;
    isolation:isolate;
  }
  header.site::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
      radial-gradient(420px 260px at 8% -20%, rgba(112,131,158,0.35), transparent 70%),
      radial-gradient(380px 260px at 40% 120%, rgba(107,124,93,0.28), transparent 70%),
      radial-gradient(360px 240px at 75% -10%, rgba(192,132,87,0.26), transparent 70%),
      radial-gradient(320px 220px at 98% 100%, rgba(180,131,107,0.3), transparent 70%);
    filter:blur(6px);
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:38px;height:38px;
    background:linear-gradient(135deg, var(--ai), var(--office));
    border-radius:9px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .brand h1{
    margin:0;
    font-size:1.4rem;
    font-weight:700;
    letter-spacing:-0.01em;
  }
  .brand p{
    margin:2px 0 0;
    color:#b8b0a0;
    font-size:0.88rem;
    font-weight:400;
  }
  header.site nav{display:flex;gap:30px;}
  header.site nav a{
    color:#cbc3b3;
    text-decoration:none;
    font-size:0.92rem;
    font-weight:500;
    transition:color .15s;
  }
  header.site nav a:hover{color:#f5f1ea;}

  /* CATEGORY PILL BAR */
  .category-bar{
    background:var(--navy-soft);
    padding:16px 44px 20px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
  }
  .pill{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:9px 18px;
    border-radius:999px;
    text-decoration:none;
    font-size:0.86rem;
    font-weight:600;
    font-family:'Inter';
    transition:transform .15s, box-shadow .15s;
    border:1px solid transparent;
  }
  .pill svg{flex-shrink:0;}
  .pill:hover{transform:translateY(-1px);}
  .pill-ai{background:rgba(112,131,158,0.22);color:#b7c3d2;border-color:rgba(112,131,158,0.4);}
  .pill-ai:hover{background:var(--ai);color:#fdfcfa;}
  .pill-office{background:rgba(107,124,93,0.22);color:#b9c6ac;border-color:rgba(107,124,93,0.4);}
  .pill-office:hover{background:var(--office);color:#fdfcfa;}
  .pill-reviews{background:rgba(192,132,87,0.22);color:#e3bd9a;border-color:rgba(192,132,87,0.4);}
  .pill-reviews:hover{background:var(--reviews);color:#fdfcfa;}
  .pill-travel{background:rgba(180,131,107,0.22);color:#ddb6a4;border-color:rgba(180,131,107,0.4);}
  .pill-travel:hover{background:var(--travel);color:#fdfcfa;}

  main{
    max-width:1280px;
    margin:0 auto;
    padding:48px 44px 70px;
  }

  .section-block{
    margin-bottom:64px;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:18px;
  }
  .section-block:last-child{margin-bottom:0;}
  .section-block .bg-art{
    position:absolute;
    z-index:-1;
    pointer-events:none;
    opacity:0.09;
  }
  #ai-productivity .bg-art.logo-1{
    width:480px;
    top:-60px;
    right:-60px;
    transform:rotate(-14deg);
  }
  #ai-productivity .bg-art.logo-2{
    width:360px;
    bottom:-40px;
    left:-40px;
    transform:rotate(18deg);
  }
  #home-office .bg-art.photo-1{
    width:620px;
    top:-30px;
    right:-80px;
    transform:rotate(-6deg);
    border-radius:16px;
    opacity:0.14;
  }
  #product-reviews .bg-art.photo-2{
    width:480px;
    top:-40px;
    right:-60px;
    transform:rotate(8deg);
    border-radius:14px;
    opacity:0.12;
  }
  #product-reviews .bg-art.photo-3{
    width:420px;
    bottom:-50px;
    left:-50px;
    transform:rotate(-10deg);
    border-radius:14px;
    opacity:0.1;
  }
  #travel .bg-art.photo-4{
    width:460px;
    top:-40px;
    right:-50px;
    transform:rotate(7deg);
    border-radius:14px;
    opacity:0.11;
  }
  .section-head{
    display:flex;
    align-items:baseline;
    gap:14px;
    margin-bottom:6px;
    flex-wrap:wrap;
  }
  .section-head .tag{
    font-size:0.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    padding:4px 11px;
    border-radius:5px;
  }
  .tag-ai{background:var(--ai-soft);color:var(--ai);}
  .tag-office{background:var(--office-soft);color:var(--office);}
  .tag-reviews{background:var(--reviews-soft);color:var(--reviews);}
  .tag-travel{background:var(--travel-soft);color:var(--travel);}

  .section-head h2{
    font-size:1.5rem;
    font-weight:700;
    margin:0;
    color:var(--ink);
  }
  .section-sub{
    color:var(--muted);
    font-size:0.95rem;
    margin:4px 0 26px;
  }

  .grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .card{
    background:var(--card);
    border:1px solid var(--border);
    border-top:3px solid transparent;
    border-radius:10px;
    padding:26px 24px 28px;
    transition:transform .18s, box-shadow .18s;
  }
  .card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(58,50,38,0.09);
  }
  .card-ai{border-top-color:var(--ai);}
  .card-office{border-top-color:var(--office);}
  .card-reviews{border-top-color:var(--reviews);}
  .card-travel{border-top-color:var(--travel);}

  .card .cat{
    font-size:0.78rem;
    font-weight:700;
    margin-bottom:10px;
    display:block;
  }
  .card-ai .cat{color:var(--ai);}
  .card-office .cat{color:var(--office);}
  .card-reviews .cat{color:var(--reviews);}
  .card-travel .cat{color:var(--travel);}

  .card h3{
    font-size:1.12rem;
    line-height:1.4;
    margin:0 0 10px;
    font-weight:600;
    letter-spacing:-0.01em;
  }
  .card h3 a{color:var(--ink);text-decoration:none;}
  .card h3 a:hover{text-decoration:underline;}
  .card .byline{
    color:var(--muted);
    font-size:0.82rem;
    margin-bottom:13px;
    font-weight:500;
  }
  .card p.excerpt{
    color:#5a5650;
    font-size:0.93rem;
    line-height:1.65;
    margin:0;
  }

  @media (max-width:980px){
    .grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:640px){
    .grid{grid-template-columns:1fr;}
    header.site, .category-bar, main{padding-left:22px;padding-right:22px;}
    header.site nav{gap:20px;}
    .category-bar{overflow-x:auto;flex-wrap:nowrap;}
  }
  /* ===== SINGLE POST VIEW ===== */
  [hidden]{display:none !important;}
  #article-view{
    max-width:860px;
    margin:0 auto;
    padding:40px 28px 80px;
  }
  .back-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--muted);
    text-decoration:none;
    font-size:0.9rem;
    font-weight:500;
    margin-bottom:22px;
    transition:color .15s;
  }
  .back-link:hover{color:var(--ink);}
  .post{
    background:var(--card);
    border:1px solid var(--border);
    border-top:4px solid var(--border);
    border-radius:12px;
    padding:48px 56px 52px;
  }
  .post.card-ai{border-top-color:var(--ai);}
  .post.card-office{border-top-color:var(--office);}
  .post.card-reviews{border-top-color:var(--reviews);}
  .post.card-travel{border-top-color:var(--travel);}
  .post .tag{
    display:inline-block;
    font-size:0.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    padding:4px 11px;
    border-radius:5px;
    text-decoration:none;
  }
  .post h1{
    font-size:2.2rem;
    line-height:1.25;
    letter-spacing:-0.02em;
    margin:16px 0 12px;
    color:var(--ink);
  }
  .post .post-meta{
    color:var(--muted);
    font-size:0.9rem;
    font-weight:500;
    padding-bottom:26px;
    margin-bottom:30px;
    border-bottom:1px solid var(--border);
  }
  .post-body{
    font-size:1.06rem;
    line-height:1.8;
    color:#45413b;
  }
  .post-body p{margin:0 0 18px;}
  .post-body h2{
    font-size:1.4rem;
    line-height:1.35;
    color:var(--ink);
    margin:8px 0 14px;
  }
  .post-body h3{
    font-size:1.05rem;
    color:var(--ink);
    margin:22px 0 10px;
  }
  .post-body a{
    color:inherit;
    text-decoration-thickness:2px;
    text-underline-offset:3px;
  }
  .card-ai .post-body a{text-decoration-color:var(--ai);}
  .card-office .post-body a{text-decoration-color:var(--office);}
  .card-reviews .post-body a{text-decoration-color:var(--reviews);}
  .card-travel .post-body a{text-decoration-color:var(--travel);}
  .post-body ul, .post-body ol{margin:0 0 20px;padding-left:22px;}
  .post-body li{margin-bottom:8px;}
  .post-body li::marker{color:var(--muted);}
  .post-body hr.divider{
    border:none;
    height:1px;
    background:linear-gradient(90deg, transparent, var(--border) 15%, var(--border) 85%, transparent);
    margin:38px 0;
  }
  .post-body .price-line{
    display:inline-block;
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:8px;
    padding:8px 14px;
    font-size:0.95rem;
  }
  .post-body .proscons{
    border-left:3px solid var(--border);
    padding:4px 0 4px 18px;
    margin:6px 0 10px;
    font-size:0.98rem;
  }
  .card-ai .proscons{border-left-color:var(--ai);}
  .card-reviews .proscons{border-left-color:var(--reviews);}
  .post-body .proscons p{margin-bottom:10px;}
  .post-body .tip{
    background:var(--bg);
    border-radius:8px;
    padding:14px 18px;
    font-size:0.97rem;
  }
  .post-body .guide{
    border-radius:10px;
    padding:26px 30px 10px;
    margin-top:34px;
  }
  .card-ai .guide{background:var(--ai-soft);}
  .card-office .guide{background:var(--office-soft);}
  .card-reviews .guide{background:var(--reviews-soft);}
  .card-travel .guide{background:var(--travel-soft);}
  .post-body .table-wrap{overflow-x:auto;margin:0 0 24px;}
  .post-body table{
    width:100%;
    border-collapse:collapse;
    font-size:0.94rem;
  }
  .post-body th{
    text-align:left;
    font-weight:600;
    color:var(--ink);
    background:var(--bg);
    padding:11px 14px;
    border-bottom:2px solid var(--border);
  }
  .post-body td{
    padding:11px 14px;
    border-bottom:1px solid var(--border);
    vertical-align:top;
  }
  .disclosure{
    margin-top:34px;
    padding-top:20px;
    border-top:1px solid var(--border);
    font-size:0.85rem;
    color:var(--muted);
  }
  .related{margin-top:46px;}
  .related h2{
    font-size:1.15rem;
    margin:0 0 18px;
    color:var(--ink);
  }
  .related .grid{grid-template-columns:repeat(3,1fr);}

  .post-body .post-figure{margin:28px 0 30px;}
  .post-body .post-figure img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    border-radius:10px;
  }
  .post-body .post-figure figcaption{
    font-size:0.86rem;
    color:var(--muted);
    margin-top:9px;
    line-height:1.5;
  }
  .post-body .post-hero{margin:0 0 30px;}
  .post-body .post-hero img{aspect-ratio:16/9;object-fit:cover;}
  .post-body .post-figure--narrow img{max-width:420px;margin:0 auto;}
  .post-body .post-figure--narrow figcaption{text-align:center;}
  .post-body .post-gallery{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:26px 0 30px;
  }
  .post-body .post-gallery .post-figure{margin:0;}
  .post-body .post-gallery img{aspect-ratio:4/5;object-fit:cover;}
  @media (max-width:560px){
    .post-body .post-gallery{grid-template-columns:1fr;}
  }
  @media (max-width:760px){
    .post{padding:30px 22px 34px;}
    .post h1{font-size:1.65rem;}
    .related .grid{grid-template-columns:1fr;}
  }
  /* ===== NAV + STATIC PAGES ===== */
  .brand h1 a{color:inherit;text-decoration:none;}
  header.site nav a.active{color:#f5f1ea;box-shadow:0 2px 0 0 var(--reviews);padding-bottom:3px;}
  .post.page{border-top-color:var(--reviews);}
  .post.page h1{margin-top:4px;}
  .post-body .lead{font-size:1.15rem;color:var(--ink);line-height:1.7;}
  .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 34px;}
  .info-tile{
    display:flex;flex-direction:column;gap:6px;
    background:var(--bg);border:1px solid var(--border);border-radius:12px;
    padding:22px 22px 24px;text-decoration:none;color:inherit;
    transition:transform .15s, box-shadow .15s, border-color .15s;
  }
  a.info-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(58,50,38,0.08);border-color:var(--reviews);}
  .info-icon{
    width:40px;height:40px;border-radius:10px;
    background:var(--reviews-soft);color:var(--reviews);
    display:flex;align-items:center;justify-content:center;margin-bottom:8px;
  }
  .info-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);}
  .info-value{font-family:'Sora',Arial,sans-serif;font-size:1.02rem;font-weight:600;color:var(--ink);word-break:break-word;}
  .criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 10px;}
  .criteria{background:var(--bg);border:1px solid var(--border);border-top:3px solid var(--office);border-radius:10px;padding:18px 18px 6px;}
  .criteria:nth-child(2){border-top-color:var(--reviews);}
  .criteria:nth-child(3){border-top-color:var(--ai);}
  .criteria h3{margin:0 0 8px !important;font-size:1rem;}
  .criteria p{font-size:0.94rem;}
  .post.page .guide{background:var(--reviews-soft);}
  .signoff{margin-top:34px;padding-top:22px;border-top:1px solid var(--border);}
  .signoff .sig{font-family:'Sora',Arial,sans-serif;font-weight:600;color:var(--ink);}
  @media (max-width:760px){
    .info-grid,.criteria-grid{grid-template-columns:1fr;}
  }
  /* ===== COMMENTS ===== */
  .comments{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    padding:36px 56px 40px;
    margin-top:28px;
  }
  .comments h2.comments-count{font-size:1.3rem;margin:0 0 22px;color:var(--ink);}
  .comment-list, .comment-children{list-style:none;margin:0;padding:0;}
  .comment-list{margin-bottom:30px;}
  .comment{
    display:grid;
    grid-template-columns:40px 1fr;
    column-gap:14px;
    padding:18px 0;
    border-top:1px solid var(--border);
  }
  .comment-list > .comment:first-child{border-top:none;padding-top:4px;}
  .comment-children{grid-column:2;margin-top:6px;}
  .comment-children .comment{padding:14px 0 6px;}
  .comment-avatar{
    width:40px;height:40px;border-radius:50%;
    color:#fdfcfa;font-family:'Sora',Arial,sans-serif;font-weight:600;font-size:0.82rem;
    display:flex;align-items:center;justify-content:center;
  }
  .comment-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:4px;}
  .comment-author{font-weight:600;color:var(--ink);font-size:0.95rem;}
  .comment-date{color:var(--muted);font-size:0.8rem;}
  .comment-text{color:#45413b;font-size:0.97rem;line-height:1.7;word-wrap:break-word;}
  .comment-text p{margin:0 0 8px;}
  .comment-reply{
    background:none;border:none;padding:0;margin-top:4px;cursor:pointer;
    font:600 0.8rem 'Inter',Arial,sans-serif;color:var(--muted);
  }
  .comment-reply:hover{color:var(--ink);text-decoration:underline;}
  .comment-empty{color:var(--muted);font-size:0.95rem;padding:4px 0;}
  .comment-form-wrap{border-top:1px solid var(--border);padding-top:26px;}
  .comment-form-wrap h3{font-size:1.1rem;margin:0 0 6px;color:var(--ink);}
  .comment-note{color:var(--muted);font-size:0.86rem;margin:0 0 18px;}
  .preview-note{
    background:var(--reviews-soft);color:#7a5a3c;border-radius:8px;
    padding:9px 13px;font-size:0.84rem;margin:-6px 0 18px;
  }
  .replying-to{
    font-size:0.88rem;color:var(--muted);margin-bottom:12px;
    background:var(--bg);border-radius:8px;padding:8px 12px;
  }
  .replying-to strong{color:var(--ink);}
  .cancel-reply{background:none;border:none;cursor:pointer;color:var(--travel);font:600 0.85rem 'Inter',Arial,sans-serif;margin-left:6px;}
  .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
  .field span{font-size:0.82rem;font-weight:600;color:var(--ink);}
  .field input, .field textarea{
    font:400 0.97rem 'Inter',Arial,sans-serif;color:var(--ink);
    background:#fffefb;border:1px solid var(--border);border-radius:8px;
    padding:11px 13px;width:100%;resize:vertical;
    transition:border-color .15s, box-shadow .15s;
  }
  .field input:focus, .field textarea:focus{outline:none;border-color:var(--muted);box-shadow:0 0 0 3px rgba(122,117,112,0.15);}
  .card-ai .field input:focus, .card-ai .field textarea:focus{border-color:var(--ai);box-shadow:0 0 0 3px rgba(112,131,158,0.18);}
  .card-office .field input:focus, .card-office .field textarea:focus{border-color:var(--office);box-shadow:0 0 0 3px rgba(107,124,93,0.18);}
  .card-reviews .field input:focus, .card-reviews .field textarea:focus{border-color:var(--reviews);box-shadow:0 0 0 3px rgba(192,132,87,0.18);}
  .card-travel .field input:focus, .card-travel .field textarea:focus{border-color:var(--travel);box-shadow:0 0 0 3px rgba(180,131,107,0.18);}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .comment-submit{
    margin-top:4px;border:none;border-radius:8px;cursor:pointer;
    padding:12px 24px;font:600 0.92rem 'Inter',Arial,sans-serif;color:#fdfcfa;
    background:var(--ink);transition:filter .15s, transform .15s;
  }
  .card-ai .comment-submit{background:var(--ai);}
  .card-office .comment-submit{background:var(--office);}
  .card-reviews .comment-submit{background:var(--reviews);}
  .card-travel .comment-submit{background:var(--travel);}
  .comment-submit:hover{filter:brightness(0.93);}
  .comment-submit:disabled{opacity:0.6;cursor:default;}
  .comment-status{margin:14px 0 0;font-size:0.9rem;border-radius:8px;padding:10px 13px;}
  .comment-status.ok{background:var(--office-soft);color:#4a5a3d;}
  .comment-status.error{background:var(--travel-soft);color:#8a4a3a;}
  @media (max-width:760px){
    .comments{padding:26px 22px 30px;}
    .field-row{grid-template-columns:1fr;gap:0;}
  }
  /* ===== SAVED ARTICLES ===== */
  .card{position:relative;}
  .card .cat{padding-right:42px;}
  .save-btn{
    position:absolute;top:16px;right:16px;
    width:34px;height:34px;border-radius:50%;
    border:1px solid var(--border);background:var(--card);color:var(--muted);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    transition:color .15s, background .15s, border-color .15s, transform .15s;
  }
  .save-btn:hover{color:var(--ink);border-color:var(--muted);transform:scale(1.06);}
  .save-btn svg path, .post-save svg path, .pill-saved svg path{fill:none;}
  .save-btn.is-saved svg path, .post-save.is-saved svg path, .pill-saved svg path{fill:currentColor;}
  .save-btn.is-saved{color:#fdfcfa;background:var(--ink);border-color:var(--ink);}
  .card-ai .save-btn.is-saved{background:var(--ai);border-color:var(--ai);}
  .card-office .save-btn.is-saved{background:var(--office);border-color:var(--office);}
  .card-reviews .save-btn.is-saved{background:var(--reviews);border-color:var(--reviews);}
  .card-travel .save-btn.is-saved{background:var(--travel);border-color:var(--travel);}

  .post .post-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
  .post-save{
    display:inline-flex;align-items:center;gap:7px;
    border:1px solid var(--border);background:var(--card);color:var(--ink);
    border-radius:999px;padding:7px 15px;cursor:pointer;
    font:600 0.85rem 'Inter',Arial,sans-serif;transition:background .15s, border-color .15s, color .15s;
  }
  .post-save:hover{border-color:var(--muted);}
  .post-save.is-saved{color:#fdfcfa;}
  .post.card-ai .post-save.is-saved{background:var(--ai);border-color:var(--ai);}
  .post.card-office .post-save.is-saved{background:var(--office);border-color:var(--office);}
  .post.card-reviews .post-save.is-saved{background:var(--reviews);border-color:var(--reviews);}
  .post.card-travel .post-save.is-saved{background:var(--travel);border-color:var(--travel);}

  .saved-block{
    background:#f1ebe0;
    border:1px solid var(--border);
    padding:28px 28px 30px;
  }
  .tag-saved{background:var(--ink);color:#f5f1ea;}
  .pill-saved{background:rgba(245,241,234,0.14);color:#f5f1ea;border-color:rgba(245,241,234,0.35);}
  .pill-saved:hover{background:#f5f1ea;color:var(--ink);}

  .toast{
    position:fixed;left:50%;bottom:24px;z-index:100;
    transform:translate(-50%, 20px);opacity:0;pointer-events:none;
    background:var(--navy);color:#f5f1ea;border-radius:10px;
    padding:12px 18px;font-size:0.9rem;box-shadow:0 10px 30px rgba(43,38,31,0.25);
    transition:opacity .2s, transform .2s;max-width:calc(100% - 32px);
  }
  .toast.show{opacity:1;transform:translate(-50%, 0);pointer-events:auto;}
  .toast a{color:#e3bd9a;font-weight:600;margin-left:6px;}
  /* ===== SINGLE-PRODUCT REVIEW ===== */
  .post-body .post-hero--product img{aspect-ratio:auto;object-fit:contain;background:#fff;padding:24px;}
  .post-body .affiliate-note{font-size:0.85rem;color:var(--muted);font-style:italic;margin-top:-10px;}
  .post-body .verdict{
    border:1px solid var(--border);
    border-left:4px solid var(--reviews);
    border-radius:10px;
    background:var(--card);
    padding:22px 26px 24px;
    margin:26px 0 8px;
  }
  .post-body .verdict h2{margin-top:0;}
  .post-body .verdict p{margin-bottom:10px;}
  .post-body a.cta-btn{
    display:inline-block;
    margin-top:8px;
    background:var(--reviews);
    color:#fdfcfa;
    text-decoration:none;
    font:600 0.95rem 'Inter',Arial,sans-serif;
    padding:12px 24px;
    border-radius:8px;
    transition:filter .15s, transform .15s;
  }
  .post-body a.cta-btn:hover{filter:brightness(0.93);transform:translateY(-1px);}
  .post-body .guide a.cta-btn{margin-bottom:18px;}
  .post-body .affiliate-disclosure{
    margin-top:30px;
    padding:16px 18px;
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:8px;
    font-size:0.88rem;
    color:var(--muted);
  }

  .post-body .post-gallery--natural img{aspect-ratio:auto;}
  .post-body a.aff-link{
    font-weight:600;
    color:var(--ink);
    text-decoration-color:var(--reviews);
    text-decoration-thickness:2px;
  }
  .post-body a.aff-link:hover{color:var(--reviews);}
  .post-body .cta-row{margin:18px 0 6px;}
  .post-body a.cta-btn--outline{
    background:transparent;
    color:var(--reviews);
    border:2px solid var(--reviews);
    padding:10px 22px;
  }
  .post-body a.cta-btn--outline:hover{background:var(--reviews-soft);filter:none;}
  /* ===== PRODUCT SNAPSHOT ===== */
  .post-body .product-snap{
    background:linear-gradient(135deg, var(--reviews-soft), var(--card));
    border:1px solid var(--border);
    border-left:4px solid var(--reviews);
    border-radius:12px;
    padding:24px 26px;
    margin:0 0 24px;
  }
  .post-body .snap-brand{
    font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--reviews);
  }
  .post-body .snap-name{
    font-family:'Sora',Arial,sans-serif;font-size:1.3rem;font-weight:600;color:var(--ink);margin:4px 0 14px;line-height:1.35;
  }
  .post-body .snap-chips{display:flex;flex-wrap:wrap;gap:8px;}
  .post-body .snap-chips span{
    background:var(--card);border:1px solid var(--border);border-radius:999px;
    padding:5px 12px;font-size:0.82rem;font-weight:600;color:var(--ink);
  }

  /* ===== eSIM article components ===== */
  .post-body .esim-badge{display:inline-block;font-size:0.72rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--travel);background:var(--travel-soft);border-radius:4px;padding:3px 9px;margin:-8px 0 14px;}
  .post-body .esim-note{font-size:0.9rem;color:var(--muted);}
  .post-body .esim-voices{border:1px solid var(--border);background:var(--travel-soft);border-radius:12px;padding:18px 20px 8px;margin:24px 0;}
  .post-body .esim-voices h3{margin:0 0 10px;font-size:1.05rem;line-height:1.4;}
  .post-body .esim-voices .esim-score{color:var(--travel);font-weight:700;white-space:nowrap;}
  .post-body .esim-voices p{margin:0 0 10px;}
  .post-body .esim-voices ul{margin:0 0 12px;}
  .post-body .esim-src{font-size:0.82rem;color:var(--muted);font-weight:400;}
  .post-body .verdict p a{font-weight:600;}
